#
825bca17 |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
rearrange some code.
llvm-svn: 57816
|
#
1db3354d |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
more simplifications to error recovery in ParseObjCPropertyAttribute
llvm-svn: 57815
|
#
beca7701 |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
move some code around to make it fall through more, no functionality change.
llvm-svn: 57813
|
#
76619239 |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
reject properties completely in objc1 instead of emitting weird errors about property attributes being unknown.
llvm-svn: 57812
|
#
64b1f2f0 |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
More property attribute recovery improvements. Instead of this:
crash.m:8:12: error: type name requires a specifier or qualifier @property (readonlyx, getter=isAwesome) int _awesome; ^ c
More property attribute recovery improvements. Instead of this:
crash.m:8:12: error: type name requires a specifier or qualifier @property (readonlyx, getter=isAwesome) int _awesome; ^ crash.m:8:29: error: expected ';' at end of declaration list @property (readonlyx, getter=isAwesome) int _awesome; ^ crash.m:8:39: error: expected identifier or '(' @property (readonlyx, getter=isAwesome) int _awesome; ^
we now get:
crash.m:8:12: error: unknown property attribute 'readonlyx' @property (readonlyx, getter=isAwesome) int _awesome; ^
Also, we can eliminate isObjCPropertyAttribute now.
llvm-svn: 57811
show more ...
|
#
43c76c38 |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
significantly simplify and clean up error recovery in ParseObjCPropertyAttribute. Before, on this code (where a comma was forgotten):
@property (readonly getter=isAwesome) int _awesome;
we emitte
significantly simplify and clean up error recovery in ParseObjCPropertyAttribute. Before, on this code (where a comma was forgotten):
@property (readonly getter=isAwesome) int _awesome;
we emitted:
crash.m:9:11: error: expected ')' @property (readonly getter=isAwesome) int _awesome; ^ crash.m:9:37: error: type name requires a specifier or qualifier @property (readonly getter=isAwesome) int _awesome; ^ crash.m:9:37: error: expected identifier or '(' crash.m:9:37: error: expected ';' at end of declaration list crash.m:9:1: error: @property requires fields to be named @property (readonly getter=isAwesome) int _awesome; ^
now we emit:
crash.m:9:21: error: expected ')' @property (readonly getter=isAwesome) int _awesome; ^ crash.m:9:11: error: to match this '(' @property (readonly getter=isAwesome) int _awesome; ^
llvm-svn: 57809
show more ...
|
#
93429b04 |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
fix a crash on unnamed properties like: @property (readonly) int : 4;
llvm-svn: 57805
|
#
e0d3fe9b |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
simplify some code by using ExpectAndConsume. When an error occurs, skip to an @ or ; instead of to a } or ;. Properties don't necessarily live in {}'s.
llvm-svn: 57804
|
#
da9fb15b |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
refactor a bunch of code: Check for @end in ParseObjCInterfaceDeclList instead of in each caller Handle @required and @optional with the same code
Add some fixmes about some apparently objc2 code th
refactor a bunch of code: Check for @end in ParseObjCInterfaceDeclList instead of in each caller Handle @required and @optional with the same code
Add some fixmes about some apparently objc2 code that is being accepted in objc1.
llvm-svn: 57803
show more ...
|
#
bb8cc187 |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
fix some minor error recovery bugs in ParseObjCInterfaceDeclList where it would reject @required in non-protocols, but then go ahead and tag methods with required anyway. Instead, if we see this in
fix some minor error recovery bugs in ParseObjCInterfaceDeclList where it would reject @required in non-protocols, but then go ahead and tag methods with required anyway. Instead, if we see this in something other than a protocol, just ignore the request.
Also, improve error recovery a bit when we see something bogus inside an interface.
llvm-svn: 57798
show more ...
|
#
038a3e34 |
| 20-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
restructure the body of the ParseObjCInterfaceDeclList loop to make it easier to understand. No functionality change.
llvm-svn: 57797
|
#
15619c7e |
| 03-Oct-2008 |
Daniel Dunbar <daniel@zuster.org> |
Pass postfix attributes to ActOnFields.
llvm-svn: 56992
|
#
68d21902 |
| 26-Sep-2008 |
Ted Kremenek <kremenek@apple.com> |
Enter a new scope for a @try block.
llvm-svn: 56668
|
#
26e2ab4a |
| 26-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Parser support for prefix __attribute__ on @protocol.
llvm-svn: 56642
|
#
a34ea3b9 |
| 26-Sep-2008 |
Ted Kremenek <kremenek@apple.com> |
Have @finally introduce a new scope. Fixes: <rdar://problem/6248119> @finally doesn't introduce a new scope
llvm-svn: 56629
|
#
a7b03446 |
| 19-Sep-2008 |
Chris Lattner <sabre@nondot.org> |
Fix rdar://6222856: the receiver of a message expr is an arbitrary expr, not just a assign expr. The grammar comment was right, the code was just wrong.
llvm-svn: 56353
|
#
ad3cdc2b |
| 26-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Synthesize property setter method as we do for getter. - Also, fix Parser to construct proper SetterName selector (should be lifted out of parser though).
llvm-svn: 55352
|
#
f93f56a2 |
| 23-Aug-2008 |
Anders Carlsson <andersca@mac.com> |
Reserved C++ words are valid selectors in Objective-C++
llvm-svn: 55253
|
#
ce90ef51 |
| 23-Aug-2008 |
Chris Lattner <sabre@nondot.org> |
we already have a handle on the 'in' keyword, don't bother getting two.
llvm-svn: 55217
|
#
2ebb178f |
| 23-Aug-2008 |
Chris Lattner <sabre@nondot.org> |
Fix a FIXME by not creating an invalid AST on erroneous input. Also make diagnostic output in some other malformed cases significantly more useful. This fixes PR2708
llvm-svn: 55215
|
#
1ff1d1fd |
| 05-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Move AsmLabel into Declarator instead of just a parameter to ActOnDeclarator.
llvm-svn: 54353
|
#
197a3016 |
| 05-Aug-2008 |
Chris Lattner <sabre@nondot.org> |
Fix rdar://6124613 a crash on invalid code.
llvm-svn: 54340
|
#
4983df37 |
| 05-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add more Parser/Sema support for GCC asm-label extension. - ActOnDeclarator now takes an additional parameter which is the AsmLabel if used. Its unfortunate that this bubbles up this high, but
Add more Parser/Sema support for GCC asm-label extension. - ActOnDeclarator now takes an additional parameter which is the AsmLabel if used. Its unfortunate that this bubbles up this high, but we cannot just lump it in as an attribute without mistakenly *accepting* it as an attribute. - The actual asm-label itself is, however, encoded as an AsmLabelAttr on the FunctionDecl. - Slightly improved parser error recovery on malformed asm-labels. - CodeGen support still missing...
llvm-svn: 54339
show more ...
|
#
df59f5aa |
| 26-Jul-2008 |
Chris Lattner <sabre@nondot.org> |
Pull protocol resolution of out ActOnStartClassInterface, this is also the last client of the old ParseObjCProtocolReferences, so it also removes it.
llvm-svn: 54094
|
#
b1f3c948 |
| 26-Jul-2008 |
Chris Lattner <sabre@nondot.org> |
refactor protocol resolution out of ActOnStartCategoryInterface
llvm-svn: 54093
|