| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
@property (readonly) int : 4;
llvm-svn: 57805
|
|
|
|
|
|
|
| |
occurs, skip to an @ or ; instead of to a } or ;. Properties
don't necessarily live in {}'s.
llvm-svn: 57804
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
to make it easier to understand. No functionality change.
llvm-svn: 57797
|
|
|
|
| |
llvm-svn: 56992
|
|
|
|
| |
llvm-svn: 56668
|
|
|
|
| |
llvm-svn: 56642
|
|
|
|
|
|
| |
Fixes: <rdar://problem/6248119> @finally doesn't introduce a new scope
llvm-svn: 56629
|
|
|
|
|
|
|
| |
arbitrary expr, not just a assign expr. The grammar comment
was right, the code was just wrong.
llvm-svn: 56353
|
|
|
|
|
|
|
| |
- Also, fix Parser to construct proper SetterName selector (should be
lifted out of parser though).
llvm-svn: 55352
|
|
|
|
| |
llvm-svn: 55253
|
|
|
|
| |
llvm-svn: 55217
|
|
|
|
|
|
|
| |
make diagnostic output in some other malformed cases significantly
more useful. This fixes PR2708
llvm-svn: 55215
|
|
|
|
|
|
| |
ActOnDeclarator.
llvm-svn: 54353
|
|
|
|
| |
llvm-svn: 54340
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
last client of the old ParseObjCProtocolReferences, so it also removes it.
llvm-svn: 54094
|
|
|
|
| |
llvm-svn: 54093
|
|
|
|
|
|
|
| |
This temporarily duplicates ParseObjCProtocolReferences, but it
will be removed in the future.
llvm-svn: 54092
|
|
|
|
|
|
|
|
| |
for structs.
rdar://6095245.
llvm-svn: 54044
|
|
|
|
| |
llvm-svn: 54032
|
|
|
|
|
|
| |
valid MDecl's.
llvm-svn: 54013
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of a specific smallvector size.
Fix protocol lists to pass down proper location info, so we get diagnostics
like this:
t.m:3:35: error: cannot find protocol definition for 'NSCopying', referenced by 'NSWhatever'
@interface NSWhatever : NSObject <NSCopying>
^
instead of this:
t.m:3:44: error: cannot find protocol definition for 'NSCopying', referenced by 'NSWhatever'
@interface NSWhatever : NSObject <NSCopying>
^
Add a new IdentifierLocPair typedef which is just a pair<IdentifierInfo*, SourceLocation>
llvm-svn: 53883
|
|
|
|
|
|
|
|
| |
have Destroy methods of ObjcMethodDecl and ObjCInterfaceDecl which recursively
destroy their owned Decls and Stmts. There are a few cases where it is not
clear what to do (FIXMEs included in the patch).
llvm-svn: 52050
|
|
|
|
| |
llvm-svn: 51963
|
|
|
|
|
|
| |
<rdar://problem/5980846> clang on xcode: error: declarator requires an identifier (for @catch)
llvm-svn: 51895
|
|
|
|
|
|
|
|
| |
decl spec).
Also added a FIXME related to how we represent @properties in the ObjCInterfaceDecl AST.
llvm-svn: 51450
|
|
|
|
|
|
|
| |
properties. Couple of property tests will fail with this patch.
Will fix them next.
llvm-svn: 50818
|
|
|
|
|
|
|
| |
(was IdentifierInfo * before). This will make method declartations whole
lot easier.
llvm-svn: 50747
|
|
|
|
|
|
| |
properties declared in the protocol.
llvm-svn: 50662
|
|
|
|
|
|
| |
Patch by Emerson Murhpy-Hill.
llvm-svn: 50452
|
|
|
|
|
|
|
| |
More property semantics checking.
First test case for ObjC2's property implementation.
llvm-svn: 50057
|
|
|
|
|
|
|
| |
Mostly semantic checking in this patch. This is on going
and incomplete.
llvm-svn: 49882
|
|
|
|
| |
llvm-svn: 49699
|
|
|
|
| |
llvm-svn: 49565
|
|
|
|
| |
llvm-svn: 49539
|
|
|
|
|
|
|
|
| |
1) objc ivar processing is split out of ActOnField into its own ActOnIvar method.
2) the new objc ivar action takes visibility info directly, eliminating
AllVisibilities in ParseObjCClassInstanceVariables.
llvm-svn: 49506
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarators. This allows the clients (C structs, objc classes, objc
properties, [future] C++ classes) etc, to do custom processing before invoking
an action.
This has two benefits in the short term:
1) objc ivar processing should be split out of ActOnField into its own ActOn method.
2) the new objc ivar action can take visibility info directly, eliminating
AllVisibilities in ParseObjCClassInstanceVariables.
3) objc properties can pass their own special sauce down to sema as well.
llvm-svn: 49468
|
|
|
|
|
|
|
|
| |
sema. This allows clients of the parser to have the unmolested
list if desired, and guarantees that noone can create an
ObjCQualifiedInterfaceType with an unsorted list.
llvm-svn: 49310
|
|
|
|
|
|
| |
like the rest of the classes.
llvm-svn: 48434
|
|
|
|
| |
llvm-svn: 48423
|
|
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
|