| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
primary and its continuation class into error.
// rdar://10142679
llvm-svn: 145255
|
| |
|
|
|
|
| |
introduces/redeclares a property.
llvm-svn: 144520
|
| |
|
|
|
|
| |
type is strong by default too. // rdar://10410903
llvm-svn: 144118
|
| |
|
|
|
|
| |
include ownership qualifiers from the type.
llvm-svn: 143885
|
| |
|
|
|
|
| |
// rdar://10357768
llvm-svn: 143518
|
| |
|
|
|
|
| |
GCC compiler workaround.
llvm-svn: 142931
|
| |
|
|
|
|
| |
r142914: "Introduce a placeholder type for "pseudo object""
r142915: "Pull the pseudo-object stuff into its own file."
llvm-svn: 142921
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expressions: expressions which refer to a logical rather
than a physical l-value, where the logical object is
actually accessed via custom getter/setter code.
A subsequent patch will generalize the AST for these
so that arbitrary "implementing" sub-expressions can
be provided.
Right now the only client is ObjC properties, but
this should be generalizable to similar language
features, e.g. Managed C++'s __property methods.
llvm-svn: 142914
|
| |
|
|
| |
llvm-svn: 142406
|
| |
|
|
|
|
| |
by reference. // rdar://10188258
llvm-svn: 142075
|
| |
|
|
|
|
| |
// rdar://10239594
llvm-svn: 141915
|
| |
|
|
| |
llvm-svn: 141793
|
| |
|
|
|
|
| |
property in the diagnostic.
llvm-svn: 141745
|
| |
|
|
|
|
| |
nonatomic. // rdar://10260017
llvm-svn: 141580
|
| |
|
|
|
|
|
| |
related to a readwrite property, and
Sub's readwrite property. // rdar://9396329
llvm-svn: 141497
|
| |
|
|
|
|
| |
for atomic setters which requires assignment operator.
llvm-svn: 141415
|
| |
|
|
|
|
| |
on one accessor and user-provide with another.
llvm-svn: 141343
|
| |
|
|
|
|
|
| |
operator= is called. Issue a warning for non-trivial case until
runtime support is provided. // rdar://6137845
llvm-svn: 141302
|
| |
|
|
|
|
| |
continuation class into warning. // rdar://10231514
llvm-svn: 141100
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of always storing all source locations for the selector identifiers
we check whether all the identifiers are in a "standard" position; "standard" position is
-Immediately before the arguments: -(id)first:(int)x second:(int)y;
-With a space between the arguments: -(id)first: (int)x second: (int)y;
-For nullary selectors, immediately before ';': -(void)release;
In such cases we infer the locations instead of storing them.
llvm-svn: 140989
|
| |
|
|
|
|
|
|
| |
objc method decls.
They are not stored in the AST yet.
llvm-svn: 140984
|
| |
|
|
|
|
| |
from the selector.
llvm-svn: 140983
|
| |
|
|
| |
llvm-svn: 140657
|
| |
|
|
|
|
|
| |
protocol declares the property, as well as one of its superclasses.
Property will be implemented in the super class. // rdar://10120691
llvm-svn: 140586
|
| |
|
|
|
|
| |
hasSameUnqualifiedType in //rdar://10156674
llvm-svn: 140576
|
| |
|
|
|
|
| |
ingore the type qualifiers. // rdar://10156674
llvm-svn: 140571
|
| |
|
|
|
|
|
| |
must match property type declaration in its
primary class. // rdar://10142679
llvm-svn: 140438
|
| |
|
|
| |
llvm-svn: 140022
|
| |
|
|
|
|
| |
is missing. // rdar//10127639
llvm-svn: 139988
|
| |
|
|
|
|
|
| |
declared which does not force a 'copy' of the block literal
object. // rdar://9829425
llvm-svn: 139706
|
| |
|
|
|
|
| |
their semantic attributes and then to take advantage of that.
llvm-svn: 139615
|
| |
|
|
|
|
|
|
|
|
| |
language options. Use that .def file to declare the LangOptions class
and initialize all of its members, eliminating a source of annoying
initialization bugs.
AST serialization changes are next up.
llvm-svn: 139605
|
| |
|
|
|
|
| |
in GC mode. // rdar://10073896
llvm-svn: 139235
|
| |
|
|
|
|
|
| |
to be 'weak'. This prevents a crash and should
probably be flagged as error - later to come.
llvm-svn: 139211
|
| |
|
|
|
|
| |
// rdar://10073896
llvm-svn: 139203
|
| |
|
|
|
|
|
|
|
|
| |
synthesis. This new feature is currently placed under
-fobjc-default-synthesize-properties option
and is off by default pending further testing.
It will become the default feature soon.
// rdar://8843851
llvm-svn: 138913
|
| |
|
|
|
|
|
| |
to class implementation where it is supposed to be
implemented. // rdar://10009982.
llvm-svn: 138714
|
| |
|
|
|
|
|
| |
finding life-time conflict with its declared ivar.
// rdar://10007230
llvm-svn: 138659
|
| |
|
|
|
|
| |
objc's decl context.
llvm-svn: 138267
|
| |
|
|
| |
llvm-svn: 138253
|
| |
|
|
|
|
| |
failures are resolved.
llvm-svn: 138234
|
| |
|
|
|
|
| |
specified. // rdar://9971982
llvm-svn: 138062
|
| |
|
|
| |
llvm-svn: 138049
|
| |
|
|
|
|
|
|
|
|
| |
to modernity. Instead of passing down individual
context objects from parser to sema, establish decl
context in parser and have sema access current context
as needed. I still need to take of Doug's comment for
minor cleanups.
llvm-svn: 138040
|
| |
|
|
|
|
|
|
| |
user-declared) as implicit.
This results in libclang ignoring such methods.
llvm-svn: 137852
|
| |
|
|
| |
llvm-svn: 136658
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
@interface Foo : NSObject
@property (readonly) id myProp;
@end
@implementation Foo
@synthesize myProp;
@end
t.m:9:13: error: ARC forbids synthesizing a property of an Objective-C object with unspecified storage attribute
@synthesize myProp;
^
which is fine, we want the ownership of the synthesized ivar to be explicit. But we should _not_ emit an error
for the following cases, because we can get the ownership either from the declared ivar or from the property type:
@interface Foo : NSObject {
__weak id _myProp1;
id myProp2;
}
@property (readonly) id myProp1;
@property (readonly) id myProp2;
@property (readonly) __strong id myProp3;
@end
@implementation Foo
@synthesize myProp1 = _myProp1;
@synthesize myProp2;
@synthesize myProp3;
@end

rdar://9844006.
llvm-svn: 136155
|
| |
|
|
|
|
|
|
|
|
| |
C function) implementation
will be rejected with a compilation error in ARC mode, and a compiler warning otherwise.
This may cause breakage in non-arc (and arc) tests which don't expect warning/error. Feel free
to fix the tests, or reverse the patch, if I am unavailable. // rdar://9818354 - WIP
llvm-svn: 135740
|
| |
|
|
|
|
| |
attributes. Fixes <rdar://problem/9561076>.
llvm-svn: 135273
|
| |
|
|
|
|
|
| |
Make it also available in ObjC++ propeties. Use common code for
objc and objc++ so they don't diverge. // rdar://9740328
llvm-svn: 135050
|