aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-04-05Add a FIXME and reduce nesting.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100432 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05Code completion results that refer to macros now get the cursor kindDouglas Gregor
of macro definitions when passed to CIndex. Add test for code completion of macros via CIndex. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100431 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05Always assume block-level expressions in the caller are alive when analyzingZhongxing Xu
the callee. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100429 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05Since now we process regions in clusters when removing dead bindings, thisZhongxing Xu
code can be removed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100428 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04Reapply patch for adding support for address spaces and added a isVolatile ↵Mon P Wang
field to memcpy, memmove, and memset. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100305 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-03Don't produce a vtable for a class if we have an explicit template ↵Rafael Espindola
instantiation declaration and no key function. We will produce the vtable at the explicit template instantiation. Fixes PR6748 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100266 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Add option and macro definition for AES instructions. Now produces realEric Christopher
assembly for testcases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100253 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Improve diagnosing when a method type does not start with '-'|'+'Fariborz Jahanian
when parsing. Fixes radar 7822196. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100248 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02IRgen/NeXT: Remove my refactoring-enabling asserts, and add a FIXME.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100237 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Avoid unneeded calls to opt/llvm-dis.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100236 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Merge several tests into switch.c.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100235 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02IRgen/Obj-C: Eliminate FindIvarInterface, now that ivar's are in the right ↵Daniel Dunbar
DeclContexts (-2 FIXMEs). We still have an annoying linear scan + hidden dependency on how Obj-C layout is done. - This is also an algorithmic improvement in IRgen for Obj-C, although it probably doesn't matter in practice. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100228 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02AST: Add ObjCIvarDecl::getContainingInterface().Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100227 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02diagnose declaring class extension after its implementationFariborz Jahanian
(radar 7822210). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100226 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02NewDebugLoc got renamed to DebugLoc.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100219 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Sema/Obj-C: Narrow type of ObjCIvarDecl::Create, and check additional ↵Daniel Dunbar
invariants on the provided DeclContext. - Doug, please see the FIXME in DeclObjC.cpp -- I am not sure what the right fix is. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Diagnose invalid code with -fobjc-nonfragile-abi2 whenFariborz Jahanian
property is being accessed without the dot-syntax notation. (radar 7822344). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100212 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Sema/Obj-C: Narrow type, and simplify.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100210 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02We seem to get an inconsistent alignment value in the generatedDouglas Gregor
assembly for the global "d7". We were previously testing for alignment 3, which seems to happen for some builders and not for others. I've eliminated the alignment check and added a FIXME to unbreak the buildbots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100205 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Revert r100193 since it causes failures in objc in clangMon P Wang
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100200 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Sema/Obj-C: Simplify -- eliminate dead casts & provable asserts, and narrow ↵Daniel Dunbar
type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100197 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Rework our handling of copy construction of temporaries, which was aDouglas Gregor
poor (and wrong) approximation of the actual rules governing when to build a copy and when it can be elided. The correct implementation is actually simpler than the approximation. When we only enumerate constructors as part of initialization (e.g., for direct initialization or when we're copying from a class type or one of its derived classes), we don't create a copy. When we enumerate all conversion functions, we do create a copy. Before, we created some extra copies and missed some others. The new test copy-initialization.cpp shows a case where we missed creating a (required, non-elidable) copy as part of a user-defined conversion, which resulted in a miscompile. This commit also fixes PR6757, where the missing copy made us reject well-formed code in the ternary operator. This commit also cleans up our handling of copy elision in the case where we create an extra copy of a temporary object, which became necessary now that we produce the right copies. The code that seeks to find the temporary object being copied has moved into Expr::getTemporaryObject(); it used to have two different not-quite-the-same implementations, one in Sema and one in CodeGen. Note that we still do not attempt to perform the named return value optimization, so we miss copy elisions for return values and throw expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100196 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Reapply patch for adding support for address spaces and added a isVolatile ↵Mon P Wang
field to memcpy, memmove, and memset. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100193 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02CG/NeXT: Assert some invariants on an ivar's containing decl context that I ↵Daniel Dunbar
am about to refactor based on, following some testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100188 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02If a constructor is a dependent context, just set the base and member ↵Anders Carlsson
initializers as they are written. Fixes a bug where we wouldn't show initialization order warnings when instantiating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100180 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Diagnose multiple base and member initializers in class templates.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100179 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02More cleanup.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100175 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Constify.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100174 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Minor cleanup.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100173 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Resolve a layering violation by making AddTaggedVal public forChandler Carruth
PartialDiagnostic objects, and hoisting the stream operator for QualType into Type.h with the operator for the normal DiagnosticBuilder. Also remove the no longer needed friend declaration for the DeclarationName stream operator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100169 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Check in a motivating test for the revised access semantics.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100159 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Correct the calculation of access to more closely model the wording inJohn McCall
the standard. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100155 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Update analyzer build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100153 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Minor cleanup with the ternary operatorDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100144 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Relax the typesafty rules of block pointers types whichFariborz Jahanian
take'id' or return 'id' in their type. Fixes radar 7814131. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100129 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Overhaul checking of non-type template arguments that should refer toDouglas Gregor
an object or function. Our previous checking was too lax, and ended up allowing missing or extraneous address-of operators, among other evils. The new checking provides better diagnostics and adheres more closely to the standard. Fixes PR6563 and PR6749. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100125 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Driver: Add support for a CLANGXX_IS_PRODUCTION build variable, which enableDaniel Dunbar
Clang++ support, even in "Production" mode (for testing purposes). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100119 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Fix -Asserts warning, and protect against missing case.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100115 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Include *.inc in install targetKovarththanan Rajaratnam
Fixes PR6755. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100105 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Use the element type to compute the array size when the base region is a ↵Zhongxing Xu
VarRegion. Patch by Jordy Rose. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100099 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Initial support for visiting CXXMemberCallExpr.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100098 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01adjust to IRBuilder change and use faster DebugLoc apis.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100093 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Improve C++ constructor handling.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100080 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Fix typo.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100079 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01First start at wmmintrin.h file with Intel AES-NI instructions.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100077 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Fix a bug (PR 6699) in RegionStore::RemoveDeadBindings() whereTed Kremenek
array values with a non-zero offset would get prematurely pruned from the store. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100067 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-31Improve diagnostics when an elaborated-type-specifer containing aDouglas Gregor
nested-name-specifier (e.g., "class T::foo") fails to find a tag member in the scope nominated by the nested-name-specifier. Previously, we gave a bland error: 'Nested' does not name a tag member in the specified scope which didn't actually say where we were looking, which was rather horrible when the nested-name-specifier was instantiated. Now, we give something a bit better: error: no class named 'Nested' in 'NoDepBase<T>' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100060 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-31Change the representation of dependent elaborated-type-specifiersDouglas Gregor
(such as "class T::foo") from an ElaboratedType of a TypenameType to a DependentNameType, which more accurately models the underlying concept. Improve template instantiation for DependentNameType nodes that represent nested-name-specifiers, by performing tag name lookup and checking the resulting tag appropriately. Fixes PR5681. There is still much testing and cleanup to do in this area. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100054 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-31Issue better syntax error when objc's messagingFariborz Jahanian
ares are not separated by ':' (radar 7030268). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100040 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-31Extend DependentNameType with a keyword enum that specifies whetherDouglas Gregor
this was parsed as a typename-specifier, elaborated-type-specifier (including the kind), or just a dependent qualified type name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100039 91177308-0d34-0410-b5e6-96231b3b80d8