From cd4cfb3e296632f5fae456ad8057e09e52df3d0d Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Fri, 10 Jun 2011 20:56:43 +0000 Subject: __OBJC__ is also a standard predefined macro. llvm-svn: 132855 --- clang/lib/Frontend/InitPreprocessor.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'clang/lib/Frontend/InitPreprocessor.cpp') diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 26230d6a57b..147a8df0376 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/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"); -- cgit v1.2.3