forked from OSchip/llvm-project
[Driver][Mips] Check MIPS CPU name provided to the Clang driver.
llvm-svn: 212260
This commit is contained in:
parent
89c05ad165
commit
6b3544eb1d
|
@ -5305,8 +5305,17 @@ public:
|
|||
|
||||
StringRef getABI() const override { return ABI; }
|
||||
bool setCPU(const std::string &Name) override {
|
||||
bool IsMips32 = getTriple().getArch() == llvm::Triple::mips ||
|
||||
getTriple().getArch() == llvm::Triple::mipsel;
|
||||
CPU = Name;
|
||||
return true;
|
||||
return llvm::StringSwitch<bool>(Name)
|
||||
.Case("mips32", IsMips32)
|
||||
.Case("mips32r2", IsMips32)
|
||||
.Case("mips32r6", IsMips32)
|
||||
.Case("mips64", true)
|
||||
.Case("mips64r2", true)
|
||||
.Case("mips64r6", true)
|
||||
.Default(false);
|
||||
}
|
||||
const std::string& getCPU() const { return CPU; }
|
||||
void getDefaultFeatures(llvm::StringMap<bool> &Features) const override {
|
||||
|
|
|
@ -85,3 +85,13 @@
|
|||
// RUN: | FileCheck -check-prefix=MIPS-ARCH-64R2 %s
|
||||
// MIPS-ARCH-64R2: "-target-cpu" "mips64r2"
|
||||
// MIPS-ARCH-64R2: "-target-abi" "n64"
|
||||
//
|
||||
// RUN: not %clang -target mips64-linux-gnu -c %s \
|
||||
// RUN: -march=mips32 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=MIPS-ARCH-6432 %s
|
||||
// MIPS-ARCH-6432: error: unknown target CPU 'mips32'
|
||||
//
|
||||
// RUN: not %clang -target mips-linux-gnu -c %s \
|
||||
// RUN: -march=unknown 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=MIPS-ARCH-UNKNOWN %s
|
||||
// MIPS-ARCH-UNKNOWN: error: unknown target CPU 'unknown'
|
||||
|
|
Loading…
Reference in New Issue