summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Assert that the LLVM type has the same size as the RecordDecl size.Anders Carlsson2009-08-081-0/+3
| | | | llvm-svn: 78481
* getFunctionLevelDeclContext needs to get the previous DeclContext if ↵Anders Carlsson2009-08-081-1/+2
| | | | | | EnterDeclaratorContext has been called. Fixes PR4694. (Doug, please review) llvm-svn: 78480
* Factor some code to get the "function level" DeclContext out into a separate ↵Anders Carlsson2009-08-082-9/+12
| | | | | | function. llvm-svn: 78478
* Make sure to diagnose use of declarations in the case where we create an ↵Anders Carlsson2009-08-081-0/+2
| | | | | | implicit CXXThisExpr. llvm-svn: 78474
* Patch should implement packed enums - PR4098. Credit to Anders Johnsen.Edward O'Callaghan2009-08-085-13/+43
| | | | llvm-svn: 78471
* Get rid of Stmt::Clone now that we can reference count statements instead.Anders Carlsson2009-08-086-95/+5
| | | | llvm-svn: 78452
* Introduce reference counting for statements and expressions, using itDouglas Gregor2009-08-085-25/+37
| | | | | | | to allow sharing of nodes. Simplifies some aspects of template instantiation, and fixes both PR3444 and <rdar://problem/6757457>. llvm-svn: 78450
* Remove use of uninitized variable.Fariborz Jahanian2009-08-082-6/+3
| | | | llvm-svn: 78448
* Synthesize copying of non-static data members withFariborz Jahanian2009-08-081-12/+32
| | | | | | non-trivial copy constructors. llvm-svn: 78445
* Synthesized copy constructor now generates code forFariborz Jahanian2009-08-073-18/+55
| | | | | | | copying non-virtual base classes which have non-trivial constructor. Work in progress. llvm-svn: 78436
* Add a CK_ArrayToPointerDecay cast kind.Anders Carlsson2009-08-072-1/+3
| | | | llvm-svn: 78434
* Add CK_ToUnion and use it for aggregate expression codegen.Anders Carlsson2009-08-072-9/+10
| | | | llvm-svn: 78429
* More CastKind work.Anders Carlsson2009-08-075-25/+30
| | | | llvm-svn: 78415
* Just add global scope to the associated namespaces set instead of tracking itJohn McCall2009-08-072-77/+67
| | | | | | | separately. Add the framework (currently unfed) for finding friend declarations during argument-dependent lookup. llvm-svn: 78414
* Add vbase offsets to the vtable. Wow, having an rbegin was soMike Stump2009-08-071-0/+12
| | | | | | fortuitous. WIP. llvm-svn: 78413
* Fix: <rdar://problem/7075531> static analyzer wrongly detects unused ivars ↵Ted Kremenek2009-08-071-2/+8
| | | | | | used in blocks llvm-svn: 78409
* Constify some pointers. No functionality change.Ted Kremenek2009-08-071-15/+16
| | | | llvm-svn: 78407
* More synthesis of copy constructors. Work in progress.Fariborz Jahanian2009-08-075-4/+94
| | | | llvm-svn: 78402
* Fix typo.Mike Stump2009-08-071-1/+1
| | | | llvm-svn: 78401
* Add ability to generate vcall offsets for primary virtual base.Mike Stump2009-08-073-9/+16
| | | | llvm-svn: 78396
* Use the correct cast kind as suggested by Doug.Anders Carlsson2009-08-071-1/+2
| | | | llvm-svn: 78395
* Fix some const_cast issues. This is the beginning of the rabbit hole.Mike Stump2009-08-074-18/+12
| | | | llvm-svn: 78393
* PR3333: warn when shifting by invalid amountRyan Flynn2009-08-071-0/+23
| | | | llvm-svn: 78385
* Separate Stmt::Destroy into the entrypoint for destroying a statementDouglas Gregor2009-08-073-32/+18
| | | | | | | or expression (Destroy) from the virtual function used to actually destroy a given expression (DoDestroy). llvm-svn: 78375
* add support for opensuse 11.1/11.2 search paths, patch by Stefan ReinauerChris Lattner2009-08-071-0/+16
| | | | | | and Carl-Daniel Hailfinger! llvm-svn: 78368
* Add support for vcall generation for vtables for virtual bases. WIP.Mike Stump2009-08-062-5/+26
| | | | llvm-svn: 78357
* Patch toward synthesizing copy constructors.Fariborz Jahanian2009-08-062-8/+21
| | | | | | Work in progress. llvm-svn: 78355
* Fix a few more false positives involving RegionStore and unions, but this timeTed Kremenek2009-08-061-85/+55
| | | | | | | with array accesses. In the process, refactor some common logic in RetrieveElement() and RetrieveField() into RetrieveFieldOrElementCommon(). llvm-svn: 78349
* Minor refactoring to introduce a new transformation function,Douglas Gregor2009-08-061-1/+18
| | | | | | TransformStmt, into the tree transformer. llvm-svn: 78347
* Also generate the rtti field for virtual bases for vtables. Turn onMike Stump2009-08-062-30/+44
| | | | | | | rtti so we can properly test it. Refactor code a little. Still a work in progress. llvm-svn: 78343
* Fix a couple false positive "uninitialized value" warnings with RegionStoreTed Kremenek2009-08-061-1/+22
| | | | | | involving reasoning about unions (which we don't handle yet). llvm-svn: 78342
* Drop the friend-inner-class diagnostic from an extwarn to an ext and don'tJohn McCall2009-08-061-2/+2
| | | | | | guard its report on GNUMode. llvm-svn: 78338
* Permit a class to friend its members in C++0x, without restriction.John McCall2009-08-061-7/+18
| | | | | | | Permit a class to friend its class members in C++ 98, as long as extensions are enabled (and even when they aren't, only give an extwarn about it). llvm-svn: 78332
* Set and use Elidable in elimination of copy ctors.Fariborz Jahanian2009-08-063-13/+10
| | | | llvm-svn: 78331
* Layout the primary base first in the vtable.Mike Stump2009-08-061-21/+14
| | | | llvm-svn: 78327
* After reporting ill-formed copy constructor(12.8.p3)Fariborz Jahanian2009-08-061-1/+2
| | | | | | don't recurs and crash. llvm-svn: 78323
* When we encounter a dependent type that was parsed before we know thatDouglas Gregor2009-08-064-1/+147
| | | | | | | | | | | | | | | | | | | | | | we were going to enter into the scope of a class template or class template partial specialization, rebuild that type so that it can refer to members of the current instantiation, as in code like template<typename T> struct X { typedef T* pointer; pointer data(); }; template<typename T> typename X<T>::pointer X<T>::data() { ... } Without rebuilding the return type of this out-of-line definition, the canonical return type of the out-of-line definition (a TypenameType) will not match the canonical return type of the declaration (the canonical type of T*). llvm-svn: 78316
* More layout for virtual tables for virtual bases. Still in progress.Mike Stump2009-08-062-9/+28
| | | | llvm-svn: 78314
* Layout virtual bases. Work in progress.Mike Stump2009-08-063-8/+27
| | | | llvm-svn: 78308
* I have a dream, one day, we won't need to do this.Mike Stump2009-08-061-0/+1
| | | | llvm-svn: 78305
* Fix spell-o.Mike Stump2009-08-061-1/+1
| | | | llvm-svn: 78303
* Last step of template cleanup: merge *BuilderImpl to *Builder.Zhongxing Xu2009-08-066-267/+260
| | | | | | Some Builders need further cleanup. llvm-svn: 78301
* Core analysis engine template cleanup step 2:Zhongxing Xu2009-08-061-15/+41
| | | | | | | | | merge GRCoreEngineImpl and GRCoreEngine. Introduce a new interface class GRSubEngine as the subengine of GRCoreEngine. GRExprEngine subclasses GRSubEngine now. llvm-svn: 78298
* Implement transformation of template names within the generic treeDouglas Gregor2009-08-062-71/+180
| | | | | | | | | | | | | | | transform, then use the result for template instantiation. The generic transformation fixes a few issues: - It copes better with template template parameters and member templates (when they're implemented). - The logic used to replace template template parameters with their arguments is now centralized in TransformDecl, so that it will apply for other declaration-instantiation steps. - The error-recovery strategy is normalized now, so that any error results in a NULL TemplateName. llvm-svn: 78292
* Core analysis engine template cleanup step 2: Zhongxing Xu2009-08-063-43/+81
| | | | | | merge ExplodedGraphImpl and ExplodedGraph. llvm-svn: 78291
* Implement transformation of nested-name-specifiers within the generalDouglas Gregor2009-08-063-69/+139
| | | | | | | tree transformation. Template instantiation uses this general transformation rather than implementing its own transformation. llvm-svn: 78286
* Fix typo reported in <rdar://problem/7121409>.Ted Kremenek2009-08-061-1/+1
| | | | llvm-svn: 78285
* Refactor RegionStoreManager::RemoveDeadBindings to also scan the bindings of ↵Ted Kremenek2009-08-061-93/+154
| | | | | | LazyCompoundSVals. llvm-svn: 78284
* Predefine __cplusplus to the right value (199711L), except when in GNU mode.Douglas Gregor2009-08-061-1/+7
| | | | llvm-svn: 78283
* Remove unimplemented methods 'AddRegionView' and 'RemoveRegionView'. They ↵Ted Kremenek2009-08-061-10/+0
| | | | | | are no longer needed. llvm-svn: 78280
OpenPOWER on IntegriCloud