| Index: include/clang/Basic/TargetCXXABI.h
 | 
| diff --git a/include/clang/Basic/TargetCXXABI.h b/include/clang/Basic/TargetCXXABI.h
 | 
| index 671778a207cefb36d00e12bc8a13bc4cc4691cd4..42a976b3afdeb420d92cd700c504cada36c3ce85 100644
 | 
| --- a/include/clang/Basic/TargetCXXABI.h
 | 
| +++ b/include/clang/Basic/TargetCXXABI.h
 | 
| @@ -79,11 +79,6 @@ public:
 | 
|      ///   - guard variables  are smaller.
 | 
|      GenericAArch64,
 | 
|  
 | 
| -    // @LOCALMOD-START Emscripten
 | 
| -    /// Emscripten uses the Itanium C++, with the exception that it uses
 | 
| -    /// ARM-style pointers to member functions.
 | 
| -    Emscripten,
 | 
| -    // @LOCALMOD-END Emscripten
 | 
|      /// The generic Mips ABI is a modified version of the Itanium ABI.
 | 
|      ///
 | 
|      /// At the moment, only change from the generic ABI in this case is:
 | 
| @@ -123,7 +118,6 @@ public:
 | 
|      case GenericAArch64:
 | 
|      case GenericItanium:
 | 
|      case GenericARM:
 | 
| -    case Emscripten: // @LOCALMOD Emscripten
 | 
|      case iOS:
 | 
|      case iOS64:
 | 
|      case GenericMIPS:
 | 
| @@ -141,7 +135,6 @@ public:
 | 
|      case GenericAArch64:
 | 
|      case GenericItanium:
 | 
|      case GenericARM:
 | 
| -    case Emscripten: // @LOCALMOD Emscripten
 | 
|      case iOS:
 | 
|      case iOS64:
 | 
|      case GenericMIPS:
 | 
| @@ -153,30 +146,6 @@ public:
 | 
|      llvm_unreachable("bad ABI kind");
 | 
|    }
 | 
|  
 | 
| -  // @LOCALMOD-START Emscripten
 | 
| -  /// \brief Are pointers to member functions differently aligned?
 | 
| -  bool arePointersToMemberFunctionsAligned() const {
 | 
| -    switch (getKind()) {
 | 
| -    case Emscripten:
 | 
| -      // Emscripten uses table indices for function pointers and therefore
 | 
| -      // doesn't require alignment.
 | 
| -      return false;
 | 
| -    case GenericARM:
 | 
| -    case GenericAArch64:
 | 
| -      // TODO: ARM-style pointers to member functions put the discriminator in
 | 
| -      //       the this adjustment, so they don't require functions to have any
 | 
| -      //       special alignment and could therefore also return false.
 | 
| -    case GenericItanium:
 | 
| -    case GenericMIPS:
 | 
| -    case iOS:
 | 
| -    case iOS64:
 | 
| -    case Microsoft:
 | 
| -      return true;
 | 
| -    }
 | 
| -    llvm_unreachable("bad ABI kind");
 | 
| -  }
 | 
| -  // @LOCALMOD-END Emscripten
 | 
| -
 | 
|    /// \brief Is the default C++ member function calling convention
 | 
|    /// the same as the default calling convention?
 | 
|    bool isMemberFunctionCCDefault() const {
 | 
| @@ -249,7 +218,6 @@ public:
 | 
|  
 | 
|      case GenericAArch64:
 | 
|      case GenericItanium:
 | 
| -    case Emscripten: // @LOCALMOD Emscripten
 | 
|      case iOS:   // old iOS compilers did not follow this rule
 | 
|      case Microsoft:
 | 
|      case GenericMIPS:
 | 
| @@ -297,7 +265,6 @@ public:
 | 
|      case GenericItanium:
 | 
|      case GenericAArch64:
 | 
|      case GenericARM:
 | 
| -    case Emscripten: // @LOCALMOD Emscripten
 | 
|      case iOS:
 | 
|      case GenericMIPS:
 | 
|        return UseTailPaddingUnlessPOD03;
 | 
| 
 |