From: Fariborz Jahanian Date: Thu, 2 Feb 2012 00:15:51 +0000 (+0000) Subject: objc2: add __has_feature(objc_default_synthesize_properties). X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f83a615ad0004fc4cca3e3c1ea2234a685487304;p=clang objc2: add __has_feature(objc_default_synthesize_properties). // rdar://10770497 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149565 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Lex/PPMacroExpansion.cpp b/lib/Lex/PPMacroExpansion.cpp index d8cd440391..8793ff5ac9 100644 --- a/lib/Lex/PPMacroExpansion.cpp +++ b/lib/Lex/PPMacroExpansion.cpp @@ -616,6 +616,7 @@ static bool HasFeature(const Preprocessor &PP, const IdentifierInfo *II) { .Case("objc_arc", LangOpts.ObjCAutoRefCount) .Case("objc_arc_weak", LangOpts.ObjCAutoRefCount && LangOpts.ObjCRuntimeHasWeak) + .Case("objc_default_synthesize_properties", LangOpts.ObjC2) .Case("objc_fixed_enum", LangOpts.ObjC2) .Case("objc_instancetype", LangOpts.ObjC2) .Case("objc_modules", LangOpts.ObjC2 && LangOpts.Modules) diff --git a/test/SemaObjC/default-synthesize.m b/test/SemaObjC/default-synthesize.m index d608ded97a..b4ae0de715 100644 --- a/test/SemaObjC/default-synthesize.m +++ b/test/SemaObjC/default-synthesize.m @@ -10,7 +10,9 @@ @end @implementation SynthItAll -//@synthesize howMany, what; +#if !__has_feature(objc_default_synthesize_properties) +@synthesize howMany, what; +#endif @end @@ -20,7 +22,9 @@ @end @implementation SynthSetter -//@synthesize howMany, what; +#if !__has_feature(objc_default_synthesize_properties) +@synthesize howMany, what; +#endif - (int) howMany { return self.howMany; @@ -40,7 +44,9 @@ @end @implementation SynthGetter -//@synthesize howMany, what; +#if !__has_feature(objc_default_synthesize_properties) +@synthesize howMany, what; +#endif // - (int) howMany - (void) setHowMany: (int) value { @@ -61,7 +67,9 @@ @end @implementation SynthNone -//@synthesize howMany, what; // REM: Redundant anyway +#if !__has_feature(objc_default_synthesize_properties) +@synthesize howMany, what; // REM: Redundant anyway +#endif - (int) howMany { return self.howMany; @@ -112,7 +120,9 @@ @implementation D - (int) Meth { return self.PROP; } +#if __has_feature(objc_default_synthesize_properties) @synthesize PROP=IVAR; +#endif @end // rdar://10567333