| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 43915
|
|
|
|
| |
llvm-svn: 43898
|
|
|
|
| |
llvm-svn: 43802
|
|
|
|
| |
llvm-svn: 43778
|
|
|
|
| |
llvm-svn: 43665
|
|
|
|
| |
llvm-svn: 43649
|
|
|
|
| |
llvm-svn: 43640
|
|
|
|
| |
llvm-svn: 43629
|
|
|
|
| |
llvm-svn: 43628
|
|
|
|
| |
llvm-svn: 43623
|
|
|
|
|
|
| |
2) Fixed a test failure (which should have failed all along!).
llvm-svn: 43589
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- For @class, don't generate multiple typedefs.
- Handle the following edge case interface...
@interface NSMiddleSpecifier : NSObject {}
@end
...which was incorrectly being rewritten to...
struct _interface_NSMiddleSpecifier {
struct _interface_NSObject _NSObject;
};
{}
llvm-svn: 43582
|
|
|
|
| |
llvm-svn: 43580
|
|
|
|
|
|
| |
This fixes the recent regression with selector-1.m and -parse-noop.
llvm-svn: 43575
|
|
|
|
|
|
|
|
|
|
|
|
| |
long standing FIXME in Sema::GetObjcIdType()).
This removes several gross hacks to work around the previous "lazy" behavior.
Two notes:
- MinimalActions still needs to be taught about the built-in types (This breaks one of the -noop test cases). I started this, then added a FIXME.
- I didn't convert Sema::GetObjcProtoType() yet.
llvm-svn: 43567
|
|
|
|
|
|
| |
- Rewrite categories.
llvm-svn: 43501
|
|
|
|
|
|
| |
rewritten properly).
llvm-svn: 43494
|
|
|
|
| |
llvm-svn: 43493
|
|
|
|
| |
llvm-svn: 43476
|
|
|
|
|
|
| |
SourceLocation's for interfaces/protocols/categories/implementations.
llvm-svn: 43475
|
|
|
|
|
|
|
|
| |
if statements. This implements Sema/if-empty-body.c:f3, silencing
a bogus secondary warning. It also improve the location info for
the nullstmts created for recovery purposes.
llvm-svn: 43440
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
eat the terminating ;. Fix one place where it did, allowing this
to compile without error:
struct x {
int a;
union {
int b;
float c;
};
int d;
};
This reduces diagnostics on PR1750 from 33 to 27.
llvm-svn: 43437
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to parse stuff like:
asm volatile("1: rex64/fxrstor (%[fx])\n\t"
"2:\n"
".section .fixup,\"ax\"\n"
"3: movl $-1,%[err]\n"
" jmp 2b\n"
".previous\n"
".section __ex_table,\"a\"\n"
" .align 8\n"
" .quad 1b,3b\n"
".previous"
: [err] "=r" (err)
: [fx] "cdaSDb" (fx), "m" (*fx), "0" (0));
This reduces # diagnostics on PR1750 from 49 to 37.
llvm-svn: 43434
|
|
|
|
|
|
|
| |
resolving a crash on a .i file in PR1750. We now generate 49 errors on the
.i file in that bug.
llvm-svn: 43433
|
|
|
|
|
|
| |
This involved refining how the parser/AST passes/manages SourceLocations for ObjcMethodDecl's.
llvm-svn: 43404
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
method.c:4:3: error: use of undeclared identifier 'BADIDENT'
&BADIDENT, 0
^
method.c:5:2: error: expected '}'
};
^
method.c:3:14: error: to match this '{'
struct S A = {
^
now we only produce:
method.c:4:3: error: use of undeclared identifier 'BADIDENT'
&BADIDENT, 0
^
llvm-svn: 43349
|
|
|
|
| |
llvm-svn: 43178
|
|
|
|
| |
llvm-svn: 43075
|
|
|
|
| |
llvm-svn: 43051
|
|
|
|
|
|
| |
@selector probably gets this wrong also.
llvm-svn: 43048
|
|
|
|
| |
llvm-svn: 43039
|
|
|
|
| |
llvm-svn: 43038
|
|
|
|
| |
llvm-svn: 43022
|
|
|
|
|
|
|
|
|
|
| |
ParsePostfixExpressionSuffix().
Now were correctly allow the following...
i = [str rangeOfString:@"]"].length;
llvm-svn: 43012
|
|
|
|
| |
llvm-svn: 43006
|
|
|
|
|
|
|
|
|
|
|
| |
Sema::AddInstanceMethodToGlobalPool and DenseMaps. This will allow us to efficiently lookup a method from a selector given no type information (for the "id" data type).
- Fixed some funky "}
else {" indentation in Sema::ActOnAddMethodsToObjcDecl(). I'd prefer we stay away from this style...it wastes space and isn't any easier to read (from my perspective, at least:-)
- Changed Parser::ParseObjCInterfaceDeclList() to only call Action::ActOnAddMethodsToObjcDecl() when it actually has methods to add (since most interface have methods, this is a very minor cleanup).
llvm-svn: 42957
|
|
|
|
| |
llvm-svn: 42883
|
|
|
|
|
|
|
| |
an identifier statement. Fixed up pretty priting to print this type
correctly.
llvm-svn: 42866
|
|
|
|
| |
llvm-svn: 42856
|
|
|
|
|
|
| |
place and making it correctly parameterized on the target.
llvm-svn: 42830
|
|
|
|
| |
llvm-svn: 42829
|
|
|
|
|
|
|
|
| |
use TUScope.
Also improve a recently added comment.
llvm-svn: 42826
|
|
|
|
|
|
|
|
|
|
| |
This fixes a crasher in Sema::MatchTwoMethodDeclarations(), identified by selector-overload.m (just added).
Added Action::ActOnTranslationUnitScope() and renamed Action::PopScope to ActOnPopScope.
Added a Translation Unit Scope instance variable to Sema (will be very useful to ObjC-related actions, since ObjC declarations are always file-scoped).
llvm-svn: 42817
|
|
|
|
| |
llvm-svn: 42809
|
|
|
|
| |
llvm-svn: 42798
|
|
|
|
| |
llvm-svn: 42797
|
|
|
|
| |
llvm-svn: 42796
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
stuff like this:
// If we don't have a comma, it is either the end of the list (a ';') or
// an error, bail out.
if (Tok.isNot(tok::comma))
break;
instead of:
// If we don't have a comma, it is either the end of the list (a ';') or
// an error, bail out.
if (Tok.getKind() != tok::comma)
break;
There is obviously no functionality change, but the code reads a bit better and is
more terse.
llvm-svn: 42795
|
|
|
|
|
|
|
|
| |
ParseFunctionDefinition so that ActOnFunctionDefBody is always
called if ActOnStartOfFunctionDef is called. This fixes a crash
reported by Nuno Lopes.
llvm-svn: 42793
|
|
|
|
|
|
| |
be recognized as types).
llvm-svn: 42777
|