[ARM] Error out on .arm assembler directives on windows
authorMartin Storsjo <martin@martin.st>
Fri, 23 Mar 2018 09:10:03 +0000 (09:10 +0000)
committerMartin Storsjo <martin@martin.st>
Fri, 23 Mar 2018 09:10:03 +0000 (09:10 +0000)
Windows on arm is thumb only.

Differential Revision: https://reviews.llvm.org/D43005

llvm-svn: 328298

llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
llvm/test/MC/ARM/arm-thumb-cpus.s

index ae5bc723ee5fca2d1c9111a20898ba57195c4af9..7490a5cb8b8e3ced242297db60e143ec61ae699c 100644 (file)
@@ -153,6 +153,13 @@ std::string ARM_MC::ParseARMTriple(const Triple &TT, StringRef CPU) {
       ARMArchFeature += ",+nacl-trap";
   }
 
+  if (TT.isOSWindows()) {
+    if (ARMArchFeature.empty())
+      ARMArchFeature = "+noarm";
+    else
+      ARMArchFeature += ",+noarm";
+  }
+
   return ARMArchFeature;
 }
 
index 459b5c5fe00e5bd2c21cf97dfc645e534ea8927e..7319f136347dbfba6b498ca42a17d9a7b6cbbd7d 100644 (file)
@@ -17,6 +17,9 @@
 @ RUN:  | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
 
 @ RUN: not llvm-mc -show-encoding -triple=armv6sm-eabi < %s 2>&1 \
+@ RUN:  | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
+
+@ RUN: not llvm-mc -show-encoding -triple=thumbv7-win32-gnu < %s 2>&1 \
 @ RUN:  | FileCheck %s --check-prefix=CHECK-THUMB-ONLY
 
         @ Make sure correct diagnostics are given for CPUs without support for