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