mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-02 07:06:33 +00:00
ARM-MachO: stop claiming to be EABI
Embedded ARM MachO targets are AAPCS but not full EABI (we don't use __aeabi_whatever and the functions are allowed to be hard-float). Turns out there was already a test for this, but its original purpose had become corrupted over the years. llvm-svn: 269487
This commit is contained in:
parent
963a6d9c69
commit
862eaf8a12
@ -5067,7 +5067,7 @@ public:
|
||||
if (ABI == "aapcs" || ABI == "aapcs-linux" || ABI == "aapcs-vfp") {
|
||||
// Embedded targets on Darwin follow AAPCS, but not EABI.
|
||||
// Windows on ARM follows AAPCS VFP, but does not conform to EABI.
|
||||
if (!getTriple().isOSDarwin() && !getTriple().isOSWindows())
|
||||
if (!getTriple().isOSBinFormatMachO() && !getTriple().isOSWindows())
|
||||
Builder.defineMacro("__ARM_EABI__");
|
||||
Builder.defineMacro("__ARM_PCS", "1");
|
||||
}
|
||||
|
@ -2170,13 +2170,13 @@
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-eabi < /dev/null | FileCheck -match-full-lines -check-prefix ARM-NONE-EABI %s
|
||||
// ARM-NONE-EABI: #define __ELF__ 1
|
||||
|
||||
// RUN: %clang -target arm-apple-darwin-eabi -arch armv7s -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-DARWIN-NO-EABI %s
|
||||
// RUN: %clang -target arm-apple-darwin-eabi -arch armv6m -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-DARWIN-EABI %s
|
||||
// RUN: %clang -target arm-apple-darwin-eabi -arch armv7m -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-DARWIN-EABI %s
|
||||
// RUN: %clang -target arm-apple-darwin-eabi -arch armv7em -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-DARWIN-EABI %s
|
||||
// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-DARWIN-NO-EABI %s
|
||||
// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
|
||||
// ARM-DARWIN-EABI: #define __ARM_EABI__ 1
|
||||
// No MachO targets use the full EABI, even if AAPCS is used.
|
||||
// RUN: %clang -target x86_64-apple-darwin -arch armv7s -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s
|
||||
// RUN: %clang -target x86_64-apple-darwin -arch armv6m -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s
|
||||
// RUN: %clang -target x86_64-apple-darwin -arch armv7m -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s
|
||||
// RUN: %clang -target x86_64-apple-darwin -arch armv7em -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s
|
||||
// RUN: %clang -target x86_64-apple-darwin -arch armv7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s
|
||||
// ARM-MACHO-NO-EABI-NOT: #define __ARM_EABI__ 1
|
||||
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv7-bitrig-gnueabihf < /dev/null | FileCheck -match-full-lines -check-prefix ARM-BITRIG %s
|
||||
// ARM-BITRIG:#define __ARM_DWARF_EH__ 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user