summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/Sema.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a crash that can happen when you have typedefs for pointers toChris Lattner2008-07-211-4/+5
| | | | | | | | interfaces. Just because they x->isPointerType() doesn't mean it is valid to just cast to a pointertype. We have to handle typedefs etc as well. llvm-svn: 53819
* simplify this predicate, only checking isObjCQualifiedIdType once.Chris Lattner2008-07-211-4/+9
| | | | llvm-svn: 53817
* Add Sema support for C++ classes.Argyrios Kyrtzidis2008-07-011-0/+2
| | | | llvm-svn: 52956
* Replace CurFunctionDecl and CurMethodDecl with methods getCurFunctionDecl() ↵Argyrios Kyrtzidis2008-06-281-2/+1
| | | | | | and getCurMethodDecl() that return the appropriate Decl through CurContext. llvm-svn: 52852
* add a fixme backChris Lattner2008-06-211-0/+1
| | | | llvm-svn: 52607
* "This moves built-in Objective-C types up the scope chains to where they can ↵Chris Lattner2008-06-211-51/+34
| | | | | | | | | | be replaced by versions included from the runtime library's headers." This makes it ok to use @"foo" without a declaration for NSConstantString. Patch by David Chisnall! llvm-svn: 52593
* Introduce preliminary support for NSString format-string checking.Ted Kremenek2008-06-161-0/+1
| | | | | | Patch by Nikita Zhuk! llvm-svn: 52336
* -Changes to TagDecl:Argyrios Kyrtzidis2008-06-091-3/+3
| | | | | | | | | Added TagKind enum. Added getTagKind() method. Added convenience methods: isEnum(), isStruct(), isUnion(), isClass(). -RecordDecl/CXXRecordDecl::Create() accept a TagKind enum instead of a DeclKind one. llvm-svn: 52160
* Give the "isa" slot a name!Steve Naroff2008-06-041-1/+2
| | | | llvm-svn: 51924
* Add FIXME.Eli Friedman2008-05-271-0/+1
| | | | llvm-svn: 51585
* Addition of TranslationUnitDecl to the AST:Argyrios Kyrtzidis2008-04-171-4/+7
| | | | | | | | -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
* Added PushOnScopeChains method to Sema, that adds a decl to both the ↵Argyrios Kyrtzidis2008-04-121-10/+5
| | | | | | IdResolver and the Scope. llvm-svn: 49567
* Add class and super class location info to ObjCInterfaceDecl...Steve Naroff2008-04-111-1/+2
| | | | llvm-svn: 49553
* Switch sema to maintaining its own scope chain information for variableChris Lattner2008-04-111-5/+5
| | | | | | | shadowing, instead of threading it through the AST. This patch contributed by Argiris Kirtzidis! llvm-svn: 49520
* This patch contains these changes:Chris Lattner2008-04-061-2/+1
| | | | | | | | | | -Renamed ContextDecl -> DeclContext -Removed DeclContext pointer from FieldDecl -EnumDecl inherits from DeclContext, instead of TagDecl Patch by Argiris Kirtzidis! llvm-svn: 49261
* Introduce ContextDecl, patch by Argiris Kirtzidis!Chris Lattner2008-04-041-8/+13
| | | | | | | | | | | -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
* Add create methods for ObjCIvarDecl and ObjCInterfaceDeclChris Lattner2008-03-161-2/+3
| | | | llvm-svn: 48408
* switch the rest of the C decl classes to do their Chris Lattner2008-03-161-2/+2
| | | | | | allocation through ASTContext. llvm-svn: 48403
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+222
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