summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate a pointer of storage in each ObjCInterfaceType andDouglas Gregor2010-02-082-34/+30
| | | | | | | ObjCObjectPointerType AST node by allocating the list of protocols after the type node itself. No functionality change. llvm-svn: 95597
* Reapply r95393, without the change to CGExpr. I was wrong in assuming that theDaniel Dunbar2010-02-083-19/+14
| | | | | | element type always matched the converted LLVM type for ExprType. llvm-svn: 95596
* Warn when cases are missing from a switch on a value of enumerationDouglas Gregor2010-02-081-1/+87
| | | | | | type (-Wswitch), from Michal! llvm-svn: 95592
* Keep track of whether a tag was defined in a declarator vs. beingDouglas Gregor2010-02-083-2/+7
| | | | | | defined by itself, from Enea Zaffanella! llvm-svn: 95586
* Emit global references with constant initializers as constants. Fixes PR5585.John McCall2010-02-081-1/+1
| | | | | | | The standard actually says that such references should have internal linkage, but gcc doesn't do that, so we probably can't get away with it. llvm-svn: 95577
* Merge block/function pointer types with objc's __weakFariborz Jahanian2010-02-081-3/+16
| | | | | | | | | attribute properly and avoid bogus warning. This is an objective-c fix only. objective-c++ follows different code pass and requires separate fix (which will come at a later time). Fixes radar 7214820. llvm-svn: 95571
* Implement basic importing and merging of variable declarations withinDouglas Gregor2010-02-081-1/+133
| | | | | | | the AST importer. This doesn't actually do anything (yet), because we don't have driver logic for merging ASTs. llvm-svn: 95570
* Fix -Asserts warning.Daniel Dunbar2010-02-081-1/+3
| | | | llvm-svn: 95563
* Simplify another switch/strcmp construct. No functionality/performance change.Benjamin Kramer2010-02-081-55/+16
| | | | llvm-svn: 95561
* When placing an annotation token over an existing annotation token, make ↵Sebastian Redl2010-02-083-3/+4
| | | | | | sure that the new token's range extends to the end of the old token. Assert that in AnnotateCachedTokens. Fixes PR6248. llvm-svn: 95555
* Fix the crash-on-invalid from PR6259.John McCall2010-02-081-1/+7
| | | | llvm-svn: 95554
* Ensure that a operator delete overload is rocognized regardless of cv-quals.Chandler Carruth2010-02-081-1/+2
| | | | llvm-svn: 95553
* Reapply r95546, no intended change in performance or functionality.Benjamin Kramer2010-02-082-150/+75
| | | | llvm-svn: 95552
* Revert 95546 since it changed the algorithmic characteristics of the ↵Ted Kremenek2010-02-082-74/+151
| | | | | | convention lookup. llvm-svn: 95547
* Simplify code with StringRef.Benjamin Kramer2010-02-082-151/+74
| | | | | | 3 files changed, 76 insertions(+), 153 deletions(-) llvm-svn: 95546
* Revert 95541.Ted Kremenek2010-02-0828-128/+123
| | | | llvm-svn: 95545
* Cache imported typesDouglas Gregor2010-02-081-1/+9
| | | | llvm-svn: 95543
* Rename: GRState::getSVal(Stmt*) => getExprVal(),Zhongxing Xu2010-02-0828-123/+128
| | | | | | GRState::getSVal(MemRegion*) => Load(). llvm-svn: 95541
* BindInternal is redundant. Remove it.Zhongxing Xu2010-02-081-14/+9
| | | | llvm-svn: 95540
* Like for symbolic region, automatically create a element zero region for Zhongxing Xu2010-02-081-15/+5
| | | | | | alloca region. llvm-svn: 95539
* Unify the implementation of getLValueElement of store managers.Zhongxing Xu2010-02-084-118/+55
| | | | | | | It's more sophisticated than the original one of BasicStore. But it does matter. llvm-svn: 95536
* Unify the implementation of getLValueIvar and getLValueField of store managers.Zhongxing Xu2010-02-084-122/+36
| | | | llvm-svn: 95535
* Move common methods to the base StoreManager class.Zhongxing Xu2010-02-083-57/+0
| | | | llvm-svn: 95534
* This doesn't seem to be used code as it didn't break any tests, but fix theChandler Carruth2010-02-081-1/+1
| | | | | | glaring logic bug anyways. =D llvm-svn: 95533
* ASTContext is now a reference member of StoreManager.Zhongxing Xu2010-02-082-3/+3
| | | | llvm-svn: 95531
* Add support for binding and retrieving VarRegions in flat store.Zhongxing Xu2010-02-081-12/+61
| | | | llvm-svn: 95529
* Require a complete type before examining base classes during template argumentChandler Carruth2010-02-071-72/+80
| | | | | | | | | | deduction. This requires refactoring the deduction to have access to the Sema object instead of merely the ASTContext. Still leaves something to be desired due to poor source location. Fixes PR6257 and half of PR6259. llvm-svn: 95528
* Make sure to set vtable pointers in the destructors as well.Anders Carlsson2010-02-073-1/+4
| | | | llvm-svn: 95525
* Use the right type when taking the address of a non-virtual member function ↵Anders Carlsson2010-02-072-3/+11
| | | | | | pointer. Fixes PR6258. llvm-svn: 95524
* Workaround for friend template instantiation crash in PR5848, from Keir Mierle!Douglas Gregor2010-02-071-3/+11
| | | | llvm-svn: 95517
* Fix assertion failure when parsing linkage specifications (PR5921),Douglas Gregor2010-02-072-1/+2
| | | | | | from Keir Mierle! llvm-svn: 95516
* Roll r95513 back in.Sam Weinig2010-02-073-0/+45
| | | | llvm-svn: 95515
* Roll out r95513, it seems to have broken self hosting.Sam Weinig2010-02-073-45/+0
| | | | llvm-svn: 95514
* Add PCH support for CXXBoolLiteralExpr and CXXNullPtrLiteralExpr.Sam Weinig2010-02-073-0/+45
| | | | llvm-svn: 95513
* Use the right linkage for static variables inside C++ inline functions.Anders Carlsson2010-02-072-7/+21
| | | | llvm-svn: 95512
* Improved handling of the visibility attribute. Declarations now inherit ↵Anders Carlsson2010-02-071-0/+4
| | | | | | | | their parent's visibility. (This is kind of a risky change, but I did a self-host build and everything appears to work fine!) llvm-svn: 95511
* Add attributes to namespace decls.Anders Carlsson2010-02-074-5/+10
| | | | llvm-svn: 95510
* Make EmitStartEHSpec and EmitEndEHSpec return early when exceptions are ↵Anders Carlsson2010-02-061-0/+6
| | | | | | disabled. llvm-svn: 95509
* Add support for threadsafe statics, and make them the default (matching gcc).Anders Carlsson2010-02-064-26/+96
| | | | | | Daniel, I'd appreciate a review of the driver/cc1 parts. llvm-svn: 95508
* Call destructors for constructed bases as well.Anders Carlsson2010-02-061-0/+13
| | | | llvm-svn: 95502
* If a constructor throws an exception we need to execute the destructors for ↵Anders Carlsson2010-02-061-0/+19
| | | | | | all fully constructed members. Fixes ctor_dtor_count.cpp in the test suite. llvm-svn: 95501
* Use a substituted type when determining how to substitute in non-type templateJohn McCall2010-02-061-35/+32
| | | | | | | | | | | params. Don't insert addrof operations when matching against a pointer; array/function conversions should take care of this for us, assuming the argument type-checked in the first place. Add a fixme where we seem to be using a less-restrictive reference type than we should. Fixes PR 6249. llvm-svn: 95495
* Silence GCC warning and stay in 80 cols.Benjamin Kramer2010-02-061-4/+5
| | | | llvm-svn: 95494
* Extract a function to instantiate references to value template parameters.John McCall2010-02-061-109/+116
| | | | llvm-svn: 95491
* Don't diagnose missing noreturns for uninstantiated templates. Fixes PR6247.Anders Carlsson2010-02-061-3/+4
| | | | llvm-svn: 95487
* Switch CodeGen's "is this variable declaration a definition?" logicDouglas Gregor2010-02-061-14/+1
| | | | | | | | | over to VarDecl::isThisDeclarationADefinition(), which handles variables declared with linkage specifications better (among other things). CMake 2.9 (from CVS) now builds with clang++ and is somewhat functional. llvm-svn: 95486
* Only append 'L' for internal variable declarations, not all declarations. ↵Anders Carlsson2010-02-061-3/+4
| | | | | | (Found by the mangle checker, yay) llvm-svn: 95485
* Also teach RegionStore::RetrieveVar() to handle 'static' pointers that are ↵Ted Kremenek2010-02-061-1/+3
| | | | | | implicitly initialized to NULL. llvm-svn: 95479
* Fix regression in RegionStore (from BasicStore) where static variables were ↵Ted Kremenek2010-02-061-3/+15
| | | | | | not treated as being implicitly initialized to 0 (and instead were getting symbolicated). llvm-svn: 95478
* Remove unused variable.Ted Kremenek2010-02-061-1/+0
| | | | llvm-svn: 95476
OpenPOWER on IntegriCloud