From 0d5bfdd4c125d2881e3ccced8d0bee4c1d48c5d3 Mon Sep 17 00:00:00 2001 From: Joerg Sonnenberger <joerg@bec.de> Date: Tue, 13 May 2014 18:58:36 +0000 Subject: [PATCH] Add __ARM_DWARF_EH__ to signify the use of Itanium ABI for unwind instructions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208719 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets.cpp | 11 +++++++++++ test/Preprocessor/init.c | 1 + 2 files changed, 12 insertions(+) diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 84ecd71691b..2fc8eb69e1c 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -384,6 +384,17 @@ protected: Builder.defineMacro("__ELF__"); if (Opts.POSIXThreads) Builder.defineMacro("_POSIX_THREADS"); + + switch (Triple.getArch()) { + default: + break; + case llvm::Triple::arm: + case llvm::Triple::armeb: + case llvm::Triple::thumb: + case llvm::Triple::thumbeb: + Builder.defineMacro("__ARM_DWARF_EH__"); + break; + } } public: NetBSDTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c index bbbc5fb2333..358612fec18 100644 --- a/test/Preprocessor/init.c +++ b/test/Preprocessor/init.c @@ -946,6 +946,7 @@ // ARM-NETBSD-NOT:#define __ARMEB__ 1 // ARM-NETBSD:#define __ARMEL__ 1 // ARM-NETBSD:#define __ARM_ARCH_6J__ 1 +// ARM-NETBSD:#define __ARM_DWARF_EH__ 1 // ARM-NETBSD:#define __ARM_EABI__ 1 // ARM-NETBSD-NOT:#define __ARM_BIG_ENDIAN 1 // ARM-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -- GitLab