aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Basic/TargetCXXABI.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Basic/TargetCXXABI.h')
-rw-r--r--include/clang/Basic/TargetCXXABI.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/clang/Basic/TargetCXXABI.h b/include/clang/Basic/TargetCXXABI.h
index c9d28f8774..29e4e47076 100644
--- a/include/clang/Basic/TargetCXXABI.h
+++ b/include/clang/Basic/TargetCXXABI.h
@@ -71,6 +71,10 @@ public:
/// - guard variables are smaller.
GenericAArch64,
+ /// Emscripten uses the Itanium C++, with the exception that it uses
+ /// ARM-style pointers to member functions.
+ Emscripten,
+
/// The Microsoft ABI is the ABI used by Microsoft Visual Studio (and
/// compatible compilers).
///
@@ -104,6 +108,7 @@ public:
case GenericAArch64:
case GenericItanium:
case GenericARM:
+ case Emscripten:
case iOS:
return true;
@@ -119,6 +124,7 @@ public:
case GenericAArch64:
case GenericItanium:
case GenericARM:
+ case Emscripten:
case iOS:
return false;
@@ -187,6 +193,7 @@ public:
case GenericAArch64:
case GenericItanium:
+ case Emscripten:
case iOS: // old iOS compilers did not follow this rule
case Microsoft:
return true;
@@ -233,6 +240,7 @@ public:
case GenericItanium:
case GenericAArch64:
case GenericARM:
+ case Emscripten:
case iOS:
return UseTailPaddingUnlessPOD03;