]> granicus.if.org Git - clang/commitdiff
Add __ARM_DWARF_EH__ to signify the use of Itanium ABI for unwind
authorJoerg Sonnenberger <joerg@bec.de>
Tue, 13 May 2014 18:58:36 +0000 (18:58 +0000)
committerJoerg Sonnenberger <joerg@bec.de>
Tue, 13 May 2014 18:58:36 +0000 (18:58 +0000)
instructions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208719 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets.cpp
test/Preprocessor/init.c

index 84ecd71691b7cdc606a399cacfe17b3f844fd8fb..2fc8eb69e1c5aa0b3d9a9a2574f953f4c8668a7d 100644 (file)
@@ -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) {
index bbbc5fb23336bdc26e08e350b0113efcbc0b885b..358612fec180ba8448e600528e7e2777a9bca6ec 100644 (file)
 // 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__