summaryrefslogtreecommitdiffstats
path: root/lib/Basic
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-11-14 02:01:10 +0000
committerReid Kleckner <reid@kleckner.net>2014-11-14 02:01:10 +0000
commitb27216c806161a863227e115a7e6598b89f28445 (patch)
tree0cf4c94b8ce911adcf39379a7699a4d08b094ac6 /lib/Basic
parent22dc02b19ced0534aba95ded55b099b4da7b934a (diff)
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221963 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic')
-rw-r--r--lib/Basic/Targets.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index 171ea58887..a9cbfb8538 100644
--- a/lib/Basic/Targets.cpp
+++ b/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