diff options
author | Stefan Maksimovic <stefan.maksimovic@mips.com> | 2018-08-22 09:26:25 +0000 |
---|---|---|
committer | Stefan Maksimovic <stefan.maksimovic@mips.com> | 2018-08-22 09:26:25 +0000 |
commit | 7aca6c1a08baf13366cb7c772e8838f46a6cf2c0 (patch) | |
tree | 16daae3c3b9c8cb25d4509c6382f22cf381f8e99 /include/clang/Basic/DiagnosticCommonKinds.td | |
parent | 30d47f64ecab950181d18655e543bad3520ce72b (diff) |
[clang][mips] Set __mips_fpr correctly for -mfpxx
Set __mips_fpr to 0 if o32 ABI is used with either -mfpxx
or none of -mfp32, -mfpxx, -mfp64 being specified.
Introduce additional checks:
-mfpxx is only to be used in conjunction with the o32 ABI.
report an error when incompatible options are provided.
Formerly no errors were raised when combining n32/n64 ABIs
with -mfp32 and -mfpxx.
There are other cases when __mips_fpr should be set to 0
that are not covered, ex. using o32 on a mips64 cpu
which is valid but not supported in the backend as of yet.
Differential Revision: https://reviews.llvm.org/D50557
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@340391 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/DiagnosticCommonKinds.td')
-rw-r--r-- | include/clang/Basic/DiagnosticCommonKinds.td | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/clang/Basic/DiagnosticCommonKinds.td b/include/clang/Basic/DiagnosticCommonKinds.td index b98b183c9d..c3e2aa8b5c 100644 --- a/include/clang/Basic/DiagnosticCommonKinds.td +++ b/include/clang/Basic/DiagnosticCommonKinds.td @@ -199,6 +199,9 @@ def err_target_unknown_abi : Error<"unknown target ABI '%0'">; def err_target_unsupported_abi : Error<"ABI '%0' is not supported on CPU '%1'">; def err_target_unsupported_abi_for_triple : Error< "ABI '%0' is not supported for '%1'">; +def err_unsupported_abi_for_opt : Error<"'%0' can only be used with the '%1' ABI">; +def err_mips_fp64_req : Error< + "'%0' can only be used if the target supports the mfhc1 and mthc1 instructions">; def err_target_unknown_fpmath : Error<"unknown FP unit '%0'">; def err_target_unsupported_fpmath : Error< "the '%0' unit is not supported with this instruction set">; |