summaryrefslogtreecommitdiffstats
path: root/clang/tools/clang-cc/PrintParserCallbacks.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move clang-cc.h to lib/Frontend/Utils.h, and move the associated .cpp Eli Friedman2009-05-191-829/+0
| | | | | | files to lib/Frontend. llvm-svn: 72099
* Switch some utilities in clang-cc to take a stream instead of a Eli Friedman2009-05-191-113/+116
| | | | | | filename (or unconditionally using stdout). llvm-svn: 72085
* Make ActOnWhileStmt take a FullExprArg for the condition expr.Anders Carlsson2009-05-171-1/+1
| | | | llvm-svn: 71990
* Make ActOnExprStmt take a FullExprArg.Anders Carlsson2009-05-171-2/+2
| | | | llvm-svn: 71989
* Add the FullExprArg wrapper and use it for if statement conditions.Anders Carlsson2009-05-171-2/+3
| | | | llvm-svn: 71982
* Implement a FIXME, we now pass in the locations of the braces for enums.Mike Stump2009-05-161-8/+9
| | | | llvm-svn: 71930
* Rename clang.[cpp,h] to clang-cc.[cpp,h] to reflect the name change of theTed Kremenek2009-03-311-1/+1
| | | | | | low-level frontend driver. llvm-svn: 68131
* Push DeclGroup much farther throughout the compiler. Now the variousChris Lattner2009-03-291-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Introduce a new OpaquePtr<N> struct type, which is a simple POD wrapper for aChris Lattner2009-03-281-93/+96
| | | | | | | | | | | | | | | | | | | | pointer. Its purpose in life is to be a glorified void*, but which does not implicitly convert to void* or other OpaquePtr's with a different UID. Introduce Action::DeclPtrTy which is a typedef for OpaquePtr<0>. Change the entire parser/sema interface to use DeclPtrTy instead of DeclTy*. This makes the C++ compiler enforce that these aren't convertible to other opaque types. We should also convert ExprTy, StmtTy, TypeTy, AttrTy, BaseTy, etc, but I don't plan to do that in the short term. The one outstanding known problem with this patch is that we lose the bitmangling optimization where ActionResult<DeclPtrTy> doesn't know how to bitmangle the success bit into the low bit of DeclPtrTy. I will rectify this with a subsequent patch. llvm-svn: 67952
* Pass access specifiers through to member classes and member enums.Douglas Gregor2009-03-251-1/+1
| | | | llvm-svn: 67710
* Move <root>/Driver into <root>/tools/clang-cc.Daniel Dunbar2009-03-241-0/+819
Again, I tried to update cmake but it is untested. llvm-svn: 67605
OpenPOWER on IntegriCloud