diff options
| author | Eli Friedman <efriedma@codeaurora.org> | 2018-10-17 21:07:11 +0000 |
|---|---|---|
| committer | Eli Friedman <efriedma@codeaurora.org> | 2018-10-17 21:07:11 +0000 |
| commit | 39ceea326d5f0cd4e70588373733cc4f1eea8dc3 (patch) | |
| tree | 8e4a15aaf0d50ff6722db039ac9b537fc5732954 /clang | |
| parent | bf445b87debde573f476cf32df4b3288227d5ea3 (diff) | |
| download | bcm5719-llvm-39ceea326d5f0cd4e70588373733cc4f1eea8dc3.tar.gz bcm5719-llvm-39ceea326d5f0cd4e70588373733cc4f1eea8dc3.zip | |
[AArch64] Define __ELF__ for aarch64-none-elf and other similar triples.
"aarch64-none-elf" is commonly used for AArch64 baremetal toolchains.
Differential Revision: https://reviews.llvm.org/D53348
llvm-svn: 344710
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Basic/Targets/AArch64.cpp | 5 | ||||
| -rw-r--r-- | clang/test/Preprocessor/init.c | 1 |
2 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Basic/Targets/AArch64.cpp b/clang/lib/Basic/Targets/AArch64.cpp index 3444591ac59..b3a01ae2594 100644 --- a/clang/lib/Basic/Targets/AArch64.cpp +++ b/clang/lib/Basic/Targets/AArch64.cpp @@ -122,10 +122,9 @@ void AArch64TargetInfo::getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const { // Target identification. Builder.defineMacro("__aarch64__"); - // For bare-metal none-eabi. + // For bare-metal. if (getTriple().getOS() == llvm::Triple::UnknownOS && - (getTriple().getEnvironment() == llvm::Triple::EABI || - getTriple().getEnvironment() == llvm::Triple::EABIHF)) + getTriple().isOSBinFormatELF()) Builder.defineMacro("__ELF__"); // Target properties. diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c index fe53e815a3e..f5f46e23eca 100644 --- a/clang/test/Preprocessor/init.c +++ b/clang/test/Preprocessor/init.c @@ -2590,6 +2590,7 @@ // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-eabihf < /dev/null | FileCheck -match-full-lines -check-prefix ARM-NONE-EABI %s // RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-eabi < /dev/null | FileCheck -match-full-lines -check-prefix ARM-NONE-EABI %s // RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-eabihf < /dev/null | FileCheck -match-full-lines -check-prefix ARM-NONE-EABI %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-elf < /dev/null | FileCheck -match-full-lines -check-prefix ARM-NONE-EABI %s // ARM-NONE-EABI: #define __ELF__ 1 // No MachO targets use the full EABI, even if AAPCS is used. |

