b98ffded10453d80369951f33f3892f35d747c95 |
|
18-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Set the objc "property attributes as written" for extension properties as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
bb13c320fff4bc4b3536e62626c97d7b055c6113 |
|
15-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
obj-c++: allow the getter/setter to return/take parameters by reference. // rdar://10188258 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
5fa065b55bd622f20656e0de3b1f122951146784 |
|
14-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: 'Class' property is implicitly __unsafe_unretained. // rdar://10239594 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
920c9c1155c118ac40e5209d4b757b9f54186339 |
|
12-Oct-2011 |
Ted Kremenek <kremenek@apple.com> |
Fix typo in name of diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
13546a871db44c707001f507a9edfd0d5bcc81b4 |
|
12-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc: note location of the previously declared property in the diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
9d1bbeab2475fe45a3d4cb8de6810bc3275f1dd7 |
|
10-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc: err on a property designated both atomic and nonatomic. // rdar://10260017 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
1b46d8d78be713c546fb9680eaeea8f793bee5bf |
|
08-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc: Do not warn about mismatch on Super's readonly property attribute, related to a readwrite property, and Sub's readwrite property. // rdar://9396329 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
13bf6336ab395eb6af487ab96d32229460907769 |
|
07-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc++: some minor cleanup and a test case for atomic setters which requires assignment operator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
7d65f6965d215f4cb2eb0738ee1b9024e5ab5bba |
|
07-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc: Improve on diagnostic when atomic proeprty is synthesized on one accessor and user-provide with another. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
57e264e9f4ff0a72f3585a960cdf63437b76fa93 |
|
06-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc++: For atomic properties of c++ class objec typet, appropriate operator= is called. Issue a warning for non-trivial case until runtime support is provided. // rdar://6137845 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
68af536046461b514b59aedac016b52784ece3f7 |
|
04-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc: Turn diagnostic on property type mismatch in continuation class into warning. // rdar://10231514 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
491306a83c4f0f49f95a3bcbca8580cb98a91c7a |
|
03-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Allow getting all source locations of selector identifiers in a ObjCMethodDecl. 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
11d77169555480ee0a04c6e5bc390d8fde41175d |
|
03-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Pass from the parser the locations of selector identifiers when creating objc method decls. They are not stored in the AST yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
da92a7f91cf88f49e02050919676f7fb8e3bdff8 |
|
03-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't keep NumSelectorArgs in the ObjCMethodDecl, the number can be derived from the selector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
d2ee809f9e7c2c7a83b8918efa11e98863463f78 |
|
28-Sep-2011 |
Ted Kremenek <kremenek@apple.com> |
Include prefix with default synthesized ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
a929ec7b673b244bec024ba7eb95140404a7af5d |
|
27-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc - don't complain about unimplemented property when conforming protocol declares the property, as well as one of its superclasses. Property will be implemented in the super class. // rdar://10120691 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
2aac0c9f8bc4dca3f883f429af8c1f57132d62d0 |
|
27-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc - compare setter/property types using hasSameUnqualifiedType in //rdar://10156674 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
936b779ed0bb0425d19cd331832b13e1f0077a43 |
|
27-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc - in matching setter argument type to its property type, ingore the type qualifiers. // rdar://10156674 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
a4b984d8396724a8e1137c22186c558c0cb0bf3f |
|
24-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc - redeclaration of property in extension class must match property type declaration in its primary class. // rdar://10142679 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
84e0ccff7a6e51d7b81fd58686b493a4880dd44d |
|
19-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
CurContext cannot be null ever. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
898f284d3777b6880b6a7051cccd0d11db7d5457 |
|
17-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc: Don't crash with decl context for property impl. is missing. // rdar//10127639 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
528a499eb84d61667f65b16a13780c135b822f6b |
|
14-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: warn when a 'retain' block property is declared which does not force a 'copy' of the block literal object. // rdar://9829425 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
265941bc308d65cc270d5c4de5806f37ce405606 |
|
13-Sep-2011 |
John McCall <rjmccall@apple.com> |
Refactoring, mostly to give ObjCPropertyDecls stronger invariants for their semantic attributes and then to take advantage of that. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
e289d81369914678db386f6aa86faf8f178e245d |
|
13-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Switch LangOptions over to a .def file that describes header of the 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
edc08821d3f73514291b339db29aca1a17485e39 |
|
07-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-gc: More sema work for properties declared 'weak' in GC mode. // rdar://10073896 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
9a776695e9f3831e59519fd45d130bff20456d7a |
|
07-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-gc: Don't force a __strong type'd property to be 'weak'. This prevents a crash and should probably be flagged as error - later to come. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
4019f7d384ab0d993ffd345f38ff0fa3a84e750b |
|
07-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-gc: Adds support for "weak" property attribute under GC. // rdar://10073896 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
8697d308c1bdd50e5c45757ac11be701c26e9e97 |
|
01-Sep-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-c: this patch (re)introduces objective-c's default property 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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
b8607398a5e1e552f82a86d1d8c3a4031ac4c946 |
|
27-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-c - Make warning on unimplemented protocols point to class implementation where it is supposed to be implemented. // rdar://10009982. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
9414449e299036efbd411d92266983dfc24e24e9 |
|
26-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: Mention property's attribute by name when finding life-time conflict with its declared ivar. // rdar://10007230 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
7939418cbdf1b610a69e6adf29cd7dc8d0e9eaf8 |
|
22-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc - use existing API for temporary switch of objc's decl context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
58a764940df0cd41767367eb2f4fced6f374176b |
|
22-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc - minor comment fix up and cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
a28948f34817476d02412fa204cae038e228c827 |
|
22-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Restore patch I reversed in r138040. Known buildbot failures are resolved. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
bc03aea4bec84d7abecabd26b8583adb687c4089 |
|
19-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: @property definitions should default to (strong) when not specified. // rdar://9971982 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
e6f07f538fd0eddd6c087fcc01d4e4ff19129c71 |
|
19-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Revers r138040. Need to look at a few buildbot failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
3dbf2f5f00cfc8b25318c119c0d39f4a49d15ebe |
|
19-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-c: Bring objective-c handling of decl context 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
75cf3e86d33ce810c12084126385371b335c30ba |
|
17-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Mark objc methods that are implicitly declared for properties (not user-declared) as implicit. This results in libclang ignoring such methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
7898005b35f8ee5c639e1247ce56b63004b86b03 |
|
02-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-c: reverse patch for // rdar://9818354 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
473506bd9dfd84944c2c5ca2c2a38814f46febc6 |
|
26-Jul-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
In ARC we emit an error when compiling: @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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
527eec86ce96695a7198073e574bf4a184848d24 |
|
22-Jul-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-c: Any use of @synthesize or @dynamic lexically after a method (or 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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
91ae6b43b3a294243698cdb544dd7a18efa4c7a8 |
|
15-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
When creating a property in a class extension, make sure to check its attributes. Fixes <rdar://problem/9561076>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
8beb6a2426b5a6b79ecf019316d9fbd30755e087 |
|
13-Jul-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc++: Some level of covariance is allowed in ObjC properties. Make it also available in ObjC++ propeties. Use common code for objc and objc++ so they don't diverge. // rdar://9740328 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
c286f3835eb6001c61664cef5d610dfaf80a6e9b |
|
13-Jul-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc++: Some level of covariance is allowed in ObjC properties. Make it also available in ObjC++ propeties. // rdar://9740328 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
0a68dc7f04be1542ce249ff4adb169453698ad91 |
|
12-Jul-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[ARC] Complain about property without storage attribute when @synthesizing it, not at its declaration. For this sample: @interface Foo @property id x; @end we get: t.m:2:1: error: ARC forbids properties of Objective-C objects with unspecified storage attribute @property id x; ^ 1 error generated. The error should be imposed on the implementor of the interface, not the user. If the user uses a header of a non-ARC library whose source code he does not have, we are basically asking him to go change the header of the library (bad in general), possible overriding how the property is implemented if he gets confused and says "Oh I'll just add 'copy' then" (even worse). Second issue is that we don't emit any error for 'readonly' properties, e.g: @interface Foo @property (readonly) id x; // no error here @end @implementation Foo @synthesize x; // no error here too @end We should give an error when the implementor is @synthesizing a property which doesn't have any storage specifier; this is when the explicit specifier is important, because we are going to create an ivar and we want its ownership to be explicit. Related improvements: -OBJC_PR_unsafe_unretained turned out to not fit in ObjCPropertyDecl's bitfields, fix it. -For properties of extension classes don't drop PropertyAttributesAsWritten values. -Have PropertyAttributesAsWritten actually only reflect what the user wrote rdar://9756610. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
9f084a3166b684573ba49df28fc5792bc37d92e1 |
|
06-Jul-2011 |
John McCall <rjmccall@apple.com> |
Change the driver's logic about Objective-C runtimes: abstract out a structure to hold inferred information, then propagate each invididual bit down to -cc1. Separate the bits of "supports weak" and "has a native ARC runtime"; make the latter a CodeGenOption. The tool chain is still driving this decision, because it's the place that has the required deployment target information on Darwin, but at least it's better-factored now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
831fb9622581fc3b777848e6b097a0cb23d124de |
|
25-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc/mrc: Allow ns_returns_not_retained attribute on properties to turn off warning on those properties which follow Cocoa naming convention for retaining objects and yet they were not meant for such purposes. Also, perform consistancy checking for declared getters of such methods. // rdar://9636091 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
327126ee3d2faad9314b2633974eefc672f73b79 |
|
24-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
No need to warn if 'unavailable' method/property is not implemented. // rdar://9651605 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
b8b0313e84700b5c6d597b3be4de41c97b7550f1 |
|
24-Jun-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Rename objc_lifetime -> objc_ownership, and modify diagnostics to talk about 'ownership', not 'lifetime'. rdar://9477613. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
f85e193739c953358c865005855253af4f68a497 |
|
16-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 credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
45937ae10a0f70f74508165aab4f2b63e18ea747 |
|
11-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Restore 'atomic' as an attribute of objc properties. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
b92003b3d8d6128be3daa0b3f40a042a08545644 |
|
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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
fc8f0e14ad142ed811e90fbd9a30e419e301c717 |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
fix a bunch of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
61750f2bed7f5c0e440318841e3be385920b22f3 |
|
30-Mar-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
de-sugared when accessing property reference type. Add a test case for synthesize ivar. // rdar://9070460 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
14086764e340267e17803d0f8243070ffae2c76e |
|
29-Mar-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Implements property of reference types. Adding an executable test to llvm test suite. // rdar://9070460. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
0a0d2b179085a52c10402feebeb6db8b4d96a140 |
|
23-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement a new 'availability' attribute, that allows one to specify which versions of an OS provide a certain facility. For example, void foo() __attribute__((availability(macosx,introduced=10.2,deprecated=10.4,obsoleted=10.6))); says that the function "foo" was introduced in 10.2, deprecated in 10.4, and completely obsoleted in 10.6. This attribute ties in with the deployment targets (e.g., -mmacosx-version-min=10.1 specifies that we want to deploy back to Mac OS X 10.1). There are several concrete behaviors that this attribute enables, as illustrated with the function foo() above: - If we choose a deployment target >= Mac OS X 10.4, uses of "foo" will result in a deprecation warning, as if we had placed attribute((deprecated)) on it (but with a better diagnostic) - If we choose a deployment target >= Mac OS X 10.6, uses of "foo" will result in an "unavailable" warning (in C)/error (in C++), as if we had placed attribute((unavailable)) on it - If we choose a deployment target prior to 10.2, foo() is weak-imported (if it is a kind of entity that can be weak imported), as if we had placed the weak_import attribute on it. Naturally, there can be multiple availability attributes on a declaration, for different platforms; only the current platform matters when checking availability attributes. The only platforms this attribute currently works for are "ios" and "macosx", since we already have -mxxxx-version-min flags for them and we have experience there with macro tricks translating down to the deprecated/unavailable/weak_import attributes. The end goal is to open this up to other platforms, and even extension to other "platforms" that are really libraries (say, through a #pragma clang define_system), but that hasn't yet been designed and we may want to shake out more issues with this narrower problem first. Addresses <rdar://problem/6690412>. As a drive-by bug-fix, if an entity is both deprecated and unavailable, we only emit the "unavailable" diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
ff676cb48fe8bf7be2feaa251dc7c5fb15af4730 |
|
08-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed source range for all DeclaratorDecl's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
293a45e724a15fb58b8805a5791f9f3aee769cf6 |
|
01-Feb-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Improve the diagnostic for -Wcustom-atomic-properties. Suggestion by Fariborz! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
94659e4bdb87534f591ae185812548c42d6efacb |
|
31-Jan-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add -Wcustom-atomic-properties which warns if an atomic-by-default property has custom getter or setter. The rationale is that it is highly likely that the user's getter/setter isn't atomically implemented. Off by default. Addresses rdar://8782645. -Wcustom-atomic-properties and -Wimplicit-atomic-properties are under the -Watomic-properties group. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
b608b987718c6d841115464f79ab2d1820a63e17 |
|
28-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Give OpaqueValueExpr a source location, because its source location might be queried in places where we absolutely require a valid location (e.g., for template instantiation). Fixes some major brokenness in the use of __is_convertible_to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
411c25c4512f00e07442e8818d011c7e0902d739 |
|
21-Jan-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Initialize a variable, found by Ted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
2b77cb803c76d01d2d10a58cec9334e2090cd7c3 |
|
06-Jan-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Don't warn on missing 'copy' attribute on a 'block' property when it is 'readonly'. // rdar://8820813 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
e776f88430eb77ce8d58f2e6ec10da1383b71de8 |
|
03-Jan-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Guard lazy synthesis of provisional ivars under the new -fobjc-default-synthesize-properties flag. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
dd4430e596fac34e9ce44228a249f71e73effd4a |
|
17-Dec-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Warn when synthesizing a property which is implicitly atomic under -Wimplicit-atomic-properties flag. // rdar://8774580 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
7504966cc0d07eac26baabec80a7406695efb307 |
|
16-Dec-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
ivars craeted for explicit @synthesize and those created for auto-synthesis are @private. Fixes: // rdar://8769582 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
88f5e9be350f4b107f8665183a6d441874e0fcc7 |
|
11-Dec-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Any property declared in a class extension might have user declared setter or getter in current class extension or one of the other class extensions. Mark them as synthesized as property will be synthesized when property with same name is seen in the @implementation. This prevents bogus warning about unimplemented methods to be issued for these methods. Fixes // rdar://8747333 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
4765fa05b5652fcc4356371c2f481d0ea9a1b007 |
|
06-Dec-2010 |
John McCall <rjmccall@apple.com> |
Rename CXXExprWithTemporaries -> ExprWithCleanups; there's no theoretical reason this is limited to C++, and it's certainly not limited to temporaries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
f89e55ab1bfb3ea997f8b02997c611a02254eb2d |
|
18-Nov-2010 |
John McCall <rjmccall@apple.com> |
Calculate the value kind of an expression when it's created and store it on the expression node. Also store an "object kind", which distinguishes ordinary "addressed" l-values (like variable references and pointer dereferences) and bitfield, @property, and vector-component l-values. Currently we're not using these for much, but I aim to switch pretty much everything calculating l-valueness over to them. For now they shouldn't necessarily be trusted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
a4ffd85a6684e42f900aad5459e58ad91bb88755 |
|
17-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
For an Objective-C @synthesize statement, e.g., @synthesize foo = _foo; keep track of the location of the ivar ("_foo"). Teach libclang to visit the ivar as a member reference. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
1c23e91ef66688d20868b6bab3b5589a119eb603 |
|
16-Nov-2010 |
John McCall <rjmccall@apple.com> |
Kill off the remaining places which generate CK_Unknown casts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
daa8e4e888758d55a7a759dd4a91b83921cef222 |
|
15-Nov-2010 |
John McCall <rjmccall@apple.com> |
Assorted work leading towards the elimination of CK_Unknown. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
2a2891410b02d146b779cdb29eeb9b6d1a9fa030 |
|
10-Nov-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Check for duplicate declaration of a property in current and other class extensions. // rdar://7629420 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
5de74d19ddcf84cfe9d7d973192ba93fd0c64d4f |
|
10-Nov-2010 |
John McCall <rjmccall@apple.com> |
Propagate the deprecated and unavailable attributes from a @property declaration to the autogenerated methods. I'm uncertain whether this should apply to attributes in general, but these are a reasonable core. Implements rdar://problem/8617301 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
788f489a37bf1150deb9378cec6a6eb902d0d1b2 |
|
21-Oct-2010 |
Ted Kremenek <kremenek@apple.com> |
Tweak diagnostics for redeclaration of a @property in a class extension where the redelcaration and original declaration have the 'readwrite' attribute. This is a common case, and we can issue a more lucid diagnostic. Fixes <rdar://problem/7629420>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
0313f441b72ef6b69a93e5003c684b01cb72fd46 |
|
16-Oct-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Check for ivar being a C++ object before attempting to find a copy constructor/assignment operator used in getter/setter synthesis. This removes an unintended diagnostics and makes objc++ consistant with objective-c. // rdar: //8550657. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
fa432391a708448518df1e6ced4e34f4c349d169 |
|
14-Oct-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Put line number on the diagnostic. //rdar: //8550657. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
2a6af6b7874e41f3e6213e8d18623c4bac150354 |
|
24-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Default synthesized ivars don't really have a location in the source. Using the location of the @implementation is just confusing for clients that want to use SourceLocations for syntactic references. Fixes: <rdar://problem/8470540> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
4a2e9ea0c191176ebe996516a9cf4f93b7e932cc |
|
23-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
For properties declared in a @protocol and redeclared in a class extension, use the class extension as the lexical DeclContext for the @property declaration that gets auto-created for the @interface. Fixes: <rdar://problem/8467189> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
a054fb46b1fb596d1719b89d2d9a5be3c32a4b0d |
|
21-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Correctly register the class extension as the lexical DeclContext for ObjC methods declared with @property in class extensions. This matches the behavior for setters. Also pass the class extension to ProcessPropertyDecl as the lexical DeclContext, even when not redeclaring the @property. This fixes the remaining issues in <rdar://problem/7410145>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
8254aa62d9189395be1eed61194cd4b5ee6cb4a2 |
|
21-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
For ObjCPropertyDecls in class extensions, use the class extension as the lexical DeclContext for newly created ObjCMethodDecls. Further, use the location of the new property declaration as the location of new ObjCMethodDecls (if they didn't previously exist). This fixes more of the issues reported in <rdar://problem/7410145>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
53b9441b5a81a24fa1f66f3f6416f1e36baa9c2f |
|
01-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Split ObjCInterfaceDecl::ReferencedProtocols into two lists: ReferencedProtocols and AllReferencedProtocols. ReferencedProtocols (and thus protocol_begin(), protocol_end()) now only contains the list of protocols that were directly referenced in an @interface declaration. 'all_referenced_protocol_[begin,end]()' now returns the set of protocols that were referenced in both the @interface and class extensions. The latter is needed for semantic analysis/codegen, while the former is needed to maintain the lexical information of the original source. Fixes <rdar://problem/8380046>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
d931b086984257de68868a64a235c2b4b34003fb |
|
26-Aug-2010 |
John McCall <rjmccall@apple.com> |
De-memberify the VarDecl and FunctionDecl StorageClass enums. This lets us remove Sema.h's dependency on Expr.h and Decl.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
2d88708cbe4e4ec5e04e4acb6bd7f5be68557379 |
|
26-Aug-2010 |
John McCall <rjmccall@apple.com> |
Split out a header to hold APIs meant for the Sema implementation from Sema.h. Clients of Sema don't need to know (for example) the list of diagnostics we support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
2de56d1d0c3a504ad1529de2677628bdfbb95cd4 |
|
25-Aug-2010 |
John McCall <rjmccall@apple.com> |
GCC didn't care for my attempt at API compatibility, so brute-force everything to the new constants. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
50df6ae41f232612e5e88b19e0db9900d08d2f6c |
|
25-Aug-2010 |
John McCall <rjmccall@apple.com> |
Remove the DenseSet dependency from Sema.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
95f1b86b73a9a203311adc7646f2fa9ee5cdd2b7 |
|
25-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
No need to default synthesize property if implementation has its own getter and setter methods declared. Fixed 8349319 (nonfragile-abi2). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
cdaa6a8fed16d8bd3987fb4f3304dfb4e52876c3 |
|
24-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Fix a bug in nonfragile-abi2 when attempting to diagnose previous use of a synthesized 'ivar' with property of same name declared as @dynamic. In this case, 'ivar' is in the inherited class and no diagnostics should be issued. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
7cd088e519d7e6caa4c4c12db52e0e4ae35d25c2 |
|
24-Aug-2010 |
John McCall <rjmccall@apple.com> |
Struggle mightily against header inclusion in Sema.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
60d7b3a319d84d688752be3870615ac0f111fb16 |
|
24-Aug-2010 |
John McCall <rjmccall@apple.com> |
OwningExprResult -> ExprResult. This patch brought to you by M-x query-replace-regexp \(Sema::\|Action::\|Parser::\|\)Owning\(Expr\|Stmt\)Result -> \2Result git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
d226f65006733ed7f709c3174f22ce33391cb58f |
|
21-Aug-2010 |
John McCall <rjmccall@apple.com> |
DeclPtrTy -> Decl * git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
4087f27e5416c799bcb6be072f905be752acb61c |
|
18-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
StringRef'ication of lots stuff, patch by Peter Davies! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
e737f5041a36d0befb39ffeed8d50ba15916d3da |
|
12-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Move Sema's headers into include/clang/Sema, renaming a few along the way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
3fe104154dd2e8ffb351142d74f308938b5c99bf |
|
22-Jul-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
atch for implementation of objective-c's -Wselector warning flag in clang. Little more to do for a PCH issue. Radar 6507158. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
ad51e74030a59a8aa4ef0ebca1d7a701602ef53b |
|
17-Jul-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to synthesize property ivars on demand as part of the new property synthesis by default. wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
d3635b9681daaef74974932f77080910b032b9fd |
|
14-Jul-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Don't error when doing default property synthesis and some are already synthesized by user declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
ae415dc21ee6402cee1675ec8bb965a24f9e5b6b |
|
14-Jul-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Check on property attributes which are declared in class extensions (radar 8171968). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
cfa6a27f3cc5add888c6ac84dbcc45854cfd8666 |
|
29-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
This patch fixes a bug whereby, clang skipped unimplemented property warning for properties coming from class's conformin protocol. It also simplifies the algorithm in the process. Fixes radar 8035776. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
80aa1cd7973561889e51c1c152c8990a8de9c953 |
|
23-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to provide separate ASTs for multiple ObjC class extension declarations (implements radar 7928731). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
bf1a028246d884a540aeafa38e89be59a269b072 |
|
05-Jun-2010 |
John McCall <rjmccall@apple.com> |
Alter the interface of GetTypeForDeclarator to return a TypeSourceInfo*. This is never null, but the associated type might be. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
83a230c83a54190366138c1a4f4310ef838b88fc |
|
04-Jun-2010 |
John McCall <rjmccall@apple.com> |
Remember type source information for Objective C property declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
62ac5d01aade35790a6d8e814edb21062da5d3f7 |
|
19-May-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Misc. fixes to bring Objetive-C++'s handling of gc attributes to be inline with Objective-C (for radar 7925141). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
23173d7f029f430611caceea72ae61ba6b80af1c |
|
18-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Teach CursorVisitor about duplicate ObjCPropertyDecls that can arise because of a current design limitation in how we handle Objective-C class extensions. This was causing the CursorVisitor to essentially visit an @property twice (once in the @interface, the other in the class extension). Fixes <rdar://problem/7410145>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
c12c5bba6ceb6acd4e51e7a0fc03257da9cfd44e |
|
15-May-2010 |
John McCall <rjmccall@apple.com> |
Substantially alter the design of the Objective C type AST by introducing ObjCObjectType, which is basically just a pair of one of {primitive-id, primitive-Class, user-defined @class} with a list of protocols. An ObjCObjectPointerType is therefore just a pointer which always points to one of these types (possibly sugared). ObjCInterfaceType is now just a kind of ObjCObjectType which happens to not carry any protocols. Alter a rather large number of use sites to use ObjCObjectType instead of ObjCInterfaceType. Store an ObjCInterfaceType as a pointer on the decl rather than hashing them in a FoldingSet. Remove some number of methods that are no longer used, at least after this patch. By simplifying ObjCObjectPointerType, we are now able to easily remove and apply pointers to Objective-C types, which is crucial for a certain kind of ObjC++ metaprogramming common in WebKit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
3c9034cb7ff1d6c1e4ecd1b44c98f553df013c7c |
|
15-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Recognize when the named return value optimization applies in a "return" statement and mark the corresponding CXXConstructExpr as elidable. Teach CodeGen that eliding a temporary is different from eliding an object construction. This is just a baby step toward NRVO. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
509d477ae5a24282719320fe92038ccf57358840 |
|
14-May-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Implement new default property synthesis rules. Essentially, no longer user directive is needed to force a property implementation. It is decided based on those propeties which are declared in the class (or in its protocols) but not those which must be default implemented by one of its super classes. Implements radar 7923851. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
17cb326cb62a59f53d92236394af40eaae4eddbd |
|
05-May-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
This patch deals with Sema Part of Setter/Getter synthesis of properties which are of C++ objects. Code Gen to follow (Radar 7468090). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
738698d9d2e1ab0b1ae6a04874d521814907b8a5 |
|
03-May-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Do not issue warning on unimplemented property in the class, if it conforms to a protocol as one of its super classes does. This is because conforming super class will implement the property. This implements new warning rules for unimplemented properties (radar 7884086). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
9d8463253a073f94af5c3892240c43cad86f3dac |
|
29-Apr-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Properties cannot be synthesized by-dafult in categories. Issue usual warnings instead of confusing error message. Radar 7920807 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
d502a94461b81fd9f5d5c5df37ab3d7415bc72b1 |
|
21-Apr-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Improve on source location of diagnostic when default property synthesis is using a super class ivar. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
16573fa9705b546b7597c273b25b85d6321e2b33 |
|
20-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Keep track of the actual storage specifier written on a variable or function declaration, since it may end up being changed (e.g., "extern" can become "static" if a prior declaration was static). Patch by Enea Zaffanella and Paolo Bolzoni. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
c83c6874e3bf1432d3df5e8d3530f8561ff5441f |
|
16-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Feed proper source-location information into Sema::LookupSingleResult, in case it ends up doing something that might trigger diagnostics (template instantiation, ambiguity reporting, access reporting). Noticed while working on PR6831. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
4ecb25fa94897b2c03510292acace710e5262ba5 |
|
09-Apr-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes a regression caused by implementing cstyle methods for objc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
dba0b0b8761e45c867591a8ed6b683e0d986e27d |
|
07-Apr-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Minor clean up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
2846b2b47029c877357438d16c73911c1510be6c |
|
07-Apr-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
default access for synthesize ivar is @protect. Fixes radar 7823675. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
e9686572f17968048a5e097254f85c202ea44aec |
|
06-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
Use cast<> + OpaquePtr.getAs<Decl> to add extra checking of our assumptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
5fcd52a6c94c7f93bd80062248353c45330da23a |
|
06-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
Fix possible null dereference by bailing out of CheckObjCPropertyAttributes() early if the Decl* is null. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
29fa69addf8b19871e7866c32c92b5d142c4bfbc |
|
02-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
Sema/Obj-C: Narrow type, and simplify. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
842f07b065ac481fce9d82d55cb62e36bac6c921 |
|
31-Mar-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Recognize __attribute__((NSObject)) directly applied on retain properties. (radar 7809468). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
f921a4868cf1876636f6684e7f68697b18c0cb47 |
|
23-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Improve diagnostic for @property/ivar type mismatch by including the types of the ivar and @property respectively. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
22f757b38da3fc9f17ea9e99524064fdfbca3456 |
|
23-Mar-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Set the relevent attributes declared in class extension and fix a missing diagnostics on assigning to a read-only property. Fixes radar 7766184. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
9944c769b69b1904a7b16d3ce10fbdc9c67c764f |
|
18-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Simplify code (and remove 'dyn_cast') by using ObjCProperyDecl::findPropertyDecl(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
9f550ff05d496e6b9480e5619a21d9da0c9e27c1 |
|
15-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Make 'findPropertyDecl()' a static method of ObjCPropertyDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
894ae6ad081465a3b168db7e60ab3f94e3730b57 |
|
15-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Correctly determine if the @property has been previously declared. If a property has the same name as the ivar it wraps then the old logic wouldn't find the previous property declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
e3d67bcc7b89b335dbcd097a299658057ea31097 |
|
12-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Split Sema::ActOnProperty() into two recursive functions to clearly separate the handling of class extensions from other cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
2d2f9368d35b3628c7e3b4563f74849a0f901a00 |
|
12-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Fix 80 col violations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
28685ab2ddeea146841bf2e277e25c7b32dfc9f6 |
|
12-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Move 'ActOn' methods to the beginning of the file so we can clearly see the parser entry points. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|
9d64c15223497f31899cc47fbe1531873dc06f2e |
|
12-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Split Sema logic for ObjC @property and @synthesize into a separate file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
|