]> granicus.if.org Git - clang/log
clang
11 years agoSince ObjCARC has been refactored into its own library with its own declaration heade...
Michael Gottesman [Mon, 28 Jan 2013 01:36:00 +0000 (01:36 +0000)]
Since ObjCARC has been refactored into its own library with its own declaration header, we need to include the declaration header alongside Scalar.h in BackendUtil.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173648 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoTests and a minor bugfix for [dcl.attr.depend]p1 (C++11 [[carries_dependency]]
Richard Smith [Mon, 28 Jan 2013 01:15:38 +0000 (01:15 +0000)]
Tests and a minor bugfix for [dcl.attr.depend]p1 (C++11 [[carries_dependency]]
attribute).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173645 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd a -pedantic warning: an anonymous union within an anonymous union is not
Richard Smith [Mon, 28 Jan 2013 00:54:05 +0000 (00:54 +0000)]
Add a -pedantic warning: an anonymous union within an anonymous union is not
permitted in standard C++, despite being silently accepted by many (all?) major
C++ implementations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173643 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoComment parsing: fix test in r173626 for -fms-extensions -fms-compatibility
Dmitri Gribenko [Sun, 27 Jan 2013 22:11:38 +0000 (22:11 +0000)]
Comment parsing: fix test in r173626 for -fms-extensions -fms-compatibility

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173633 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDecl printer: fix CXXConstructExpr with implicit default argument
Dmitri Gribenko [Sun, 27 Jan 2013 21:28:24 +0000 (21:28 +0000)]
Decl printer: fix CXXConstructExpr with implicit default argument

Patch by Will Wilson.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173630 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoComment parsing: attach any tag type's documentation to its typedef if latter
Dmitri Gribenko [Sun, 27 Jan 2013 21:18:39 +0000 (21:18 +0000)]
Comment parsing: attach any tag type's documentation to its typedef if latter
does not have one of its own. // rdar://13067629

Original patch (r173586 and r173587) by Fariborz Jahanian, modified by me.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173626 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPR15067: Don't assert when a UCN appears in a C90 file.
Jordan Rose [Sun, 27 Jan 2013 20:12:04 +0000 (20:12 +0000)]
PR15067: Don't assert when a UCN appears in a C90 file.

Unfortunately, we can't accept the UCN as an extension because we're
required to treat it as two tokens for preprocessing purposes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173622 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[CMake][Lit][unittests] Deprecate CMAKE_BUILD_TYPE in each build directory for unittests.
NAKAMURA Takumi [Sun, 27 Jan 2013 12:20:50 +0000 (12:20 +0000)]
[CMake][Lit][unittests] Deprecate CMAKE_BUILD_TYPE in each build directory for unittests.

For example,
cur) unittests/ADT/Release/ADTTests
new) unittests/ADT/ADTTests

RUNTIME_BUILD_MODE can be substituted to CMAKE_CFG_INTDIR.

With Make and Ninja, the tree is not built with multiple configurations.
Then, including the build type in target directory doesn't make sense.
See also "How can I build multiple modes without switching?"
http://www.cmake.org/Wiki/CMake_FAQ
CMAKE_CFG_INTDIR is set to "."

With multiple-configuration-aware build system, like Visual Studio, each unittest is built on appropriate directory, for example,
unittests/ADT/Release/ADTTests.exe
CMAKE_CFG_INTDIR is set to build system's variable, like "$(Configuration)" or "$(OutDir)".

Thus, "--param build_config" is also deprecated.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173616 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRevert r173586 (and r173587) , "Attach any tag type's documentation to its typedef if"
NAKAMURA Takumi [Sun, 27 Jan 2013 11:09:41 +0000 (11:09 +0000)]
Revert r173586 (and r173587) , "Attach any tag type's documentation to its typedef if"

It caused unexpected warnings with @tparam.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173614 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUse the AttributeSet instead of AttributeWithIndex.
Bill Wendling [Sun, 27 Jan 2013 02:46:53 +0000 (02:46 +0000)]
Use the AttributeSet instead of AttributeWithIndex.

In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173605 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd the missing line return to align parameters of printPretty.
Michael Han [Sun, 27 Jan 2013 00:06:24 +0000 (00:06 +0000)]
Add the missing line return to align parameters of printPretty.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173597 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agolibclang: refactor CXStringPool: make it a class
Dmitri Gribenko [Sat, 26 Jan 2013 22:44:19 +0000 (22:44 +0000)]
libclang: refactor CXStringPool: make it a class

We are not exposing the pool or string buffers to libclang users, so no need to
maintain a procedural interface.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173595 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPR14566: Debug Info: avoid top level lexical blocks in functions
David Blaikie [Sat, 26 Jan 2013 22:16:26 +0000 (22:16 +0000)]
PR14566: Debug Info: avoid top level lexical blocks in functions

One of the gotchas (see changes to CodeGenFunction) was due to the fix in
r139416 (for PR10829). This only worked previously because the top level
lexical block would set the location to the end of the function, the debug
location would be updated (as per r139416), the location would be set to
the end of the function again (but that would no-op, since it was the same
as the previous location), then the return instruction would be emitted using
the debug location.

Once the top level lexical block was no longer emitted, the end-of-function
location change was causing the debug loc to be updated, regressing that bug.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173593 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agolibclang: type safety for CXTranslationUnitImpl::CIdx
Dmitri Gribenko [Sat, 26 Jan 2013 21:49:50 +0000 (21:49 +0000)]
libclang: type safety for CXTranslationUnitImpl::CIdx

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173590 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agolibclang: type safety for CXTranslationUnitImpl::FormatContext
Dmitri Gribenko [Sat, 26 Jan 2013 21:39:50 +0000 (21:39 +0000)]
libclang: type safety for CXTranslationUnitImpl::FormatContext

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173589 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agolibclang: some type safety for CXTranslationUnitImpl's internals
Dmitri Gribenko [Sat, 26 Jan 2013 21:32:42 +0000 (21:32 +0000)]
libclang: some type safety for CXTranslationUnitImpl's internals

There is no reason to store pointers as 'void*' in CXTranslationUnitImpl, since
it does not affect libclang ABI.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173588 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix comment.
Fariborz Jahanian [Sat, 26 Jan 2013 20:50:23 +0000 (20:50 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173587 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAttach any tag type's documentation to its typedef if
Fariborz Jahanian [Sat, 26 Jan 2013 20:49:30 +0000 (20:49 +0000)]
Attach any tag type's documentation to its typedef if
latter does not have one of its own. // rdar://13067629

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173586 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agolibclang: factor out the frequent pattern static_cast<ASTUnit *>(TU->TUData)
Dmitri Gribenko [Sat, 26 Jan 2013 18:53:38 +0000 (18:53 +0000)]
libclang: factor out the frequent pattern static_cast<ASTUnit *>(TU->TUData)
into a getter cxtu::getASTUnit(TU)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173585 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agolibclang: make getCursorParentDecl() return 'const Decl *'
Dmitri Gribenko [Sat, 26 Jan 2013 18:12:08 +0000 (18:12 +0000)]
libclang: make getCursorParentDecl() return 'const Decl *'

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173584 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agolibclang: change getCursorAttr() to return 'const Attr *'
Dmitri Gribenko [Sat, 26 Jan 2013 18:08:08 +0000 (18:08 +0000)]
libclang: change getCursorAttr() to return 'const Attr *'

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173583 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMigrate tests to -verify
Dmitri Gribenko [Sat, 26 Jan 2013 17:11:39 +0000 (17:11 +0000)]
Migrate tests to -verify

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173582 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdded ASTContext methods getIntPtrType and getUIntPtrType.
Enea Zaffanella [Sat, 26 Jan 2013 17:08:37 +0000 (17:08 +0000)]
Added ASTContext methods getIntPtrType and getUIntPtrType.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173581 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago<limits.h> includes <linux/limits.h> on Linux, no need to special-case it
Dmitri Gribenko [Sat, 26 Jan 2013 16:29:36 +0000 (16:29 +0000)]
<limits.h> includes <linux/limits.h> on Linux, no need to special-case it

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173578 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agolibclang: make getCursorStmt() and getCursorExpr() return const pointers
Dmitri Gribenko [Sat, 26 Jan 2013 15:29:08 +0000 (15:29 +0000)]
libclang: make getCursorStmt() and getCursorExpr() return const pointers

Also change EnqueueVisitor to use ConstStmtVisitor as a consequence.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173577 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSpecify non-GNU-ARM triples for key-function test.
Tim Northover [Sat, 26 Jan 2013 15:27:54 +0000 (15:27 +0000)]
Specify non-GNU-ARM triples for key-function test.

Since ARM has diverging ABIs on this detail, it's probably worth
testing both it and a "normal" Itanium system.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173576 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoConstify getOptionalExplicitTemplateArgs()
Dmitri Gribenko [Sat, 26 Jan 2013 15:24:56 +0000 (15:24 +0000)]
Constify getOptionalExplicitTemplateArgs()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173575 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoConstify some getters of DesignatedInitExpr
Dmitri Gribenko [Sat, 26 Jan 2013 15:15:52 +0000 (15:15 +0000)]
Constify some getters of DesignatedInitExpr

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173574 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/Misc/diag-template-diffing-color.cpp: Symbolize color sequences in FileCheck.
NAKAMURA Takumi [Sat, 26 Jan 2013 06:13:05 +0000 (06:13 +0000)]
clang/test/Misc/diag-template-diffing-color.cpp: Symbolize color sequences in FileCheck.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173561 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[libclang] Introduce clang_getFileUniqueID which returns a struct
Argyrios Kyrtzidis [Sat, 26 Jan 2013 04:52:52 +0000 (04:52 +0000)]
[libclang] Introduce clang_getFileUniqueID which returns a struct
for a CXFile containing device/inode/modification time.

Intended to be useful as a key associated with a unique file across
an indexing session.

rdar://13091837

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173559 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/Misc/ast-dump-color.cpp: Symbolize color sequences in FileCheck.
NAKAMURA Takumi [Sat, 26 Jan 2013 03:48:55 +0000 (03:48 +0000)]
clang/test/Misc/ast-dump-color.cpp: Symbolize color sequences in FileCheck.

FIXME: If FileCheck had expressions something predefined well-known...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173558 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[analyzer] C++ initializers may require cleanups; look through these.
Jordan Rose [Sat, 26 Jan 2013 03:16:31 +0000 (03:16 +0000)]
[analyzer] C++ initializers may require cleanups; look through these.

When the analyzer sees an initializer, it checks if the initializer
contains a CXXConstructExpr. If so, it trusts that the CXXConstructExpr
does the necessary work to initialize the object, and performs no further
initialization.

This patch looks through any implicit wrapping expressions like
ExprWithCleanups to find the CXXConstructExpr inside.

Fixes PR15070.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173557 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoGive a more informative error message when the dot or arrow operator is used
Richard Trieu [Sat, 26 Jan 2013 02:31:38 +0000 (02:31 +0000)]
Give a more informative error message when the dot or arrow operator is used
on a type.  Currently, it gives a generic "expected unqualified-id" error.
The new error message is "cannot use (dot|arrow) operator on a type".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173556 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix mismatch between pointer and pointee type when diagnosing an incorrect
Richard Smith [Sat, 26 Jan 2013 02:07:32 +0000 (02:07 +0000)]
Fix mismatch between pointer and pointee type when diagnosing an incorrect
object argument type for a member call.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173554 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix test case by being more lenient on what to accept as a path name.
Richard Trieu [Sat, 26 Jan 2013 01:54:31 +0000 (01:54 +0000)]
Fix test case by being more lenient on what to accept as a path name.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173553 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove function that is newly dead as of r173538.
Nick Lewycky [Sat, 26 Jan 2013 01:36:54 +0000 (01:36 +0000)]
Remove function that is newly dead as of r173538.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173550 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoHopefuly unbreak buldbot.
Fariborz Jahanian [Sat, 26 Jan 2013 01:35:28 +0000 (01:35 +0000)]
Hopefuly unbreak buldbot.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173549 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoHighlight various parts of the AST dump with color. Colors are controlled by
Richard Trieu [Sat, 26 Jan 2013 01:31:20 +0000 (01:31 +0000)]
Highlight various parts of the AST dump with color.  Colors are controlled by
-f(no-)color-diagnostics.  In addition, dumpColor() function calls are added
to force color printing.  No structural changes to -ast-dump.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173548 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[analyzer] Track null object lvalues back through C++ method calls.
Jordan Rose [Sat, 26 Jan 2013 01:28:23 +0000 (01:28 +0000)]
[analyzer] Track null object lvalues back through C++ method calls.

The expression 'a->b.c()' contains a call to the 'c' method of 'a->b'.
We emit an error if 'a' is NULL, but previously didn't actually track
the null value back through the 'a->b' expression, which caused us to
miss important false-positive-suppression cases, including
<rdar://problem/12676053>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173547 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[analyzer] bugreporter::getDerefExpr now takes a Stmt, not an ExplodedNode.
Jordan Rose [Sat, 26 Jan 2013 01:28:19 +0000 (01:28 +0000)]
[analyzer] bugreporter::getDerefExpr now takes a Stmt, not an ExplodedNode.

This allows it to be used in places where the interesting statement
doesn't match up with the current node. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173546 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[analyzer] Add 'prune-paths' config option to disable path pruning.
Jordan Rose [Sat, 26 Jan 2013 01:28:15 +0000 (01:28 +0000)]
[analyzer] Add 'prune-paths' config option to disable path pruning.

This should be used for testing only. Path pruning is still on by default.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173545 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[analyzer] Rename PruneNullReturnPaths to SuppressNullReturnPaths.
Jordan Rose [Sat, 26 Jan 2013 01:28:09 +0000 (01:28 +0000)]
[analyzer] Rename PruneNullReturnPaths to SuppressNullReturnPaths.

"Prune" is the term for eliminating pieces of a path that are not
relevant to the user. "Suppress" means don't show that path at all.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173544 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix up the test.
Fariborz Jahanian [Sat, 26 Jan 2013 01:25:32 +0000 (01:25 +0000)]
Fix up the test.
for // rdar://11861085

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173543 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSince we're stuck with realpath for the header <-> module mapping,
Douglas Gregor [Sat, 26 Jan 2013 00:55:12 +0000 (00:55 +0000)]
Since we're stuck with realpath for the header <-> module mapping,
factor the realpath calls into FileManager::getCanonicalName() so we
can cache the results of this epically slow operation. 5% speedup on
my modules test, and realpath drops out of the profile.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173542 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRevert r172285 (suppressing a 'redundant' -Wc++98-compat warning) and add a
Richard Smith [Sat, 26 Jan 2013 00:39:02 +0000 (00:39 +0000)]
Revert r172285 (suppressing a 'redundant' -Wc++98-compat warning) and add a
testcase for a situation it caused us to miss.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173540 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoComment parsing: actually check for a block command after "\param x"
Dmitri Gribenko [Sat, 26 Jan 2013 00:36:14 +0000 (00:36 +0000)]
Comment parsing: actually check for a block command after "\param x"

This fixes PR15068.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173539 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPreserve Sema::UndefinedInternals across PCH boundaries. Fixes
Nick Lewycky [Sat, 26 Jan 2013 00:35:08 +0000 (00:35 +0000)]
Preserve Sema::UndefinedInternals across PCH boundaries. Fixes
-Wundefined-internal warnings with PCH.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173538 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agopatch for PR9027 and // rdar://11861085
Fariborz Jahanian [Fri, 25 Jan 2013 23:57:05 +0000 (23:57 +0000)]
patch for PR9027 and // rdar://11861085
Title: [PR9027] volatile struct bug: member is not loaded at -O;
This is caused by last flag passed to @llvm.memcpy being false,
not honoring that aggregate has at least one 'volatile' data member
(even though aggregate itself has not been qualified as 'volatile'.
As a result, optimization optimizes away the memcpy altogether.
Patch review by John MaCall (I still need to fix up a test though).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173535 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/Index/annotate-comments-typedef.m: Remove CommentXMLValid in CHECKs. Don...
NAKAMURA Takumi [Fri, 25 Jan 2013 23:56:54 +0000 (23:56 +0000)]
clang/test/Index/annotate-comments-typedef.m: Remove CommentXMLValid in CHECKs. Don't assume libxml2 here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173534 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoARM says that the array cookie should always be eight bytes.
John McCall [Fri, 25 Jan 2013 23:36:19 +0000 (23:36 +0000)]
ARM says that the array cookie should always be eight bytes.
ARM is not thinking about over-aligned structures.
Overrule ARM in both our generic-ARM and iOS ABI implementations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173531 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMove the decision about the kind of CGCXXABI to make inside
John McCall [Fri, 25 Jan 2013 23:36:14 +0000 (23:36 +0000)]
Move the decision about the kind of CGCXXABI to make inside
the family-specific files.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173530 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoImprove coordination between the module manager and the global module
Douglas Gregor [Fri, 25 Jan 2013 23:32:03 +0000 (23:32 +0000)]
Improve coordination between the module manager and the global module
index, optimizing the operation that skips lookup in modules where we
know the identifier will not be found. This makes the global module
index optimization actually useful, providing an 8.5% speedup over
modules without the global module index for -fsyntax-only.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173529 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/Preprocessor/iwithprefix.c: Tweak default includes not to use /usr/include.
NAKAMURA Takumi [Fri, 25 Jan 2013 23:17:20 +0000 (23:17 +0000)]
clang/test/Preprocessor/iwithprefix.c: Tweak default includes not to use /usr/include.

You may see such a message on non-posix system;
  ignoring nonexistent directory "/usr/local/include"
  ignoring nonexistent directory "/usr/include"

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173525 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[utils] Kill another no-longer-useful utility script.
Daniel Dunbar [Fri, 25 Jan 2013 23:12:17 +0000 (23:12 +0000)]
[utils] Kill another no-longer-useful utility script.

 - We are long past the days of getting clang to fail in mass on swaths of code,
   fortunately.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173523 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agosimplify code by removing excessive bracing.
Fariborz Jahanian [Fri, 25 Jan 2013 23:08:39 +0000 (23:08 +0000)]
simplify code by removing excessive bracing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173521 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAttach enum's documentation to its typedef if
Fariborz Jahanian [Fri, 25 Jan 2013 22:48:32 +0000 (22:48 +0000)]
Attach enum's documentation to its typedef if
latter does not have one of its own. // rdar://13067629

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173516 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoThe standard ARM C++ ABI dictates that inline functions are
John McCall [Fri, 25 Jan 2013 22:31:03 +0000 (22:31 +0000)]
The standard ARM C++ ABI dictates that inline functions are
never key functions.  We did not implement that rule for the
iOS ABI, which was driven by what was implemented in gcc-4.2.
However, implement it now for other ARM-based platforms.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173515 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFirst pass at abstracting out a class for the target C++ ABI.
John McCall [Fri, 25 Jan 2013 22:30:49 +0000 (22:30 +0000)]
First pass at abstracting out a class for the target C++ ABI.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173514 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoOptimize ModuleManager::visit() by precomputing the visitation order
Douglas Gregor [Fri, 25 Jan 2013 22:25:23 +0000 (22:25 +0000)]
Optimize ModuleManager::visit() by precomputing the visitation order
and limiting ourselves to two memory allocations. 10% speedup in
-fsyntax-only time for modules.

With this change, we can actually see some performance different from
the global module index, but it's still about 1%.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173512 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove useless 'XPASS: *' from tests
Dmitri Gribenko [Fri, 25 Jan 2013 22:20:24 +0000 (22:20 +0000)]
Remove useless 'XPASS: *' from tests

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173511 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoTemporarily disabling ms-asm test
Renato Golin [Fri, 25 Jan 2013 22:13:50 +0000 (22:13 +0000)]
Temporarily disabling ms-asm test

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173510 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoThis test actually passes, just add the missing expected-error
Dmitri Gribenko [Fri, 25 Jan 2013 22:08:24 +0000 (22:08 +0000)]
This test actually passes, just add the missing expected-error

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173504 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMigrate test from grep to -fdiagnostics-parseable-fixits
Dmitri Gribenko [Fri, 25 Jan 2013 21:41:29 +0000 (21:41 +0000)]
Migrate test from grep to -fdiagnostics-parseable-fixits

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173496 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove empty directories.
Daniel Dunbar [Fri, 25 Jan 2013 21:15:32 +0000 (21:15 +0000)]
Remove empty directories.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173492 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[utils] Remove the OptionalTests subdir no one runs.
Daniel Dunbar [Fri, 25 Jan 2013 21:12:20 +0000 (21:12 +0000)]
[utils] Remove the OptionalTests subdir no one runs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173491 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[utils] Remove C++Tests that I don't think anyone uses anymore.
Daniel Dunbar [Fri, 25 Jan 2013 21:12:17 +0000 (21:12 +0000)]
[utils] Remove C++Tests that I don't think anyone uses anymore.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173490 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSilence unintended fallthrough diagnostic on a case label preceded with a normal...
Alexander Kornienko [Fri, 25 Jan 2013 20:44:56 +0000 (20:44 +0000)]
Silence unintended fallthrough diagnostic on a case label preceded with a normal label.

Summary:
It's unlikely that a fallthrough is unintended in the following code:
switch (n) {
...
  label:
  case 1:
...
    goto label;
...
}

Reviewers: rsmith, doug.gregor

Reviewed By: doug.gregor

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D329

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173486 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFileCheck'ize tests
Dmitri Gribenko [Fri, 25 Jan 2013 20:34:08 +0000 (20:34 +0000)]
FileCheck'ize tests

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173484 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMigrate tests to -verify and merge them
Dmitri Gribenko [Fri, 25 Jan 2013 20:33:53 +0000 (20:33 +0000)]
Migrate tests to -verify and merge them

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173482 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[tests] Force a triple to ensure /usr/include is one of the entries.
Daniel Dunbar [Fri, 25 Jan 2013 18:50:18 +0000 (18:50 +0000)]
[tests] Force a triple to ensure /usr/include is one of the entries.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173469 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[tests] Add a test for -iwithprefix.
Daniel Dunbar [Fri, 25 Jan 2013 18:08:53 +0000 (18:08 +0000)]
[tests] Add a test for -iwithprefix.

 - This just scratches the surface, We have pretty horrible test coverage in
   this area it seems like, but this at least covers the change in r173410.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173464 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd space after ';'.
Fariborz Jahanian [Fri, 25 Jan 2013 17:47:49 +0000 (17:47 +0000)]
Add space after ';'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173462 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoImprove diagnsotic further on integer overflow.
Fariborz Jahanian [Fri, 25 Jan 2013 17:19:07 +0000 (17:19 +0000)]
Improve diagnsotic further on integer overflow.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173461 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDon't suggest to insert [[clang::fallthrough]] before empty cases. Fix for multiple...
Alexander Kornienko [Fri, 25 Jan 2013 15:49:34 +0000 (15:49 +0000)]
Don't suggest to insert [[clang::fallthrough]] before empty cases. Fix for multiple case labels.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173458 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix some alignment and line break decisions.
Daniel Jasper [Fri, 25 Jan 2013 15:43:32 +0000 (15:43 +0000)]
Fix some alignment and line break decisions.

This combines two small changes:
1) Put a penalty on breaking after "<"
2) Only produce a hanging indent when parameters are separated by
commas.

Before:
aaaaaaaaaaaaaaaaaaaaaaaa<
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
aaaaaa(new Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
               aaaaaaaaaaaaaaaaaaaaaaaaaaaaa));

After:
aaaaaaaaaaaaaaaaaaaaaaaa<aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>(
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
aaaaaa(new Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaa));

This changes one ObjC test, but AFAICT this is not according to any
style guide (neither before nor after). We probably should be aligning
on the ":" there according to:
http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml?showone=Method_Invocations#Method_Invocations

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173457 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoLexer.cpp: Fix a warning with ptrdiff_t on i686. [-Wsign-compare]
NAKAMURA Takumi [Fri, 25 Jan 2013 14:57:21 +0000 (14:57 +0000)]
Lexer.cpp: Fix a warning with ptrdiff_t on i686. [-Wsign-compare]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173447 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/PCH/modified-header-error.c: Disable it again. It had been problematic...
NAKAMURA Takumi [Fri, 25 Jan 2013 11:07:42 +0000 (11:07 +0000)]
clang/test/PCH/modified-header-error.c: Disable it again. It had been problematic on win32 for while.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173439 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAllow breaking after "::" if absolutely necessary.
Daniel Jasper [Fri, 25 Jan 2013 10:57:27 +0000 (10:57 +0000)]
Allow breaking after "::" if absolutely necessary.

Otherwise, really long nested name specifiers can easily lead to a
violation of the column limit.

Not sure about the rules for indentation in those cases, so input is
appreciated (see tests.).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173438 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoConvertUTF.h: Suppress a warning with ptrdiff_t on i686. [-Wsign-compare]
NAKAMURA Takumi [Fri, 25 Jan 2013 10:01:35 +0000 (10:01 +0000)]
ConvertUTF.h: Suppress a warning with ptrdiff_t on i686. [-Wsign-compare]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173436 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/Driver/output-file-cleanup.c: Add arm and powerpc to XFAIL.
NAKAMURA Takumi [Fri, 25 Jan 2013 09:43:17 +0000 (09:43 +0000)]
clang/test/Driver/output-file-cleanup.c: Add arm and powerpc to XFAIL.

..."ppc" was not recognized here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173435 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd missing InGroup for this warning.
Nick Lewycky [Fri, 25 Jan 2013 07:31:12 +0000 (07:31 +0000)]
Add missing InGroup for this warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173429 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/Driver/output-file-cleanup.c: Mark it as XFAIL:*-mingw32, ppc, for now.
NAKAMURA Takumi [Fri, 25 Jan 2013 06:56:45 +0000 (06:56 +0000)]
clang/test/Driver/output-file-cleanup.c: Mark it as XFAIL:*-mingw32, ppc, for now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173428 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/Index/crash-recovery-*.c: Drop 'REQUIRES:shell". "test !" is available...
NAKAMURA Takumi [Fri, 25 Jan 2013 06:31:02 +0000 (06:31 +0000)]
clang/test/Index/crash-recovery-*.c: Drop 'REQUIRES:shell". "test !" is available on Lit win32 since r173421.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173422 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test: Drop "REQUIRES:shell" in three tests. They can run on win32.
NAKAMURA Takumi [Fri, 25 Jan 2013 06:02:11 +0000 (06:02 +0000)]
clang/test: Drop "REQUIRES:shell" in three tests. They can run on win32.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173419 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/CodeGenCXX/debug-info-static-member.cpp: Appease targetting msvc to add...
NAKAMURA Takumi [Fri, 25 Jan 2013 05:58:53 +0000 (05:58 +0000)]
clang/test/CodeGenCXX/debug-info-static-member.cpp: Appease targetting msvc to add explicit -target x86_64-unknown-unknown.

with -target i686-win32, you will see;

debug-info-static-member.cpp:11:22: error: in-class initializer for static data member of type 'const float' requires 'constexpr' specifier [-Wstatic-float-init]
  const static float const_b = 3.14;
                     ^         ~~~~
  constexpr

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173418 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoCreate clang/test/Driver/lit.local.cfg.
NAKAMURA Takumi [Fri, 25 Jan 2013 05:09:37 +0000 (05:09 +0000)]
Create clang/test/Driver/lit.local.cfg.

These files had been ignored.

  - clang_f_opts.h
  - debug-comp-dir.S
  - debug-main-file.S

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173416 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSync 'in class initialization of static const double' extension up with GCC,
Richard Smith [Fri, 25 Jan 2013 04:22:16 +0000 (04:22 +0000)]
Sync 'in class initialization of static const double' extension up with GCC,
and split it out of -Wgnu into its own warning flag.

 * In C++11, this is now a hard error (GCC has no extension here in C++11 mode).
   The error can be disabled with -Wno-static-float-init, and has a fixit to
   add 'constexpr'.

 * In C++98, this is still an ExtWarn, but is now controlled by
   -Wstatic-float-init as well as -Wgnu.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173414 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[Frontend] Remove another IsUserSpecified member variable that is now unused.
Daniel Dunbar [Fri, 25 Jan 2013 01:50:47 +0000 (01:50 +0000)]
[Frontend] Remove another IsUserSpecified member variable that is now unused.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173412 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[Frontend] Drop the isUserSupplied argument to InitHeaderSearch, it is unused.
Daniel Dunbar [Fri, 25 Jan 2013 01:50:39 +0000 (01:50 +0000)]
[Frontend] Drop the isUserSupplied argument to InitHeaderSearch, it is unused.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173411 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[Frontend] The -iwithprefix option belongs in the After category, according to
Daniel Dunbar [Fri, 25 Jan 2013 01:50:34 +0000 (01:50 +0000)]
[Frontend] The -iwithprefix option belongs in the After category, according to
GCC docs.
 - Found by inspection.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173410 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[Lex] Remove DirectoryLookup.UserSpecified, which is unused.
Daniel Dunbar [Fri, 25 Jan 2013 01:50:28 +0000 (01:50 +0000)]
[Lex] Remove DirectoryLookup.UserSpecified, which is unused.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173409 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSerialization/GlobalModuleIndex.cpp: Fixup r173405, <cstdio>
NAKAMURA Takumi [Fri, 25 Jan 2013 01:47:07 +0000 (01:47 +0000)]
Serialization/GlobalModuleIndex.cpp: Fixup r173405, <cstdio>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173408 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoImplement the reader of the global module index and wire it into the
Douglas Gregor [Fri, 25 Jan 2013 01:03:03 +0000 (01:03 +0000)]
Implement the reader of the global module index and wire it into the
AST reader.

The global module index tracks all of the identifiers known to a set
of module files. Lookup of those identifiers looks first in the global
module index, which returns the set of module files in which that
identifier can be found. The AST reader only needs to look into those
module files and any module files not known to the global index (e.g.,
because they were (re)built after the global index), reducing the
number of on-disk hash tables to visit. For an example source I'm
looking at, we go from 237844 total identifier lookups into on-disk
hash tables down to 126817.

Unfortunately, this does not translate into a performance advantage.
At best, it's a wash once the global module index has been built, but
that's ignore the cost of building the global module index (which
is itself fairly large). Profiles show that the global module index
code is far less efficient than it should be; optimizing it might give
enough of an advantage to justify its continued inclusion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173405 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRename the -cc1 option "-generate-module-index" to
Douglas Gregor [Fri, 25 Jan 2013 00:45:27 +0000 (00:45 +0000)]
Rename the -cc1 option "-generate-module-index" to
"-fmodules-global-index" and expand its behavior to include both the
use and generation of the global module index.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173404 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoTrack the number of lookups and hits into the on-disk hash tables for
Douglas Gregor [Fri, 25 Jan 2013 00:38:33 +0000 (00:38 +0000)]
Track the number of lookups and hits into the on-disk hash tables for
identifiers within the AST file reader.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173403 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoClarify comment: "diagnose" is better than "warn" when emitting an error.
Jordan Rose [Fri, 25 Jan 2013 00:20:28 +0000 (00:20 +0000)]
Clarify comment: "diagnose" is better than "warn" when emitting an error.

Thanks, Dmitri.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173400 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoClean up: since we have FunctionDecl::IsInline, make it store the right value
Richard Smith [Fri, 25 Jan 2013 00:08:28 +0000 (00:08 +0000)]
Clean up: since we have FunctionDecl::IsInline, make it store the right value
for template instantiations, and use it to simplify the implementation of
FunctionDecl::isInlined().

This incidentally changes the result of isInlined on a declared-but-not-defined
non-inline member function from true to false. This is sort of a bug fix, but
currently isInlined is only called on function definitions, so it has no visible
effects.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173397 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFileCheck'ize test
Dmitri Gribenko [Fri, 25 Jan 2013 00:06:54 +0000 (00:06 +0000)]
FileCheck'ize test

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173396 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFileCheck'ize test
Dmitri Gribenko [Thu, 24 Jan 2013 23:44:04 +0000 (23:44 +0000)]
FileCheck'ize test

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173393 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[analyzer] Fixup for r173385 and r173386 - initialize the members.
Anna Zaks [Thu, 24 Jan 2013 23:40:17 +0000 (23:40 +0000)]
[analyzer] Fixup for r173385 and r173386 - initialize the members.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173392 91177308-0d34-0410-b5e6-96231b3b80d8