1 | // REQUIRES: clang-driver |
2 | // REQUIRES: x86-registered-target |
3 | // |
4 | // RUN: %clang -miamcu -rtlib=platform -no-canonical-prefixes %s -### -o %t.o 2>&1 | FileCheck %s |
5 | // RUN: %clang -miamcu -rtlib=platform -no-canonical-prefixes -m32 %s -### -o %t.o 2>&1 | FileCheck %s |
6 | // RUN: %clang -miamcu -rtlib=platform -no-canonical-prefixes -target x86_64-unknown-linux-gnu %s -### -o %t.o 2>&1 | FileCheck %s |
7 | // RUN: %clang -mno-iamcu -miamcu -rtlib=platform -no-canonical-prefixes %s -### -o %t.o 2>&1 | FileCheck %s |
8 | // RUN: %clang -miamcu -rtlib=platform -no-canonical-prefixes -m64 %s -### -o %t.o 2>&1 | FileCheck %s -check-prefix=M64 |
9 | // RUN: %clang -miamcu -rtlib=platform -no-canonical-prefixes -dynamic %s -### -o %t.o 2>&1 | FileCheck %s -check-prefix=DYNAMIC |
10 | // RUN: %clang -miamcu -rtlib=platform -no-canonical-prefixes -target armv8-eabi %s -### -o %t.o 2>&1 | FileCheck %s -check-prefix=NOT-X86 |
11 | // RUN: %clang -miamcu -mno-iamcu -no-canonical-prefixes -target x86_64-unknown-linux-gnu %s -### -o %t.o 2>&1 | FileCheck %s -check-prefix=MNOIAMCU |
12 | |
13 | // M64: error: invalid argument '-miamcu' not allowed with '-m64' |
14 | |
15 | // DYNAMIC: error: invalid argument '-dynamic' not allowed with '-static' |
16 | |
17 | // NOT-X86: error: unsupported option '-miamcu' for target 'armv8-unknown-unknown-eabi' |
18 | |
19 | // MNOIAMCU-NOT: "-triple" "i586-intel-elfiamcu" |
20 | |
21 | // CHECK: "{{.*}}clang{{.*}}" "-cc1" |
22 | // CHECK: "-triple" "i586-intel-elfiamcu" |
23 | // CHECK: "-static-define" |
24 | // CHECK: "-mfloat-abi" "soft" |
25 | // CHECK: "-mstack-alignment=4" |
26 | |
27 | // CHECK: "{{.*}}ld{{(.exe)?}}" |
28 | // CHECK: "-m" "elf_iamcu" |
29 | // CHECK: "-static" |
30 | // CHECK-NOT: crt1 |
31 | // CHECK-NOT: crti |
32 | // CHECK-NOT: ctrbegin |
33 | // CHECK: crt0 |
34 | // CHECK: "--start-group" "-lgcc" "-lc" "-lgloss" "--end-group" "--as-needed" "-lsoftfp" "--no-as-needed" |
35 | // CHECK-NOT: crtend |
36 | // CHECK-NOT: ctrn |
37 | |