1 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 2 // RUN: -target armv6m-none-eabi \ 3 // RUN: -T semihosted.lds \ 4 // RUN: -L some/directory/user/asked/for \ 5 // RUN: --sysroot=%S/Inputs/baremetal_arm \ 6 // RUN: | FileCheck --check-prefix=CHECK-V6M-C %s 7 // CHECK-V6M-C: "[[PREFIX_DIR:.*]]{{[/\\]+}}{{[^/^\\]+}}{{[/\\]+}}clang{{.*}}" "-cc1" "-triple" "thumbv6m-none-unknown-eabi" 8 // CHECK-V6M-C-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" 9 // CHECK-V6M-C-SAME: "-isysroot" "[[SYSROOT:[^"]*]]" 10 // CHECK-V6M-C-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1" 11 // CHECk-V6M-C-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include" 12 // CHECK-V6M-C-SAME: "-x" "c++" "{{.*}}baremetal.cpp" 13 // CHECK-V6M-C-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 14 // CHECK-V6M-C-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal" 15 // CHECK-V6M-C-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib" 16 // CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for" 17 // CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m" 18 // CHECK-V6M-C-SAME: "-o" "{{.*}}.o" 19 20 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 21 // RUN: -target armv6m-none-eabi \ 22 // RUN: -nostdlibinc -nobuiltininc \ 23 // RUN: --sysroot=%S/Inputs/baremetal_arm \ 24 // RUN: | FileCheck --check-prefix=CHECK-V6M-LIBINC %s 25 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 26 // RUN: -target armv6m-none-eabi \ 27 // RUN: -nostdinc \ 28 // RUN: --sysroot=%S/Inputs/baremetal_arm \ 29 // RUN: | FileCheck --check-prefix=CHECK-V6M-LIBINC %s 30 // CHECK-V6M-LIBINC-NOT: "-internal-isystem" 31 32 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 33 // RUN: -target armv6m-none-eabi \ 34 // RUN: --sysroot=%S/Inputs/baremetal_arm \ 35 // RUN: | FileCheck --check-prefix=CHECK-V6M-DEFAULTCXX %s 36 // CHECK-V6M-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 37 // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 38 // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib" 39 // CHECK-V6M-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind" 40 // CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m" 41 // CHECK-V6M-DEFAULTCXX-SAME: "-o" "{{.*}}.o" 42 43 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 44 // RUN: -target armv6m-none-eabi \ 45 // RUN: --sysroot=%S/Inputs/baremetal_arm \ 46 // RUN: -stdlib=libc++ \ 47 // RUN: | FileCheck --check-prefix=CHECK-V6M-LIBCXX %s 48 // CHECK-V6M-LIBCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}{{[^v].*}}" 49 // CHECK-V6M-LIBCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1" 50 // CHECK-V6M-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 51 // CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 52 // CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib" 53 // CHECK-V6M-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind" 54 // CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m" 55 // CHECK-V6M-LIBCXX-SAME: "-o" "{{.*}}.o" 56 57 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 58 // RUN: -target armv6m-none-eabi \ 59 // RUN: --sysroot=%S/Inputs/baremetal_arm \ 60 // RUN: -stdlib=libstdc++ \ 61 // RUN: | FileCheck --check-prefix=CHECK-V6M-LIBSTDCXX %s 62 // CHECK-V6M-LIBSTDCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1" 63 // CHECK-V6M-LIBSTDCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}6.0.0" 64 // CHECK-V6M-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 65 // CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 66 // CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib" 67 // CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind" 68 // CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m" 69 // CHECK-V6M-LIBSTDCXX-SAME: "-o" "{{.*}}.o" 70 71 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 72 // RUN: -target armv6m-none-eabi \ 73 // RUN: --sysroot=%S/Inputs/baremetal_arm \ 74 // RUN: -nodefaultlibs \ 75 // RUN: | FileCheck --check-prefix=CHECK-V6M-NDL %s 76 // CHECK-V6M-NDL: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 77 // CHECK-V6M-NDL-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 78 // CHECK-V6M-NDL-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib" "-o" "{{.*}}.o" 79 80 // RUN: %clangxx -target arm-none-eabi -v 2>&1 \ 81 // RUN: | FileCheck %s --check-prefix=CHECK-THREAD-MODEL 82 // CHECK-THREAD-MODEL: Thread model: posix 83 84 // RUN: %clangxx -target arm-none-eabi -mthread-model single -v 2>&1 \ 85 // RUN: | FileCheck %s --check-prefix=CHECK-THREAD-MODEL-SINGLE 86 // CHECK-THREAD-MODEL-SINGLE: Thread model: single 87 88 // RUN: %clangxx -target arm-none-eabi -mthread-model posix -v 2>&1 \ 89 // RUN: | FileCheck %s --check-prefix=CHECK-THREAD-MODEL-POSIX 90 // CHECK-THREAD-MODEL-POSIX: Thread model: posix 91 92 // RUN: %clang -### -target arm-none-eabi -rtlib=libgcc -v %s 2>&1 \ 93 // RUN: | FileCheck %s --check-prefix=CHECK-RTLIB-GCC 94 // CHECK-RTLIB-GCC: -lgcc 95 96 // RUN: %clang -### -target arm-none-eabi -v %s 2>&1 \ 97 // RUN: | FileCheck %s --check-prefix=CHECK-SYSROOT-INC 98 // CHECK-SYSROOT-INC-NOT: "-internal-isystem" "include" 99 100 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 101 // RUN: -target riscv64-unknown-elf \ 102 // RUN: -L some/directory/user/asked/for \ 103 // RUN: --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \ 104 // RUN: | FileCheck --check-prefix=CHECK-RV64 %s 105 // CHECK-RV64: "[[PREFIX_DIR:.*]]{{[/\\]+}}{{[^/^\\]+}}{{[/\\]+}}clang{{.*}}" "-cc1" "-triple" "riscv64-unknown-unknown-elf" 106 // CHECK-RV64-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" 107 // CHECK-RV64-SAME: "-isysroot" "[[SYSROOT:[^"]*]]" 108 // CHECK-RV64-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1" 109 // CHECk-RV64-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include" 110 // CHECK-RV64-SAME: "-x" "c++" "{{.*}}baremetal.cpp" 111 // CHECK-RV64-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 112 // CHECK-RV64-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal" 113 // CHECK-RV64-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib" 114 // CHECK-RV64-SAME: "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for" 115 // CHECK-RV64-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv64" 116 // CHECK-RV64-SAME: "-o" "{{.*}}.o" 117 118 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 119 // RUN: -target riscv64-unknown-elf \ 120 // RUN: --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \ 121 // RUN: | FileCheck --check-prefix=CHECK-RV64-DEFAULTCXX %s 122 // CHECK-RV64-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 123 // CHECK-RV64-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 124 // CHECK-RV64-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib" 125 // CHECK-RV64-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind" 126 // CHECK-RV64-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv64" 127 // CHECK-RV64-DEFAULTCXX-SAME: "-o" "{{.*}}.o" 128 129 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 130 // RUN: -target riscv64-unknown-elf \ 131 // RUN: --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \ 132 // RUN: -stdlib=libc++ \ 133 // RUN: | FileCheck --check-prefix=CHECK-RV64-LIBCXX %s 134 // CHECK-RV64-LIBCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}{{[^v].*}}" 135 // CHECK-RV64-LIBCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1" 136 // CHECK-RV64-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 137 // CHECK-RV64-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 138 // CHECK-RV64-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib" 139 // CHECK-RV64-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind" 140 // CHECK-RV64-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv64" 141 // CHECK-RV64-LIBCXX-SAME: "-o" "{{.*}}.o" 142 143 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 144 // RUN: -target riscv64-unknown-elf \ 145 // RUN: --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \ 146 // RUN: -stdlib=libstdc++ \ 147 // RUN: | FileCheck --check-prefix=CHECK-RV64-LIBSTDCXX %s 148 // CHECK-RV64-LIBSTDCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1" 149 // CHECK-RV64-LIBSTDCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}8.0.1" 150 // CHECK-RV64-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 151 // CHECK-RV64-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 152 // CHECK-RV64-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib" 153 // CHECK-RV64-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind" 154 // CHECK-RV64-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv64" 155 // CHECK-RV64-LIBSTDCXX-SAME: "-o" "{{.*}}.o" 156 157 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 158 // RUN: -target riscv32-unknown-elf \ 159 // RUN: -L some/directory/user/asked/for \ 160 // RUN: --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \ 161 // RUN: | FileCheck --check-prefix=CHECK-RV32 %s 162 // CHECK-RV32: "[[PREFIX_DIR:.*]]{{[/\\]+}}{{[^/^\\]+}}{{[/\\]+}}clang{{.*}}" "-cc1" "-triple" "riscv32-unknown-unknown-elf" 163 // CHECK-RV32-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" 164 // CHECK-RV32-SAME: "-isysroot" "[[SYSROOT:[^"]*]]" 165 // CHECK-RV32-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1" 166 // CHECK-RV32-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include" 167 // CHECK-RV32-SAME: "-x" "c++" "{{.*}}baremetal.cpp" 168 // CHECK-RV32-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 169 // CHECK-RV32-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal" 170 // CHECK-RV32-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib" 171 // CHECK-RV32-SAME: "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for" 172 // CHECK-RV32-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv32" 173 // CHECK-RV32-SAME: "-o" "{{.*}}.o" 174 175 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 176 // RUN: -target riscv32-unknown-elf \ 177 // RUN: --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \ 178 // RUN: | FileCheck --check-prefix=CHECK-RV32-DEFAULTCXX %s 179 // CHECK-RV32-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 180 // CHECK-RV32-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 181 // CHECK-RV32-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib" 182 // CHECK-RV32-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind" 183 // CHECK-RV32-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv32" 184 // CHECK-RV32-DEFAULTCXX-SAME: "-o" "{{.*}}.o" 185 186 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 187 // RUN: -target riscv32-unknown-elf \ 188 // RUN: --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \ 189 // RUN: -stdlib=libc++ \ 190 // RUN: | FileCheck --check-prefix=CHECK-RV32-LIBCXX %s 191 // CHECK-RV32-LIBCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}{{[^v].*}}" 192 // CHECK-RV32-LIBCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1" 193 // CHECK-RV32-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 194 // CHECK-RV32-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 195 // CHECK-RV32-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib" 196 // CHECK-RV32-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind" 197 // CHECK-RV32-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv32" 198 // CHECK-RV32-LIBCXX-SAME: "-o" "{{.*}}.o" 199 200 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 201 // RUN: -target riscv32-unknown-elf \ 202 // RUN: --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \ 203 // RUN: -stdlib=libstdc++ \ 204 // RUN: | FileCheck --check-prefix=CHECK-RV32-LIBSTDCXX %s 205 // CHECK-RV32-LIBSTDCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1" 206 // CHECK-RV32-LIBSTDCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}8.0.1" 207 // CHECK-RV32-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 208 // CHECK-RV32-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 209 // CHECK-RV32-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib" 210 // CHECK-RV32-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind" 211 // CHECK-RV32-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv32" 212 // CHECK-RV32-LIBSTDCXX-SAME: "-o" "{{.*}}.o" 213 214 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 215 // RUN: -target riscv64-unknown-elf \ 216 // RUN: -nostdlibinc -nobuiltininc \ 217 // RUN: --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \ 218 // RUN: | FileCheck --check-prefix=CHECK-RV64-LIBINC %s 219 220 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 221 // RUN: -target riscv64-unknown-elf \ 222 // RUN: -nostdinc \ 223 // RUN: --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \ 224 // RUN: | FileCheck --check-prefix=CHECK-RV64-LIBINC %s 225 // CHECK-RV64-LIBINC-NOT: "-internal-isystem" 226 227 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 228 // RUN: -target riscv64-unknown-elf \ 229 // RUN: --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \ 230 // RUN: -nodefaultlibs \ 231 // RUN: | FileCheck --check-prefix=CHECK-RV64-NDL %s 232 // CHECK-RV64-NDL: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" 233 // CHECK-RV64-NDL-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" 234 // CHECK-RV64-NDL-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib" 235 // CHECK-RV64-NDL-SAME: "-o" "{{.*}}.o" 236