Browse Source

Add XCOFF triple object format type for AIX

This patch adds an XCOFF triple object format type into LLVM.
This XCOFF triple object file type will be used later by object file and assembly generation for the AIX platform.

Differential Revision: https://reviews.llvm.org/D58930

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@355989 91177308-0d34-0410-b5e6-96231b3b80d8
Jason Liu 6 years ago
parent
commit
85a69c7d77
2 changed files with 8 additions and 0 deletions
  1. 6 0
      lib/CodeGen/BackendUtil.cpp
  2. 2 0
      lib/CodeGen/CodeGenModule.cpp

+ 6 - 0
lib/CodeGen/BackendUtil.cpp

@@ -1447,6 +1447,9 @@ static const char* getSectionNameForBitcode(const Triple &T) {
   case Triple::Wasm:
   case Triple::Wasm:
   case Triple::UnknownObjectFormat:
   case Triple::UnknownObjectFormat:
     return ".llvmbc";
     return ".llvmbc";
+  case Triple::XCOFF:
+    llvm_unreachable("XCOFF is not yet implemented");
+    break;
   }
   }
   llvm_unreachable("Unimplemented ObjectFormatType");
   llvm_unreachable("Unimplemented ObjectFormatType");
 }
 }
@@ -1460,6 +1463,9 @@ static const char* getSectionNameForCommandline(const Triple &T) {
   case Triple::Wasm:
   case Triple::Wasm:
   case Triple::UnknownObjectFormat:
   case Triple::UnknownObjectFormat:
     return ".llvmcmd";
     return ".llvmcmd";
+  case Triple::XCOFF:
+    llvm_unreachable("XCOFF is not yet implemented");
+    break;
   }
   }
   llvm_unreachable("Unimplemented ObjectFormatType");
   llvm_unreachable("Unimplemented ObjectFormatType");
 }
 }

+ 2 - 0
lib/CodeGen/CodeGenModule.cpp

@@ -4406,6 +4406,8 @@ CodeGenModule::GetAddrOfConstantCFString(const StringLiteral *Literal) {
   switch (Triple.getObjectFormat()) {
   switch (Triple.getObjectFormat()) {
   case llvm::Triple::UnknownObjectFormat:
   case llvm::Triple::UnknownObjectFormat:
     llvm_unreachable("unknown file format");
     llvm_unreachable("unknown file format");
+  case llvm::Triple::XCOFF:
+    llvm_unreachable("XCOFF is not yet implemented");
   case llvm::Triple::COFF:
   case llvm::Triple::COFF:
   case llvm::Triple::ELF:
   case llvm::Triple::ELF:
   case llvm::Triple::Wasm:
   case llvm::Triple::Wasm: