The __weak and __strong defines are common to all darwin targets
and are even set in C mode. As such, move them to Targets.cpp.
__OBJC_GC__ is also darwin specific, but seems reasonable to always
define it when in objc-gc mode.
This fixes rdar://6761450
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68494 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Lex/Preprocessor.cpp b/lib/Lex/Preprocessor.cpp
index 9eaf140..139f310 100644
--- a/lib/Lex/Preprocessor.cpp
+++ b/lib/Lex/Preprocessor.cpp
@@ -500,15 +500,9 @@
if (PP.getLangOptions().ObjCNonFragileABI)
DefineBuiltinMacro(Buf, "__OBJC2__=1");
- if (PP.getLangOptions().getGCMode() == LangOptions::NonGC) {
- DefineBuiltinMacro(Buf, "__weak=");
- DefineBuiltinMacro(Buf, "__strong=");
- } else {
- DefineBuiltinMacro(Buf, "__weak=__attribute__((objc_gc(weak)))");
- DefineBuiltinMacro(Buf, "__strong=__attribute__((objc_gc(strong)))");
+ if (PP.getLangOptions().getGCMode() != LangOptions::NonGC)
DefineBuiltinMacro(Buf, "__OBJC_GC__=1");
- }
-
+
if (PP.getLangOptions().NeXTRuntime)
DefineBuiltinMacro(Buf, "__NEXT_RUNTIME__=1");
}