From: Nick Lewycky Date: Fri, 10 Jun 2011 20:56:43 +0000 (+0000) Subject: __OBJC__ is also a standard predefined macro. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=146480922cfd80b1ca4b022bf242481b3899c62b;p=clang __OBJC__ is also a standard predefined macro. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132855 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Frontend/InitPreprocessor.cpp b/lib/Frontend/InitPreprocessor.cpp index 26230d6a57..147a8df037 100644 --- a/lib/Frontend/InitPreprocessor.cpp +++ b/lib/Frontend/InitPreprocessor.cpp @@ -247,6 +247,9 @@ static void InitializeStandardPredefinedMacros(const TargetInfo &TI, Builder.defineMacro("__cplusplus", "199711L"); } + if (LangOpts.ObjC1) + Builder.defineMacro("__OBJC__"); + // Not "standard" per se, but available even with the -undef flag. if (LangOpts.AsmPreprocessor) Builder.defineMacro("__ASSEMBLER__"); @@ -295,7 +298,6 @@ static void InitializePredefinedMacros(const TargetInfo &TI, Builder.defineMacro("__GXX_EXPERIMENTAL_CXX0X__"); if (LangOpts.ObjC1) { - Builder.defineMacro("__OBJC__"); if (LangOpts.ObjCNonFragileABI) { Builder.defineMacro("__OBJC2__"); Builder.defineMacro("OBJC_ZEROCOST_EXCEPTIONS");