diff options
author | Leonard Chan <leonardchan@google.com> | 2020-10-15 14:21:56 -0700 |
---|---|---|
committer | Leonard Chan <leonardchan@google.com> | 2020-10-15 14:24:38 -0700 |
commit | 79829a47040512fe54001db839ac59146ca55aec (patch) | |
tree | bf785cd8db647fc67698dd9839fc33365694c876 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 1992e30c2d751f6f1f6ad5190f84e37dece04f7f (diff) | |
download | llvm-79829a47040512fe54001db839ac59146ca55aec.zip llvm-79829a47040512fe54001db839ac59146ca55aec.tar.gz llvm-79829a47040512fe54001db839ac59146ca55aec.tar.bz2 |
Revert "[clang] Add -fc++-abi= flag for specifying which C++ ABI to use"
This reverts commits 683b308c07bf827255fe1403056413f790e03729 and
8487bfd4e9ae186f9f588ef989d27a96cc2438c9.
We will go for a more restricted approach that does not give freedom to
everyone to change ABIs on whichever platform.
See the discussion on https://reviews.llvm.org/D85802.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index aaf20ea..93b49ec 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -75,14 +75,19 @@ static llvm::cl::opt<bool> LimitedCoverage( static const char AnnotationSection[] = "llvm.metadata"; static CGCXXABI *createCXXABI(CodeGenModule &CGM) { - switch (CGM.getContext().getCXXABIKind()) { -#define ITANIUM_CXXABI(Name, Str) case TargetCXXABI::Name: -#define CXXABI(Name, Str) -#include "clang/Basic/TargetCXXABI.def" + switch (CGM.getTarget().getCXXABI().getKind()) { + case TargetCXXABI::Fuchsia: + case TargetCXXABI::GenericAArch64: + case TargetCXXABI::GenericARM: + case TargetCXXABI::iOS: + case TargetCXXABI::iOS64: + case TargetCXXABI::WatchOS: + case TargetCXXABI::GenericMIPS: + case TargetCXXABI::GenericItanium: + case TargetCXXABI::WebAssembly: + case TargetCXXABI::XL: return CreateItaniumCXXABI(CGM); -#define MICROSOFT_CXXABI(Name, Str) case TargetCXXABI::Name: -#define CXXABI(Name, Str) -#include "clang/Basic/TargetCXXABI.def" + case TargetCXXABI::Microsoft: return CreateMicrosoftCXXABI(CGM); } |