Clang Project

clang_source_code/test/Driver/arm-thumb-only-cores.c
1// RUN: not %clang -target arm-unknown-linux -marm -mcpu=cortex-m0 %s -o /dev/null 2>&1 \
2// RUN:   | FileCheck --check-prefix M0 %s
3// M0: error: CPU 'cortex-m0' does not support 'ARM' execution mode
4
5// RUN: not %clang -target arm-unknown-linux -marm -march=armv7m %s -o /dev/null 2>&1 \
6// RUN:   | FileCheck --check-prefix ARMV7M %s
7// RUN: not %clang -target armv7m-unknown-linux -mno-thumb %s -o /dev/null 2>&1 \
8// RUN:   | FileCheck --check-prefix ARMV7M %s
9// ARMV7M: error: Architecture 'armv7m' does not support 'ARM' execution mode
10//
11// RUN: %clang -S -emit-llvm -target arm-unknown-linux -mcpu=cortex-m0 %s -o /dev/null 2>&1
12// M-Profile CPUs default to Thumb mode even if arm triples are provided.
13