summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* const-qualify CXXRecordDecl::getCaptureFields.Eli Friedman2012-02-112-2/+2
| | | | llvm-svn: 150284
* Add simple semantic test for C++11 [expr.prim.lambda]p16, which covers ↵Douglas Gregor2012-02-101-0/+16
| | | | | | recursive capture. This is far more interesting for IRgen. llvm-svn: 150283
* Implement C++11 [expr.lambda.prim]p13, which prohibits lambdas inDouglas Gregor2012-02-103-0/+24
| | | | | | default arguments if in fact those lambdas capture any entity. llvm-svn: 150282
* objc translator: more modern metadata stuff.Fariborz Jahanian2012-02-101-105/+33
| | | | llvm-svn: 150281
* Set UserLabelPrefix and MCountName correctly for DragonFly BSD. Patch by ↵Eli Friedman2012-02-101-1/+12
| | | | | | | | Sascha Wildner. Setting UserLabelPrefix correctly fixes PR11949. llvm-svn: 150280
* Support all null pointer literals in format strings.David Blaikie2012-02-103-8/+11
| | | | llvm-svn: 150276
* objctive-c translator: modern metadata for ivars. wip.Fariborz Jahanian2012-02-101-28/+78
| | | | llvm-svn: 150275
* Have the driver pass CPU and target feature information to cc1as.Jim Grosbach2012-02-105-5/+92
| | | | | | | | | | When creating the MCSubtargetInfo, the assembler driver uses the CPU and feature string to construct a more accurate model of what instructions are and are not legal. rdar://10840476 llvm-svn: 150273
* [libclang] Indexing API: fully index using decls and directives.Argyrios Kyrtzidis2012-02-102-0/+39
| | | | llvm-svn: 150268
* [libclang] Indexing API: Fully index implict template instantiations.Argyrios Kyrtzidis2012-02-109-5/+72
| | | | llvm-svn: 150267
* Add ArrayRef goodness in MultiplexASTMutationListener.Argyrios Kyrtzidis2012-02-101-3/+3
| | | | llvm-svn: 150266
* Update MultiplexASTMutationListener with the missing methods from ↵Argyrios Kyrtzidis2012-02-102-0/+21
| | | | | | ASTMutationListener. llvm-svn: 150265
* [libclang] Encode the template specialization parameters of a functionArgyrios Kyrtzidis2012-02-101-0/+10
| | | | | | specialization in its USR string. llvm-svn: 150264
* Enhance checking for null format string literal to take into account __null. ↵Ted Kremenek2012-02-102-0/+12
| | | | | | Fixes <rdar://problem/8269537>. llvm-svn: 150260
* Allow implicit capture of 'this' in a lambda even when the captureDouglas Gregor2012-02-107-14/+44
| | | | | | | | | | | | default is '=', and reword the warning about explicitly capturing 'this' in such lambdas to indicate that only explicit capture is banned. Introduce Fix-Its for this and other "save the programmer from themself" rules regarding what can be explicitly captured and what must be implicitly captured. llvm-svn: 150256
* Add test from [expr.prim.lambda]p12, which deals with odr-use andDouglas Gregor2012-02-102-3/+30
| | | | | | | | nested captures. We currently don't get odr-use correct in array bounds, so that bit is commented out while we sort out what we need to do. llvm-svn: 150255
* Don't introduce a lambda's operator() into the class until after weDouglas Gregor2012-02-102-49/+60
| | | | | | | | have finished parsing the body, so that name lookup will never find anything within the closure type. Then, add this operator() and the conversion function (if available) before completing the class. llvm-svn: 150252
* PR11684, core issue 1417:Richard Smith2012-02-1014-182/+197
| | | | | | | | | | | | | | o Correct the handling of the restrictions on usage of cv-qualified and ref-qualified function types. o Fix a bug where such types were rejected in template type parameter default arguments, due to such arguments not being treated as a template type arg context. o Remove the ExtWarn for usage of such types as template arguments; that was a standard defect, not a GCC extension. o Improve the wording and unify the code for diagnosing cv-qualifiers with the code for diagnosing ref-qualifiers. llvm-svn: 150244
* Test cleanup: prefer static_assert to handmade alternative.Richard Smith2012-02-101-5/+2
| | | | llvm-svn: 150243
* Loosen the test from r150238 a bit to make some of our bots happy.Evgeniy Stepanov2012-02-101-4/+4
| | | | llvm-svn: 150242
* Track whether a function type has a trailing return type as type sugar. Use thisRichard Smith2012-02-1014-45/+121
| | | | | | | | | | | to pretty-print such function types better, and to fix a case where we were not instantiating templates in lexical order. In passing, move the Variadic bit from Type's bitfields to FunctionProtoType to get the Type bitfields down to 32 bits. Also ensure that we always substitute the return type of a function when substituting explicitly-specified arguments, since that can cause us to bail out with a SFINAE error before we hit a hard error in parameter substitution. llvm-svn: 150241
* --lies.Richard Smith2012-02-101-2/+0
| | | | llvm-svn: 150240
* Add a lambda example from the working draft.Douglas Gregor2012-02-101-0/+9
| | | | llvm-svn: 150239
* Fix function prolog codegen whe coerce-to type is a struct.Evgeniy Stepanov2012-02-102-9/+42
| | | | | | | | | | This changes function prolog in such a way as to avoid out-of-bounds stack store in the case when coerce-to type has a larger storage size than the real argument type. Fixes PR11905. llvm-svn: 150238
* Add various tests for captures and the reaching scope of the lambdaDouglas Gregor2012-02-104-1/+84
| | | | | | | expression. Implement C++11 [expr.prim.lambda]p12's requirement that capturing a variable will odr-use it. llvm-svn: 150237
* Implement the conversion to a function pointer for lambda expressions,Douglas Gregor2012-02-104-8/+79
| | | | | | per C++ [expr.prim.lambda]p6. llvm-svn: 150236
* Extend CXXRecordDecl with a function that determines the mapping fromDouglas Gregor2012-02-104-3/+57
| | | | | | | the variables captured by a lambda to the fields that store the captured values. To be used in IRgen. llvm-svn: 150235
* Update to new resolution for DR1458. When taking the address of an object ofRichard Smith2012-02-103-18/+4
| | | | | | | incomplete class type which has an overloaded operator&, it's now just unspecified whether the overloaded operator or the builtin is used. llvm-svn: 150234
* Remove stray semi-colon.Daniel Dunbar2012-02-101-1/+1
| | | | llvm-svn: 150231
* Move -Wswitch from -Wmost to -Wall, consitent with GCC.David Blaikie2012-02-101-3/+2
| | | | | | | | | This is a relatively noisy warning for a codebase not explicitly designed for it (effectively enforcing a stylistic constraint about the use of defaults in switches over enums) & there's nothing Clang does to clean up the noise when compared to GCC's implementation so the same decision seems suitable. llvm-svn: 150230
* Revert r145999. This turned out to be a bad idea. Unfortunately, 'id' is ↵Ted Kremenek2012-02-105-45/+16
| | | | | | | | | used so profusely in many APIs and large codebases that this made the deprecated warning trigger happy to the point of not being useful. llvm-svn: 150223
* Make sure we convert struct layout pragmas to attributes for class templates ↵Eli Friedman2012-02-102-0/+15
| | | | | | the same way we do for non-template classes. <rdar://problem/10791194>. llvm-svn: 150221
* [analyzer] MallocChecker: add a list of false positives based on runningAnna Zaks2012-02-101-0/+82
| | | | | | the checker over postgres and sqlite. llvm-svn: 150216
* [analyzer] MallocChecker Cleanup - harden against crashes, fix an errorAnna Zaks2012-02-103-20/+43
| | | | | | (use of return instead of continue), wording. llvm-svn: 150215
* objc translator: mode modern abi stuff.Fariborz Jahanian2012-02-101-0/+96
| | | | llvm-svn: 150212
* Remove evil const_cast that's not needed anymore.Bill Wendling2012-02-091-3/+1
| | | | llvm-svn: 150210
* Switching to using dyn_cast_or_null, and fixing line endings in the test case.Aaron Ballman2012-02-092-8/+8
| | | | llvm-svn: 150209
* Use SmallVector when we can instead of std::vector.Bill Wendling2012-02-091-23/+23
| | | | | | | This looks like it had a small, but measurable performance improvement on -O0 compile time for our ObjC tests. llvm-svn: 150208
* [analyzer] Proactively avoid inlining vararg functions and blocks until we ↵Ted Kremenek2012-02-092-1/+54
| | | | | | properly support them. llvm-svn: 150207
* objc: If a method is not implemented in the category implementation butFariborz Jahanian2012-02-095-48/+88
| | | | | | | | has been declared in its primary class, superclass, or in one of their protocols, no need to issue unimplemented method. // rdar://10823023 llvm-svn: 150206
* Make sure a variable with a C++ direct initializer triggers jump scope ↵Eli Friedman2012-02-092-0/+16
| | | | | | checking. Fixes PR10620 / <rdar://problem/9958362> . llvm-svn: 150204
* examples/analyzer-plugin/: unbreak buildDylan Noblesmith2012-02-091-2/+3
| | | | | | | It was never updated for API changes in r149311/r149336/r149339 and r147688. llvm-svn: 150202
* cmake: create a relative symlink to clang, not absoluteDylan Noblesmith2012-02-091-3/+4
| | | | | | | Hardcoding the location of the build directory seems like it would break at `make install`/packaging time. llvm-svn: 150201
* Class objects passed by value follow the same rules as structure objects.Akira Hatanaka2012-02-092-3/+21
| | | | | | | Double fields of by-value class objects should be passed in floating point registers. llvm-svn: 150200
* Kill the brief and full explanation fields from StaticDiagInfoRec. They were ↵Benjamin Kramer2012-02-0912-65/+14
| | | | | | | | unused and wasted space for nothing. - per PR11952. llvm-svn: 150199
* Fix bugs in function MipsABIInfo::returnAggregateInRegs. Functions returningAkira Hatanaka2012-02-092-14/+58
| | | | | | class objects follow the same rules as those returning struct objects. llvm-svn: 150196
* Don't allow deduction of a lambda result type from an initializerDouglas Gregor2012-02-093-2/+13
| | | | | | list; it is not an expression. llvm-svn: 150194
* [libclang] Add a libclang test I neglected to commit.Argyrios Kyrtzidis2012-02-092-0/+15
| | | | llvm-svn: 150193
* [PCH] Add a PCH test.Argyrios Kyrtzidis2012-02-091-0/+35
| | | | llvm-svn: 150192
* Tests for C++ [expr.prim.lambda]p5. We already implement all of theseDouglas Gregor2012-02-091-3/+57
| | | | | | semantics. llvm-svn: 150190
OpenPOWER on IntegriCloud