[mips] Pass nan2008 info to the back-end.

Summary: The initial support for NaN2008 was added to the back-end in r206396.

Reviewers: atanasyan

Reviewed By: atanasyan

Differential Revision: http://reviews.llvm.org/D3448

llvm-svn: 208220
This commit is contained in:
Matheus Almeida 2014-05-07 16:16:07 +00:00
parent 7c093732e8
commit 602bff3184
3 changed files with 19 additions and 4 deletions

View File

@ -5669,9 +5669,6 @@ public:
std::find(Features.begin(), Features.end(), "+soft-float");
if (it != Features.end())
Features.erase(it);
it = std::find(Features.begin(), Features.end(), "+nan2008");
if (it != Features.end())
Features.erase(it);
setDescriptionString();

View File

@ -1037,8 +1037,14 @@ static void getMIPSTargetFeatures(const Driver &D, const ArgList &Args,
}
if (Arg *A = Args.getLastArg(options::OPT_mnan_EQ)) {
if (StringRef(A->getValue()) == "2008")
StringRef Val = StringRef(A->getValue());
if (Val == "2008")
Features.push_back("+nan2008");
else if (Val == "legacy")
Features.push_back("-nan2008");
else
D.Diag(diag::err_drv_unsupported_option_argument)
<< A->getOption().getName() << Val;
}
AddTargetFeature(Args, Features, options::OPT_msingle_float,

View File

@ -72,6 +72,18 @@
// RUN: | FileCheck --check-prefix=CHECK-NOMFP64 %s
// CHECK-NOMFP64: "-target-feature" "-fp64"
//
// -mnan=2008
// RUN: %clang -target mips-linux-gnu -### -c %s \
// RUN: -mnan=legacy -mnan=2008 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-NAN2008 %s
// CHECK-NAN2008: "-target-feature" "+nan2008"
//
// -mnan=legacy
// RUN: %clang -target mips-linux-gnu -### -c %s \
// RUN: -mnan=2008 -mnan=legacy 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-NANLEGACY %s
// CHECK-NANLEGACY: "-target-feature" "-nan2008"
//
// -mxgot
// RUN: %clang -target mips-linux-gnu -### -c %s \
// RUN: -mno-xgot -mxgot 2>&1 \