summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Improved on performance of the algorithm for proper ordering ofFariborz Jahanian2009-07-221-44/+39
| | | | | | ctor's initialization of bases and fields. llvm-svn: 76776
* Improve template argument deduction for array types, so that a parameterDouglas Gregor2009-07-222-0/+9
| | | | | | | | | | const T can be matched with, e.g., volatile int [5] llvm-svn: 76773
* Use isa instead of dyn_cast for conditionals.Mike Stump2009-07-222-3/+3
| | | | llvm-svn: 76771
* Use DICompositeType->replaceAllUsesWith().Devang Patel2009-07-221-4/+3
| | | | | | This requires llvm rev. 76769 or higher. llvm-svn: 76770
* "This patch implements the restrictions on union members detailed inDouglas Gregor2009-07-224-31/+234
| | | | | | [class.union]p1", from John McCall! llvm-svn: 76766
* Move bug reporter "visitors" to their own file and make them part of the publicTed Kremenek2009-07-223-326/+343
| | | | | | BugReporter API. No real functionality change. llvm-svn: 76760
* Allocate BaseOrMemberInitializers and CXXBaseSpecifier nodesFariborz Jahanian2009-07-223-12/+14
| | | | | | via ASTContext. llvm-svn: 76758
* Implement parsing and semantic analysis for out-of-line definitions of staticDouglas Gregor2009-07-222-4/+36
| | | | | | | data members of class templates. We don't instantiate the definitions yet, however. llvm-svn: 76756
* Fix a couple recent ABI regressions noticed during code review (fallout from ↵Steve Naroff2009-07-222-3/+14
| | | | | | | | the ObjC type system rewrite). It's unfortunate that the mangling includes the low-level structs. Nevertheless, we need this for binary compatibility with GCC. llvm-svn: 76755
* Switch some functions from using x86 builtins to using vector Eli Friedman2009-07-222-17/+17
| | | | | | operations. llvm-svn: 76753
* Fix <rdar://problem/6770276> Support Class<Proto> syntax.Steve Naroff2009-07-224-11/+11
| | | | llvm-svn: 76741
* Make vectorized floating-point comparisons work without crashing.Eli Friedman2009-07-221-1/+1
| | | | llvm-svn: 76726
* Temporarily disable most use of region casts in RegionStoreManager,Ted Kremenek2009-07-221-8/+32
| | | | | | | | | | | | | | | | instead preferring to use the a region's actual type when creating symbols and using the QualType passed to Retrieve for implicit casting. This preprocessor logic is temporary; eventually we will either remove region casts or keep them. Temporarily toggle (via preprocessor directives) that SymbolicRegions with heap storage are not undefined, but instead should be symbolicated. If we want to model that a SymbolicRegion is uninitialized, we can explicitly model that by binding UndefinedVal to that region. It turns out that we want to treat most heap objects as being defined, not the other way around. llvm-svn: 76720
* Fix a crasher in StoreManager::InvalidateRegion() caused by using theTed Kremenek2009-07-221-0/+8
| | | | | | | | | 'cast type' of a region to invalidate its binding. This only occurs when using RegionStoreManager, as it records the cast type. I'm currently considering removing the notion of a cast type (see comments in code). llvm-svn: 76719
* Preserve address space information through member accesses, e.g., Mon P Wang2009-07-224-27/+63
| | | | | | | __attribute__((address_space(1))) struct {int arr[ 3 ]; } *p1; ... = p1->arr[2]; // load from address space 1 llvm-svn: 76717
* Remove an unneeded header.Mike Stump2009-07-221-1/+0
| | | | llvm-svn: 76716
* Minor mod. per Doug's comment.Fariborz Jahanian2009-07-221-2/+2
| | | | llvm-svn: 76708
* Complain if we're entering the context of a dependent nested-name-specifier butDouglas Gregor2009-07-221-1/+13
| | | | | | | cannot match that nested-name-specifier to a class template or class template partial specialization. llvm-svn: 76704
* Basic parsing and semantic analysis for out-of-line definitions of theDouglas Gregor2009-07-215-25/+186
| | | | | | | | | | | | | member functions of class templates, e.g., template<typename T> struct X { void f(T); }; template<typename T> X<T>::f(T) { /* ... */ } llvm-svn: 76692
* Fix long-lurking bug in ObjCSummaryCache revealed by Torok's recent memoryTed Kremenek2009-07-211-41/+38
| | | | | | | poisoning changes to DenseMap. We were using an iterator after it had been invalidated by an insertion into the DenseMap. llvm-svn: 76677
* Patch to accomodate Doug's comment on defaultFariborz Jahanian2009-07-217-31/+53
| | | | | | destruction of base/members for each destructor AST. llvm-svn: 76663
* Patch by Stefan Bühler: Escape text in macro expansion when emitting HTML ↵Ted Kremenek2009-07-211-1/+1
| | | | | | | | in the HTMLRewriter. This fixes PR 4602. llvm-svn: 76647
* Reorder files.Ted Kremenek2009-07-211-2/+2
| | | | llvm-svn: 76642
* Fix PR 4594 by refactoring almost all casting logic from GRExprEngine::VisitCastTed Kremenek2009-07-217-204/+200
| | | | | | | | | to SValuator::EvalCast. In the process, the StoreManagers now use this new cast machinery, and the hack in GRExprEngine::EvalBind to handle implicit casts involving OSAtomicCompareAndSwap and friends has been removed (and replaced with logic closer to the logic specific to those functions). llvm-svn: 76641
* driver: Print --version on stdout, to match gcc.Daniel Dunbar2009-07-211-7/+7
| | | | | | - Patch by Jean-Daniel Dupas llvm-svn: 76632
* Misc fixes for -Wreorder:Eli Friedman2009-07-211-23/+39
| | | | | | | | | 1. Make it work correctly with anonymous unions. 2. Don't compute it if the warning isn't enabled. 3. Optimize the algorithm slightly to make it linear time in the case where we don't produce any warnings. llvm-svn: 76630
* Make Sema::ActOnCXXEnterDeclaratorScope robust against failures to computeDouglas Gregor2009-07-211-3/+8
| | | | | | | the declaration context, as occurs with out-of-line class template member definitions. llvm-svn: 76622
* Update for LLVM API change.Owen Anderson2009-07-213-10/+10
| | | | llvm-svn: 76599
* Consider nested-names as part of the declarator when resolving an ambiguous ↵Argyrios Kyrtzidis2009-07-211-1/+5
| | | | | | statement. llvm-svn: 76583
* Diagnose when a destructor uses a unrelated class type as its name.Fariborz Jahanian2009-07-211-0/+10
| | | | llvm-svn: 76577
* Add the location of the tag keyword into TagDecl. From EneaDouglas Gregor2009-07-217-18/+26
| | | | | | Zaffanella, with tweaks from Abramo Bagnara. llvm-svn: 76576
* Disambiguate an if statement.Duncan Sands2009-07-211-2/+2
| | | | llvm-svn: 76547
* Remove the ASTContext parameter from Entity::getPrintableName().Argyrios Kyrtzidis2009-07-213-7/+19
| | | | llvm-svn: 76546
* Update for LLVM API change.Owen Anderson2009-07-211-3/+3
| | | | llvm-svn: 76534
* Keep only canonical Decls in Entities.Argyrios Kyrtzidis2009-07-211-0/+2
| | | | llvm-svn: 76532
* Wire up CFG improvements for __builtin_choose_expr.Mike Stump2009-07-211-2/+20
| | | | llvm-svn: 76531
* Wire up CFG improvements for do { } while () when the condition is known.Mike Stump2009-07-211-7/+26
| | | | llvm-svn: 76530
* Wire up for statement CFG improvements for conditionals that are known.Mike Stump2009-07-211-10/+31
| | | | llvm-svn: 76529
* Wire up CFG improvements for while when the condition is known.Mike Stump2009-07-211-6/+26
| | | | llvm-svn: 76522
* RegionStore:Ted Kremenek2009-07-212-13/+55
| | | | | | | | | | -refactor logic for retrieving bindings from VarDecls into RegionStoreManager::RetrieveVar() - improve RegionStoreManager::CastRetrievedVal() and SimpleSValuate::EvalCastNL to better handle casts of values of the same canonical type as well as casts of LocAsInteger values. llvm-svn: 76516
* Change the semantics for Entity.Argyrios Kyrtzidis2009-07-216-68/+169
| | | | | | | | | | Entity can now refer to declarations that are not visible outside the translation unit. It is a wrapper of a pointer union, it's either a Decl* for declarations that don't "cross" translation units, or an EntityImpl* which is associated with the specific "visible" Decl. Included is a test case for handling fields across translation units. llvm-svn: 76515
* define __STDC_VERSION__ processor token for c94Ryan Flynn2009-07-211-4/+7
| | | | llvm-svn: 76514
* Implement the virtual getNextRedeclaration() for ObjCMethodDecl.Argyrios Kyrtzidis2009-07-211-0/+24
| | | | | | | If it's in an ObjCContainerDecl, its "redeclaration" is the method definition in the corresponding ObjCImplDecl. If it's in an ObjCImplDecl, its "redeclaration" is the method in the interface. llvm-svn: 76512
* Remove the ObjCCategoryImpls vector from Sema class.Argyrios Kyrtzidis2009-07-217-68/+31
| | | | | | Use ObjCInterfaceDecl::getCategoryClassMethod() and ObjCInterfaceDecl::getCategoryInstanceMethod() for the same functionality. llvm-svn: 76510
* Remove Sema::LookupObjCImplementation and replace it with just calling ↵Argyrios Kyrtzidis2009-07-215-22/+10
| | | | | | ObjCInterfaceDecl::getImplementation(). llvm-svn: 76509
* - Introduce ASTContext::getObjCImplementation() and ↵Argyrios Kyrtzidis2009-07-213-3/+93
| | | | | | | | | | | | ASTContext::setObjCImplementation() which use a DenseMap to associate an interface/category with its implementation (if one exists). - Introduce ObjCInterfaceDecl::get/setImplementation() and ObjCCategoryDecl::get/setImplementation() that use the above methods. - Add a compiler error for when a category is reimplemented. llvm-svn: 76508
* Handle references from ObjCIvarRefExprs.Argyrios Kyrtzidis2009-07-212-4/+17
| | | | llvm-svn: 76507
* Add yet more analysis for CFGs involving conditionals that are actually ↵Mike Stump2009-07-202-26/+100
| | | | | | constant. llvm-svn: 76500
* Move EmitCtorPrologue to CGCXX. Add an assert and FIXMEs.Fariborz Jahanian2009-07-202-33/+33
| | | | llvm-svn: 76498
* Enhanced IsReinterpreted() (RegionStore.cpp) to reason about higher-orderTed Kremenek2009-07-201-13/+48
| | | | | | | | | | | | | pointers. Enhanced RegionStoreManager::Retrieve() to handle automatic casts when the loaded value is different from the requested value. This should be refined over time, but essentially we should always symbolicate locations as locations, and convert them to non-locations on demand. These changes now cause 'misc-ps.m' to pass again. llvm-svn: 76497
OpenPOWER on IntegriCloud