Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add support for parsing and pretty printing const_cast, dynamic_cast, | Chris Lattner | 2006-12-04 | 1 | -2/+6 | |
| | | | | | | reinterpret_cast, and static_cast. Patch by Bill! llvm-svn: 39247 | |||||
* | Implement a TODO: properly invoke actions for the * in things like: | Chris Lattner | 2006-11-21 | 1 | -1/+4 | |
| | | | | | | | | where P is a pointer. int A[*P]; llvm-svn: 39199 | |||||
* | fix a variable shadowing issue that caused us to misparse: | Chris Lattner | 2006-11-21 | 1 | -19/+19 | |
| | | | | | | | | | | void B() { memcpy (3, 2, 1); } where memcpy is undeclared. llvm-svn: 39198 | |||||
* | Add support for C90 implicitly defined functions, e.g.: | Chris Lattner | 2006-11-20 | 1 | -8/+16 | |
| | | | | | | | | int A() { return X(); } llvm-svn: 39194 | |||||
* | parse identifier expressions properly. This allows us diagnose this: | Chris Lattner | 2006-11-20 | 1 | -4/+9 | |
| | | | | | | | | | | | | | | | | | | | | | | | typedef int X; int A() { return X; } int B() { return Y; } as: /Users/sabre/test.c:5:10: error: unexpected type name 'X': expected expression return X; ^ /Users/sabre/test.c:9:10: error: use of undeclared 'Y' value return Y; ^ llvm-svn: 39192 | |||||
* | update comment | Chris Lattner | 2006-11-09 | 1 | -4/+2 | |
| | | | | llvm-svn: 39151 | |||||
* | Change courses on how we do semantic analysis. Semantic analysis | Chris Lattner | 2006-11-09 | 1 | -202/+1 | |
| | | | | | | | | 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 | |||||
* | split ParseStringExpr into semantic/minimal actions | Chris Lattner | 2006-11-08 | 1 | -3/+9 | |
| | | | | llvm-svn: 39147 | |||||
* | rename a bunch of files for better consistency | Chris Lattner | 2006-11-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 39126 | |||||
* | implement some todo's: invoke the actions module for identifiers leading | Chris Lattner | 2006-11-04 | 1 | -4/+6 | |
| | | | | | | expressions in stmt contexts. llvm-svn: 39112 | |||||
* | replace some ugly alloca/malloc code with a couple of SmallString's. | Chris Lattner | 2006-11-03 | 1 | -24/+11 | |
| | | | | llvm-svn: 39103 | |||||
* | Remove GNU C++ min/max operator extension support, they have been removed | Chris Lattner | 2006-10-27 | 1 | -8/+5 | |
| | | | | | | from gcc mainline. llvm-svn: 39067 | |||||
* | Finish removing LexerToken from actions interface | Chris Lattner | 2006-10-25 | 1 | -8/+14 | |
| | | | | llvm-svn: 39044 | |||||
* | Start removing LexerToken from the actions interface. | Chris Lattner | 2006-10-25 | 1 | -15/+15 | |
| | | | | llvm-svn: 39043 | |||||
* | accept the __extension__ prefix expr | Chris Lattner | 2006-10-20 | 1 | -1/+2 | |
| | | | | llvm-svn: 39018 | |||||
* | Make ConsumeFoo methods return the location of the consumed token. | Chris Lattner | 2006-10-16 | 1 | -20/+11 | |
| | | | | llvm-svn: 38995 | |||||
* | Make ConsumeToken return the loc of the consumed token to simplify clients | Chris Lattner | 2006-10-16 | 1 | -8/+5 | |
| | | | | llvm-svn: 38994 | |||||
* | create an ast node for &&label | Chris Lattner | 2006-10-15 | 1 | -5/+8 | |
| | | | | llvm-svn: 38989 | |||||
* | Write up TargetInfo so that use of wchar_t strings results in a warning if | Chris Lattner | 2006-10-14 | 1 | -4/+12 | |
| | | | | | | used in a target set where the size is not identical. llvm-svn: 38975 | |||||
* | Parse ?:'s right | Chris Lattner | 2006-10-06 | 1 | -2/+2 | |
| | | | | llvm-svn: 38961 | |||||
* | Initial support for semantic analysis and AST building for StringExpr nodes. | Chris Lattner | 2006-10-06 | 1 | -18/+223 | |
| | | | | llvm-svn: 38960 | |||||
* | Build AST's for sizeof/alignof with type operands. | Chris Lattner | 2006-08-24 | 1 | -4/+4 | |
| | | | | llvm-svn: 38951 | |||||
* | Build CastExpr AST nodes | Chris Lattner | 2006-08-24 | 1 | -14/+40 | |
| | | | | llvm-svn: 38950 | |||||
* | Build AST's for sizeof/alignof an expr. | Chris Lattner | 2006-08-24 | 1 | -8/+23 | |
| | | | | llvm-svn: 38949 | |||||
* | switch MemberExpr to holding a field decl instead of a raw identifier. | Chris Lattner | 2006-08-24 | 1 | -1/+0 | |
| | | | | llvm-svn: 38948 | |||||
* | Add initial support for simple-primary exprs, including DeclExprs. | Chris Lattner | 2006-08-24 | 1 | -2/+1 | |
| | | | | llvm-svn: 38944 | |||||
* | Add AST nodes for array, call, . and ->. | Chris Lattner | 2006-08-24 | 1 | -3/+5 | |
| | | | | llvm-svn: 38943 | |||||
* | Invoke actions for postfix exprs | Chris Lattner | 2006-08-24 | 1 | -9/+47 | |
| | | | | llvm-svn: 38942 | |||||
* | Add AST nodes and actions for paren exprs and simple unary ops. | Chris Lattner | 2006-08-23 | 1 | -3/+21 | |
| | | | | llvm-svn: 38940 | |||||
* | Add (basic) expression AST representation capabilities for ↵ | Chris Lattner | 2006-08-23 | 1 | -4/+25 | |
| | | | | | | | | | int/fp/binops/condexpr. Add callbacks for same. Add "full locinfo" mode. llvm-svn: 38939 | |||||
* | Make MatchRHSPunctuation smarter, allowing its clients to be simpler. | Chris Lattner | 2006-08-15 | 1 | -8/+6 | |
| | | | | llvm-svn: 38926 | |||||
* | Parse asm specifiers on init declarators. Add __builtin_va_list to the | Chris Lattner | 2006-08-15 | 1 | -7/+7 | |
| | | | | | | symbol table at startup time. llvm-svn: 38922 | |||||
* | Implement initializer parsering. | Chris Lattner | 2006-08-13 | 1 | -21/+30 | |
| | | | | llvm-svn: 38900 | |||||
* | Implement parsing of enum-specifiers. | Chris Lattner | 2006-08-13 | 1 | -0/+8 | |
| | | | | llvm-svn: 38896 | |||||
* | Use ExpectAndConsume more | Chris Lattner | 2006-08-12 | 1 | -8/+4 | |
| | | | | llvm-svn: 38895 | |||||
* | Add a new ExpectAndConsume method to make parsing easier, and add a new | Chris Lattner | 2006-08-12 | 1 | -31/+9 | |
| | | | | | | ConsumeAnyToken method. llvm-svn: 38894 | |||||
* | Parse the GNU builtin expressions. This implements ↵ | Chris Lattner | 2006-08-12 | 1 | -8/+139 | |
| | | | | | | Parser/expressions.c:test_offsetof llvm-svn: 38893 | |||||
* | Implement parsing of array declarators like: | Chris Lattner | 2006-08-12 | 1 | -1/+33 | |
| | | | | | | int Array[*(int*)P+A]; llvm-svn: 38890 | |||||
* | Two fixes: | Chris Lattner | 2006-08-12 | 1 | -6/+38 | |
| | | | | | | | | | | 1. Allow argument list of a call to be empty. 2. Handle expressions in a statement context that start with an identifier. These are nasty to handle due to the 'label:' production which requires having two tokens of look-ahead, or by having tricky code (which we choose to do). llvm-svn: 38887 | |||||
* | Split postfix-expression suffix handling out into ParsePostfixExpressionSuffix | Chris Lattner | 2006-08-12 | 1 | -24/+41 | |
| | | | | | | for future use. llvm-svn: 38885 | |||||
* | Implement ParseAssignmentExpression correctly | Chris Lattner | 2006-08-12 | 1 | -6/+9 | |
| | | | | llvm-svn: 38884 | |||||
* | remove bogus fixme | Chris Lattner | 2006-08-12 | 1 | -3/+1 | |
| | | | | llvm-svn: 38883 | |||||
* | Fix parsing of assignment expressions and handling of right-associative | Chris Lattner | 2006-08-12 | 1 | -5/+9 | |
| | | | | | | things. llvm-svn: 38881 | |||||
* | Simplify handling of the ternary operator even more. Now it just looks like | Chris Lattner | 2006-08-12 | 1 | -48/+30 | |
| | | | | | | any average right-associative operator to most of the code. llvm-svn: 38880 | |||||
* | Fix incorrect parsing of the ?: middle term, which is supposed to be | Chris Lattner | 2006-08-12 | 1 | -9/+13 | |
| | | | | | | parsed as 'expression'. This implements test/Parser/statements.c llvm-svn: 38879 | |||||
* | Diagnose use of compound literals in C90 code | Chris Lattner | 2006-08-12 | 1 | -1/+3 | |
| | | | | llvm-svn: 38876 | |||||
* | cleanups, better comments. | Chris Lattner | 2006-08-12 | 1 | -6/+13 | |
| | | | | llvm-svn: 38875 | |||||
* | Implement a first cut at binary expression parsing using a simple operator | Chris Lattner | 2006-08-12 | 1 | -2/+236 | |
| | | | | | | precedence-based parser. llvm-svn: 38874 | |||||
* | Return information about whether expression parsing was successful | Chris Lattner | 2006-08-11 | 1 | -80/+78 | |
| | | | | llvm-svn: 38873 | |||||
* | Merge ParsePostfixExpression into ParseCastExpression. This allows us to | Chris Lattner | 2006-08-11 | 1 | -142/+135 | |
| | | | | | | | | implement support for compound literals followed by postfix-expr suffixes, such as: (struct{ int a;}){ 1}.a llvm-svn: 38871 |