Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | It's kindof silly that ExtQuals has an ASTContext&, and we can use that | John McCall | 2010-12-10 | 16 | -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 Gregor | 2010-12-10 | 1 | -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 8 | Douglas Gregor | 2010-12-10 | 1 | -1/+2 | |
| | | | | llvm-svn: 121473 | |||||
* | Add missing switch case to handle builtin for Neon vqnegq. | Bob Wilson | 2010-12-10 | 1 | -0/+1 | |
| | | | | llvm-svn: 121468 | |||||
* | LLVM's intrinsics for vpaddl and vpadal have 2 overloaded types. | Bob Wilson | 2010-12-10 | 1 | -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 of | John McCall | 2010-12-10 | 3 | -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 McCall | 2010-12-10 | 1 | -0/+4 | |
| | | | | llvm-svn: 121452 | |||||
* | Neon compare absolute LLVM intrinsics are not overloaded. PR8484. | Bob Wilson | 2010-12-10 | 1 | -4/+4 | |
| | | | | llvm-svn: 121447 | |||||
* | Fix another obscure corner layout case. | Argyrios Kyrtzidis | 2010-12-10 | 1 | -9/+13 | |
| | | | | llvm-svn: 121436 | |||||
* | Don't crash when code-completing after "#include <". It would be far | Douglas Gregor | 2010-12-09 | 1 | -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 Jahanian | 2010-12-09 | 1 | -521/+563 | |
| | | | | | | | and ActOnVariableDeclarator No functionality change. // rdar://8751949 llvm-svn: 121427 | |||||
* | Eliminate duplicate code completions for properties. | Douglas Gregor | 2010-12-09 | 1 | -11/+25 | |
| | | | | llvm-svn: 121424 | |||||
* | Don't walk the translation unit context to produce protocol names when | Douglas Gregor | 2010-12-09 | 2 | -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 the | Douglas Gregor | 2010-12-09 | 1 | -8/+8 | |
| | | | | | | second reparse. llvm-svn: 121413 | |||||
* | Use error_code instead of std::string* for MemoryBuffer. | Michael J. Spencer | 2010-12-09 | 5 | -17/+49 | |
| | | | | llvm-svn: 121378 | |||||
* | When an "inline" declaration was followed by a definition not marked | Douglas Gregor | 2010-12-09 | 3 | -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 Pichet | 2010-12-09 | 1 | -1/+2 | |
| | | | | | | instantiation. llvm-svn: 121363 | |||||
* | Fix another unnecessary-struct-padding issue. | Argyrios Kyrtzidis | 2010-12-09 | 1 | -1/+10 | |
| | | | | llvm-svn: 121352 | |||||
* | Before determining the effect the alignment of base struct will have in the ↵ | Argyrios Kyrtzidis | 2010-12-09 | 1 | -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 Patel | 2010-12-09 | 2 | -19/+15 | |
| | | | | llvm-svn: 121333 | |||||
* | Remove unused parameter. | Devang Patel | 2010-12-09 | 2 | -4/+3 | |
| | | | | llvm-svn: 121326 | |||||
* | A typename specifier can end up referring to a unresolved using | Douglas Gregor | 2010-12-09 | 1 | -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 Patel | 2010-12-08 | 2 | -350/+244 | |
| | | | | llvm-svn: 121302 | |||||
* | Stop using builtins for the "_lane" variants of saturating multiply intrinsics. | Bob Wilson | 2010-12-08 | 2 | -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 Pichet | 2010-12-08 | 19 | -172/+27 | |
| | | | | | | BinaryTypeTraitExpr. llvm-svn: 121298 | |||||
* | Stop using clang builtins for Neon vabdl and vabal intrinsics. | Bob Wilson | 2010-12-08 | 1 | -17/+0 | |
| | | | | llvm-svn: 121288 | |||||
* | Driver: M and MM should be grouped together, <rdar://problem/8744831>. | Daniel Dunbar | 2010-12-08 | 2 | -5/+3 | |
| | | | | llvm-svn: 121284 | |||||
* | Stop using clang builtins for Neon vaba intrinsics. | Bob Wilson | 2010-12-08 | 1 | -10/+0 | |
| | | | | llvm-svn: 121277 | |||||
* | Fix two thinkos and add a test for importing the AST of a category | Douglas Gregor | 2010-12-08 | 1 | -2/+3 | |
| | | | | | | implementation. llvm-svn: 121263 | |||||
* | Handle parameter attributes when tentative parsing for function/variable ↵ | Argyrios Kyrtzidis | 2010-12-08 | 1 | -4/+9 | |
| | | | | | | | | disambiguation. Fixes rdar://8739801. llvm-svn: 121228 | |||||
* | Silence an unused variable warning. | Chandler Carruth | 2010-12-08 | 1 | -0/+1 | |
| | | | | llvm-svn: 121221 | |||||
* | Stop using clang builtins for Neon vadd[lw] and vsub[lw] intrinsics. | Bob Wilson | 2010-12-08 | 1 | -46/+0 | |
| | | | | llvm-svn: 121214 | |||||
* | Stop using clang builtins for Neon vmlal{_n,_lane} and vmlsl{_n,_lane}. | Bob Wilson | 2010-12-07 | 1 | -40/+0 | |
| | | | | llvm-svn: 121210 | |||||
* | Bump up property conversion earlier in the initialization process. Fixes | John McCall | 2010-12-07 | 2 | -2/+6 | |
| | | | | | | the failed compile in PR8751. llvm-svn: 121192 | |||||
* | Stop using a clang builtin for Neon vdup_lane intrinsics. | Bob Wilson | 2010-12-07 | 2 | -11/+2 | |
| | | | | llvm-svn: 121191 | |||||
* | Stop using a clang builtin for Neon vmull_lane intrinsic. | Bob Wilson | 2010-12-07 | 1 | -21/+4 | |
| | | | | llvm-svn: 121189 | |||||
* | Add a missing parameter, without which clang crashes for vqshlu_n intrinsics. | Bob Wilson | 2010-12-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 121188 | |||||
* | Implement AST import for Objective-C property implementations | Douglas Gregor | 2010-12-07 | 1 | -0/+82 | |
| | | | | | | (@synthesize and @dynamic). llvm-svn: 121159 | |||||
* | Cast CachedLinkage to linkage to avoid "comparison between signed and ↵ | Benjamin Kramer | 2010-12-07 | 1 | -5/+3 | |
| | | | | | | unsigned integer" warnings. llvm-svn: 121143 | |||||
* | Implement ASTImporter support for Objective-C category implementations. | Douglas Gregor | 2010-12-07 | 1 | -0/+36 | |
| | | | | llvm-svn: 121139 | |||||
* | Fix PR8720 by printing an error message with a substring that the gcc ↵ | Rafael Espindola | 2010-12-07 | 1 | -0/+5 | |
| | | | | | | testsuite searches for. llvm-svn: 121137 | |||||
* | PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and | Jay Foad | 2010-12-07 | 16 | -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 Gregor | 2010-12-07 | 1 | -2/+76 | |
| | | | | llvm-svn: 121097 | |||||
* | Fix enumerator not handled in switch warnings. | Francois Pichet | 2010-12-07 | 2 | -4/+4 | |
| | | | | llvm-svn: 121084 | |||||
* | Kill FullExpr, as it was not, in fact, used anywhere in the code base. | John McCall | 2010-12-07 | 3 | -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 Gregor | 2010-12-07 | 3 | -15/+10 | |
| | | | | | | NULL/invalid expression llvm-svn: 121081 | |||||
* | Type traits intrinsic implementation: __is_base_of(T, U) | Francois Pichet | 2010-12-07 | 14 | -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 Gregor | 2010-12-07 | 1 | -3/+4 | |
| | | | | llvm-svn: 121073 | |||||
* | Objective-C pointer conversions to 'id' or qualified 'id' subsume | Douglas Gregor | 2010-12-06 | 1 | -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 basically | John McCall | 2010-12-06 | 1 | -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 |