]> granicus.if.org Git - clang/commitdiff
Unconditionally #define the ARC ownership qualifiers, instead of #defining
authorJohn McCall <rjmccall@apple.com>
Thu, 16 Jun 2011 00:03:19 +0000 (00:03 +0000)
committerJohn McCall <rjmccall@apple.com>
Thu, 16 Jun 2011 00:03:19 +0000 (00:03 +0000)
them only on Darwin tool chains.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133112 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets.cpp
lib/Frontend/InitPreprocessor.cpp

index 541a1ed59545117e4864200c16cad05d4d0e2bba..40840275dab987d42be037c6f3ca646ce9228900 100644 (file)
@@ -84,14 +84,7 @@ static void getDarwinDefines(MacroBuilder &Builder, const LangOptions &Opts,
   Builder.defineMacro("__MACH__");
   Builder.defineMacro("OBJC_NEW_PROPERTIES");
 
-  if (Opts.ObjCAutoRefCount) {
-    Builder.defineMacro("__weak", "__attribute__((objc_lifetime(weak)))");
-    Builder.defineMacro("__strong", "__attribute__((objc_lifetime(strong)))");
-    Builder.defineMacro("__autoreleasing",
-                        "__attribute__((objc_lifetime(autoreleasing)))");
-    Builder.defineMacro("__unsafe_unretained",
-                        "__attribute__((objc_lifetime(none)))");
-  } else {
+  if (!Opts.ObjCAutoRefCount) {
     // __weak is always defined, for use in blocks and with objc pointers.
     Builder.defineMacro("__weak", "__attribute__((objc_gc(weak)))");
 
index f1e1d47713b2fd87347f0314db699ca10137de52..e1c394ea7546621c3231de55a8ebb14c2697d566 100644 (file)
@@ -606,6 +606,15 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
   if (LangOpts.FastRelaxedMath)
     Builder.defineMacro("__FAST_RELAXED_MATH__");
 
+  if (LangOpts.ObjCAutoRefCount) {
+    Builder.defineMacro("__weak", "__attribute__((objc_lifetime(weak)))");
+    Builder.defineMacro("__strong", "__attribute__((objc_lifetime(strong)))");
+    Builder.defineMacro("__autoreleasing",
+                        "__attribute__((objc_lifetime(autoreleasing)))");
+    Builder.defineMacro("__unsafe_unretained",
+                        "__attribute__((objc_lifetime(none)))");
+  }
+
   // Get other target #defines.
   TI.getTargetDefines(LangOpts, Builder);
 }