Move the decision about the kind of CGCXXABI to make inside

the family-specific files.

llvm-svn: 173530
This commit is contained in:
John McCall
2013-01-25 23:36:14 +00:00
parent 7211ac15bb
commit 5762592b49
3 changed files with 24 additions and 12 deletions

View File

@@ -53,12 +53,12 @@ static const char AnnotationSection[] = "llvm.metadata";
static CGCXXABI &createCXXABI(CodeGenModule &CGM) {
switch (CGM.getContext().getTargetInfo().getCXXABI().getKind()) {
// For IR-generation purposes, there's no significant difference
// between the ARM and iOS ABIs.
case TargetCXXABI::GenericARM: return *CreateARMCXXABI(CGM);
case TargetCXXABI::iOS: return *CreateARMCXXABI(CGM);
case TargetCXXABI::GenericItanium: return *CreateItaniumCXXABI(CGM);
case TargetCXXABI::Microsoft: return *CreateMicrosoftCXXABI(CGM);
case TargetCXXABI::GenericARM:
case TargetCXXABI::iOS:
case TargetCXXABI::GenericItanium:
return *CreateItaniumCXXABI(CGM);
case TargetCXXABI::Microsoft:
return *CreateMicrosoftCXXABI(CGM);
}
llvm_unreachable("invalid C++ ABI kind");