diff options
| author | Hans Wennborg <hans@hanshq.net> | 2014-06-10 20:46:38 +0000 |
|---|---|---|
| committer | Hans Wennborg <hans@hanshq.net> | 2014-06-10 20:46:38 +0000 |
| commit | 35bbf1cf8a2ec3bf2526f1982d97a9f6a5aec347 (patch) | |
| tree | 394695877e3b99189b0aa2774c8805803fc0a8b3 | |
| parent | 826ba908e2313db7b79fd88f06108205cd323463 (diff) | |
| download | bcm5719-llvm-35bbf1cf8a2ec3bf2526f1982d97a9f6a5aec347.tar.gz bcm5719-llvm-35bbf1cf8a2ec3bf2526f1982d97a9f6a5aec347.zip | |
Do not predefine __EXCEPTIONS in clang-cl (PR19977)
Patch by Ehsan Akhgari! (Test tweak by me.)
Differential Revision: http://reviews.llvm.org/D4065
llvm-svn: 210582
| -rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 2 | ||||
| -rw-r--r-- | clang/test/Frontend/exceptions.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index fb52eb489e0..dbb59b4f9f1 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -491,7 +491,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI, Builder.defineMacro("__BLOCKS__"); } - if (LangOpts.CXXExceptions) + if (!LangOpts.MSVCCompat && LangOpts.CXXExceptions) Builder.defineMacro("__EXCEPTIONS"); if (LangOpts.RTTI) Builder.defineMacro("__GXX_RTTI"); diff --git a/clang/test/Frontend/exceptions.c b/clang/test/Frontend/exceptions.c new file mode 100644 index 00000000000..4bbaaa39bfa --- /dev/null +++ b/clang/test/Frontend/exceptions.c @@ -0,0 +1,6 @@ +// RUN: %clang_cc1 -fms-compatibility -fexceptions -fcxx-exceptions -verify %s +// expected-no-diagnostics + +#if defined(__EXCEPTIONS) +#error __EXCEPTIONS should not be defined. +#endif |

