summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclSerialization.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Preliminary support for function overloadingDouglas Gregor2008-10-211-1/+34
| | | | llvm-svn: 57909
* Simplify handling of struct/union/class tags.Argyrios Kyrtzidis2008-10-151-7/+7
| | | | | | | Instead of using two sets of Decl kinds (Struct/Union/Class and CXXStruct/CXXUnion/CXXClass), use one 'Record' and one 'CXXRecord' Decl kind and make tag kind a property of TagDecl. Cleans up the code a bit and better reflects that Decl class structure. llvm-svn: 57541
* silence some release-assert warnings.Chris Lattner2008-10-121-1/+0
| | | | llvm-svn: 57391
* - Add BlockDecl AST node.Steve Naroff2008-10-081-0/+16
| | | | | | | | | | - Modify BlockExpr to reference the BlockDecl. This is "cleanup" necessary to improve our lookup semantics for blocks (to fix <rdar://problem/6272905> clang block rewriter: parameter to function not imported into block?). Still some follow-up work to finish this (forthcoming). llvm-svn: 57298
* Remove "NextDecl" from RecordDecl. This change touches many files that ↵Ted Kremenek2008-09-051-3/+1
| | | | | | | | where RecordDecl or CXXRecordDecl was constructed, always with an argument of 'NULL' for the previous declaration. The motivation behind this change is that chaining the RecordDecls is simply unnecessary. Once we create multiple RecordDecls for the same struct/union/class, clients that care about all the declarations of the same struct can build a back map by seeing which Decls refer to the same RecordType. llvm-svn: 55821
* RecordDecl serialization:Ted Kremenek2008-09-021-7/+4
| | | | | | | - Don't serialize out the NextDeclarator field. It is unused and deprecated. - Serialize out the NextDecl pointer. llvm-svn: 55644
* -Add DeclChain member to DeclContext.Argyrios Kyrtzidis2008-06-101-16/+46
| | | | | | | -ScopedDecls get chained to their DeclContext. -DeclContext's DeclChain replaces FunctionDecl's DeclChain and EnumDecl's ElementList. llvm-svn: 52164
* Added new C++ AST Decl subclasses.Argyrios Kyrtzidis2008-06-091-1/+2
| | | | llvm-svn: 52155
* When serializing FunctionDecl, serialize out a reference to the previous ↵Ted Kremenek2008-05-201-0/+2
| | | | | | declaration. llvm-svn: 51294
* Unbreak build.Ted Kremenek2008-05-121-1/+1
| | | | llvm-svn: 50980
* Grammar cleanup in comment.Ted Kremenek2008-05-121-3/+2
| | | | | | Remove redundant assignment. llvm-svn: 50978
* When reading in the DeclCtx during deserialization, register the DeclCtx of theTed Kremenek2008-05-121-3/+4
| | | | | | | | | ScopedDecl with the backpatcher, and *not* a local variable on the stack. The value of DeclCtx gets filled in *later* by the backpatcher. This fixes: http://llvm.org/bugs/show_bug.cgi?id=2308 llvm-svn: 50976
* Parsing of namespaces:Argyrios Kyrtzidis2008-04-271-2/+28
| | | | | | | | | -NamespaceDecl for the AST -Checks for name clashes between namespaces and tag/normal declarations. This commit doesn't implement proper name lookup for namespaces. llvm-svn: 50321
* "This patch renames Chris Lattner2008-04-221-1/+1
| | | | | | | | | | | DeclContext *CtxDecl -> DeclContext *DeclCtx DeclContext *CD -> DeclContext *DC It makes the code more consistent." Patch by Zhongxing Xu! llvm-svn: 50105
* Addition of TranslationUnitDecl to the AST:Argyrios Kyrtzidis2008-04-171-0/+23
| | | | | | | | -Added TranslationUnitDecl class to serve as top declaration context -ASTContext gets a TUDecl member and a getTranslationUnitDecl() function -All ScopedDecls get the TUDecl as DeclContext when declared at global scope llvm-svn: 49855
* Remove FileVarDecl and BlockVarDecl. They are replaced by ↵Steve Naroff2008-04-151-25/+8
| | | | | | | | VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl(). This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it). llvm-svn: 49748
* Use the ASTContext allocator when creating deserialized Decl objects.Sam Bishop2008-04-111-15/+25
| | | | llvm-svn: 49530
* Add support for C++ default arguments, and rework Parse-Sema Chris Lattner2008-04-081-2/+3
| | | | | | | | interaction for function parameters, fixing PR2046. Patch by Doug Gregor! llvm-svn: 49369
* Pass the ASTContext object around when deserializing Decl and Stmt objects, soSam Bishop2008-04-071-60/+63
| | | | | | they can be created using the same allocator as in the "from source code" case. llvm-svn: 49353
* This patch contains these changes:Chris Lattner2008-04-061-3/+3
| | | | | | | | | | -Renamed ContextDecl -> DeclContext -Removed DeclContext pointer from FieldDecl -EnumDecl inherits from DeclContext, instead of TagDecl Patch by Argiris Kirtzidis! llvm-svn: 49261
* Rename ScopedDecl::getContext() -> getContextDecl(). Two motivations:Steve Naroff2008-04-041-1/+1
| | | | | | | #1: To be consistent with FieldDecl::getContextDecl(), which serves the same purpose. #2: From my perspective, getContext() is too general (and used by several other classes for different purposes). llvm-svn: 49224
* Introduce ContextDecl, patch by Argiris Kirtzidis!Chris Lattner2008-04-041-10/+14
| | | | | | | | | | | -Added ContextDecl (no TranslationUnitDecl) -ScopedDecl class has a ContextDecl member -FieldDecl class has a ContextDecl member, so that a Field or a ObjCIvar can be traced back to their RecordDecl/ObjCInterfaceDecl easily -FunctionDecl, ObjCMethodDecl, TagDecl, ObjCInterfaceDecl inherit from ContextDecl. With TagDecl as ContextDecl, enum constants have a EnumDecl as their context. -Moved Decl class to a "DeclBase.h" along with ContextDecl class -CurContext is handled by Sema llvm-svn: 49208
* switch the rest of the C decl classes to do their Chris Lattner2008-03-161-1/+1
| | | | | | allocation through ASTContext. llvm-svn: 48403
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+463
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
OpenPOWER on IntegriCloud