diff options
author | Dan Gohman <sunfish@mozilla.com> | 2014-04-25 15:51:06 -0700 |
---|---|---|
committer | Dan Gohman <sunfish@mozilla.com> | 2014-04-25 15:51:06 -0700 |
commit | ad32fdb927a37dba26cb8b56f3a6b11667fe6584 (patch) | |
tree | bc20982c69cde047d94c9a11b5a50e1d9d6545eb /lib/AST/ASTContext.cpp | |
parent | 926efa5d923dfd9555270a2bbb156bc30ce35fc9 (diff) |
Introduce an Emscripten C++ ABI.
Emscripten uses the Itanium C++ ABI for most things, except that it uses
ARM C++ ABI pointers to member functions, to avoid the overhead of aligning
functions.
Diffstat (limited to 'lib/AST/ASTContext.cpp')
-rw-r--r-- | lib/AST/ASTContext.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index 176aec53a2..b77977f7fd 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -651,6 +651,7 @@ CXXABI *ASTContext::createCXXABI(const TargetInfo &T) { case TargetCXXABI::GenericARM: case TargetCXXABI::iOS: return CreateARMCXXABI(*this); + case TargetCXXABI::Emscripten: // Same as Itanium at this level case TargetCXXABI::GenericAArch64: // Same as Itanium at this level case TargetCXXABI::GenericItanium: return CreateItaniumCXXABI(*this); @@ -7940,6 +7941,7 @@ MangleContext *ASTContext::createMangleContext() { case TargetCXXABI::GenericAArch64: case TargetCXXABI::GenericItanium: case TargetCXXABI::GenericARM: + case TargetCXXABI::Emscripten: case TargetCXXABI::iOS: return createItaniumMangleContext(*this, getDiagnostics()); case TargetCXXABI::Microsoft: |