diff options
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 1dfbf187554..67c1faddc3a 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -677,8 +677,14 @@ static void InitializePredefinedMacros(const TargetInfo &TI, Builder.defineMacro("__EXCEPTIONS"); if (!LangOpts.MSVCCompat && LangOpts.RTTI) Builder.defineMacro("__GXX_RTTI"); + if (LangOpts.SjLjExceptions) Builder.defineMacro("__USING_SJLJ_EXCEPTIONS__"); + else if (LangOpts.SEHExceptions) + Builder.defineMacro("__SEH__"); + else if (LangOpts.DWARFExceptions && + (TI.getTriple().isThumb() || TI.getTriple().isARM())) + Builder.defineMacro("__ARM_DWARF_EH__"); if (LangOpts.Deprecated) Builder.defineMacro("__DEPRECATED"); |