[Driver] Use llvm::Triple methods to handle -EL and -EB.
Add a test for ppc64(le), which wasn't handled before. llvm-svn: 241528
This commit is contained in:
parent
4ea14a671d
commit
1a15f2ec57
|
@ -1932,19 +1932,13 @@ static llvm::Triple computeTargetTriple(StringRef DefaultTargetTriple,
|
|||
if (Arg *A = Args.getLastArg(options::OPT_mlittle_endian,
|
||||
options::OPT_mbig_endian)) {
|
||||
if (A->getOption().matches(options::OPT_mlittle_endian)) {
|
||||
if (Target.getArch() == llvm::Triple::mips)
|
||||
Target.setArch(llvm::Triple::mipsel);
|
||||
else if (Target.getArch() == llvm::Triple::mips64)
|
||||
Target.setArch(llvm::Triple::mips64el);
|
||||
else if (Target.getArch() == llvm::Triple::aarch64_be)
|
||||
Target.setArch(llvm::Triple::aarch64);
|
||||
llvm::Triple LE = Target.getLittleEndianArchVariant();
|
||||
if (LE.getArch() != llvm::Triple::UnknownArch)
|
||||
Target = std::move(LE);
|
||||
} else {
|
||||
if (Target.getArch() == llvm::Triple::mipsel)
|
||||
Target.setArch(llvm::Triple::mips);
|
||||
else if (Target.getArch() == llvm::Triple::mips64el)
|
||||
Target.setArch(llvm::Triple::mips64);
|
||||
else if (Target.getArch() == llvm::Triple::aarch64)
|
||||
Target.setArch(llvm::Triple::aarch64_be);
|
||||
llvm::Triple BE = Target.getBigEndianArchVariant();
|
||||
if (BE.getArch() != llvm::Triple::UnknownArch)
|
||||
Target = std::move(BE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
// RUN: %clang -target powerpc64le -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE %s
|
||||
// RUN: %clang -target powerpc64le -mlittle-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE %s
|
||||
// RUN: %clang -target powerpc64 -mlittle-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE %s
|
||||
// CHECK-LE: "-cc1"{{.*}} "-triple" "powerpc64le{{.*}}"
|
||||
|
||||
// RUN: %clang -target powerpc64 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE %s
|
||||
// RUN: %clang -target powerpc64 -mbig-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE %s
|
||||
// RUN: %clang -target powerpc64le -mbig-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE %s
|
||||
// CHECK-BE: "-cc1"{{.*}} "-triple" "powerpc64{{.*}}"
|
Loading…
Reference in New Issue