| 1 | // RUN: %clangxx %s -### -no-canonical-prefixes --target=x86_64-fuchsia \ |
| 2 | // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ |
| 3 | // RUN: --sysroot=%S/platform -fuse-ld=lld 2>&1 | FileCheck %s |
| 4 | // CHECK: {{.*}}clang{{.*}}" "-cc1" |
| 5 | // CHECK: "-triple" "x86_64-fuchsia" |
| 6 | // CHECK: "-fuse-init-array" |
| 7 | // CHECK: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" |
| 8 | // CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" |
| 9 | // CHECK: "-internal-isystem" "{{.*[/\\]}}include{{/|\\\\}}c++{{/|\\\\}}v1" |
| 10 | // CHECK: "-internal-externc-isystem" "[[SYSROOT]]{{/|\\\\}}include" |
| 11 | // CHECK: {{.*}}ld.lld{{.*}}" "-z" "rodynamic" |
| 12 | // CHECK: "--sysroot=[[SYSROOT]]" |
| 13 | // CHECK: "-pie" |
| 14 | // CHECK: "--build-id" |
| 15 | // CHECK: "-dynamic-linker" "ld.so.1" |
| 16 | // CHECK: Scrt1.o |
| 17 | // CHECK-NOT: crti.o |
| 18 | // CHECK-NOT: crtbegin.o |
| 19 | // CHECK: "-L[[SYSROOT]]{{/|\\\\}}lib" |
| 20 | // CHECK: "--push-state" |
| 21 | // CHECK: "--as-needed" |
| 22 | // CHECK: "-lc++" |
| 23 | // CHECK: "-lm" |
| 24 | // CHECK: "--pop-state" |
| 25 | // CHECK: "[[RESOURCE_DIR]]{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}lib{{/|\\\\}}libclang_rt.builtins.a" |
| 26 | // CHECK: "-lc" |
| 27 | // CHECK-NOT: crtend.o |
| 28 | // CHECK-NOT: crtn.o |
| 29 | |
| 30 | // RUN: %clangxx %s -### --target=x86_64-unknown-fuchsia -stdlib=libstdc++ \ |
| 31 | // RUN: -fuse-ld=lld 2>&1 \ |
| 32 | // RUN: | FileCheck %s -check-prefix=CHECK-STDLIB |
| 33 | // CHECK-STDLIB: error: invalid library name in argument '-stdlib=libstdc++' |
| 34 | |
| 35 | // RUN: %clangxx %s -### --target=x86_64-unknown-fuchsia -static-libstdc++ \ |
| 36 | // RUN: -fuse-ld=lld 2>&1 \ |
| 37 | // RUN: | FileCheck %s -check-prefix=CHECK-STATIC |
| 38 | // CHECK-STATIC: "--push-state" |
| 39 | // CHECK-STATIC: "--as-needed" |
| 40 | // CHECK-STATIC: "-Bstatic" |
| 41 | // CHECK-STATIC: "-lc++" |
| 42 | // CHECK-STATIC: "-Bdynamic" |
| 43 | // CHECK-STATIC: "-lm" |
| 44 | // CHECK-STATIC: "--pop-state" |
| 45 | // CHECK-STATIC: "-lc" |
| 46 | |
| 47 | // RUN: %clang %s -### --target=x86_64-fuchsia -nostdlib++ -fuse-ld=lld 2>&1 \ |
| 48 | // RUN: | FileCheck %s -check-prefix=CHECK-NOSTDLIBXX |
| 49 | // CHECK-NOSTDLIBXX-NOT: "-lc++" |
| 50 | // CHECK-NOSTDLIBXX-NOT: "-lm" |
| 51 | // CHECK-NOSTDLIBXX: "-lc" |
| 52 | |