summaryrefslogtreecommitdiffstats
path: root/clang/Sema
Commit message (Collapse)AuthorAgeFilesLines
...
* build TypedefDecl objects when parsing typedefs.Chris Lattner2006-11-193-22/+45
| | | | | | Add a parsing fastpath for when we see typedef at the top-level. llvm-svn: 39182
* Parse and remember types enough that we can pretty print:Chris Lattner2006-11-193-1/+12
| | | | | | | | | | | | | | void foo(int X) { X = __alignof(int); X = sizeof(const int** restrict ** volatile*); } as: x = __alignof(int) x = sizeof(int const **restrict **volatile *) llvm-svn: 39181
* rearrange the type printing code so that we can do the horrible C "inside out"Chris Lattner2006-11-131-2/+3
| | | | | | | | | thing properly. This allows us to print types like: int (*A)[restrict static 4][6]; properly, in addition to representing them properly. :) llvm-svn: 39178
* Implement parsing, printing and AST'ing of array types (except for the bounds).Chris Lattner2006-11-121-1/+13
| | | | | | | | | | This allows us to handle: int (*A)[restrict static 4][6]; for example. llvm-svn: 39176
* Build ASTs for the pointer qualifiers on declarators. This allows us toChris Lattner2006-11-122-58/+17
| | | | | | | | | | parse (and print) things like: int* const* restrict* const volatile*** etc. llvm-svn: 39173
* We can now parse and remember the distinction between:Chris Lattner2006-11-121-2/+2
| | | | | | | | 'unsigned char' and 'unsigned char const'. -Chris llvm-svn: 39172
* implement conversion of simple declspec base types, and implement TypeRef::dumpChris Lattner2006-11-112-1/+70
| | | | llvm-svn: 39170
* restructure code to build the framework for creating types from declarators.Chris Lattner2006-11-113-1/+97
| | | | llvm-svn: 39166
* Let ASTContext hold target info, since it's usefulChris Lattner2006-11-101-2/+1
| | | | llvm-svn: 39162
* introduce a new ASTContext class to hold long-lived ast nodes.Chris Lattner2006-11-105-26/+25
| | | | llvm-svn: 39161
* move the rest of the expr sema to SemaExpr.cpp and the decl processing stuffChris Lattner2006-11-104-235/+233
| | | | | | to SemaDecl.cpp llvm-svn: 39159
* move semantic analysis of break/continue out of the parser into the sema class.Chris Lattner2006-11-103-4/+36
| | | | llvm-svn: 39157
* move semantic analysis of statements to it's own file.Chris Lattner2006-11-102-91/+106
| | | | llvm-svn: 39156
* split semantic analysis of expressions out to its own fileChris Lattner2006-11-102-220/+239
| | | | llvm-svn: 39155
* move ASTBuilder.h/cpp to be a private Sema.h/cpp files, not part of theChris Lattner2006-11-102-5/+5
| | | | | | interface exported by libast. llvm-svn: 39154
* rename ASTBuilder to SemaChris Lattner2006-11-093-71/+63
| | | | llvm-svn: 39153
* Change courses on how we do semantic analysis. Semantic analysisChris Lattner2006-11-093-13/+241
| | | | | | | | fundamentally requires having an AST around, so move all sema to the AST library. This is the first step, later steps will be needed to clean up libast. llvm-svn: 39150
* start factoring actions into two flavors: minimal and semantic actions.Chris Lattner2006-11-051-1/+1
| | | | llvm-svn: 39133
* build ast nodes and print goto/goto*/break/continue.Chris Lattner2006-11-052-7/+38
| | | | llvm-svn: 39121
* Add ast node support for case/default/label stmts.Chris Lattner2006-11-052-1/+26
| | | | llvm-svn: 39120
* implement AST node for switch stmtChris Lattner2006-11-042-1/+7
| | | | llvm-svn: 39119
* implement ast nodes for while and do loopsChris Lattner2006-11-042-0/+16
| | | | llvm-svn: 39116
* Add AST node, AST building, actions, and printing for 'for' stmts.Chris Lattner2006-11-042-0/+12
| | | | llvm-svn: 39113
* remove full locinfo AST nodes for now. They just clutter the implementationChris Lattner2006-11-043-65/+21
| | | | | | and should be implemented with an ASTBuilder subclass anyway. llvm-svn: 39107
* Export the ASTBuilder class from the AST module.Chris Lattner2006-11-033-117/+134
| | | | llvm-svn: 39095
* Fix building after the pure virtual function name changed.Chris Lattner2006-10-281-2/+2
| | | | llvm-svn: 39075
* add ast node for ifstmtChris Lattner2006-10-251-0/+10
| | | | llvm-svn: 39051
* Handle __extension__ as a unary operator if requested.Chris Lattner2006-10-251-0/+4
| | | | llvm-svn: 39050
* only add to LastInGroupList if at the top-level.Chris Lattner2006-10-251-1/+4
| | | | llvm-svn: 39049
* Make the driver print function bodies at -parse-print-astChris Lattner2006-10-251-1/+1
| | | | llvm-svn: 39048
* Make AST nodes for ReturnStmt's and CompoundStmtsChris Lattner2006-10-251-0/+35
| | | | llvm-svn: 39046
* Add new Stmt classChris Lattner2006-10-251-2/+2
| | | | llvm-svn: 39045
* Finish removing LexerToken from actions interfaceChris Lattner2006-10-251-24/+25
| | | | llvm-svn: 39044
* Start removing LexerToken from the actions interface.Chris Lattner2006-10-251-4/+6
| | | | llvm-svn: 39043
* Remove temporary codeChris Lattner2006-10-171-2/+0
| | | | llvm-svn: 38999
* implement action callbacks for almost all the stmts.Chris Lattner2006-10-161-1/+3
| | | | llvm-svn: 38993
* Changes through out the parser and actions/ast interface to return top-levelChris Lattner2006-10-162-17/+63
| | | | | | | | | | | | | | | | | | declarations through the asm streamer. For a testcase like: int G; int H, I, *J; int func() {} 'clang -parse-print-ast' prints: Read top-level decl: G Read top-level decl: H Read top-level decl: I Read top-level decl: J Read top-level decl: func llvm-svn: 38992
* start creating proper ast nodes for variables and functionsChris Lattner2006-10-151-4/+9
| | | | llvm-svn: 38991
* don't abortChris Lattner2006-10-061-2/+2
| | | | llvm-svn: 38965
* Initial support for semantic analysis and AST building for StringExpr nodes.Chris Lattner2006-10-062-6/+34
| | | | llvm-svn: 38960
* Build AST's for sizeof/alignof with type operands.Chris Lattner2006-08-241-0/+17
| | | | llvm-svn: 38951
* Build CastExpr AST nodesChris Lattner2006-08-241-0/+12
| | | | llvm-svn: 38950
* Build AST's for sizeof/alignof an expr.Chris Lattner2006-08-241-10/+12
| | | | llvm-svn: 38949
* switch MemberExpr to holding a field decl instead of a raw identifier.Chris Lattner2006-08-241-2/+4
| | | | llvm-svn: 38948
* Allow expression actions to failChris Lattner2006-08-241-40/+40
| | | | llvm-svn: 38947
* Add initial support for simple-primary exprs, including DeclExprs.Chris Lattner2006-08-241-0/+20
| | | | llvm-svn: 38944
* Add AST nodes for array, call, . and ->.Chris Lattner2006-08-241-0/+51
| | | | llvm-svn: 38943
* Add AST nodes and actions for paren exprs and simple unary ops.Chris Lattner2006-08-231-1/+57
| | | | llvm-svn: 38940
* Add (basic) expression AST representation capabilities for ↵Chris Lattner2006-08-232-8/+97
| | | | | | | | | int/fp/binops/condexpr. Add callbacks for same. Add "full locinfo" mode. llvm-svn: 38939
* Implement first cut of ASTBuilder class.Chris Lattner2006-08-182-5/+77
| | | | llvm-svn: 38938
OpenPOWER on IntegriCloud