| Index: lib/CodeGen/ItaniumCXXABI.cpp
|
| diff --git a/lib/CodeGen/ItaniumCXXABI.cpp b/lib/CodeGen/ItaniumCXXABI.cpp
|
| index fd299d14c13cffea7be8756e695229e3c99d9553..66743d28546d56193568a2e23fc1d0c89fbd13c2 100644
|
| --- a/lib/CodeGen/ItaniumCXXABI.cpp
|
| +++ b/lib/CodeGen/ItaniumCXXABI.cpp
|
| @@ -339,6 +339,14 @@ CodeGen::CGCXXABI *CodeGen::CreateItaniumCXXABI(CodeGenModule &CGM) {
|
| return new ItaniumCXXABI(CGM, /* UseARMMethodPtrABI = */ true,
|
| /* UseARMGuardVarABI = */ true);
|
|
|
| + // @LOCALMOD-START Emscripten
|
| + case TargetCXXABI::Emscripten:
|
| + // Use ARM-style method pointers so that generated code does not assume
|
| + // anything about the alignment of function pointers.
|
| + return new ItaniumCXXABI(CGM, /* UseARMMethodPtrABI = */ true,
|
| + /* UseARMGuardVarABI = */ false);
|
| + // @LOCALMOD-END Emscripten
|
| +
|
| case TargetCXXABI::GenericItanium:
|
| if (CGM.getContext().getTargetInfo().getTriple().getArch()
|
| == llvm::Triple::le32) {
|
|
|