#
d9bb743e |
| 27-Jul-2011 |
John McCall <rjmccall@apple.com> |
The lock operand to an @synchronized statement is also supposed to be a full-expression; make it so. In ARC, make sure we retain the lock for the entire protected block.
llvm-svn: 136271
|
#
0e62c1cc |
| 23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace.
llvm-svn: 135852
|
#
77450691 |
| 01-Jul-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Introduce Declarator::ObjCCatchContext, this will result in correct error for 'auto' in obj-c catch.
llvm-svn: 134271
|
#
8a9cc4fe |
| 18-Jun-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove dead variables.
llvm-svn: 133346
|
#
31168b07 |
| 15-Jun-2011 |
John McCall <rjmccall@apple.com> |
Automatic Reference Counting.
Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions.
Compiler implementation c
Automatic Reference Counting.
Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions.
Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order.
llvm-svn: 133103
show more ...
|
#
33823727 |
| 11-Jun-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement Objective-C Related Result Type semantics.
Related result types apply Cocoa conventions to the type of message sends and property accesses to Objective-C methods that are known to always r
Implement Objective-C Related Result Type semantics.
Related result types apply Cocoa conventions to the type of message sends and property accesses to Objective-C methods that are known to always return objects whose type is the same as the type of the receiving class (or a subclass thereof), such as +alloc and -init. This tightens up static type safety for Objective-C, so that we now diagnose mistakes like this:
t.m:4:10: warning: incompatible pointer types initializing 'NSSet *' with an expression of type 'NSArray *' [-Wincompatible-pointer-types] NSSet *array = [[NSArray alloc] init]; ^ ~~~~~~~~~~~~~~~~~~~~~~ /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:72:1: note: instance method 'init' is assumed to return an instance of its receiver type ('NSArray *') - (id)init; ^
It also means that we get decent type inference when writing code in Objective-C++0x:
auto array = [[NSMutableArray alloc] initWithObjects:@"one", @"two",nil]; // ^ now infers NSMutableArray* rather than id
llvm-svn: 132868
show more ...
|
#
c3bcde08 |
| 11-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Restore 'atomic' as an attribute of objc properties.
llvm-svn: 132866
|
#
5d5cf190 |
| 08-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Remove 'atomic' as a property attribute keyword. It is not a sanctioned keyword and is assumed as default. // rdar://8790791
llvm-svn: 132753
|
#
c057794a |
| 22-Apr-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes an instance method meta-data generation bug in ObjC NeXt runtime where method pointer registered in metadata belongs to an unrelated method. Ast part of this fix, I turned at @end missing warni
Fixes an instance method meta-data generation bug in ObjC NeXt runtime where method pointer registered in metadata belongs to an unrelated method. Ast part of this fix, I turned at @end missing warning (for class implementations) into an error as we can never be sure that meta-data being generated is correct. // rdar://9072317
llvm-svn: 130019
show more ...
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3 |
|
#
85222c6b |
| 26-Mar-2011 |
Chris Lattner <sabre@nondot.org> |
fix the second part of rdar://8366474 - clang fails to parse ObjC selectors with '::', when :: isn't the first part of the selector.
llvm-svn: 128344
|
#
405988b9 |
| 26-Mar-2011 |
John McCall <rjmccall@apple.com> |
Fix the recovery from missing semis on @property declarations to not consume the following '@'. Conceivably, we could skip tokens until something that can validly start an @interface declaration her
Fix the recovery from missing semis on @property declarations to not consume the following '@'. Conceivably, we could skip tokens until something that can validly start an @interface declaration here, but it's not clear that it matters.
llvm-svn: 128325
show more ...
|
Revision tags: llvmorg-2.9.0-rc2 |
|
#
084e83df |
| 24-Mar-2011 |
John McCall <rjmccall@apple.com> |
Insomniac refactoring: change how the parser allocates attributes so that AttributeLists do not accumulate over the lifetime of parsing, but are instead reused. Also make the arguments array not re
Insomniac refactoring: change how the parser allocates attributes so that AttributeLists do not accumulate over the lifetime of parsing, but are instead reused. Also make the arguments array not require a separate allocation, and make availability attributes store their stuff in augmented memory, too.
llvm-svn: 128209
show more ...
|
#
c23308ce |
| 23-Mar-2011 |
John McCall <rjmccall@apple.com> |
Call out ObjC parameter types as a different kind of declarator context from a normal type-spec, just for completeness.
llvm-svn: 128185
|
#
a0ff0c34 |
| 16-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Make sure that we always pop a function's scope *before* we call ActOnFinishFunctionBody/ActOnBlockStmtExpr. This way, we ensure that we diagnose undefined labels before the jump-scope checker gets r
Make sure that we always pop a function's scope *before* we call ActOnFinishFunctionBody/ActOnBlockStmtExpr. This way, we ensure that we diagnose undefined labels before the jump-scope checker gets run, since the jump-scope checker requires (as its invariant) that all of the GotoStmts be wired up correctly.
Fixes PR9495.
llvm-svn: 127738
show more ...
|
#
c677f693 |
| 12-Mar-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Place duplicate argument declaration in in method prototypes under the -Wduplicate-method-arg and turn it off by default.
llvm-svn: 127552
|
#
95d3e370 |
| 08-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Clarify the context in which an Objective-C type name is being parsed by using an enumeration rather than a boolean value. No functionality change.
llvm-svn: 127259
|
Revision tags: llvmorg-2.9.0-rc1 |
|
#
f34a6f0f |
| 15-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement a special code-completion pattern for "IBAction". Fixes <rdar://problem/8767704>.
llvm-svn: 125604
|
#
ca3566fc |
| 09-Feb-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Fix scoping of method declarations and issue warning when same parameter name used multiple times. // rdar://8877730
llvm-svn: 125229
|
#
8dfa5f17 |
| 18-Jan-2011 |
Jeffrey Yasskin <jyasskin@google.com> |
Fix warnings found by gcc-4.6, from -Wunused-but-set-variable and -Wint-to-pointer-cast.
llvm-svn: 123719
|
#
78edf99f |
| 05-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Use Parser::ExpectAndConsume() uniformly to eat semicolons after Objective-C declarations and statements. Fixes <rdar://problem/8814576> (wrong source line for diagnostics about missing ';'), and now
Use Parser::ExpectAndConsume() uniformly to eat semicolons after Objective-C declarations and statements. Fixes <rdar://problem/8814576> (wrong source line for diagnostics about missing ';'), and now we actually consume the ';' at the end of a @compatibility_alias directive!
llvm-svn: 122855
show more ...
|
#
bd9dfb2e |
| 04-Jan-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Rename MaybeSkipFunctionBodyForCodeCompletion -> trySkippingFunctionBodyForCodeCompletion and check isCodeCompletionEnabled() before doing the call. Suggestions by Chris.
llvm-svn: 122792
|
#
d5756a60 |
| 03-Jan-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
When in code-completion, skip obj-c method bodies for speed up.
llvm-svn: 122781
|
#
53fa7147 |
| 24-Dec-2010 |
John McCall <rjmccall@apple.com> |
Refactor how we collect attributes during parsing, and add slots for attributes on array and function declarators. This is pretty far from complete, and I'll revisit it later if someone doesn't beat
Refactor how we collect attributes during parsing, and add slots for attributes on array and function declarators. This is pretty far from complete, and I'll revisit it later if someone doesn't beat me to it.
llvm-svn: 122535
show more ...
|
#
87e92752 |
| 21-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix a major inconsistency in the representation of Objective-C classes, categories, protocols, and class extensions, where the methods and properties of these entities would be inserted into the Decl
Fix a major inconsistency in the representation of Objective-C classes, categories, protocols, and class extensions, where the methods and properties of these entities would be inserted into the DeclContext in an ordering that doesn't necessarily reflect source order. The culprits were Sema::ActOnMethodDeclaration(), which did not perform the insertion of the just-created method declaration into the DeclContext for these Objective-C entities, and Sema::ActOnAtEnd(), which inserted all method declarations at the *end* of the DeclContext.
With this fix in hand, clean up the code-completion actions for property setters/getters that worked around this brokenness in the AST.
Fixes <rdar://problem/8062781>, where this problem manifested as poor token-annotation information, but this would have struck again in many other places.
llvm-svn: 122347
show more ...
|
#
382c040d |
| 17-Dec-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Warn when synthesizing a property which is implicitly atomic under -Wimplicit-atomic-properties flag. // rdar://8774580
llvm-svn: 122095
|