| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 59042
|
|
|
|
| |
llvm-svn: 59027
|
|
|
|
|
|
| |
Slightly extend the class parser test.
llvm-svn: 58909
|
|
|
|
|
|
|
|
| |
were being treated as type names for non-Objective-C files.
- Other lines are just because MinimalAction didn't have access to
the LangOptions.
llvm-svn: 58498
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of copy initialization. Other pieces of the puzzle:
- Try/Perform-ImplicitConversion now handles implicit conversions
that don't involve references.
- Try/Perform-CopyInitialization uses
CheckSingleAssignmentConstraints for C. PerformCopyInitialization
is now used for all argument passing and returning values from a
function.
- Diagnose errors with declaring references and const values without
an initializer. (Uses a new Action callback, ActOnUninitializedDecl).
We do not yet have implicit conversion sequences for reference
binding, which means that we don't have any overloading support for
reference parameters yet.
llvm-svn: 58353
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
can't stick an attributes?
llvm-svn: 57795
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of whether a '(' was a grouping paren or the start of a function declarator.
This is PR2796.
Now we eat the attribute before deciding whether the paren is grouping or
not, then apply it to the resultant decl or to the first argument as needed.
One somewhat surprising aspect of this is that attributes interact with
implicit int in cases like this:
void a(x, y) // k&r style function
void b(__attribute__(()) x, y); // function with two implicit int arguments
void c(x, __attribute__(()) y); // error, can't have attr in identifier list.
Fun stuff.
llvm-svn: 57790
|
|
|
|
| |
llvm-svn: 57143
|
|
|
|
| |
llvm-svn: 57069
|
|
|
|
|
|
|
| |
up. Speculatularly hacktastic, but strangely beautiful?
Daniel, lines 20/21 are rejected, please investigate.
llvm-svn: 57067
|
|
|
|
|
|
|
| |
- Uses Action::ActOnPragmaPack
- Test case is XFAIL pending verifier fixes.
llvm-svn: 57066
|
|
|
|
| |
llvm-svn: 56642
|
|
|
|
|
|
|
| |
arbitrary expr, not just a assign expr. The grammar comment
was right, the code was just wrong.
llvm-svn: 56353
|
|
|
|
| |
llvm-svn: 56012
|
|
|
|
|
|
|
|
| |
selection-statements and iteration-statements (if/switch/while/for).
Add new 'ActOnCXXConditionDeclarationExpr' action, called when the 'condition' is a declaration instead of an expression.
llvm-svn: 56007
|
|
|
|
| |
llvm-svn: 55833
|
|
|
|
| |
llvm-svn: 55637
|
|
|
|
| |
llvm-svn: 55635
|
|
|
|
|
|
| |
Parser support for blocks is almost complete...just need to add support for the __block() storage class qualifier.
llvm-svn: 55495
|
|
|
|
|
|
| |
This commit adds the declaration syntax (and associated type).
llvm-svn: 55417
|
|
|
|
| |
llvm-svn: 55082
|
|
|
|
| |
llvm-svn: 54850
|
|
|
|
|
|
|
|
|
|
|
|
| |
interface. This fixes a bug where we used to accept:
void test2(NSNumber x) {
[x METH];
}
which doesn't make sense and GCC rejects.
llvm-svn: 53841
|
|
|
|
| |
llvm-svn: 52855
|
|
|
|
|
|
|
| |
Note that Parser::ParseCXXMemberSpecification is temporarily disabled until the Sema support is in place.
Once ParseCXXMemberSpecification is enabled, the Parser/cxx-class.cpp test will pass.
llvm-svn: 52694
|
|
|
|
|
|
|
|
| |
also modifies Sema so that Objective-C constant strings are treated as untyped objects if the interface for the constant string class can not be found. This is consistent with Apple GCC. I thought it was consistent with GNU GCC, since this was causing failures when trying to compile GNUstep with (GNU) GCC, but it appears that this is not the case when attempting to produce a simple test case to demonstrate it. Possibly there is a way of making the error go away, but I haven't found out what it is yet."
Patch by David Chisnall!
llvm-svn: 52599
|
|
|
|
|
|
| |
Otherwise, failing tests other than the last one will not be reported.
llvm-svn: 52231
|
|
|
|
|
|
| |
objc message send in an initializer expression.
llvm-svn: 51882
|
|
|
|
| |
llvm-svn: 51622
|
|
|
|
|
|
| |
happening.
llvm-svn: 51574
|
|
|
|
| |
llvm-svn: 51479
|
|
|
|
| |
llvm-svn: 51316
|
|
|
|
|
|
|
|
|
| |
extend beyond the end of the function.
I'm not completely sure this is the right way to fix this bug, so
someone familiar with the parser should double-check.
llvm-svn: 51311
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vector of the same element type and half the width, with the high, low, even,
and odd elements respectively.
Allow member references to member references, so that .hi.hi gives you the high
quarter of a vector. This is fairly convenient syntax for some insert/extract
operations.
Remove some unnecessary methods/types in the ExtVectorElementExpr class.
llvm-svn: 50892
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 49942
|
|
|
|
| |
llvm-svn: 49271
|
|
|
|
| |
llvm-svn: 49270
|
|
|
|
|
|
| |
subsuming) my patch for PR1999.
llvm-svn: 49251
|
|
|
|
|
|
|
|
| |
objc @try parser to use it, fixing a FIXME. Update the
objc-try-catch-1.m file to pass now that we get more reasonable
errors.
llvm-svn: 48129
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
theoretically useful, but not useful in practice. It adds a bunch of
complexity, and not much value. It's best to nuke it. One big advantage
is that it means the target interfaces will soon lose their SLoc arguments
and target queries can never emit diagnostics anymore (yay). Removing this
also simplifies some of the core preprocessor which should make it slightly
faster.
Ted, I didn't simplify TripleProcessor, which can now have at most one
triple, and can probably just be removed. Please poke at it when you have
time.
llvm-svn: 47930
|
|
|
|
|
|
|
|
|
| |
int foobar(int);
int foobar() {}
which requires ifdef'ing out a testcase in predefined-function.c.
llvm-svn: 47236
|
|
|
|
|
|
|
|
|
| |
completely
missing. Otherwise, it is an implicit int case, which is valid in c90 and invalid
elsewhere, but accepted as an extension.
llvm-svn: 46938
|
|
|
|
| |
llvm-svn: 46910
|
|
|
|
|
|
|
|
| |
statements/expressions.
This bug fix is the result of not having 2-token lookahead to recognize specific @-keywords.
llvm-svn: 46768
|
|
|
|
|
|
|
|
|
|
| |
Fix Sema::ActOnInstanceMessage to correctly do things in terms of canonical
types, fixing bogus errors like:
NSDistantObject.m:10383:120: error: bad receiver type 'typeof((id<NSMutableCopying>)self)'
id mess = ({ id __inv__ = ((void *)0); id __mb__ = _NSMessageBuilder((id <NSMutableCopying>)self, &__inv__); (void)[(__typeof__((id <NSMutableCopying>)self))__mb__ mutableCopyWithZone:((void *)0)]; if (!objc_collecting_enabled()) object_dispose(__mb__); __inv__; });
llvm-svn: 46633
|
|
|
|
|
|
|
| |
type specifiers. This required updating some (buggy) tests, and the
testcase was previously accidentally committed.
llvm-svn: 46603
|
|
|
|
|
|
| |
in an initializer list.
llvm-svn: 46367
|