diff options
author | Reid Kleckner <reid@kleckner.net> | 2014-11-14 02:01:10 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2014-11-14 02:01:10 +0000 |
commit | e070b99b84e1a6bd31498333b1c3fa6fb356e6be (patch) | |
tree | af4df44dbd3002181f2fd3c9dff5ed49bb962ee5 /clang/lib/Basic/Targets.cpp | |
parent | d5fca9242501b708483efaf62e0f8ad86518569d (diff) | |
download | bcm5719-llvm-e070b99b84e1a6bd31498333b1c3fa6fb356e6be.tar.gz bcm5719-llvm-e070b99b84e1a6bd31498333b1c3fa6fb356e6be.zip |
Remove -fseh-exceptions in favor of checking the triple
This option was misleading because it looked like it enabled the
language feature of SEH (__try / __except), when this option was really
controlling which EH personality function to use. Mingw only supports
SEH and SjLj EH on x86_64, so we can simply do away with this flag.
llvm-svn: 221963
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 171ea588874..a9cbfb8538b 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -3546,6 +3546,10 @@ public: DefineStd(Builder, "WIN64", Opts); Builder.defineMacro("__MINGW64__"); addMinGWDefines(Opts, Builder); + + // GCC defines this macro when it is using __gxx_personality_seh0. + if (!Opts.SjLjExceptions) + Builder.defineMacro("__SEH__"); } }; } // end anonymous namespace |