From 486754660bb926339aefcf012a3f848592babb8b Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 28 Jul 2018 11:06:01 +0000 Subject: Vendor import of clang trunk r338150: https://llvm.org/svn/llvm-project/cfe/trunk@338150 --- lib/CodeGen/CGCleanup.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib/CodeGen/CGCleanup.h') diff --git a/lib/CodeGen/CGCleanup.h b/lib/CodeGen/CGCleanup.h index 105c5629d50c0..93be3e6c1502a 100644 --- a/lib/CodeGen/CGCleanup.h +++ b/lib/CodeGen/CGCleanup.h @@ -230,7 +230,7 @@ public: }; /// A cleanup scope which generates the cleanup blocks lazily. -class LLVM_ALIGNAS(/*alignof(uint64_t)*/ 8) EHCleanupScope : public EHScope { +class alignas(8) EHCleanupScope : public EHScope { /// The nearest normal cleanup scope enclosing this one. EHScopeStack::stable_iterator EnclosingNormal; @@ -627,16 +627,21 @@ struct EHPersonality { static const EHPersonality MSVC_except_handler; static const EHPersonality MSVC_C_specific_handler; static const EHPersonality MSVC_CxxFrameHandler3; + static const EHPersonality GNU_Wasm_CPlusPlus; /// Does this personality use landingpads or the family of pad instructions /// designed to form funclets? - bool usesFuncletPads() const { return isMSVCPersonality(); } + bool usesFuncletPads() const { + return isMSVCPersonality() || isWasmPersonality(); + } bool isMSVCPersonality() const { return this == &MSVC_except_handler || this == &MSVC_C_specific_handler || this == &MSVC_CxxFrameHandler3; } + bool isWasmPersonality() const { return this == &GNU_Wasm_CPlusPlus; } + bool isMSVCXXPersonality() const { return this == &MSVC_CxxFrameHandler3; } }; } -- cgit v1.2.3