summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseInit.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* pass designators into sema. This completes parser-level designatorChris Lattner2008-10-261-10/+11
| | | | | | support as far as I know. llvm-svn: 58217
* implement some more FIXMEs, by rejecting more bogus stuff inChris Lattner2008-10-261-4/+25
| | | | | | objc mode. llvm-svn: 58216
* add some simple designator testcases. Reject things like this:Chris Lattner2008-10-261-6/+10
| | | | | | | | | | | struct foo Y[10] = { [4] .arr [2] 4 // expected-error {{expected '=' or another designator}} }; because the "missing equals" extension only is valid if there is exactly one array designator. llvm-svn: 58215
* improve comments, build array and array range designator nodes, Chris Lattner2008-10-261-7/+23
| | | | | | fix an obscure memory leak. llvm-svn: 58213
* improve comments, build a Designation for field designators andChris Lattner2008-10-261-9/+26
| | | | | | improve diagnostic for a malformed field designator. llvm-svn: 58212
* restructure ParseInitializerWithPotentialDesignator to make itChris Lattner2008-10-261-76/+75
| | | | | | easier to understand and hack on, no functionality change. llvm-svn: 58210
* improve MayBeDesignationStart to do the entire determination Chris Lattner2008-10-261-17/+12
| | | | | | about whether a leading identifier is a designator. llvm-svn: 58207
* inline the decision logic that chooses between an assign expr and braceChris Lattner2008-10-261-8/+4
| | | | | | | initializer, avoiding an extra level of calls for silly things like 'int x = 4'. llvm-svn: 58206
* This patch continues parser-level implementation of designators:Chris Lattner2008-10-261-23/+41
| | | | | | | | | | | 1. It introduces new parser level abstractions for designators that are used to communicate between parser and sema. 2. This fixes a FIXME where "identifier ':'" was considered to be a designator even if it wasn't the first in a designator list. 3. In the "identifier ':'" case, it actually builds the designator representation. llvm-svn: 58205
* minor cleanupsChris Lattner2008-10-261-3/+5
| | | | llvm-svn: 58203
* Simplify the parser a bit by looking at the next token without consuming it ↵Argyrios Kyrtzidis2008-07-091-7/+6
| | | | | | | | | (by Preprocessor::LookNext): -Remove ParseExpressionWithLeadingIdentifier and ParseAssignmentExprWithLeadingIdentifier. -Separate ParseLabeledStatement from ParseIdentifierStatement. llvm-svn: 53376
* handle the full assignment-expression grammar when using an Chris Lattner2008-06-021-5/+4
| | | | | | objc message send in an initializer expression. llvm-svn: 51882
* Two improvements to initializer parsing:Chris Lattner2008-04-201-5/+19
| | | | | | | | 1. If we hit a semantic error, try harder to recover to emit diagnostics for later initializer errors (PR2241). 2. Don't leak parsed initializers on an error. llvm-svn: 49998
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+227
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
OpenPOWER on IntegriCloud