Clang Project

clang_source_code/test/Driver/miamcu-opt.c
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