Fariborz Jahanian [Fri, 1 Oct 2010 01:01:03 +0000 (01:01 +0000)]
Remove test until further notice.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115258
91177308-0d34-0410-b5e6-
96231b3b80d8
Marcin Swiderski [Fri, 1 Oct 2010 00:52:17 +0000 (00:52 +0000)]
Added generating CFGAutomaticObjDtors for condition variable and implicit scopes in if statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115256
91177308-0d34-0410-b5e6-
96231b3b80d8
Marcin Swiderski [Fri, 1 Oct 2010 00:31:22 +0000 (00:31 +0000)]
Fixed checking for trivial destructor in CFGBuilder::addLocalScopeForVarDecl. Checked type does not have to represent C++ class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115254
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 1 Oct 2010 00:27:17 +0000 (00:27 +0000)]
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115253
91177308-0d34-0410-b5e6-
96231b3b80d8
Marcin Swiderski [Fri, 1 Oct 2010 00:23:17 +0000 (00:23 +0000)]
Added:
- Adding LocalScope for CompoundStmt,
- Adding CFGAutomaticObjDtors for end of scope, return, goto, break, continue,
- Regression tests for above cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115252
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 1 Oct 2010 00:01:53 +0000 (00:01 +0000)]
Output debug info. for ivars declared in class
extension and implementation.
Fixes rdar://
8493239.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115248
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 1 Oct 2010 00:00:18 +0000 (00:00 +0000)]
Add test case I forgot for r115159 (support implicit includes along with PCH).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115247
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 30 Sep 2010 23:57:50 +0000 (23:57 +0000)]
Clang part of MMX rewrite (goes with 115243).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115244
91177308-0d34-0410-b5e6-
96231b3b80d8
Marcin Swiderski [Thu, 30 Sep 2010 23:05:00 +0000 (23:05 +0000)]
Added methods for adding LocalScopes and CFGAutomaticObjDtors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115237
91177308-0d34-0410-b5e6-
96231b3b80d8
Marcin Swiderski [Thu, 30 Sep 2010 22:54:37 +0000 (22:54 +0000)]
Added methods for inserting CFGAutomaticObjDtors to CFGBlocks,
Fixed some misspells in comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115236
91177308-0d34-0410-b5e6-
96231b3b80d8
Marcin Swiderski [Thu, 30 Sep 2010 22:42:32 +0000 (22:42 +0000)]
Added:
- post-increament, distance and bool conversion methods to LocalScope::const_iterator,
- adding VarDecl to LocalScope.
Fixed some misspells in comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115227
91177308-0d34-0410-b5e6-
96231b3b80d8
Dawn Perchik [Thu, 30 Sep 2010 22:26:05 +0000 (22:26 +0000)]
perform_code_completion(): fix type declaration for TU.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115224
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 30 Sep 2010 21:20:23 +0000 (21:20 +0000)]
Correct this name so I stop giving out the wrong email address.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115209
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 30 Sep 2010 20:41:32 +0000 (20:41 +0000)]
Rewriting array element type of qualified-id.
Fixes rdra://
8475819.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115201
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 30 Sep 2010 20:39:47 +0000 (20:39 +0000)]
c-index-test: Run inside a separate thread iff we have pthread support, to
ensure we at least get some minimal testing of running in a multithreaded
environment (for example, having a reduced stack size).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115200
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 30 Sep 2010 19:05:55 +0000 (19:05 +0000)]
Introduce -flimit-debug-info.
In this experimental mode try avoiding debug info emission for classes as much as possible. The goal is to reduce size of produced debuginfo without reducing quality of debug info in general. This is a work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115188
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 30 Sep 2010 16:53:50 +0000 (16:53 +0000)]
Support implicit includes when generating a PCH and allow the user to pass a -include on the command line following the PCH include.
Fixes rdar://
7382084.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115159
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 30 Sep 2010 16:53:47 +0000 (16:53 +0000)]
Driver: Ignore the found PCH file if its '-include' is not the first one.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115158
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 30 Sep 2010 15:22:01 +0000 (15:22 +0000)]
typo
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115148
91177308-0d34-0410-b5e6-
96231b3b80d8
Marcin Swiderski [Thu, 30 Sep 2010 07:41:24 +0000 (07:41 +0000)]
Added two new command line arguments:
-cfg-add-implicit-dtors - sets CFG::BuildOptions::AddImplicitDtors for AnalysisCosumer to true,
-cfg-add-initializers - sets CFG::BuildOptions::AddInitializers for AnalysisCosumer to true.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115142
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Care [Thu, 30 Sep 2010 01:12:05 +0000 (01:12 +0000)]
Updated scan-build:
- Idempotent operations are on by default, to match --analyze in the driver.
- Integrated stats calculation based on parsing warnings emitted with the -analyzer-stats flag. The new -stats flag enables this.
- New -maxloop flag to pass down a maxloop value to the analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115123
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 30 Sep 2010 01:06:29 +0000 (01:06 +0000)]
Include changes to VisitCXXMemberCallExpr (call visitor functions).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115120
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 30 Sep 2010 01:06:26 +0000 (01:06 +0000)]
Change CheckerVisitor so that [Pre,Post]VisitCallExpr only handles CallExprs for simple C functions, not
all CallExprs (including CXXMemberCallExpr, etc.). Now the generic handler for all CallExprs is [Pre,Post]VisitGenericCallExpr.
Also add [Pre,Post]Visit hooks for CXXMemberCallExpr.
Change GRExprEngine::VisitCXXMemberCallExpr() to do pre/post checker visits of the call.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115119
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 30 Sep 2010 01:03:06 +0000 (01:03 +0000)]
Make the FileID import map key on FileID.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115118
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 30 Sep 2010 01:03:03 +0000 (01:03 +0000)]
In MeasureTokenLength, the FileLoc supplied to the lexer must point to the start of the buffer, or we risk overflow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115117
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 30 Sep 2010 00:37:10 +0000 (00:37 +0000)]
Tweak nil receiver checker to not warning about 64-bit return values.
Fixes: <rdar://problem/7513117>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115113
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Care [Wed, 29 Sep 2010 23:48:34 +0000 (23:48 +0000)]
AnalyzerStatsChecker improvements:
- Use BlockEntrance rather than BlockEdge to bring in line with UnreachableCodeChecker. Fixes an issue where unreached blocks would still be counted as reachable.
- Added warnings for all BlockAborted locations. This allows us to see where the analyzer stopped analyzing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115110
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Care [Wed, 29 Sep 2010 23:48:31 +0000 (23:48 +0000)]
Modified the ccc-analyzer script to print the compiler command when log level verbosity is enabled. This is handy for debugging.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115109
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Care [Wed, 29 Sep 2010 23:48:13 +0000 (23:48 +0000)]
Change -analyzer-max-nodes to allow 0 as a parameter. This allows the analyzer to completely analyze a worklist regardless of time taken.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115108
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 29 Sep 2010 23:09:21 +0000 (23:09 +0000)]
Attach aritifical attribute with implicit parameters.
Radar
8493141.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115104
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 29 Sep 2010 23:08:00 +0000 (23:08 +0000)]
ImplicitParamDecl is always implicit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115103
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 29 Sep 2010 21:46:16 +0000 (21:46 +0000)]
Emit method access specifier.
Radar
8490416.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115090
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 29 Sep 2010 21:41:56 +0000 (21:41 +0000)]
Update docs to include proper location of clang binary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115088
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 29 Sep 2010 21:14:36 +0000 (21:14 +0000)]
When performing template argument deduction of a function template
against a function type, be sure to check the type of the resulting
function template specialization against the desired function type
after substituting the deduced/defaulted template arguments. Fixes PR8196.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115086
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 29 Sep 2010 21:05:52 +0000 (21:05 +0000)]
Update to reflect DIFactory::CreateSubprogram() interface change from r115084.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115085
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 29 Sep 2010 20:05:01 +0000 (20:05 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115079
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 29 Sep 2010 19:15:29 +0000 (19:15 +0000)]
Basic: Simplify getClangRepositoryPath and getClangRevision.
- I don't like returning StringRef's ever, unless it is actually important for
performance, which it isn't here.
- Also, stop validating getClangRevision to be an integer, I don't see a good
reason to do this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115071
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 29 Sep 2010 19:08:35 +0000 (19:08 +0000)]
Test case for r115067.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115068
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 29 Sep 2010 18:20:25 +0000 (18:20 +0000)]
Add support for attribute((naked)), patch by Zoxc on cfe-commits!
- Minor style tweaks by me.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115056
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 29 Sep 2010 17:58:28 +0000 (17:58 +0000)]
Fix handling of dependent nested namespace specifiers in UsingDecls
during template instantiation, from Martin Vejnar!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115051
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 29 Sep 2010 17:57:10 +0000 (17:57 +0000)]
Basic: Add support for git svn to get the repo version in clang executable,
patch by Jonathan Mulder!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115049
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 29 Sep 2010 16:09:28 +0000 (16:09 +0000)]
Frontend/XML: Add support for printing nested structures, patch by Martin Vejnár!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115041
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 29 Sep 2010 04:57:11 +0000 (04:57 +0000)]
Define _Bool, bool, true, and false macros in <stdbool.h> when we're
in a GNU-compatible C++ dialect. Fixes <rdar://problem/
8477819>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115028
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 29 Sep 2010 04:25:11 +0000 (04:25 +0000)]
Move the management of the set of conversion functions in a C++ class
into CXXRecordDecl. The only part that we do not handle this way are
using declarations, since that would require extra name lookup that we
don't currently want to pay for. This fixes <rdar://problem/
8459981>,
so that LLDB can build a CXXRecordDecl and magically get all of the
right bits set.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115026
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Silverstein [Wed, 29 Sep 2010 04:14:20 +0000 (04:14 +0000)]
Visit the type information for CXXUnresolvedConstructExpr, just like
we do for the similar CXXTemporaryObjectExpr. OKed by chandlerc and
wan.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115025
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 29 Sep 2010 00:15:42 +0000 (00:15 +0000)]
Move the maintenance of CXXRecordDecl::DefinitionData's Abstract bit
completely into CXXRecordDecl, by adding a new completeDefinition()
function. This required a little reshuffling of the final-overrider
checking code, since the "abstract" calculation in the presence of
abstract base classes needs to occur in
CXXRecordDecl::completeDefinition() but we don't want to compute final
overriders more than one in the common case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115007
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 28 Sep 2010 23:35:09 +0000 (23:35 +0000)]
enhance tentative parsing to handle ms extensions, patch by Martin Vejnar!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115004
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 28 Sep 2010 21:55:22 +0000 (21:55 +0000)]
Teach FunctionDecl::setPure() to (indirectly) mark the Abstract bit in
CXXRecordDecl::DefinitionData, rather than having Sema mark the bit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114993
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 28 Sep 2010 21:11:07 +0000 (21:11 +0000)]
Add test case for <rdar://problem/
8452791> (fixed in r114392).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114989
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 28 Sep 2010 20:50:54 +0000 (20:50 +0000)]
Reinstate r114925 and r114929, both steps toward
<rdar://problem/
8459981>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114984
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 28 Sep 2010 20:42:35 +0000 (20:42 +0000)]
vla expressions used in __typeof__ must be evaluated.
Fixes rdar://
8476159.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114982
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 28 Sep 2010 20:38:10 +0000 (20:38 +0000)]
Centralize the management of CXXRecordDecl::DefinitionData's Empty bit
in CXXRecordDecl itself. Yes, this is also part of <rdar://problem/
8459981>.
This reinstates r114924, with one crucial bug fix: we were ignoring
the implicit fields created by anonymous structs/unions when updating
the bits in CXXRecordDecl, which means that a class/struct containing
only an anonymous class/struct would be considered "empty". Hilarity
follows.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114980
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 28 Sep 2010 20:28:50 +0000 (20:28 +0000)]
Follow-up to r114978, used wrong tag.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114979
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 28 Sep 2010 20:23:00 +0000 (20:23 +0000)]
Move ExternalSemaSource::ReadMethodPool's implementation to Sema.cpp so that the header can get away with forward declarations only for ObjCMethodList and Selector. Fixes <rdar://
8467631>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114978
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 28 Sep 2010 19:45:33 +0000 (19:45 +0000)]
Reinstate r114921, which I've exonerated via a self-host build.
Centralize the management of CXXRecordDecl::DefinitionData's Aggregate
and PlainOldData bits in CXXRecordDecl itself. Another milepost on the
road toward <rdar://problem/
8459981>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114977
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 28 Sep 2010 17:48:56 +0000 (17:48 +0000)]
When we have two identifiers in a row in Objective-C, make sure to
verify that we aren't in a message-send expression before digging into
the identifier or looking ahead more tokens. Fixes a regression
(<rdar://problem/
8483253>) I introduced with bracket insertion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114968
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 28 Sep 2010 14:54:11 +0000 (14:54 +0000)]
Don't warn with -Wbool-conversions if the user wrote an explicit cast like "(void *)false".
Fixes rdar://
8459342.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114955
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 28 Sep 2010 14:54:07 +0000 (14:54 +0000)]
Don't warn for an unused label if it has 'unused' attribute. Fixes rdar://
8483139.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114954
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 28 Sep 2010 02:55:49 +0000 (02:55 +0000)]
Fix a bug in loading macro records. Fixes yet another crash in libclang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114940
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 28 Sep 2010 02:24:44 +0000 (02:24 +0000)]
Fix a use of an invalidated reference due to a hash map reallocating.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114937
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Sep 2010 01:28:56 +0000 (01:28 +0000)]
Accidentally committed some temporary changes on my branch when reverting patches.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114936
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Sep 2010 01:09:49 +0000 (01:09 +0000)]
Temporarily revert 114929 114925 114924 114921. It looked like they (or at least
one of them) was causing a series of failures:
http://google1.osuosl.org:8011/builders/clang-x86_64-darwin10-selfhost/builds/4518
svn merge -c -114929 https://llvm.org/svn/llvm-project/cfe/trunk
--- Reverse-merging r114929 into '.':
U include/clang/Sema/Sema.h
U include/clang/AST/DeclCXX.h
U lib/Sema/SemaDeclCXX.cpp
U lib/Sema/SemaTemplateInstantiateDecl.cpp
U lib/Sema/SemaDecl.cpp
U lib/Sema/SemaTemplateInstantiate.cpp
U lib/AST/DeclCXX.cpp
svn merge -c -114925 https://llvm.org/svn/llvm-project/cfe/trunk
--- Reverse-merging r114925 into '.':
G include/clang/AST/DeclCXX.h
G lib/Sema/SemaDeclCXX.cpp
G lib/AST/DeclCXX.cpp
svn merge -c -114924 https://llvm.org/svn/llvm-project/cfe/trunk
--- Reverse-merging r114924 into '.':
G include/clang/AST/DeclCXX.h
G lib/Sema/SemaDeclCXX.cpp
G lib/Sema/SemaDecl.cpp
G lib/AST/DeclCXX.cpp
U lib/AST/ASTContext.cpp
svn merge -c -114921 https://llvm.org/svn/llvm-project/cfe/trunk
--- Reverse-merging r114921 into '.':
G include/clang/AST/DeclCXX.h
G lib/Sema/SemaDeclCXX.cpp
G lib/Sema/SemaDecl.cpp
G lib/AST/DeclCXX.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114933
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 28 Sep 2010 00:00:00 +0000 (00:00 +0000)]
Centralize the management of CXXRecordDecl::DefinitionData's
HasTrivialConstructor, HasTrivialCopyConstructor,
HasTrivialCopyAssignment, and HasTrivialDestructor bits in
CXXRecordDecl's methods. This completes all but the Abstract bit and
the set of conversion functions, both of which will require a bit of
extra work. The majority of <rdar://problem/
8459981> is now
implemented (but not all of it).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114929
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 27 Sep 2010 23:39:06 +0000 (23:39 +0000)]
Centralize the management of CXXRecordDecl::DefinitionData's
Polymorphic bit in CXXRecordDecl itself. Yes, this is also part of
<rdar://problem/
8459981>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114925
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 27 Sep 2010 23:31:14 +0000 (23:31 +0000)]
Centralize the management of CXXRecordDecl::DefinitionData's Empty bit
in CXXRecordDecl itself. Yes, this is also part of <rdar://problem/
8459981>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114924
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Mon, 27 Sep 2010 23:20:01 +0000 (23:20 +0000)]
My previous fix was incorrect for non-chained PCH reuse. Fix again.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114922
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 27 Sep 2010 23:16:44 +0000 (23:16 +0000)]
Centralize the management of CXXRecordDecl::DefinitionData's Aggregate
and PlainOldData bits in CXXRecordDecl itself. Another milepost on the
road toward <rdar://problem/
8459981>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114921
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 27 Sep 2010 22:48:58 +0000 (22:48 +0000)]
Centralize the handling of CXXRecordDecl::DefinitionData's
DeclaredDestructor and UserDeclaredDestructor bits in CXXRecordDecl
itself. Another step on the road to <rdar://problem/
8459981>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114918
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 27 Sep 2010 22:42:37 +0000 (22:42 +0000)]
Patch to support transparent_union arguments
passed to nonnull attributed functions. Implements radar
6857843.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114917
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 27 Sep 2010 22:37:28 +0000 (22:37 +0000)]
Kill FunctionDecl's IsCopyAssignment bit; it duplicated what could
already be determined by isCopyAssignmentOperator(), and was set too
late in the process for all clients to see the appropriate
value. Cleanup only; no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114916
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Mon, 27 Sep 2010 22:18:47 +0000 (22:18 +0000)]
When chaining PCHs, only write PPRecords that don't come from PCH, and give them the correct IDs. Fixes a crash in XCode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114913
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 27 Sep 2010 22:06:20 +0000 (22:06 +0000)]
Centralize the handling of
CXXRecordDecl::DefinitionData::DeclaredCopyAssignment, for
copy-assignment operators. Another step toward <rdar://problem/
8459981>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114899
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 27 Sep 2010 21:22:25 +0000 (21:22 +0000)]
Revert my patch changing the MMX "shift" intrinsics that take immediates into
"shift with non-immediate" intrinsics. It gets here because we they aren't
immediates anymore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114890
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 27 Sep 2010 21:17:54 +0000 (21:17 +0000)]
Clean up the handling of the DeclaredDefaultConstructor and
DeclaredCopyConstructor bits in CXXRecordDecl's DefinitionData
structure. Rather than having Sema call addedConstructor or set the
bits directly at semi-random places, move all of the logic for
managing these bits into CXXRecordDecl itself and tie the
addedConstructor call into DeclContext::addDecl().
This makes it easier for AST-building clients to get the right bits
set in DefinitionData, and is one small part of <rdar://problem/
8459981>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114889
91177308-0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Mon, 27 Sep 2010 21:02:09 +0000 (21:02 +0000)]
Correctly set "explicit template instantiation" kind on inner structs of templates whose explicit instantiation is first declared and then defined.
Fixes http://llvm.org/pr8207
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114874
91177308-0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Mon, 27 Sep 2010 20:40:32 +0000 (20:40 +0000)]
Let lit give helpful advice if 'make test' was not run yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114869
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 27 Sep 2010 20:13:24 +0000 (20:13 +0000)]
utils/ABITest: Factor out type naming code slightly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114867
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 27 Sep 2010 20:13:22 +0000 (20:13 +0000)]
utils/ABITest: Tweak default bit-field types to cover some more interesting cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114866
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 27 Sep 2010 20:13:19 +0000 (20:13 +0000)]
utils/ABITest: Add a workaround for mismatches due to PR5579.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114865
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 27 Sep 2010 20:13:17 +0000 (20:13 +0000)]
utils/ABITest: Add option to skip individual tests by index.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114864
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 27 Sep 2010 20:13:13 +0000 (20:13 +0000)]
Frontend: Teach clang -cc1as to respond to -v.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114863
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 27 Sep 2010 19:05:51 +0000 (19:05 +0000)]
Issue warning for trivial cases of nonnull attributes
(on functions with no pointer arguments) but only when
the attribute has not been coming from a macro
instantiation in a header file. Fixes first part
of radar
6857843.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114860
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 27 Sep 2010 17:30:38 +0000 (17:30 +0000)]
Copying result of object property reference expression
into a temporary is elidable as well.
(Finishes up radar
8291337).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114845
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 27 Sep 2010 16:43:25 +0000 (16:43 +0000)]
Remove libclang logging code
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114836
91177308-0d34-0410-b5e6-
96231b3b80d8
Abramo Bagnara [Mon, 27 Sep 2010 07:13:32 +0000 (07:13 +0000)]
Fixed isConstantInitializer for __builtin_choose_expr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114820
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Mon, 27 Sep 2010 06:34:47 +0000 (06:34 +0000)]
Fix coding standard mistake from my last commit.
That, and keep aKor happy :P.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114816
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Mon, 27 Sep 2010 06:19:02 +0000 (06:19 +0000)]
Lexer: Implement GCC's version of pragma message.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114814
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 27 Sep 2010 05:49:58 +0000 (05:49 +0000)]
Enable caching of global code completion results in the suggested
libclang options for editing a translation unit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114810
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 25 Sep 2010 18:10:05 +0000 (18:10 +0000)]
Driver/Linux: Translate rewritten lib options back to standard -l form when
using generic GCC tools.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114793
91177308-0d34-0410-b5e6-
96231b3b80d8
Marcin Swiderski [Sat, 25 Sep 2010 11:05:21 +0000 (11:05 +0000)]
In preparation for adding generation of destructors for objects with automatic storage added:
- LocalScope class with iterator used to pointing into it,
- fat doxygen comment for LocalScope indended usage,
- BlockScopePosPair class used for storing jump targets/sources (for: goto, break, continue), that replaces raw CFGBlock pointer used earlier for this purpose.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114790
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 25 Sep 2010 01:08:05 +0000 (01:08 +0000)]
Fix a NYI in IRGen which was due to incorrect AST
for property reference expression (of c++ object type)
in the conditional expression. Fixes // rdar://
8291337
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114783
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 24 Sep 2010 23:29:12 +0000 (23:29 +0000)]
When setting the globally-visible declarations for a particular
identifier, we may have a Sema object but no translation unit scope
(because parsing is finished). In this case, we still need to update
the IdResolver, which might still be used when writing a PCH
containing another PCH (without chaining). This bug manifested as a
failure with precompiled preambles.
Also, add a little environment-variable-sensitive logging for
libclang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114774
91177308-0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 24 Sep 2010 21:25:25 +0000 (21:25 +0000)]
Allow the use of C++0x deleted functions as an extension in C++98.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114762
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 24 Sep 2010 21:18:36 +0000 (21:18 +0000)]
Teach libclang to enable multithreading in LLVM, since libclang clients are likely to be multithreaded. Also move the printing of timers to somewhere better for multithreaded libclang clients
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114760
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 24 Sep 2010 19:39:37 +0000 (19:39 +0000)]
Driver: Add -fallow-unsupported which disables some of the eager error'ing we do
to prevent users from trying unsupported stuff. Useful for testing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114749
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 24 Sep 2010 18:36:58 +0000 (18:36 +0000)]
Fix rewriting of property declared in @protocol's.
Fixed //rdar://
8472487.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114741
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 24 Sep 2010 17:30:16 +0000 (17:30 +0000)]
Patch implements passing arrays to functions expecting
vla. Implements pr7827.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114737
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 24 Sep 2010 17:26:14 +0000 (17:26 +0000)]
Update Clang man page to say a little bit more about C++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114735
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 24 Sep 2010 02:43:32 +0000 (02:43 +0000)]
Remove this test for now until I figure out how to get it to work with c-index-test in a portable way.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114721
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 24 Sep 2010 02:00:46 +0000 (02:00 +0000)]
Pass -fobjc-nonfragile-abi2 in test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114720
91177308-0d34-0410-b5e6-
96231b3b80d8