summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix pr9789, assert-on-invalid while instantiating an (invalid) class ↵David Blaikie2011-10-191-17/+16
| | | | | | template with a non-final parameter pack. Also improve the warning for non-final parameter packs in this scenario so it only fires once, rather than once for every template parameter after the non-final parameter pack. llvm-svn: 142473
* Don't forget to complete the objc interface before asking for information,Argyrios Kyrtzidis2011-10-192-1/+11
| | | | | | otherwise lldb will suffer. llvm-svn: 142471
* Add a -Wc++98-compat warning for friend functions of class templates which wouldRichard Smith2011-10-191-7/+29
| | | | | | be implicitly instantiated (resulting in a redefinition) in C++98. llvm-svn: 142468
* Add block information for ObjC @catch blocks.Eric Christopher2011-10-191-1/+1
| | | | | | Fixes rdar://10282889 llvm-svn: 142467
* Add a new subclass of RunCleanupScopes that also handles creating newEric Christopher2011-10-191-3/+41
| | | | | | lexical blocks for debug info. llvm-svn: 142466
* Move static array parameter checks to SemaExpr, per Doug's requestPeter Collingbourne2011-10-192-63/+60
| | | | llvm-svn: 142465
* -Wc++98-compat: warn if a SFINAE substitution in C++11 suppresses an accessRichard Smith2011-10-191-7/+25
| | | | | | control diagnostic. llvm-svn: 142463
* objc: allow class name qualified with protocols inFariborz Jahanian2011-10-181-1/+11
| | | | | | | iboutletcollection attribute. But ignore protocol list. // rdar://10296078 llvm-svn: 142459
* [analyzer] Move predecessor into the NodeBuilder context.Anna Zaks2011-10-182-9/+7
| | | | llvm-svn: 142454
* [analyzer] Make NodeBuilder and Pred node loosely coupledAnna Zaks2011-10-184-37/+34
| | | | | | NodeBuilder should not assume it's dealing with a single predecessor. Remove predecessor getters. Modify the BranchNodeBuilder to not be responsible for doing auto-transitions (which depend on a predecessor). llvm-svn: 142453
* [analyzer] Remove StmtNodeBuilder from CheckerContextAnna Zaks2011-10-182-7/+2
| | | | | | It now only depends on a generic NodeBuilder instead. As part of this change, make the generic node builder results finalized by default. llvm-svn: 142452
* [analyzer] Subclassing StmtBuilder from the NodeBuilderAnna Zaks2011-10-182-54/+19
| | | | llvm-svn: 142451
* [analyzer] Remove dead code.Anna Zaks2011-10-182-2/+1
| | | | | | ExprEngineBuilders is not used. llvm-svn: 142450
* [analyzer] Modularize builder use in processBranch.Anna Zaks2011-10-184-64/+60
| | | | | | Take advantage of the new builders for branch processing. As part of this change pass generic NodeBuilder (instead of BranchNodeBuilder) to the BranchCondition callback and remove the unused methods form BranchBuilder. llvm-svn: 142448
* [analyzer] Pull Pred out of NodeBuilderContext.Anna Zaks2011-10-182-8/+10
| | | | | | Each builder will have a different one, so it doesn't make sense to keep it in the context. llvm-svn: 142447
* [analyzer] NodeBuilder Refactoring: Subclass BranchNodeBuilder from NodeBuilder.Anna Zaks2011-10-183-63/+54
| | | | llvm-svn: 142444
* [analyzer] Node Builder refactoring: Introduce a simple Node Builder ↵Anna Zaks2011-10-183-24/+52
| | | | | | | | | | | | | | | | | responsible for generating the node frontier. Currently we have a bunch of different node builders which provide some common functionality but are difficult to refactor. Each builder generates nodes of different kinds and calculates the frontier nodes, which should be propagated to the next step (after the builder dies). Introduce a new NodeBuilder which provides very basic node generation facilities but takes care of the second problem. The idea is that all the other builders will eventually use it. Use this builder in CheckerContext instead of StmtNodeBuilder (the way the frontier is propagated to the StmtBuilder is a hack and will be removed later on). llvm-svn: 142443
* More metaprogramming with builtin types.John McCall2011-10-183-23/+17
| | | | llvm-svn: 142433
* -Wc++98-compat and -Wc++98-compat-pedantic warnings for Sema, part 2.Richard Smith2011-10-183-37/+45
| | | | llvm-svn: 142426
* Provide result types for code completions that describe built-inDouglas Gregor2011-10-181-50/+88
| | | | | | expressions (this, sizeof, etc.). llvm-svn: 142424
* Add a __has_feature check for arc_cf_code_audited.John McCall2011-10-181-0/+1
| | | | llvm-svn: 142423
* Macro metaprogramming for builtin types.John McCall2011-10-187-105/+37
| | | | llvm-svn: 142420
* -Wc++98-compat and -Wc++98-compat-pedantic warnings for Sema, part 1.Richard Smith2011-10-186-80/+129
| | | | llvm-svn: 142419
* Frontend: Support -iframework.Daniel Dunbar2011-10-182-4/+4
| | | | llvm-svn: 142418
* Simplify RecordDeclCXX::setBases slightly. No functional change.Richard Smith2011-10-181-13/+10
| | | | | | | Add test that a variadic base list which expands to 0 bases doesn't make the class a non-aggregate. This test passed before the change, too. llvm-svn: 142411
* objc: more changes in use of IBOutletCollection attribute.Fariborz Jahanian2011-10-181-3/+2
| | | | | | | 'Class' is disallowed as argument. If the argument is missing, NSObject is assumed. // rdar://10296078 llvm-svn: 142409
* [arcmt] Rewrite attributes in extensions as well. rdar://9992142Argyrios Kyrtzidis2011-10-181-17/+83
| | | | llvm-svn: 142407
* Set the objc "property attributes as written" for extension properties as well.Argyrios Kyrtzidis2011-10-181-28/+34
| | | | llvm-svn: 142406
* In C++11, a class's members are allowed to be nominated as friends.Richard Smith2011-10-181-1/+1
| | | | llvm-svn: 142393
* [driver] Make the driver to link the simulator arclite lib when passing ↵Argyrios Kyrtzidis2011-10-181-3/+5
| | | | | | | | -mios-simulator-version-min. rdar://10218700 llvm-svn: 142372
* objc: diagnose invalid argument to anFariborz Jahanian2011-10-181-0/+7
| | | | | | | iboutletcollection attribute intead of crashing. // rdar://10296078 llvm-svn: 142364
* Make it possible to compute the type of 'this' without capturingDouglas Gregor2011-10-182-8/+10
| | | | | | it. Refactoring to be used in a moment. llvm-svn: 142360
* Add code completions for C++0x expressionsDouglas Gregor2011-10-181-1/+28
| | | | llvm-svn: 142357
* Use llvm::Triple's methods to parse FreeBSD version numbers.Benjamin Kramer2011-10-181-4/+5
| | | | | | | Who could've thought that FreeBSD would ever reach version 10! Patch from Dimitry Andric. llvm-svn: 142349
* Suggest %zu for size_t args to printf.Hans Wennborg2011-10-182-2/+19
| | | | | | | | For PR11152. Make PrintSpecifier::fixType() suggest "%zu" for size_t, etc. rather than looking at the underlying type and suggesting "%llu" or other platform-specific length modifiers. Applies to C99 and C++11. llvm-svn: 142342
* Don't format the code completion for parameters of block literalDouglas Gregor2011-10-181-24/+46
| | | | | | | arguments as block literal arguments; the block literal argument code completion should only go one level deep. Fixes <rdar://problem/10291294>. llvm-svn: 142335
* Add -Wc++11-compat warning for an inline specifier on an explicit instantiation.Richard Smith2011-10-181-2/+4
| | | | llvm-svn: 142333
* When transforming the arguments for a C++ "new" expression, make sureDouglas Gregor2011-10-181-8/+9
| | | | | | | to drop the implicitly-generated value initialization expression used for initializing scalars. Fixes <rdar://problem/10283928>. llvm-svn: 142330
* Refactor the checking for explicit template instantiations being performed inRichard Smith2011-10-181-31/+27
| | | | | | | | | the right namespace in C++11 mode. Teach the code to prefer the 'must be in precisely this namespace' diagnostic whenever that's true, and fix a defect which resulted in the -Wc++11-compat warning in C++98 mode sometimes being omitted. llvm-svn: 142329
* Argyrios says this change is required for safety under PTH.John McCall2011-10-181-1/+1
| | | | | | Me, I believe him. llvm-svn: 142327
* Revert accidental commit.Eli Friedman2011-10-181-2/+2
| | | | llvm-svn: 142326
* Rewrite parts of MS ABI C++ layout. Based on work by r4start; I ended up ↵Eli Friedman2011-10-182-93/+90
| | | | | | doing this while I was trying to review his patch. llvm-svn: 142325
* Fix several bugs with #pragma clang arc_cf_code_audited and macros.John McCall2011-10-181-2/+5
| | | | llvm-svn: 142324
* Revert r142311, -mios-simulator-version-min does not work correctly.Argyrios Kyrtzidis2011-10-182-0/+94
| | | | llvm-svn: 142322
* Remove the hack where we sniff the __IPHONE_OS_VERSION_MIN_REQUIRED define.Argyrios Kyrtzidis2011-10-172-94/+0
| | | | | | We can use -mios-simulator-version-min now. rdar://10218700 llvm-svn: 142311
* Perform lvalue-to-rvalue conversions on __builtin_offsetof array argument indexRichard Smith2011-10-171-6/+6
| | | | | | before typechecking, as suggested by John. llvm-svn: 142308
* [arcmt] In ARC default for properties is 'strong' so just remove a 'retain' ↵Argyrios Kyrtzidis2011-10-171-3/+37
| | | | | | | | if possible, instead of changing it to 'strong'. rdar://9984862. llvm-svn: 142304
* Add -Wc++98-compat warnings for uses of the new keywords 'alignof', 'char16_t',Richard Smith2011-10-173-1/+18
| | | | | | 'char32_t', 'constexpr', 'decltype', 'noexcept', 'nullptr' and 'static_assert'. llvm-svn: 142302
* Wire up support for the controlling the extended dwarf .file directive. WithNick Lewycky2011-10-173-0/+20
| | | | | | | r142300 but not this patch, clang -S may emit .s files that assemblers other than llvm-mc can't parse. llvm-svn: 142301
* Implement -static-libstdc++ for linux.Rafael Espindola2011-10-171-0/+6
| | | | llvm-svn: 142290
OpenPOWER on IntegriCloud