Chris Lattner
|
3af6b8b9dc
|
remove bogus fixme
llvm-svn: 38883
|
2006-08-12 17:21:27 +00:00 |
Chris Lattner
|
e66218bf49
|
Split the expression tests out of statements.c into expressions.c
llvm-svn: 38882
|
2006-08-12 17:19:28 +00:00 |
Chris Lattner
|
89d53752f5
|
Fix parsing of assignment expressions and handling of right-associative
things.
llvm-svn: 38881
|
2006-08-12 17:18:19 +00:00 |
Chris Lattner
|
96c3deb53d
|
Simplify handling of the ternary operator even more. Now it just looks like
any average right-associative operator to most of the code.
llvm-svn: 38880
|
2006-08-12 17:13:08 +00:00 |
Chris Lattner
|
d35c34f44d
|
Fix incorrect parsing of the ?: middle term, which is supposed to be
parsed as 'expression'. This implements test/Parser/statements.c
llvm-svn: 38879
|
2006-08-12 17:04:50 +00:00 |
Chris Lattner
|
eb17652f5f
|
Check that ?: parses its RHS as 'expression'.
llvm-svn: 38878
|
2006-08-12 17:04:23 +00:00 |
Chris Lattner
|
a0927cecb5
|
Improve diagnostics on cases like:
return a ? ` a;
After the expression is diagnosed, skip to the ';', so that the lack of
semicolon is not also diagnosed.
llvm-svn: 38877
|
2006-08-12 16:59:03 +00:00 |
Chris Lattner
|
6c3f05d1d2
|
Diagnose use of compound literals in C90 code
llvm-svn: 38876
|
2006-08-12 16:54:25 +00:00 |
Chris Lattner
|
b7f1fc95d3
|
cleanups, better comments.
llvm-svn: 38875
|
2006-08-12 16:45:01 +00:00 |
Chris Lattner
|
cde626ae9b
|
Implement a first cut at binary expression parsing using a simple operator
precedence-based parser.
llvm-svn: 38874
|
2006-08-12 08:13:25 +00:00 |
Chris Lattner
|
89c50c65af
|
Return information about whether expression parsing was successful
llvm-svn: 38873
|
2006-08-11 06:41:18 +00:00 |
Chris Lattner
|
5bd57e0c73
|
Significant improvements to error recovery
llvm-svn: 38872
|
2006-08-11 06:40:25 +00:00 |
Chris Lattner
|
81b576ee0d
|
Merge ParsePostfixExpression into ParseCastExpression. This allows us to
implement support for compound literals followed by postfix-expr suffixes,
such as:
(struct{ int a;}){ 1}.a
llvm-svn: 38871
|
2006-08-11 02:13:20 +00:00 |
Chris Lattner
|
3401781548
|
Add another testcase
llvm-svn: 38870
|
2006-08-11 02:12:35 +00:00 |
Chris Lattner
|
eaf06598ea
|
Merge ParseUnaryExpression and ParseCastExpression.
llvm-svn: 38869
|
2006-08-11 02:02:23 +00:00 |
Chris Lattner
|
a092cd1f1b
|
Implement parsing of casts, implementing Parser/statements.c:test6
llvm-svn: 38868
|
2006-08-11 01:38:28 +00:00 |
Chris Lattner
|
eddbcb2b12
|
Add sizeof/cast/compound_expr tests.
llvm-svn: 38867
|
2006-08-11 01:38:08 +00:00 |
Chris Lattner
|
4add4e6c12
|
Simplify paren parsing, finish parsing of sizeof expressions and other cases.
llvm-svn: 38866
|
2006-08-11 01:33:00 +00:00 |
Chris Lattner
|
f5fbd7963d
|
Implement type-name parsing, and simple compound initializer parsing.
llvm-svn: 38865
|
2006-08-10 23:56:11 +00:00 |
Chris Lattner
|
4564bc1123
|
Factor some code into the new Parser::MatchRHSPunctuation method.
llvm-svn: 38864
|
2006-08-10 23:14:52 +00:00 |
Chris Lattner
|
b33dd875fe
|
add note
llvm-svn: 38863
|
2006-08-10 23:01:28 +00:00 |
Chris Lattner
|
c2dd85ac9e
|
Implement most of unary-expression parsing.
llvm-svn: 38862
|
2006-08-10 22:57:16 +00:00 |
Chris Lattner
|
f833977a8a
|
implement postfix-expression parsing.
llvm-svn: 38861
|
2006-08-10 22:01:51 +00:00 |
Chris Lattner
|
52a99e5cee
|
Parse primary expressions, handle string concatenation
llvm-svn: 38860
|
2006-08-10 20:56:00 +00:00 |
Chris Lattner
|
36a48b10be
|
add notes
llvm-svn: 38859
|
2006-08-10 20:00:01 +00:00 |
Chris Lattner
|
c5e0d4a6ae
|
stub out some entry points for the expr parsing code.
llvm-svn: 38858
|
2006-08-10 19:06:03 +00:00 |
Chris Lattner
|
ee2cdfdd2d
|
Move files around
llvm-svn: 38857
|
2006-08-10 19:05:43 +00:00 |
Chris Lattner
|
2b18b7faa7
|
Add some notes
llvm-svn: 38856
|
2006-08-10 18:48:21 +00:00 |
Chris Lattner
|
eb8a28f7b7
|
Rename some files
llvm-svn: 38855
|
2006-08-10 18:43:39 +00:00 |
Chris Lattner
|
2f9980ef14
|
Implement Parser/statements.c:test5: parsing decls that start with identifiers
in blocks.
llvm-svn: 38854
|
2006-08-10 18:39:24 +00:00 |
Chris Lattner
|
6dfd97806e
|
Add support for simple labels.
llvm-svn: 38853
|
2006-08-10 18:31:37 +00:00 |
Chris Lattner
|
f8afb62ef9
|
Add support for parsing declarations in blocks. This implements
Parser/statements.c:test4
llvm-svn: 38852
|
2006-08-10 18:26:31 +00:00 |
Chris Lattner
|
d2685cf6bb
|
Parse case/default labeled-statements.
llvm-svn: 38851
|
2006-08-10 05:59:48 +00:00 |
Chris Lattner
|
97353f2327
|
add test3
llvm-svn: 38850
|
2006-08-10 05:59:30 +00:00 |
Chris Lattner
|
503fadc90f
|
Parse jump-statement: goto, continue, break, return.
llvm-svn: 38849
|
2006-08-10 05:45:44 +00:00 |
Chris Lattner
|
ab180365ac
|
Add a warning
llvm-svn: 38848
|
2006-08-10 05:22:36 +00:00 |
Chris Lattner
|
53361ac130
|
Refactor init-declarator-list parsing code to allow for-statements to have
initializers in them.
llvm-svn: 38847
|
2006-08-10 05:19:57 +00:00 |
Chris Lattner
|
9075bd7727
|
implement switch/while/do/for statement parsing, implementing Parser/statements.c:test2
llvm-svn: 38846
|
2006-08-10 04:59:57 +00:00 |
Chris Lattner
|
905caf37a0
|
add test2
llvm-svn: 38845
|
2006-08-10 04:59:23 +00:00 |
Chris Lattner
|
c951dae2a4
|
Parse if statements
llvm-svn: 38844
|
2006-08-10 04:23:57 +00:00 |
Chris Lattner
|
4dfe4b9da1
|
new testcase
llvm-svn: 38843
|
2006-08-09 05:47:56 +00:00 |
Chris Lattner
|
0ccd51ebe2
|
Start parsing statements and function bodies. This implements
Parser/statements.c:test1.
llvm-svn: 38842
|
2006-08-09 05:47:47 +00:00 |
Chris Lattner
|
fff824fe14
|
Simplify and fill out parsing of function bodies.
llvm-svn: 38841
|
2006-08-07 06:31:38 +00:00 |
Chris Lattner
|
2534b877b4
|
add some accessor methods.
llvm-svn: 38840
|
2006-08-07 05:50:47 +00:00 |
Chris Lattner
|
bf320c84a5
|
better comments, infrastructure for parsing function bodies.
llvm-svn: 38839
|
2006-08-07 05:05:30 +00:00 |
Chris Lattner
|
d5d0a6c2b5
|
Capture function information, provide a place to validate Declarator information.
llvm-svn: 38838
|
2006-08-07 00:58:14 +00:00 |
Chris Lattner
|
a350722189
|
comment cleanup
llvm-svn: 38837
|
2006-08-07 00:33:37 +00:00 |
Chris Lattner
|
6c7416c382
|
Start capturing pointer and array declarator info.
llvm-svn: 38836
|
2006-08-07 00:19:33 +00:00 |
Chris Lattner
|
14776b9501
|
Implement some more error recovery
llvm-svn: 38835
|
2006-08-06 22:27:40 +00:00 |
Chris Lattner
|
0ef405cdb9
|
MAke the default be to stop at ;'s
llvm-svn: 38834
|
2006-08-06 22:00:57 +00:00 |