History log of /external/clang/lib/Sema/SemaObjCProperty.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a6e28f27c668775e3927b9c0be0a17636fed16fc 24-Aug-2012 Fariborz Jahanian <fjahanian@apple.com> objective-C: When checking for valid overriden property
in class extension, assume default is rewdwrite and don't
issue any diagnostics, privided other ownership models
are ok.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
a8eaf008e92759142982f7b40720b2b2674bd663 23-Aug-2012 Richard Smith <richard-llvm@metafoo.co.uk> Fix undefined behavior: member function calls where 'this' is a null pointer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
d48bcb2f4dedf8e7b654cb017968b3d7b6663a57 22-Aug-2012 Benjamin Kramer <benny.kra@googlemail.com> Reduce duplicated hash map lookups.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
d9f95b35dc4fc168a167a9b9b61a5f9e1d0462ba 21-Aug-2012 Fariborz Jahanian <fjahanian@apple.com> change function name in my last patch.
// rdar://12103400


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
dad633b0a0955ceb4579e9508224562ad41b6a8d 21-Aug-2012 Fariborz Jahanian <fjahanian@apple.com> objective-C: Change rules for overriding properties in
class extensions a little. clang now allows readonly property
with no ownership rule (assign, unsafe_unretained, weak, retain,
strong, or copy) with a readwrite property with an ownership rule.
// rdar://12103400


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
0a7dd788dbef975f35f273c7ab913f480f7edd60 21-Aug-2012 John McCall <rjmccall@apple.com> Screw around with ObjCRuntime some more, changing the
diagnostics for bad deployment targets and adding a few
more predicates. Includes a patch by Jonathan Schleifer
to enable ARC for ObjFW.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
d64c2eb83d7ec86faa4f2554935a977a19573f59 21-Aug-2012 John McCall <rjmccall@apple.com> Fix a pair of bugs relating to properties in ARC.

First, when synthesizing an explicitly strong/retain/copy property
of Class type, don't pretend during compatibility checking that the
property is actually assign. Instead, resolve incompatibilities
by secretly changing the type of *implicitly* __unsafe_unretained
Class ivars to be strong. This is moderately evil but better than
what we were doing.

Second, when synthesizing the setter for a strong property of
non-retainable type, be sure to use objc_setProperty. This is
possible when the property is decorated with the NSObject
attribute. This is an ugly, ugly corner of the language, and
we probably ought to deprecate it.

The first is rdar://problem/12039404; the second was noticed by
inspection while fixing the first.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
fbffb5f91e34c4c455cdeb9d4331b128f9511a48 08-Aug-2012 Benjamin Kramer <benny.kra@googlemail.com> Remove unused variables.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
abd56c816e9164b17bb3e7154a511b0c9896ffdb 13-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Attaching comments to declarations during parsing: handle more Objective-C declarations.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
2578532c7323efdd68ec42a31b7bdf72e5218867 29-Jun-2012 Fariborz Jahanian <fjahanian@apple.com> fix a typo in my last commit. I thought I recompiled,
but apparently I did not.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
20e7d992140cc6bc94f2e65f3638346527150756 29-Jun-2012 Fariborz Jahanian <fjahanian@apple.com> objc diagnostic: pass IdentifierInfo* to the diagnostic system
to produce quotes instead of adding qoute to the test.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
7c16d58f8546365d1f56468e9ae1ecfa182afca0 27-Jun-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c mrc: Issue warning for mrc, as is done for arc, when
property retains a block object as it could be on
the stack. // rdar://11761511


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
c78ff27813288b30ee566477705353ae660fd577 21-Jun-2012 Fariborz Jahanian <fjahanian@apple.com> objc: tweak my last patch to warn if class extension
has not overridden the property. // rdar://11656982


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
cea06d26b8f3a2599bba79f7e072b7550de949a7 21-Jun-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c: Normally, a property cannot be both 'readonly' and having a
"write" attribute (copy/retain/etc.). But, property declaration in
primary class and protcols are tentative as they may be overridden
into a 'readwrite' property in class extensions. Postpone diagnosing
such warnings until the class implementation is seen.
// rdar://11656982


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
e95f8ef6563bdf26de5294873733a3425c09db42 20-Jun-2012 Fariborz Jahanian <fjahanian@apple.com> objc: improved diagnostic when property autosynthesis may cause
change in behavior. // rdar://11671080


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
260611a32535c851237926bfcf78869b13c07d5b 20-Jun-2012 John McCall <rjmccall@apple.com> Restructure how the driver communicates information about the
target Objective-C runtime down to the frontend: break this
down into a single target runtime kind and version, and compute
all the relevant information from that. This makes it
relatively painless to add support for new runtimes to the
compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z,
available at the driver level as a better and more general
alternative to -fgnu-runtime and -fnext-runtime. This new
concept of an Objective-C runtime also encompasses what we
were previously separating out as the "Objective-C ABI", so
fragile vs. non-fragile runtimes are now really modelled as
different kinds of runtime, paving the way for better overall
differentiation.

As a sort of special case, continue to accept the -cc1 flag
-fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak.

I won't go so far as to say "no functionality change", even
ignoring the new driver flag, but subtle changes in driver
semantics are almost certainly not intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
dd3284b17829adfd542ecf4a7b4423dce1d7502b 20-Jun-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c: warn when autosynthesizing a property which has same
name as an existing ivar since this is common source of error
when people remove @synthesize to take advantage of autosynthesis.
// rdar://11671080


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
699c9044c7d53a2774d0dd261a6901dd2c4a545f 15-Jun-2012 James Dennett <jdennett@google.com> Documentation cleanup:
* Removed \param comments for parameters that no longer exist;
* Fixed a "\para" typo to "\param";
* Escaped @, # and \ symbols as needed in Doxygen comments;
* Added use of \brief to output short summaries.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
390fff8e8b480fa146ffc14cbc63a1c2f9e2d206 08-Jun-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> [libclang/AST]
AST: For auto-synthesized ivars give them the location of the related
property (previously they had no source location). This allows them
to be indexed by libclang.

libclang: Make sure synthesized ivars are indexed before the methods that
may reference them.

Fixes rdar://11607001.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
581deb3da481053c4993c7600f97acf7768caac5 06-Jun-2012 David Blaikie <dblaikie@gmail.com> Revert Decl's iterators back to pointer value_type rather than reference value_type

In addition, I've made the pointer and reference typedef 'void' rather than T*
just so they can't get misused. I would've omitted them entirely but
std::distance likes them to be there even if it doesn't use them.

This rolls back r155808 and r155869.

Review by Doug Gregor incorporating feedback from Chandler Carruth.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
490a52b4947381879a47b4251db5fb81cdf5d02b 29-May-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c: fix a sema and IRGen crash when property
getter result type is safe but does not match with property
type resulting in spurious warning followed by crash in
IRGen. // rdar://11515196


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
811bfcd823d51db6a06b3fd5a5943ff910b79d68 27-May-2012 Benjamin Kramer <benny.kra@googlemail.com> Use the SelectorSet typedef more widely throughout Sema.

While there make it a SmallPtrSet.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
5bf0e3522fac400cf7bf49a775554f0fc942b336 21-May-2012 Fariborz Jahanian <fjahanian@apple.com> Remove unused argument in my last patch.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
edcc27f6171fd8cc736d057d87b128252fcb7344 21-May-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c: When default synthesizing readonly IBOutlet properties
provide a 'fixit' to change 'readonly' to 'readwrite'. // rdar://11448209


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
2b309fb125906b1fb10efb1890860cd042fbfab3 19-May-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c: Warn if default synthesizing readonly IBOutlet properties
and provide a 'fixit' to change 'readonly' to 'readwrite'. 'fixit'
part needs little more work. // rdar://11448209


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
9abf88c9286d7465ce18285f87bb302f588b59fc 16-May-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c: perform strict type checking on property
type and its accessor type and issue error if types
are incompatible, instead of crashing in IRgen.
// rdar://1105153


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
744147138cd2a77320c431578da130cc3d81a1d5 15-May-2012 Fariborz Jahanian <fjahanian@apple.com> objc: avoid duplicate diagnostics on certain type mismatches
between property and its backing ivar.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
e15db6f0d226a3bc88d244512d1004c7c1c07391 09-May-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> [AST/libclang] Speed up clang_getOverriddenCursors() considerably by reserving a bit
in ObjCMethodDecl to indicate whether the method does not override any other method,
which is the majority of cases.

That way we can avoid unnecessary work doing lookups, especially when PCH is involved.

rdar://11360082

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
5ea66619a3108e2985e952b9a60a84316d464b25 08-May-2012 Fariborz Jahanian <fjahanian@apple.com> Fixes a typo. note_xxx not not_xxx.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
d10099e5c8238fa0327f03921cf2e3c8975c881e 04-May-2012 Douglas Gregor <dgregor@apple.com> Move Sema::RequireCompleteType() and Sema::RequireCompleteExprType()
off PartialDiagnostic. PartialDiagnostic is rather heavyweight for
something that is in the critical path and is rarely used. So, switch
over to an abstract-class-based callback mechanism that delays most of
the work until a diagnostic is actually produced. Good for ~11k code
size reduction in the compiler and 1% speedup in -fsyntax-only on the
code in <rdar://problem/11004361>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
975eef64182a78d1afc0f3da8cba4cb961cda5e4 03-May-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c: warn for properties being default synthesized
under -Wobjc-missing-property-synthesis which must be
opted-in. // rdar://11295716


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
e4c043d3fdd0f98ab724aa4f1419cec9985ea2c4 02-May-2012 Eli Friedman <eli.friedman@gmail.com> Add a missing RequireCompleteType call when synthesizing properties. <rdar://problem/11333367>.

While I'm here, fix source locations for other diagnostics related to property synthesis.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
262bc18e32500558af7cb0afa205b34bd37bafed 30-Apr-2012 David Blaikie <dblaikie@gmail.com> Remove the ref/value inconsistency in filter_decl_iterator.

filter_decl_iterator had a weird mismatch where both op* and op-> returned T*
making it difficult to generalize this filtering behavior into a reusable
library of any kind.

This change errs on the side of value, making op-> return T* and op* return
T&.

(reviewed by Richard Smith)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
1b7f9cbed1b96b58a6e5f7808ebc9345a76a0936 13-Mar-2012 Richard Smith <richard-llvm@metafoo.co.uk> Fix PR10447: lazily building name lookup tables for DeclContexts was broken.
The deferred lookup table building step couldn't accurately tell which Decls
should be included in the lookup table, and consequently built different tables
in some cases.

Fix this by removing lazy building of DeclContext name lookup tables. In
practice, the laziness was frequently not worthwhile in C++, because we
performed lookup into most DeclContexts. In C, it had a bit more value,
since there is no qualified lookup.

In the place of lazy lookup table building, we simply don't build lookup tables
for function DeclContexts at all. Such name lookup tables are not useful, since
they don't capture the scoping information required to correctly perform name
lookup in a function scope.

The resulting performance delta is within the noise on my testing, but appears
to be a very slight win for C++ and a very slight loss for C. The C performance
can probably be recovered (if it is a measurable problem) by avoiding building
the lookup table for the translation unit.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
4e4d08403ca5cfd4d558fa2936215d3a4e5a528d 11-Mar-2012 David Blaikie <dblaikie@gmail.com> Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST).

The member variable is always "LangOpts" and the member function is always "getLangOpts".

Reviewed by Chris Lattner

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
f4b88a45902af1802a1cb42ba48b1c474474f228 10-Mar-2012 John McCall <rjmccall@apple.com> Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to
track whether the referenced declaration comes from an enclosing
local context. I'm amenable to suggestions about the exact meaning
of this bit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
77bfb8b43ec3f7dee3a71f6e854b03ad29dab84f 29-Feb-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c: provide fixit hint when atomic property does not
have matching user defined setter/getter and a warning is issued.
In this case, a fixit note is displayed. // rdar://10267155


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
f911242f43ae1b0a85c323631fe817df95c9cbe9 28-Feb-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> [AST] When we @synthesize a property with a user-defined ivar name,
make sure to record the source location of the ivar name.
[libclang] When indexing @synthesized objc methods, report the @implementation
as the lexical container.

Fixes rdar://10905472

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
d7c15a64ba8ebdca0dd48dd1d2f233107d34494e 28-Feb-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> [AST] Associate the getter/setter methods to a property of a objc class extension.
[libclang] Index the getter/setter methods of a property of a objc class extension.

Fixes rdar://10907597

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
ac37150c13c4e6f54551c52a1118f105be5f136b 23-Feb-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c default synthesis. classes which adopt protocol properties
must still auto synthesize those propeties which have been redeclared
in the class. // rdar://10907410



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
977ea7864a50eee39f6bef8a5a79154ac9ba4b3e 21-Feb-2012 John McCall <rjmccall@apple.com> Don't crash on attempts to synthesize an invalid property.
rdar://problem/10904479

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
f7ccbad5d9949e7ddd1cbef43d482553b811e026 05-Feb-2012 Dylan Noblesmith <nobled@dreamwidth.org> Basic: import SmallString<> into clang namespace

(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
8fe83e1df954d72c0f4ffc15d20a5222ec151c21 04-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> Move a method from IdentifierTable.h out of line and remove the SmallString include.

Fix all the transitive include users.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
ad7eff2faf517779689327dc268817c2c2c8ebc4 02-Feb-2012 Fariborz Jahanian <fjahanian@apple.com> Further enhance comment for property in continuation class.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
ff2a0ecae1d7692dbb63aa540dba41a8c21d7ee4 02-Feb-2012 Fariborz Jahanian <fjahanian@apple.com> objc: comment the code which allows narroing of property object
type in continuation class.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
e23518342e326e3d6e9139f05384f030e2a94d4a 02-Feb-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c: When redeclaraing in continuation class a 'readonly'
property to 'readwrite', also allow redeclaration of
property type to a narrowring object type.
// rdar://10790488


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
3efd348d3586b22bb0153f17181128a1b3c41140 11-Jan-2012 Fariborz Jahanian <fjahanian@apple.com> minor refactoring to improve compile-time performance.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
015f608042a1d247899866849e69a4e9a1aff6a8 11-Jan-2012 Fariborz Jahanian <fjahanian@apple.com> objc-arc: evaluate 'readonly' property with no known
life-time to that of its backing 'ivar's lifetime.
// rdar://10558871


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
20abee6b95c4f5a61e471b4b616439280ca4a81b 10-Jan-2012 Fariborz Jahanian <fjahanian@apple.com> objc++: patch for IRgen for atomic properties of
c++ objects with non-trivial assignment/copy functions.
Also, one additional sema check. // rdar://6137845


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
71207fc0470e1eee40a2951cd5cc3ff47725b755 05-Jan-2012 Ted Kremenek <kremenek@apple.com> After further discussion, rename attribute 'objc_disable_automatic_synthesis' to 'objc_requires_property_definitions'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
da611a74c408af0f9526acc690b85214bf180852 05-Jan-2012 Fariborz Jahanian <fjahanian@apple.com> objc: When issuing warning for missing synthesis for
properties in classes declared with objc_suppress_autosynthesis
attribute, pinpoint location of the said class in a note.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
9f37cd1810646ffc9002c7a6477fe158ee15ede4 04-Jan-2012 Fariborz Jahanian <fjahanian@apple.com> In non-gc, non-arc mode, property of 'Class' type
variety is treated as a 'void *'. No need to issue
warning reserved for objc object properties.
// rdar://10565506


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
eb4f2c56c298071d58b441ccf801b039be93788a 03-Jan-2012 Fariborz Jahanian <fjahanian@apple.com> objc: use objc_suppress_autosynthesis attribute on classes
which should not be default synthesized.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
f8aba8c618920db8f6ef2db0c554b0c270503cef 15-Dec-2011 Fariborz Jahanian <fjahanian@apple.com> objc: do not auto synthesize properties declared in
protocols; with a warning. // rdar://10567333


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
60ef308e51c71b760d7f598c1b763ceb7b768148 15-Dec-2011 Douglas Gregor <dgregor@apple.com> Replace all comparisons between ObjCInterfaceDecl pointers with calls
to declaresSameEntity(), as a baby step toward tracking forward
declarations of Objective-C classes precisely. Part of
<rdar://problem/10583531>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
6dce88d9f71cd4be18554af94145a9147b363199 09-Dec-2011 Fariborz Jahanian <fjahanian@apple.com> objc-arc: diagnose synthesis of a 'weak unavailable' property.
// rdar://10535245


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
d3c147f4b225a8372c90e07ae3eed0dca9ffb33f 28-Nov-2011 Fariborz Jahanian <fjahanian@apple.com> objc: turn warning for property type mismatch in
primary and its continuation class into error.
// rdar://10142679


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
c80553efdc269dabd4ed0c3210555f45729ab5dd 14-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [PCH] Do not crash if a class extension in a chained PCH introduces/redeclares a property.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
f21a92d35953adb038ffbe37cd1a4083e0df0ec0 08-Nov-2011 Fariborz Jahanian <fjahanian@apple.com> objc-arc: 'readonly' property of retainable object
type is strong by default too. // rdar://10410903


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
dbbdec994f5a96b5c25aaa679cd86ecabf545f7b 06-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> Make sure when setting AttributesAsWritten of a property that they do not
include ownership qualifiers from the type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
48a98c7a8467a9570d2fc7f2aab7f5273a3e218e 02-Nov-2011 Fariborz Jahanian <fjahanian@apple.com> objc: warn if a readonly property has a setter attribute too.
// rdar://10357768


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
3c3b7f90a863af43fa63043d396553ecf205351c 25-Oct-2011 John McCall <rjmccall@apple.com> Restore r142914 and r142915, now with missing file and apparent
GCC compiler workaround.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
327a50f46449c946c42d50d97689bcb30e2af7d9 25-Oct-2011 NAKAMURA Takumi <geek4civic@gmail.com> Revert r142914 and r142915, due to possibly missing file.

r142914: "Introduce a placeholder type for "pseudo object""
r142915: "Pull the pseudo-object stuff into its own file."

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
a1b852f8e1bee5ed3604ee483803cef39ce57a20 25-Oct-2011 John McCall <rjmccall@apple.com> Introduce a placeholder type for "pseudo object"
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.




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaObjCProperty.cpp
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