1 # UNSUPPORTED: system-windows
3 # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o /dev/null 2>&1 \
4 # RUN: --target=thumbv8m.main-none-eabi -mfpu=none --sysroot= \
5 # RUN: | FileCheck --check-prefix=CHECK-DEFAULT %s
7 # CHECK-DEFAULT: "-cc1" "-triple" "thumbv8m.main-unknown-none-eabi"
8 # CHECK-DEFAULT-SAME: "-internal-isystem" "[[SYSROOT:[^"]*]]/bin/../lib/clang-runtimes/arm-none-eabi/thumb/v8-m.main/nofp/include"
9 # CHECK-DEFAULT-NEXT: "-L[[SYSROOT]]/bin/../lib/clang-runtimes/arm-none-eabi/thumb/v8-m.main/nofp/lib"
11 # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o /dev/null 2>&1 \
12 # RUN: --target=thumbv8m.main-none-eabi -mfpu=none -fmultilib-flag=no-multithreaded --sysroot= \
13 # RUN: | FileCheck --check-prefix=CHECK-NOMULTI %s
15 # CHECK-NOMULTI: "-cc1" "-triple" "thumbv8m.main-unknown-none-eabi"
16 # CHECK-NOMULTI-SAME: "-internal-isystem" "[[SYSROOT:[^"]*]]/bin/../lib/clang-runtimes/arm-none-eabi/thumb/v8-m.main/nofp/include"
17 # CHECK-NOMULTI-NEXT: "-L[[SYSROOT]]/bin/../lib/clang-runtimes/arm-none-eabi/thumb/v8-m.main/nofp/lib"
19 # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o /dev/null 2>&1 \
20 # RUN: --target=thumbv8m.main-none-eabi -mfpu=none -fmultilib-flag=multithreaded --sysroot= \
21 # RUN: | FileCheck --check-prefix=CHECK-MULTI %s
23 # CHECK-MULTI: "-cc1" "-triple" "thumbv8m.main-unknown-none-eabi"
24 # CHECK-MULTI-SAME: "-internal-isystem" "[[SYSROOT:[^"]*]]/bin/../lib/clang-runtimes/arm-none-eabi/multithreaded/thumb/v8-m.main/nofp/include"
25 # CHECK-MULTI-NEXT: "-L[[SYSROOT]]/bin/../lib/clang-runtimes/arm-none-eabi/multithreaded/thumb/v8-m.main/nofp/lib"
27 # RUN: not %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o /dev/null 2>&1 \
28 # RUN: --target=thumbv8m.main-none-eabi -mfpu=none -fmultilib-flag=singlethreaded -fmultilib-flag=no-io --sysroot= \
29 # RUN: | FileCheck --check-prefix=CHECK-ERROR %s
30 # CHECK-ERROR-DAG: error: unsupported option '-fmultilib-flag=singlethreaded'
31 # CHECK-ERROR-DAG: error: unsupported option '-fmultilib-flag=no-io'; did you mean '-fmultilib-flag=io-none'?
33 # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o /dev/null 2>&1 \
34 # RUN: --target=thumbv8m.main-none-eabi -mfpu=none -print-multi-lib --sysroot= \
35 # RUN: | FileCheck --check-prefix=CHECK-PRINT-MULTI-LIB %s
36 # CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8-m.main/nofp;@-target=thumbv8m.main-unknown-none-eabi@mfpu=none@fmultilib-flag=no-multithreaded
37 # CHECK-PRINT-MULTI-LIB: arm-none-eabi/multithreaded/thumb/v8-m.main/nofp;@-target=thumbv8m.main-unknown-none-eabi@mfpu=none@fmultilib-flag=multithreaded
39 # RUN: %clang --target=arm-none-eabi --multi-lib-config=%s -x c %s -fmultilib-flag=no-multithreaded -### -o /dev/null 2>&1 \
40 # RUN: | FileCheck --check-prefix=CHECK-MACRODEFINES-NOMULTI %s
41 # CHECK-MACRODEFINES-NOMULTI: "-D" "__SINGLE_THREAD__"
43 # RUN: %clang --target=arm-none-eabi --multi-lib-config=%s -x c %s -fmultilib-flag=io-semihosting -### -o /dev/null 2>&1 \
44 # RUN: | FileCheck --check-prefix=CHECK-MACRODEFINES-IO-SEMIHOSTING %s
45 # CHECK-MACRODEFINES-IO-SEMIHOSTING: "-D" "SEMIHOSTING"
47 # RUN: %clang --target=arm-none-eabi --multi-lib-config=%s -x c %s -fmultilib-flag=io-linux-syscalls -### -o /dev/null 2>&1 \
48 # RUN: | FileCheck --check-prefix=CHECK-MACRODEFINES-IO-LINUX %s
49 # CHECK-MACRODEFINES-IO-LINUX: "-D" "LINUX_SYSCALLS"
50 # CHECK-MACRODEFINES-IO-LINUX-SAME: "-D" "HOSTED"
60 - Dir: arm-none-eabi/thumb/v8-m.main/nofp
61 Flags: [--target=thumbv8m.main-unknown-none-eabi, -mfpu=none, -fmultilib-flag=no-multithreaded]
63 - Dir: arm-none-eabi/multithreaded/thumb/v8-m.main/nofp
64 Flags: [--target=thumbv8m.main-unknown-none-eabi, -mfpu=none, -fmultilib-flag=multithreaded]
68 - Name: multithreading
70 - Name: no-multithreaded
71 MacroDefines: [__SINGLE_THREAD__]
73 Default: no-multithreaded
77 - Name: io-semihosting
78 MacroDefines: [SEMIHOSTING]
79 - Name: io-linux-syscalls
80 MacroDefines: [LINUX_SYSCALLS, HOSTED]