diff options
author | Reid Kleckner <rnk@google.com> | 2017-11-29 21:35:34 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-11-29 21:35:34 +0000 |
commit | 9dae73b9dba791d4430d6981aeee66d0dd45fc6a (patch) | |
tree | 03d1b8e144baabd85ec84ef5933231462969e082 /clang/lib/CodeGen/CGException.cpp | |
parent | 2b86f21ce580d6f23dbb315389b2e49470d4071c (diff) | |
download | llvm-9dae73b9dba791d4430d6981aeee66d0dd45fc6a.zip llvm-9dae73b9dba791d4430d6981aeee66d0dd45fc6a.tar.gz llvm-9dae73b9dba791d4430d6981aeee66d0dd45fc6a.tar.bz2 |
[EH] Use __CxxFrameHandler3 for C++ EH in MS environments
Fixes regression introduced by r319297. MSVC environments still use SEH
unwind opcodes but they should use the Microsoft C++ EH personality, not
the mingw one.
llvm-svn: 319363
Diffstat (limited to 'clang/lib/CodeGen/CGException.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGException.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CGException.cpp b/clang/lib/CodeGen/CGException.cpp index d6a9538..6c9d9f1 100644 --- a/clang/lib/CodeGen/CGException.cpp +++ b/clang/lib/CodeGen/CGException.cpp @@ -205,12 +205,9 @@ const EHPersonality &EHPersonality::get(CodeGenModule &CGM, if (T.isWindowsMSVCEnvironment() && !L.ObjC1) { if (L.SjLjExceptions) return EHPersonality::GNU_CPlusPlus_SJLJ; - if (L.SEHExceptions) - return EHPersonality::GNU_CPlusPlus_SEH; if (L.DWARFExceptions) return EHPersonality::GNU_CPlusPlus; - else - return EHPersonality::MSVC_CxxFrameHandler3; + return EHPersonality::MSVC_CxxFrameHandler3; } if (L.CPlusPlus && L.ObjC1) |