forked from OSchip/llvm-project
Unconditionally #define the ARC ownership qualifiers, instead of #defining
them only on Darwin tool chains. llvm-svn: 133112
This commit is contained in:
parent
8b098b0d57
commit
5d36a8cc70
|
@ -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)))");
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue