| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
provide completion results before each keyword argument, e.g.,
[foo Method:arg WithArg1:arg1 WithArg2:arg2]
We now complete before "WithArg1" and before "WithArg2", in addition
to completing before "Method".
llvm-svn: 89290
|
|
|
|
|
|
| |
change.
llvm-svn: 89267
|
|
|
|
| |
llvm-svn: 89265
|
|
|
|
| |
llvm-svn: 89259
|
|
|
|
| |
llvm-svn: 89227
|
|
|
|
|
|
| |
and @implementation declarations.
llvm-svn: 89223
|
|
|
|
|
|
|
| |
@implementation, and in the declaration of the superclass of an
@interface.
llvm-svn: 89207
|
|
|
|
|
|
| |
properties
llvm-svn: 89196
|
|
|
|
| |
llvm-svn: 89194
|
|
|
|
|
|
| |
referring to message sends
llvm-svn: 89164
|
|
|
|
|
|
| |
Action::ActOnForwardClassDeclaration().
llvm-svn: 89162
|
|
|
|
| |
llvm-svn: 89107
|
|
|
|
|
|
|
|
| |
gracefully, on par with gcc, by: Issuing a warning,
doing final sematinc check of its definitions and generating
its meta-data.
llvm-svn: 88934
|
|
|
|
| |
llvm-svn: 86746
|
|
|
|
|
|
| |
<rdar://problem/7381735>.
llvm-svn: 86731
|
|
|
|
|
|
| |
Still a work in progress...
llvm-svn: 86323
|
|
|
|
|
|
| |
(radar 7370882).
llvm-svn: 86291
|
|
|
|
| |
llvm-svn: 86240
|
|
|
|
|
|
|
|
|
|
|
|
| |
appears in a deprecated context. In the new strategy, we emit the warnings
as usual unless we're currently parsing a declaration, where "declaration" is
restricted to mean a decl group or a few special cases in Objective C. If
we *are* parsing a declaration, we queue up the deprecation warnings until
the declaration has been completely parsed, and then emit them only if the
decl is not deprecated.
We also standardize the bookkeeping for deprecation so as to avoid special cases.
llvm-svn: 85998
|
|
|
|
|
|
| |
it easier to track within Sema whether the parser is parsing a declaration.
llvm-svn: 85855
|
|
|
|
|
|
|
| |
Fixes
<rdar://problem/7308503> clang should disallow the trailing semicolon in method definitions
llvm-svn: 84645
|
|
|
|
| |
llvm-svn: 84436
|
|
|
|
| |
llvm-svn: 83579
|
|
|
|
| |
llvm-svn: 83091
|
|
|
|
| |
llvm-svn: 81346
|
|
|
|
| |
llvm-svn: 74080
|
|
|
|
|
|
| |
change. More to follow.
llvm-svn: 72951
|
|
|
|
|
|
|
|
| |
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: 72210
|
|
|
|
| |
llvm-svn: 71989
|
|
|
|
|
|
|
|
| |
return type and the selector. This is inconsistent with C functions
(where such attributes would be placed on the return type, not the the
FunctionDecl), and is inconsistent with what people are use to seeing.
llvm-svn: 70878
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
appear between the return type and the selector. This is a separate code path
from regular attribute processing, as we only want to (a) accept only a specific
set of attributes in this place and (b) want to distinguish to clients the
context in which an attribute was added to an ObjCMethodDecl.
Currently, the attribute 'objc_ownership_returns' is the only attribute that
uses this new feature. Shortly I will add a warning for 'objc_ownership_returns'
to be placed at the end of a method declaration.
llvm-svn: 70504
|
|
|
|
|
|
| |
the return type and selector. Haven't hooked this up to Sema yet.
llvm-svn: 70501
|
|
|
|
|
|
|
| |
list of another protocol definition. This warning is very noisy and GCC doesn't
produce it so existing code doesn't expect it.
llvm-svn: 68894
|
|
|
|
|
|
|
| |
information in a little struct instead of individually. While we're
at it, add per-argument loc info and attribute info.
llvm-svn: 68871
|
|
|
|
|
|
|
| |
since it only parses one identifier out of the selector, not the
whole thing.
llvm-svn: 68867
|
|
|
|
|
|
| |
used as receiver.
llvm-svn: 68631
|
|
|
|
| |
llvm-svn: 68568
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
productions (except the already broken ObjC cases like @class X,Y;) in
the parser that can produce more than one Decl return a DeclGroup instead
of a Decl, etc.
This allows elimination of the Decl::NextDeclarator field, and exposes
various clients that should look at all decls in a group, but which were
only looking at one (such as the dumper, printer, etc). These have been
fixed.
Still TODO:
1) there are some FIXME's in the code about potentially using
DeclGroup for better location info.
2) ParseObjCAtDirectives should return a DeclGroup due to @class etc.
3) I'm not sure what is going on with StmtIterator.cpp, or if it can
be radically simplified now.
4) I put a truly horrible hack in ParseTemplate.cpp.
I plan to bring up #3/4 on the mailing list, but don't plan to tackle
#1/2 in the short term.
llvm-svn: 68002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pointer. Its purpose in life is to be a glorified void*, but which does not
implicitly convert to void* or other OpaquePtr's with a different UID.
Introduce Action::DeclPtrTy which is a typedef for OpaquePtr<0>. Change the
entire parser/sema interface to use DeclPtrTy instead of DeclTy*. This
makes the C++ compiler enforce that these aren't convertible to other opaque
types.
We should also convert ExprTy, StmtTy, TypeTy, AttrTy, BaseTy, etc,
but I don't plan to do that in the short term.
The one outstanding known problem with this patch is that we lose the
bitmangling optimization where ActionResult<DeclPtrTy> doesn't know how to
bitmangle the success bit into the low bit of DeclPtrTy. I will rectify
this with a subsequent patch.
llvm-svn: 67952
|
|
|
|
|
|
| |
whose sema decl is at the translation unit.
llvm-svn: 67249
|
|
|
|
|
|
| |
the selector for the property setter.
llvm-svn: 66834
|
|
|
|
| |
llvm-svn: 66551
|
|
|
|
|
|
|
|
| |
aren't very pretty:-(
This fixes <rdar://problem/6496506> Implement class setter/getter for properties.
llvm-svn: 66465
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a new PrettyStackTraceDecl.
Use it to add the top level LLVM IR generation stuff in
Backend.cpp to stack traces. We now get crashes like:
Stack dump:
0. Program arguments: clang t.c -emit-llvm
1. <eof> parser at end of file
2. t.c:1:5: LLVM IR generation of declaration 'a'
Abort
for IR generation crashes.
llvm-svn: 66153
|
|
|
|
|
|
|
|
|
| |
Stack dump:
0. message.m:53:13: in compound statement ('{}')
1. message.m:53:13: parsing Objective-C method 'xx'
2. clang message.m
llvm-svn: 66121
|
|
|
|
|
|
| |
c-style functions declared inside objc @implementations.
llvm-svn: 66087
|
|
|
|
|
|
|
|
|
|
|
| |
(Daniel, please verify).
Also necessary to fix:
<rdar://problem/6632061> [sema] non object types should not be allowed in @catch statements
<rdar://problem/6252237> [sema] qualified id should be disallowed in @catch statements
llvm-svn: 65964
|
|
|
|
|
|
| |
Parser::ParseObjCMethodDefinition(): Make sure we don't exit the BodyScope until ActOnFinishFunctionBody() is complete.
llvm-svn: 65880
|
|
|
|
| |
llvm-svn: 65695
|