summaryrefslogtreecommitdiff
path: root/test/Driver/arm-thumb-only-cores.c
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-12-18 20:11:37 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-12-18 20:11:37 +0000
commit461a67fa15370a9ec88f8f8a240bf7c123bb2029 (patch)
tree6942083d7d56bba40ec790a453ca58ad3baf6832 /test/Driver/arm-thumb-only-cores.c
parent75c3240472ba6ac2669ee72ca67eb72d4e2851fc (diff)
downloadsrc-test2-1aaf246c04d93cc1b414f5ee0b765734d48e481c.tar.gz
src-test2-1aaf246c04d93cc1b414f5ee0b765734d48e481c.zip
Diffstat (limited to 'test/Driver/arm-thumb-only-cores.c')
-rw-r--r--test/Driver/arm-thumb-only-cores.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/Driver/arm-thumb-only-cores.c b/test/Driver/arm-thumb-only-cores.c
new file mode 100644
index 000000000000..cf40bf0ffa4a
--- /dev/null
+++ b/test/Driver/arm-thumb-only-cores.c
@@ -0,0 +1,12 @@
+// RUN: not %clang -target arm-unknown-linux -marm -mcpu=cortex-m0 %s -o /dev/null 2>&1 \
+// RUN: | FileCheck --check-prefix M0 %s
+// M0: error: CPU 'cortex-m0' does not support 'ARM' execution mode
+
+// RUN: not %clang -target arm-unknown-linux -marm -march=armv7m %s -o /dev/null 2>&1 \
+// RUN: | FileCheck --check-prefix ARMV7M %s
+// RUN: not %clang -target armv7m-unknown-linux -mno-thumb %s -o /dev/null 2>&1 \
+// RUN: | FileCheck --check-prefix ARMV7M %s
+// ARMV7M: error: Architecture 'armv7m' does not support 'ARM' execution mode
+//
+// RUN: %clang -S -emit-llvm -target arm-unknown-linux -mcpu=cortex-m0 %s -o /dev/null 2>&1
+// M-Profile CPUs default to Thumb mode even if arm triples are provided.