diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-09-12 15:17:19 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-09-12 15:17:19 +0000 |
commit | b63ab9477c8e1f7658a6249c181a5b953b08178f (patch) | |
tree | 0a91bcb7f60a7d526d4fcd8cd17f69c30762bafe /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | 97a2a5c4dc039e97ae09b826d5f1b08fe7502dc2 (diff) | |
download | bcm5719-llvm-b63ab9477c8e1f7658a6249c181a5b953b08178f.tar.gz bcm5719-llvm-b63ab9477c8e1f7658a6249c181a5b953b08178f.zip |
Only predefine the __EXCEPTIONS macro if C++ exceptions are turned on.
Only predefine the OBJC_ZEROCOST_EXCEPTIONS macro if Objective-C
exceptions are turned on. Fixes PR10910.
llvm-svn: 139496
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 125242b5d49..d356c66c94e 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -426,7 +426,9 @@ static void InitializePredefinedMacros(const TargetInfo &TI, if (LangOpts.ObjC1) { if (LangOpts.ObjCNonFragileABI) { Builder.defineMacro("__OBJC2__"); - Builder.defineMacro("OBJC_ZEROCOST_EXCEPTIONS"); + + if (LangOpts.ObjCExceptions) + Builder.defineMacro("OBJC_ZEROCOST_EXCEPTIONS"); } if (LangOpts.getGCMode() != LangOptions::NonGC) @@ -452,7 +454,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI, Builder.defineMacro("__BLOCKS__"); } - if (LangOpts.Exceptions) + if (LangOpts.CXXExceptions) Builder.defineMacro("__EXCEPTIONS"); if (LangOpts.RTTI) Builder.defineMacro("__GXX_RTTI"); |