| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
are updated.
llvm-svn: 84447
|
|
|
|
| |
llvm-svn: 84378
|
|
|
|
| |
llvm-svn: 81346
|
|
|
|
|
|
|
|
| |
redundant functionality. The result (ASTOwningVector) lives in
clang/Parse/Ownership.h and is used by both the parser and semantic
analysis. No intended functionality change.
llvm-svn: 72214
|
|
|
|
| |
llvm-svn: 68268
|
|
|
|
|
|
|
| |
syntax into extension warnings, and provide code-modification hints
showing how to fix the problem.
llvm-svn: 67885
|
|
|
|
|
|
| |
GNU-style array designators, causing us to emit broken initializers.
llvm-svn: 67878
|
|
|
|
|
|
|
| |
simplify the parsing and action interface for designated
initializers.
llvm-svn: 67415
|
|
|
|
|
|
|
|
| |
This shrinks OwningResult by one pointer. Since it is no longer larger than OwningPtr, merge the two.
This leads to simpler client code and speeds up my benchmark by 2.7%.
For some reason, this exposes a previously hidden bug, causing a regression in SemaCXX/condition.cpp.
llvm-svn: 63867
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Support initialization of reference members; complain if any
reference members are left uninitialized.
- Use C++ copy-initialization for initializing each element (falls
back to constraint checking in C)
- Make sure we diagnose when one tries to provide an initializer
list for a non-aggregate.
- Don't complain about empty initializers in C++ (they are permitted)
- Unrelated but necessary: don't bother trying to convert the
decl-specifier-seq to a type when we're dealing with a C++
constructor, destructor, or conversion operator; it results in
spurious warnings.
llvm-svn: 63431
|
|
|
|
|
|
| |
redundant #includes. Patch by Anders Johnsen!
llvm-svn: 63271
|
|
|
|
|
|
|
|
|
| |
.def file for each library. This means that adding a diagnostic
to sema doesn't require all the other libraries to be rebuilt.
Patch by Anders Johnsen!
llvm-svn: 63111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
designated initializers. This implementation should cover all of the
constraints in C99 6.7.8, including long, complex designations and
computing the size of incomplete array types initialized with a
designated initializer. Please see the new test-case and holler if you
find cases where this doesn't work.
There are still some wrinkles with GNU's anonymous structs and
anonymous unions (it isn't clear how these should work; we'll just
follow GCC's lead) and with designated initializers for the members of a
union. I'll tackle those very soon.
CodeGen is still nonexistent, and there's some leftover code in the
parser's representation of designators that I'll also need to clean up.
llvm-svn: 62737
|
|
|
|
| |
llvm-svn: 62537
|
|
|
|
|
|
| |
misleading (and shorter).
llvm-svn: 62466
|
|
|
|
|
|
| |
connection.
llvm-svn: 60982
|
|
|
|
| |
llvm-svn: 60906
|
|
|
|
| |
llvm-svn: 60900
|
|
|
|
|
|
| |
Hinnant. Makes for much nicer syntax when smart pointers are used consistently. Also, start converting internal argument passing of Parser to smart pointers.
llvm-svn: 60809
|
|
|
|
| |
llvm-svn: 60791
|
|
|
|
|
|
| |
variables.
llvm-svn: 60761
|
|
|
|
|
|
| |
AST nodes in the parser in most cases, even on error.
llvm-svn: 60057
|
|
|
|
|
|
| |
The core fix in Sema::ActOnClassMessage(). All the other changes have to do with passing down the SourceLocation for the receiver (to properly position the cursor when producing an error diagnostic).
llvm-svn: 59639
|
|
|
|
|
|
|
| |
the designator corresponding to it, otherwise Sema and later parsing will
get confused.
llvm-svn: 58603
|
|
|
|
|
|
| |
support as far as I know.
llvm-svn: 58217
|
|
|
|
|
|
| |
objc mode.
llvm-svn: 58216
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
fix an obscure memory leak.
llvm-svn: 58213
|
|
|
|
|
|
| |
improve diagnostic for a malformed field designator.
llvm-svn: 58212
|
|
|
|
|
|
| |
easier to understand and hack on, no functionality change.
llvm-svn: 58210
|
|
|
|
|
|
| |
about whether a leading identifier is a designator.
llvm-svn: 58207
|
|
|
|
|
|
|
| |
initializer, avoiding an extra level of calls for silly things like
'int x = 4'.
llvm-svn: 58206
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 58203
|
|
|
|
|
|
|
|
|
| |
(by Preprocessor::LookNext):
-Remove ParseExpressionWithLeadingIdentifier and ParseAssignmentExprWithLeadingIdentifier.
-Separate ParseLabeledStatement from ParseIdentifierStatement.
llvm-svn: 53376
|
|
|
|
|
|
| |
objc message send in an initializer expression.
llvm-svn: 51882
|
|
|
|
|
|
|
|
| |
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
|
|
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
|