summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* It's kindof silly that ExtQuals has an ASTContext&, and we can use thatJohn McCall2010-12-1016-168/+153
| | | | | | | | | | space better. Remove this reference. To make that work, change some APIs (most importantly, getDesugaredType()) to take an ASTContext& if they need to return a QualType. Simultaneously, diminish the need to return a QualType by introducing some useful APIs on SplitQualType, which is just a std::pair<const Type *, Qualifiers>. llvm-svn: 121478
* Move the "volatile" bit into QualType's "fast" qualifier set,Douglas Gregor2010-12-101-11/+0
| | | | | | | | increasing the required type alignment from 8 to 16. This provides a 2.5% speedup for -fsyntax-only on a token-cached Cocoa.h, while only increasing memory consumption in the ASTContext by 0.8%. llvm-svn: 121474
* Use TypeAlignment constant rather than fixed alignment of 8Douglas Gregor2010-12-101-1/+2
| | | | llvm-svn: 121473
* Add missing switch case to handle builtin for Neon vqnegq.Bob Wilson2010-12-101-0/+1
| | | | llvm-svn: 121468
* LLVM's intrinsics for vpaddl and vpadal have 2 overloaded types.Bob Wilson2010-12-101-4/+18
| | | | | | Clang was only specifying the overloaded result type. PR8483. llvm-svn: 121464
* Treat visibility on an enclosing namespace as a non-explicit source ofJohn McCall2010-12-103-9/+30
| | | | | | | | | | | visibility. Fixes PR8713. I've disabled a test which was testing that you can #pragma pop visibility to get out of a namespace's visibility attribute. We should probably just diagnose that as an error unless it's instrumental to someone's system headers. llvm-svn: 121459
* Bind the result of a property fetch to a temporary.John McCall2010-12-101-0/+4
| | | | llvm-svn: 121452
* Neon compare absolute LLVM intrinsics are not overloaded. PR8484.Bob Wilson2010-12-101-4/+4
| | | | llvm-svn: 121447
* Fix another obscure corner layout case.Argyrios Kyrtzidis2010-12-101-9/+13
| | | | llvm-svn: 121436
* Don't crash when code-completing after "#include <". It would be farDouglas Gregor2010-12-091-0/+6
| | | | | | | better to actually produce a decent set of completions by checking the system include paths, but not today. Fixes PR8744. llvm-svn: 121431
* Refactored/cleanedup ActOnFunctionDeclarator Fariborz Jahanian2010-12-091-521/+563
| | | | | | | and ActOnVariableDeclarator No functionality change. // rdar://8751949 llvm-svn: 121427
* Eliminate duplicate code completions for properties.Douglas Gregor2010-12-091-11/+25
| | | | llvm-svn: 121424
* Don't walk the translation unit context to produce protocol names whenDouglas Gregor2010-12-092-19/+40
| | | | | | | | | | global code completions are disabled (e.g., because they are cached). Also, make sure that forward-declared protocols are visited when we look for all visible names within a declaration context. Previously, we would end up with duplicate completions for protocols. llvm-svn: 121416
* Gather cached code completions after the first reparse, not after theDouglas Gregor2010-12-091-8/+8
| | | | | | second reparse. llvm-svn: 121413
* Use error_code instead of std::string* for MemoryBuffer.Michael J. Spencer2010-12-095-17/+49
| | | | llvm-svn: 121378
* When an "inline" declaration was followed by a definition not markedDouglas Gregor2010-12-093-20/+21
| | | | | | | | | | | | | "inline", we weren't giving the definition weak linkage because the "inline" bit wasn't propagated. This was a longstanding FIXME that, somehow, hadn't triggered a bug in the wild. Fix this problem by tracking whether any declaration was marked "inline", and clean up the semantics of GNU's "extern inline" semantics calculation based on this change. Fixes <rdar://problem/8740363>. llvm-svn: 121373
* Fix PR8760: IndirectFieldDecl Type was not updated during template ↵Francois Pichet2010-12-091-1/+2
| | | | | | instantiation. llvm-svn: 121363
* Fix another unnecessary-struct-padding issue.Argyrios Kyrtzidis2010-12-091-1/+10
| | | | llvm-svn: 121352
* Before determining the effect the alignment of base struct will have in the ↵Argyrios Kyrtzidis2010-12-091-2/+9
| | | | | | | | | | aligment of the sub-struct, take into account if the sub-struct is packed and its maximum field alignment. Fixes rdar://8745206 llvm-svn: 121335
* Remove unused parameter. getContextDescriptor() and getOrCreateNameSpace().Devang Patel2010-12-092-19/+15
| | | | llvm-svn: 121333
* Remove unused parameter.Devang Patel2010-12-092-4/+3
| | | | llvm-svn: 121326
* A typename specifier can end up referring to a unresolved usingDouglas Gregor2010-12-091-1/+18
| | | | | | | | declaration that is a value in ill-formed code. Instead of crashing, treat this as a dependent typename specifier and suggest that the using add "typename" into the using declaration. Fixes <rdar://problem/8740998>. llvm-svn: 121322
* Start using DIBuilder. It provides cleaner interface.Devang Patel2010-12-082-350/+244
| | | | llvm-svn: 121302
* Stop using builtins for the "_lane" variants of saturating multiply intrinsics.Bob Wilson2010-12-082-35/+17
| | | | | | | Remove the "splat" parameter from the EmitNeonCall function, since it is no longer needed. llvm-svn: 121300
* Remove the TypesCompatibleExprClass AST node. Merge its functionality into ↵Francois Pichet2010-12-0819-172/+27
| | | | | | BinaryTypeTraitExpr. llvm-svn: 121298
* Stop using clang builtins for Neon vabdl and vabal intrinsics.Bob Wilson2010-12-081-17/+0
| | | | llvm-svn: 121288
* Driver: M and MM should be grouped together, <rdar://problem/8744831>.Daniel Dunbar2010-12-082-5/+3
| | | | llvm-svn: 121284
* Stop using clang builtins for Neon vaba intrinsics.Bob Wilson2010-12-081-10/+0
| | | | llvm-svn: 121277
* Fix two thinkos and add a test for importing the AST of a categoryDouglas Gregor2010-12-081-2/+3
| | | | | | implementation. llvm-svn: 121263
* Handle parameter attributes when tentative parsing for function/variable ↵Argyrios Kyrtzidis2010-12-081-4/+9
| | | | | | | | disambiguation. Fixes rdar://8739801. llvm-svn: 121228
* Silence an unused variable warning.Chandler Carruth2010-12-081-0/+1
| | | | llvm-svn: 121221
* Stop using clang builtins for Neon vadd[lw] and vsub[lw] intrinsics.Bob Wilson2010-12-081-46/+0
| | | | llvm-svn: 121214
* Stop using clang builtins for Neon vmlal{_n,_lane} and vmlsl{_n,_lane}.Bob Wilson2010-12-071-40/+0
| | | | llvm-svn: 121210
* Bump up property conversion earlier in the initialization process. FixesJohn McCall2010-12-072-2/+6
| | | | | | the failed compile in PR8751. llvm-svn: 121192
* Stop using a clang builtin for Neon vdup_lane intrinsics.Bob Wilson2010-12-072-11/+2
| | | | llvm-svn: 121191
* Stop using a clang builtin for Neon vmull_lane intrinsic.Bob Wilson2010-12-071-21/+4
| | | | llvm-svn: 121189
* Add a missing parameter, without which clang crashes for vqshlu_n intrinsics.Bob Wilson2010-12-071-1/+1
| | | | llvm-svn: 121188
* Implement AST import for Objective-C property implementationsDouglas Gregor2010-12-071-0/+82
| | | | | | (@synthesize and @dynamic). llvm-svn: 121159
* Cast CachedLinkage to linkage to avoid "comparison between signed and ↵Benjamin Kramer2010-12-071-5/+3
| | | | | | unsigned integer" warnings. llvm-svn: 121143
* Implement ASTImporter support for Objective-C category implementations.Douglas Gregor2010-12-071-0/+36
| | | | llvm-svn: 121139
* Fix PR8720 by printing an error message with a substring that the gcc ↵Rafael Espindola2010-12-071-0/+5
| | | | | | testsuite searches for. llvm-svn: 121137
* PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() andJay Foad2010-12-0716-69/+68
| | | | | | | | zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method trunc(), to be const and to return a new value instead of modifying the object in place. llvm-svn: 121121
* Extern the ASTImporter to import @implementation declarations.Douglas Gregor2010-12-071-2/+76
| | | | llvm-svn: 121097
* Fix enumerator not handled in switch warnings.Francois Pichet2010-12-072-4/+4
| | | | llvm-svn: 121084
* Kill FullExpr, as it was not, in fact, used anywhere in the code base.John McCall2010-12-073-62/+0
| | | | | | | I'm not opposed to the idea in concept, but there's no point in preserving abortive experiments. llvm-svn: 121083
* Use Sema::MaybeCreateExprWithCleanups() only after we've checked for a ↵Douglas Gregor2010-12-073-15/+10
| | | | | | NULL/invalid expression llvm-svn: 121081
* Type traits intrinsic implementation: __is_base_of(T, U)Francois Pichet2010-12-0714-2/+222
| | | | | | New AST node introduced: BinaryTypeTraitExpr; to be reused for more intrinsics. llvm-svn: 121074
* Use atomic operations for libclang's object count tracking.Douglas Gregor2010-12-071-3/+4
| | | | llvm-svn: 121073
* Objective-C pointer conversions to 'id' or qualified 'id' subsumeDouglas Gregor2010-12-061-0/+5
| | | | | | | | cv-qualification conversions. More specifically, there's an implicit cv-qualification conversion (even one that drops qualifiers) when converting to 'id' or qualified 'id'. Fixes <rdar://problem/8734046>. llvm-svn: 121047
* Split out a function to do lvalue conversion on objects; this is basicallyJohn McCall2010-12-061-42/+51
| | | | | | | | | | FunctionArrayLvalueConversion but without the function/array decay. Generally this is only appropriate for use sites that know the type of the expression and thus that it can't be subject to the decays. Also make sure we do lvalue-to-rvalue on the bases of ivar references. llvm-svn: 121035
OpenPOWER on IntegriCloud