summaryrefslogtreecommitdiffstats
path: root/clang/Parse
Commit message (Collapse)AuthorAgeFilesLines
...
* Rename SemaDeclSpec.{h|cpp} back to DeclSpec.{h|cpp} now that the distinctionChris Lattner2006-11-115-5/+5
| | | | | | between sema and parse is clear. llvm-svn: 39167
* remove diag helper that implicitly reports the diagnostic at the currentChris Lattner2006-11-102-3/+3
| | | | | | token: it is better for the code to be explicit. llvm-svn: 39158
* move semantic analysis of break/continue out of the parser into the sema class.Chris Lattner2006-11-101-21/+2
| | | | llvm-svn: 39157
* update commentChris Lattner2006-11-091-4/+2
| | | | llvm-svn: 39151
* Change courses on how we do semantic analysis. Semantic analysisChris Lattner2006-11-093-218/+4
| | | | | | | | 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
* rename SemaDecl.cpp/h to SemaDeclSpec.cpp/hChris Lattner2006-11-085-9/+14
| | | | llvm-svn: 39149
* rename these methods so that they read correctly.Chris Lattner2006-11-082-18/+18
| | | | llvm-svn: 39148
* split ParseStringExpr into semantic/minimal actionsChris Lattner2006-11-081-3/+9
| | | | llvm-svn: 39147
* implement trivial scope caching. This reduces malloc traffic in the commonChris Lattner2006-11-062-7/+29
| | | | | | | | | | | | | | | | | | | | | case, speeding up parsing of this contrived example: #define A {{}} #define B A A A A A A A A A A #define C B B B B B B B B B B #define D C C C C C C C C C C #define E D D D D D D D D D D #define F E E E E E E E E E E #define G F F F F F F F F F F #define H G G G G G G G G G G void foo() { H } from 7.478s to 4.321s. GCC requires 8.2s. llvm-svn: 39138
* Make Scope keep track of the kind of scope it is. Properly scope loop andChris Lattner2006-11-052-10/+72
| | | | | | | switch statements. Make break/continue check that they are inside of an appropriate control-flow construct. This implements Parser/bad-control.c. llvm-svn: 39136
* eliminate EmptyAction, merging it into MinimalAction instead.Chris Lattner2006-11-051-13/+12
| | | | llvm-svn: 39134
* start factoring actions into two flavors: minimal and semantic actions.Chris Lattner2006-11-052-5/+17
| | | | llvm-svn: 39133
* rename a bunch of files for better consistencyChris Lattner2006-11-057-11/+11
| | | | llvm-svn: 39126
* need to add scope for arguments, but now is not the right time.Chris Lattner2006-11-051-0/+8
| | | | llvm-svn: 39125
* Move objc productions to their own .cpp file.Chris Lattner2006-11-052-85/+105
| | | | llvm-svn: 39124
* improve objc commentsChris Lattner2006-11-051-7/+15
| | | | llvm-svn: 39123
* silence warningChris Lattner2006-11-041-0/+1
| | | | llvm-svn: 39115
* Add AST node, AST building, actions, and printing for 'for' stmts.Chris Lattner2006-11-042-21/+40
| | | | llvm-svn: 39113
* implement some todo's: invoke the actions module for identifiers leadingChris Lattner2006-11-041-4/+6
| | | | | | expressions in stmt contexts. llvm-svn: 39112
* replace some ugly alloca/malloc code with a couple of SmallString's.Chris Lattner2006-11-031-24/+11
| | | | llvm-svn: 39103
* improve comment, fit to 80 colsChris Lattner2006-11-031-9/+12
| | | | llvm-svn: 39101
* Emit:Chris Lattner2006-11-031-15/+21
| | | | | | | | | | test.m:2:14: error: expected ';' after @class @ class foo int x; ^ instead of silently accepting the malformed input. llvm-svn: 39100
* Fix case stmts to not fall through, rename methods, assert on unimplementedChris Lattner2006-11-031-25/+31
| | | | | | | | | | pieces, emit a diagnostic like this: test.m:4:1: error: unexpected '@' in program @ foo; ^ llvm-svn: 39099
* - Added basic structure for parsing top level Objective-C forms.Steve Naroff2006-10-274-27/+131
| | | | | | | - Extended the typedef mechanism for classes, improved performance of the common case. - Implemented @class in the parser. llvm-svn: 39074
* Remove GNU C++ min/max operator extension support, they have been removedChris Lattner2006-10-271-8/+5
| | | | | | from gcc mainline. llvm-svn: 39067
* Fix these to allow clang to be in any dir.Chris Lattner2006-10-261-1/+1
| | | | llvm-svn: 39055
* llvm has no EH by default, no need for these flags.Chris Lattner2006-10-251-1/+1
| | | | llvm-svn: 39047
* Finish removing LexerToken from actions interfaceChris Lattner2006-10-251-8/+14
| | | | llvm-svn: 39044
* Start removing LexerToken from the actions interface.Chris Lattner2006-10-252-18/+21
| | | | llvm-svn: 39043
* Compoundstmts imply a scope, track it. This implementsChris Lattner2006-10-251-0/+5
| | | | | | test/Parser/CompoundStmtScope.c llvm-svn: 39042
* remove empty fileChris Lattner2006-10-251-0/+0
| | | | llvm-svn: 39039
* accept the __extension__ prefix exprChris Lattner2006-10-201-1/+2
| | | | llvm-svn: 39018
* silence a warningChris Lattner2006-10-181-1/+1
| | | | llvm-svn: 39007
* fix test/Parser/attributes.cChris Lattner2006-10-171-1/+1
| | | | llvm-svn: 39001
* Make ConsumeFoo methods return the location of the consumed token.Chris Lattner2006-10-165-44/+23
| | | | llvm-svn: 38995
* Make ConsumeToken return the loc of the consumed token to simplify clientsChris Lattner2006-10-163-53/+28
| | | | llvm-svn: 38994
* implement action callbacks for almost all the stmts.Chris Lattner2006-10-162-93/+189
| | | | llvm-svn: 38993
* Changes through out the parser and actions/ast interface to return top-levelChris Lattner2006-10-163-24/+41
| | | | | | | | | | | | | | | | | | 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-152-2/+3
| | | | llvm-svn: 38991
* create an ast node for &&labelChris Lattner2006-10-151-5/+8
| | | | llvm-svn: 38989
* Write up TargetInfo so that use of wchar_t strings results in a warning ifChris Lattner2006-10-141-4/+12
| | | | | | used in a target set where the size is not identical. llvm-svn: 38975
* Rename LexerToken methods to be more consistent.Chris Lattner2006-10-141-1/+1
| | | | llvm-svn: 38969
* Parse ?:'s rightChris Lattner2006-10-061-2/+2
| | | | llvm-svn: 38961
* Initial support for semantic analysis and AST building for StringExpr nodes.Chris Lattner2006-10-063-21/+227
| | | | llvm-svn: 38960
* Build AST's for sizeof/alignof with type operands.Chris Lattner2006-08-241-4/+4
| | | | llvm-svn: 38951
* Build CastExpr AST nodesChris Lattner2006-08-243-25/+49
| | | | llvm-svn: 38950
* Build AST's for sizeof/alignof an expr.Chris Lattner2006-08-241-8/+23
| | | | llvm-svn: 38949
* switch MemberExpr to holding a field decl instead of a raw identifier.Chris Lattner2006-08-241-1/+0
| | | | llvm-svn: 38948
* Add initial support for simple-primary exprs, including DeclExprs.Chris Lattner2006-08-241-2/+1
| | | | llvm-svn: 38944
* Add AST nodes for array, call, . and ->.Chris Lattner2006-08-241-3/+5
| | | | llvm-svn: 38943
OpenPOWER on IntegriCloud