1 // RUN: %clangxx %s -### -no-canonical-prefixes --target=x86_64-fuchsia \ 2 // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ 3 // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ 4 // RUN: --sysroot=%S/platform -fuse-ld=lld 2>&1 | FileCheck %s 5 // CHECK: {{.*}}clang{{.*}}" "-cc1" 6 // CHECK: "-triple" "x86_64-fuchsia" 7 // CHECK: "-fuse-init-array" 8 // CHECK: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" 9 // CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" 10 // CHECK: "-internal-isystem" "{{.*[/\\]}}include{{/|\\\\}}c++{{/|\\\\}}v1" 11 // CHECK: "-internal-externc-isystem" "[[SYSROOT]]{{/|\\\\}}include" 12 // CHECK: {{.*}}ld.lld{{.*}}" "-z" "rodynamic" 13 // CHECK: "--sysroot=[[SYSROOT]]" 14 // CHECK: "-pie" 15 // CHECK: "--build-id" 16 // CHECK: "-dynamic-linker" "ld.so.1" 17 // CHECK: Scrt1.o 18 // CHECK-NOT: crti.o 19 // CHECK-NOT: crtbegin.o 20 // CHECK: "-L[[SYSROOT]]{{/|\\\\}}lib" 21 // CHECK: "--push-state" 22 // CHECK: "--as-needed" 23 // CHECK: "-lc++" 24 // CHECK: "-lm" 25 // CHECK: "--pop-state" 26 // CHECK: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}libclang_rt.builtins.a" 27 // CHECK: "-lc" 28 // CHECK-NOT: crtend.o 29 // CHECK-NOT: crtn.o 30 31 // RUN: %clangxx %s -### --target=x86_64-unknown-fuchsia -stdlib=libstdc++ \ 32 // RUN: -fuse-ld=lld 2>&1 \ 33 // RUN: | FileCheck %s -check-prefix=CHECK-STDLIB 34 // CHECK-STDLIB: error: invalid library name in argument '-stdlib=libstdc++' 35 36 // RUN: %clangxx %s -### --target=x86_64-unknown-fuchsia -static-libstdc++ \ 37 // RUN: -fuse-ld=lld 2>&1 \ 38 // RUN: | FileCheck %s -check-prefix=CHECK-STATIC 39 // CHECK-STATIC: "--push-state" 40 // CHECK-STATIC: "--as-needed" 41 // CHECK-STATIC: "-Bstatic" 42 // CHECK-STATIC: "-lc++" 43 // CHECK-STATIC: "-Bdynamic" 44 // CHECK-STATIC: "-lm" 45 // CHECK-STATIC: "--pop-state" 46 // CHECK-STATIC: "-lc" 47 48 // RUN: %clangxx %s -### --target=x86_64-fuchsia -nostdlib++ -fuse-ld=lld 2>&1 \ 49 // RUN: | FileCheck %s -check-prefix=CHECK-NOSTDLIBXX 50 // CHECK-NOSTDLIBXX-NOT: "-lc++" 51 // CHECK-NOSTDLIBXX-NOT: "-lm" 52 // CHECK-NOSTDLIBXX: "-lc" 53 54 // RUN: %clangxx %s -### --target=x86_64-fuchsia \ 55 // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ 56 // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ 57 // RUN: -fuse-ld=lld 2>&1\ 58 // RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB-X86 59 // RUN: %clangxx %s -### --target=x86_64-fuchsia -fsanitize=address \ 60 // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ 61 // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ 62 // RUN: -fuse-ld=lld 2>&1\ 63 // RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB-X86,CHECK-MULTILIB-ASAN-X86 64 // RUN: %clangxx %s -### --target=x86_64-fuchsia -fno-exceptions \ 65 // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ 66 // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ 67 // RUN: -fuse-ld=lld 2>&1\ 68 // RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB-X86,CHECK-MULTILIB-NOEXCEPT-X86 69 // RUN: %clangxx %s -### --target=x86_64-fuchsia -fsanitize=address -fno-exceptions \ 70 // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ 71 // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ 72 // RUN: -fuse-ld=lld 2>&1\ 73 // RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB-X86,CHECK-MULTILIB-ASAN-NOEXCEPT-X86 74 // CHECK-MULTILIB-X86: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" 75 // CHECK-MULTILIB-ASAN-X86: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}c++{{/|\\\\}}asan" 76 // CHECK-MULTILIB-NOEXCEPT-X86: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}c++{{/|\\\\}}noexcept" 77 // CHECK-MULTILIB-ASAN-NOEXCEPT-X86: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}c++{{/|\\\\}}asan+noexcept" 78 // CHECK-MULTILIB-X86: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}c++" 79