Petr Hosek | e6e0424 | 2018-11-04 03:53:07 +0000 | [diff] [blame] | 1 | // RUN: %clangxx %s -### -no-canonical-prefixes --target=x86_64-fuchsia \ |
Petr Hosek | 2db79ef | 2019-05-26 03:39:07 +0000 | [diff] [blame] | 2 | // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ |
Petr Hosek | e6e0424 | 2018-11-04 03:53:07 +0000 | [diff] [blame] | 3 | // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ |
Petr Hosek | 68a3a3b | 2019-11-19 19:56:54 -0800 | [diff] [blame] | 4 | // RUN: --sysroot=%S/platform -fuse-ld=lld 2>&1 \ |
| 5 | // RUN: | FileCheck -check-prefixes=CHECK,CHECK-X86_64 %s |
| 6 | // RUN: %clangxx %s -### -no-canonical-prefixes --target=aarch64-fuchsia \ |
| 7 | // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ |
| 8 | // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ |
| 9 | // RUN: --sysroot=%S/platform -fuse-ld=lld 2>&1 \ |
| 10 | // RUN: | FileCheck -check-prefixes=CHECK,CHECK-AARCH64 %s |
| 11 | // RUN: %clangxx %s -### -no-canonical-prefixes --target=riscv64-fuchsia \ |
| 12 | // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ |
| 13 | // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ |
| 14 | // RUN: --sysroot=%S/platform -fuse-ld=lld 2>&1 \ |
| 15 | // RUN: | FileCheck -check-prefixes=CHECK,CHECK-RISCV64 %s |
Petr Hosek | 62e1d23 | 2016-10-06 06:08:09 +0000 | [diff] [blame] | 16 | // CHECK: {{.*}}clang{{.*}}" "-cc1" |
Petr Hosek | 68a3a3b | 2019-11-19 19:56:54 -0800 | [diff] [blame] | 17 | // CHECK-X86_64: "-triple" "x86_64-unknown-fuchsia" |
| 18 | // CHECK-AARCH64: "-triple" "aarch64-unknown-fuchsia" |
| 19 | // CHECK-RISCV64: "-triple" "riscv64-unknown-fuchsia" |
Fangrui Song | b2b5cac | 2019-12-11 21:48:59 -0800 | [diff] [blame] | 20 | // CHECK-NOT: "-fno-use-init-array" |
Petr Hosek | e6e0424 | 2018-11-04 03:53:07 +0000 | [diff] [blame] | 21 | // CHECK: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" |
Petr Hosek | 62e1d23 | 2016-10-06 06:08:09 +0000 | [diff] [blame] | 22 | // CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" |
Petr Hosek | 887f26d | 2018-06-28 03:11:52 +0000 | [diff] [blame] | 23 | // CHECK: "-internal-isystem" "{{.*[/\\]}}include{{/|\\\\}}c++{{/|\\\\}}v1" |
Petr Hosek | 62e1d23 | 2016-10-06 06:08:09 +0000 | [diff] [blame] | 24 | // CHECK: "-internal-externc-isystem" "[[SYSROOT]]{{/|\\\\}}include" |
Petr Hosek | 231875e | 2019-11-21 16:25:14 -0800 | [diff] [blame] | 25 | // CHECK: {{.*}}ld.lld{{.*}}" "-z" "now" "-z" "rodynamic" "-z" "separate-loadable-segments" |
Petr Hosek | 62e1d23 | 2016-10-06 06:08:09 +0000 | [diff] [blame] | 26 | // CHECK: "--sysroot=[[SYSROOT]]" |
| 27 | // CHECK: "-pie" |
| 28 | // CHECK: "--build-id" |
| 29 | // CHECK: "-dynamic-linker" "ld.so.1" |
| 30 | // CHECK: Scrt1.o |
| 31 | // CHECK-NOT: crti.o |
| 32 | // CHECK-NOT: crtbegin.o |
Petr Hosek | cc24851 | 2017-07-12 22:14:41 +0000 | [diff] [blame] | 33 | // CHECK: "-L[[SYSROOT]]{{/|\\\\}}lib" |
Petr Hosek | c39b97f | 2018-11-03 01:43:25 +0000 | [diff] [blame] | 34 | // CHECK: "--push-state" |
| 35 | // CHECK: "--as-needed" |
| 36 | // CHECK: "-lc++" |
| 37 | // CHECK: "-lm" |
| 38 | // CHECK: "--pop-state" |
Petr Hosek | 68a3a3b | 2019-11-19 19:56:54 -0800 | [diff] [blame] | 39 | // CHECK-X86_64: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}libclang_rt.builtins.a" |
| 40 | // CHECK-AARCH64: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aarch64-fuchsia{{/|\\\\}}libclang_rt.builtins.a" |
| 41 | // CHECK-RISCV64: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}riscv64-fuchsia{{/|\\\\}}libclang_rt.builtins.a" |
Petr Hosek | 62e1d23 | 2016-10-06 06:08:09 +0000 | [diff] [blame] | 42 | // CHECK: "-lc" |
| 43 | // CHECK-NOT: crtend.o |
| 44 | // CHECK-NOT: crtn.o |
| 45 | |
David Greene | e98b9d4 | 2018-08-06 17:35:44 +0000 | [diff] [blame] | 46 | // RUN: %clangxx %s -### --target=x86_64-unknown-fuchsia -stdlib=libstdc++ \ |
| 47 | // RUN: -fuse-ld=lld 2>&1 \ |
Petr Hosek | 62e1d23 | 2016-10-06 06:08:09 +0000 | [diff] [blame] | 48 | // RUN: | FileCheck %s -check-prefix=CHECK-STDLIB |
| 49 | // CHECK-STDLIB: error: invalid library name in argument '-stdlib=libstdc++' |
| 50 | |
David Greene | e98b9d4 | 2018-08-06 17:35:44 +0000 | [diff] [blame] | 51 | // RUN: %clangxx %s -### --target=x86_64-unknown-fuchsia -static-libstdc++ \ |
| 52 | // RUN: -fuse-ld=lld 2>&1 \ |
Petr Hosek | 62e1d23 | 2016-10-06 06:08:09 +0000 | [diff] [blame] | 53 | // RUN: | FileCheck %s -check-prefix=CHECK-STATIC |
Petr Hosek | c39b97f | 2018-11-03 01:43:25 +0000 | [diff] [blame] | 54 | // CHECK-STATIC: "--push-state" |
| 55 | // CHECK-STATIC: "--as-needed" |
Petr Hosek | 6c652b7 | 2018-11-04 22:38:47 +0000 | [diff] [blame] | 56 | // CHECK-STATIC: "-Bstatic" |
Petr Hosek | e857f5a | 2018-05-11 20:42:31 +0000 | [diff] [blame] | 57 | // CHECK-STATIC: "-lc++" |
Petr Hosek | 6c652b7 | 2018-11-04 22:38:47 +0000 | [diff] [blame] | 58 | // CHECK-STATIC: "-Bdynamic" |
Petr Hosek | 62e1d23 | 2016-10-06 06:08:09 +0000 | [diff] [blame] | 59 | // CHECK-STATIC: "-lm" |
Petr Hosek | c39b97f | 2018-11-03 01:43:25 +0000 | [diff] [blame] | 60 | // CHECK-STATIC: "--pop-state" |
Petr Hosek | 62e1d23 | 2016-10-06 06:08:09 +0000 | [diff] [blame] | 61 | // CHECK-STATIC: "-lc" |
Petr Hosek | 5ecf51d | 2019-02-17 01:02:40 +0000 | [diff] [blame] | 62 | |
Petr Hosek | 2db79ef | 2019-05-26 03:39:07 +0000 | [diff] [blame] | 63 | // RUN: %clangxx %s -### --target=x86_64-fuchsia -nostdlib++ -fuse-ld=lld 2>&1 \ |
Petr Hosek | 5ecf51d | 2019-02-17 01:02:40 +0000 | [diff] [blame] | 64 | // RUN: | FileCheck %s -check-prefix=CHECK-NOSTDLIBXX |
| 65 | // CHECK-NOSTDLIBXX-NOT: "-lc++" |
| 66 | // CHECK-NOSTDLIBXX-NOT: "-lm" |
| 67 | // CHECK-NOSTDLIBXX: "-lc" |
Petr Hosek | b58561b | 2019-04-27 00:25:13 +0000 | [diff] [blame] | 68 | |
Petr Hosek | 2db79ef | 2019-05-26 03:39:07 +0000 | [diff] [blame] | 69 | // RUN: %clangxx %s -### --target=x86_64-fuchsia \ |
| 70 | // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ |
Petr Hosek | b58561b | 2019-04-27 00:25:13 +0000 | [diff] [blame] | 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 |
Petr Hosek | 2db79ef | 2019-05-26 03:39:07 +0000 | [diff] [blame] | 74 | // RUN: %clangxx %s -### --target=x86_64-fuchsia -fsanitize=address \ |
| 75 | // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ |
Petr Hosek | b58561b | 2019-04-27 00:25:13 +0000 | [diff] [blame] | 76 | // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ |
| 77 | // RUN: -fuse-ld=lld 2>&1\ |
| 78 | // RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB-X86,CHECK-MULTILIB-ASAN-X86 |
Petr Hosek | 2db79ef | 2019-05-26 03:39:07 +0000 | [diff] [blame] | 79 | // RUN: %clangxx %s -### --target=x86_64-fuchsia -fno-exceptions \ |
| 80 | // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ |
Petr Hosek | b58561b | 2019-04-27 00:25:13 +0000 | [diff] [blame] | 81 | // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ |
| 82 | // RUN: -fuse-ld=lld 2>&1\ |
| 83 | // RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB-X86,CHECK-MULTILIB-NOEXCEPT-X86 |
Petr Hosek | 2db79ef | 2019-05-26 03:39:07 +0000 | [diff] [blame] | 84 | // RUN: %clangxx %s -### --target=x86_64-fuchsia -fsanitize=address -fno-exceptions \ |
| 85 | // RUN: -ccc-install-dir %S/Inputs/basic_fuchsia_tree/bin \ |
Petr Hosek | b58561b | 2019-04-27 00:25:13 +0000 | [diff] [blame] | 86 | // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ |
| 87 | // RUN: -fuse-ld=lld 2>&1\ |
Petr Hosek | 20d34ea | 2019-07-13 08:07:10 +0000 | [diff] [blame] | 88 | // RUN: | FileCheck %s -check-prefixes=CHECK-MULTILIB-X86,CHECK-MULTILIB-ASAN-NOEXCEPT-X86 |
Petr Hosek | b58561b | 2019-04-27 00:25:13 +0000 | [diff] [blame] | 89 | // CHECK-MULTILIB-X86: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" |
Petr Hosek | 2db79ef | 2019-05-26 03:39:07 +0000 | [diff] [blame] | 90 | // CHECK-MULTILIB-ASAN-X86: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}c++{{/|\\\\}}asan" |
| 91 | // CHECK-MULTILIB-NOEXCEPT-X86: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}c++{{/|\\\\}}noexcept" |
Petr Hosek | 20d34ea | 2019-07-13 08:07:10 +0000 | [diff] [blame] | 92 | // CHECK-MULTILIB-ASAN-NOEXCEPT-X86: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}c++{{/|\\\\}}asan+noexcept" |
Petr Hosek | 2db79ef | 2019-05-26 03:39:07 +0000 | [diff] [blame] | 93 | // CHECK-MULTILIB-X86: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}lib{{/|\\\\}}x86_64-fuchsia{{/|\\\\}}c++" |