From 5d36a8cc700ef258df055baf95a248f854444f36 Mon Sep 17 00:00:00 2001 From: John McCall Date: Thu, 16 Jun 2011 00:03:19 +0000 Subject: Unconditionally #define the ARC ownership qualifiers, instead of #defining them only on Darwin tool chains. llvm-svn: 133112 --- clang/lib/Frontend/InitPreprocessor.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'clang/lib/Frontend') diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index f1e1d47713b..e1c394ea754 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -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); } -- cgit v1.2.3