hanchenye-llvm-project/clang/lib/AST
Chris Lattner 5bbb3c8ad9 Push DeclGroup much farther throughout the compiler. Now the various
productions (except the already broken ObjC cases like @class X,Y;) in 
the parser that can produce more than one Decl return a DeclGroup instead
of a Decl, etc.

This allows elimination of the Decl::NextDeclarator field, and exposes
various clients that should look at all decls in a group, but which were
only looking at one (such as the dumper, printer, etc).  These have been
fixed.

Still TODO:

1) there are some FIXME's in the code about potentially using
DeclGroup for better location info.
2) ParseObjCAtDirectives should return a DeclGroup due to @class etc.
3) I'm not sure what is going on with StmtIterator.cpp, or if it can
   be radically simplified now.
4) I put a truly horrible hack in ParseTemplate.cpp.

I plan to bring up #3/4 on the mailing list, but don't plan to tackle
#1/2 in the short term.

llvm-svn: 68002
2009-03-29 16:50:03 +00:00
..
APValue.cpp Remove some now-unneeded calls to llvm::errs().flush(). 2009-03-10 18:00:19 +00:00
ASTConsumer.cpp Push DeclGroup much farther throughout the compiler. Now the various 2009-03-29 16:50:03 +00:00
ASTContext.cpp push more ASTContext goodness out through interfaces that use 2009-03-28 04:27:18 +00:00
Builtins.cpp Almost complete implementation of rvalue references. One bug, and a few unclear areas. Maybe Doug can shed some light on some of the fixmes. 2009-03-16 23:22:08 +00:00
CFG.cpp some random cleanups 2009-03-28 06:53:40 +00:00
CMakeLists.txt CMake: remove TranslationUnit.cpp from build (file has been removed). 2009-03-28 12:41:49 +00:00
Decl.cpp Predicate to detect when a RecordDecl is really the injected-class-name 2009-03-25 15:59:44 +00:00
DeclBase.cpp change another PointerIntPair into a PointerUnion. 2009-03-29 06:43:22 +00:00
DeclCXX.cpp switch TemplateOrInstantiation to be a PointerUnion, which 2009-03-29 07:03:59 +00:00
DeclGroup.cpp Push DeclGroup much farther throughout the compiler. Now the various 2009-03-29 16:50:03 +00:00
DeclObjC.cpp Fix <rdar://problem/6619539> incompatible pointer types sending 'XCElementSpacer *', expected 'XCElement *' (not handling protocol signatures correctly?). 2009-03-01 16:12:44 +00:00
DeclSerialization.cpp Push DeclGroup much farther throughout the compiler. Now the various 2009-03-29 16:50:03 +00:00
DeclTemplate.cpp Introduce a new expression type, UnresolvedDeclRefExpr, that describes 2009-03-19 17:26:29 +00:00
DeclarationName.cpp add an assertion for unreachable code. 2009-03-21 06:40:50 +00:00
Expr.cpp Make our diagnostics about the obsolete GNU designated-initializer 2009-03-28 00:41:23 +00:00
ExprCXX.cpp Revamp our representation of C++ nested-name-specifiers. We now have a 2009-03-26 23:50:42 +00:00
ExprConstant.cpp Fix PR3868 by making Evaluate handle cases like "(long)&a + 4". 2009-03-24 01:14:50 +00:00
InheritViz.cpp [LLVM up] Update for raw_fd_ostream change. This fixes a FIXME that 2008-11-13 05:09:21 +00:00
Makefile Build system changes to use TableGen to generate the various 2009-03-16 23:06:59 +00:00
NestedNameSpecifier.cpp Initial implementation of parsing, semantic analysis, and template 2009-03-27 23:10:48 +00:00
ParentMap.cpp Dead stores checker: Fix <rdar://problem/6506065> by being more selective when say that a store is dead even though the computed value is used in the enclosing expression. 2009-01-20 00:47:45 +00:00
Stmt.cpp add some spaces :) 2009-03-11 23:09:16 +00:00
StmtDumper.cpp simplify 2009-03-29 16:04:50 +00:00
StmtIterator.cpp Push DeclGroup much farther throughout the compiler. Now the various 2009-03-29 16:50:03 +00:00
StmtPrinter.cpp Revamp our representation of C++ nested-name-specifiers. We now have a 2009-03-26 23:50:42 +00:00
StmtSerialization.cpp Change compound assignment operators to keep track of both the promoted 2009-03-28 01:22:36 +00:00
StmtViz.cpp Migrate DeclStmt over to using a DeclGroup instead of a pointer to a ScopedDecl*. 2008-10-07 23:09:49 +00:00
Type.cpp Initial implementation of parsing, semantic analysis, and template 2009-03-27 23:10:48 +00:00
TypeSerialization.cpp Initial implementation of parsing, semantic analysis, and template 2009-03-27 23:10:48 +00:00