summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This isNick Lewycky2011-10-213-0/+18
| | | | | | | closer to what GCC does, except that GCC also checks that the inodes for $PWD and '.' match. llvm-svn: 142633
* Add -Wc++98-compat diagnostics for jumps which bypass initialization of non-PODRichard Smith2011-10-202-40/+89
| | | | | | | | but trivially constructible and destructible variables in C++11 mode. Also incidentally improve the precision of the wording for jump diagnostics in C++98 mode. llvm-svn: 142619
* When fixing up the storage class for an anonymous union, don't markDouglas Gregor2011-10-201-2/+0
| | | | | | the anonymous union as valid: our fixes have Fix-Its. llvm-svn: 142616
* 'extern template' is a C++11 feature. Add an Extension for C++98 (this matchesRichard Smith2011-10-201-0/+3
| | | | | | gcc's behaviour), and a -Wc++98-compat-pedantic warning for C++11. llvm-svn: 142597
* There's no point in marking a declaration invalid just because itDouglas Gregor2011-10-203-15/+15
| | | | | | | | shadows a template parameter. Complain about the shadowing (or not, under -fms-extensions), but don't invalidate the declaration. Merely forget about the template parameter declaration. llvm-svn: 142596
* Diagnose class template (partial) specializations that occur in theDouglas Gregor2011-10-201-1/+10
| | | | | | | *wrong* class scope. This is one of the problems behind <rdar://problem/9676205>. llvm-svn: 142588
* When we parse something that looks like a templated friend tag butDouglas Gregor2011-10-201-2/+16
| | | | | | | | actually just has an extraneous 'template<>' header, strip off the 'template<>' header and treat it as a normal friend tag. Fixes PR10660 / <rdar://problem/9958322>. llvm-svn: 142587
* Further refine the diagnostic categories for ARC diagnostics. Addresses ↵Ted Kremenek2011-10-203-14/+8
| | | | | | <rdar://problem/10245086>. llvm-svn: 142571
* Add -Wc++98-compat warning for enumerations in nested name specifiers.Richard Smith2011-10-202-0/+6
| | | | llvm-svn: 142568
* FixIt insert 'static' for anonymous unions at global or namespace scope.David Blaikie2011-10-201-1/+2
| | | | llvm-svn: 142566
* Add a fixit to remove storage specifiers on anonymous enums.David Blaikie2011-10-201-1/+2
| | | | llvm-svn: 142565
* Define __STDC__ in -fms-extensions mode; defining it is consistent with gcc, ↵Eli Friedman2011-10-191-1/+1
| | | | | | and not defining it causes the system headers on multiple platforms to break with -fms-extensions because they assume the lack of a definition of __STDC__ implies a traditional (pre-ANSI) preprocessor. PR10324 and <rdar://problem/10313809> . llvm-svn: 142554
* 80 cols (one I created in my last commit, plus a bunch of others that were ↵David Blaikie2011-10-191-24/+39
| | | | | | already there) llvm-svn: 142552
* Don't provide errors for anonymous unions when they're actually anonymous ↵David Blaikie2011-10-191-26/+28
| | | | | | classes. llvm-svn: 142551
* Improve the diagnostic when a comma ends up at the end of a declarator groupRichard Smith2011-10-191-3/+72
| | | | | | | | | instead of a semicolon (as sometimes happens during refactorings). When such a comma is seen at the end of a line, and is followed by something which can't possibly be a declarator (or even something which might be a plausible typo for a declarator), suggest that a semicolon was intended. llvm-svn: 142544
* -Wc++98-compat: warn on nontrivial types used in unions and anonymous structs.Richard Smith2011-10-191-7/+10
| | | | llvm-svn: 142541
* Only warn at self-initialization if some later use is always uninitialized.Matt Beaumont-Gay2011-10-191-2/+13
| | | | llvm-svn: 142538
* -Wc++98-compat: diagnose if a reference is bound to a prvalue which does notRichard Smith2011-10-191-66/+138
| | | | | | have an unambiguous accessible copying constructor; this is ill-formed in C++98. llvm-svn: 142533
* Improve the warning for cv-qualifiers on free functions, from Ahmed Charles!Douglas Gregor2011-10-196-6/+51
| | | | llvm-svn: 142478
* 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
OpenPOWER on IntegriCloud