forked from OSchip/llvm-project
[clang][Arm] Fix the default floating point ABI for
'armv7-pc-win32-macho' It is incorrect to select the hardware floating point ABI on Mach-O platforms using the Windows triple if the ABI is "apcs-gnu". rdar://81810554 Differential Revision: https://reviews.llvm.org/D107939
This commit is contained in:
parent
835ea22b37
commit
ee620b1743
|
@ -314,6 +314,10 @@ arm::FloatABI arm::getDefaultFloatABI(const llvm::Triple &Triple) {
|
|||
|
||||
// FIXME: this is invalid for WindowsCE
|
||||
case llvm::Triple::Win32:
|
||||
// It is incorrect to select hard float ABI on MachO platforms if the ABI is
|
||||
// "apcs-gnu".
|
||||
if (Triple.isOSBinFormatMachO() && !useAAPCSForMachO(Triple))
|
||||
return FloatABI::Soft;
|
||||
return FloatABI::Hard;
|
||||
|
||||
case llvm::Triple::NetBSD:
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
// RUN: %clang -target armv7-pc-win32-macho -msoft-float -### -c %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix CHECK-SOFTFLOAT
|
||||
// CHECK-SOFTFLOAT-NOT: error: unsupported option '-msoft-float' for target 'thumbv7-pc-windows-macho'
|
||||
|
||||
// RUN: %clang -target armv7-pc-win32-macho -mhard-float -### -c %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix CHECK-HARDFLOAT
|
||||
// CHECK-HARDFLOAT: error: unsupported option '-mhard-float' for target 'thumbv7-pc-windows-macho'
|
||||
|
||||
// RUN: %clang -target armv7-pc-win32-macho -### -c %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix CHECK-DEFAULT-SOFTFLOAT-ABI
|
||||
// CHECK-DEFAULT-SOFTFLOAT-ABI: "-mfloat-abi" "soft"
|
Loading…
Reference in New Issue