|  | 
| 19 | 19 | // CHECK-V6M-C-SAME: "[[SYSROOT:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}crt0.o" | 
| 20 | 20 | // CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for" | 
| 21 | 21 | // CHECK-V6M-C-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib" | 
| 22 |  | -// CHECK-V6M-C-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 23 | 22 | // CHECK-V6M-C-SAME: "-lc" | 
|  | 23 | +// CHECK-V6M-C-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 24 | 24 | // CHECK-V6M-C-SAME: "--target2=rel" "-o" "{{.*}}.tmp.out" | 
| 25 | 25 | 
 | 
| 26 | 26 | // RUN: %clang %s -### --target=armv6m-none-eabi -nostdlibinc -nobuiltininc 2>&1 \ | 
|  | 
| 42 | 42 | // CHECK-V6M-TREE-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" "-EL" | 
| 43 | 43 | // CHECK-V6M-TREE-SAME: "[[INSTALLED_DIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}armv6m-unknown-none-eabi{{[/\\]+}}crt0.o" | 
| 44 | 44 | // CHECK-V6M-TREE-SAME: "-L[[INSTALLED_DIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}armv6m-unknown-none-eabi" | 
| 45 |  | -// CHECK-V6M-TREE-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 46 | 45 | // CHECK-V6M-TREE-SAME: "-lc" | 
|  | 46 | +// CHECK-V6M-TREE-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 47 | 47 | // CHECK-V6M-TREE-SAME: "--target2=rel" "-o" "{{.*}}.tmp.out" | 
| 48 | 48 | 
 | 
| 49 | 49 | // RUN: %clang %s -### --target=armv7m-vendor-none-eabi -rtlib=compiler-rt 2>&1 \ | 
|  | 
| 57 | 57 | // CHECK-ARMV7M-PER_TARGET: "[[SYSROOT:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}crt0.o" | 
| 58 | 58 | // CHECK-ARMV7M-PER-TARGET: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib" | 
| 59 | 59 | // CHECK-ARMV7M-PER-TARGET: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}armv7m-vendor-none-eabi | 
| 60 |  | -// CHECK-ARMV7M-PER-TARGET: "{{[^"]*}}libclang_rt.builtins.a" | 
| 61 | 60 | // CHECK-ARMV7M-PER-TARGET: "-lc" | 
|  | 61 | +// CHECK-ARMV7M-PER-TARGET: "{{[^"]*}}libclang_rt.builtins.a" | 
| 62 | 62 | 
 | 
| 63 | 63 | // RUN: %clangxx %s -### --target=armv6m-none-eabi 2>&1 \ | 
| 64 | 64 | // RUN:     --sysroot=%S/Inputs/baremetal_arm | FileCheck --check-prefix=CHECK-V6M-DEFAULTCXX %s | 
|  | 
| 68 | 68 | // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib" | 
| 69 | 69 | // CHECK-V6M-DEFAULTCXX-SAME: "-lc++" | 
| 70 | 70 | // CHECK-V6M-DEFAULTCXX-SAME: "-lm" | 
| 71 |  | -// CHECK-V6M-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 72 | 71 | // CHECK-V6M-DEFAULTCXX-SAME: "-lc" | 
|  | 72 | +// CHECK-V6M-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 73 | 73 | // CHECK-V6M-DEFAULTCXX-SAME: "--target2=rel" "-o" "a.out" | 
| 74 | 74 | 
 | 
| 75 | 75 | // RUN: %clangxx %s -### --target=armv6m-none-eabi -stdlib=libc++ 2>&1 \ | 
|  | 
| 81 | 81 | // CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib" | 
| 82 | 82 | // CHECK-V6M-LIBCXX-SAME: "-lc++" | 
| 83 | 83 | // CHECK-V6M-LIBCXX-SAME: "-lm" | 
| 84 |  | -// CHECK-V6M-LIBCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 85 | 84 | // CHECK-V6M-LIBCXX-SAME: "-lc" | 
|  | 85 | +// CHECK-V6M-LIBCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 86 | 86 | // CHECK-V6M-LIBCXX-SAME: "--target2=rel" "-o" "a.out" | 
| 87 | 87 | 
 | 
| 88 | 88 | // RUN: %clangxx %s -### --target=armv6m-none-eabi 2>&1 \ | 
|  | 
| 95 | 95 | // CHECK-V6M-LIBSTDCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" "-EL" | 
| 96 | 96 | // CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib" | 
| 97 | 97 | // CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lm" | 
| 98 |  | -// CHECK-V6M-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 99 | 98 | // CHECK-V6M-LIBSTDCXX-SAME: "-lc" | 
|  | 99 | +// CHECK-V6M-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 100 | 100 | // CHECK-V6M-LIBSTDCXX-SAME: "--target2=rel" "-o" "a.out" | 
| 101 | 101 | 
 | 
| 102 | 102 | // RUN: %clangxx %s -### --target=armv6m-none-eabi 2>&1 \ | 
|  | 
| 120 | 120 | // CHECK-V6M-LIBCXX-USR: "{{[^"]*}}-Bstatic" | 
| 121 | 121 | // CHECK-V6M-LIBCXX-USR-SAME: "-L{{[^"]*}}{{[/\\]+}}baremetal_cxx_sysroot{{[/\\]+}}lib" | 
| 122 | 122 | // CHECK-V6M-LIBCXX-USR-SAME: "-lc++" "-lm" | 
| 123 |  | -// CHECK-V6M-LIBCXX-USR-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 124 | 123 | // CHECK-V6M-LIBCXX-USR-SAME: "-lc" | 
|  | 124 | +// CHECK-V6M-LIBCXX-USR-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 125 | 125 | 
 | 
| 126 | 126 | // RUN: %clangxx --target=arm-none-eabi -v 2>&1 \ | 
| 127 | 127 | // RUN:   | FileCheck %s --check-prefix=CHECK-THREAD-MODEL | 
|  | 
| 208 | 208 | // CHECK-RV64-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 209 | 209 | // CHECK-RV64-SAME: "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for" | 
| 210 | 210 | // CHECK-RV64-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib" | 
| 211 |  | -// CHECK-RV64-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 212 | 211 | // CHECK-RV64-SAME: "-lc" | 
|  | 212 | +// CHECK-RV64-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 213 | 213 | // CHECK-RV64-SAME: "-X" "-o" "{{.*}}.tmp.out" | 
| 214 | 214 | 
 | 
| 215 | 215 | // RUN: %clangxx %s -### --target=riscv64-unknown-elf 2>&1 \ | 
|  | 
| 219 | 219 | // CHECK-RV64-DEFAULTCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 220 | 220 | // CHECK-RV64-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib" | 
| 221 | 221 | // CHECK-RV64-DEFAULTCXX-SAME: "-lc++" "-lm" | 
| 222 |  | -// CHECK-RV64-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 223 | 222 | // CHECK-RV64-DEFAULTCXX-SAME: "-lc" | 
|  | 223 | +// CHECK-RV64-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 224 | 224 | // CHECK-RV64-DEFAULTCXX-SAME: "-X" "-o" "a.out" | 
| 225 | 225 | 
 | 
| 226 | 226 | // RUN: %clangxx %s -### --target=riscv64-unknown-elf 2>&1 \ | 
|  | 
| 233 | 233 | // CHECK-RV64-LIBCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 234 | 234 | // CHECK-RV64-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib" | 
| 235 | 235 | // CHECK-RV64-LIBCXX-SAME: "-lc++" "-lm" | 
| 236 |  | -// CHECK-RV64-LIBCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 237 | 236 | // CHECK-RV64-LIBCXX-SAME: "-lc" | 
|  | 237 | +// CHECK-RV64-LIBCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 238 | 238 | // CHECK-RV64-LIBCXX-SAME: "-X" "-o" "a.out" | 
| 239 | 239 | 
 | 
| 240 | 240 | // RUN: %clangxx %s -### 2>&1 --target=riscv64-unknown-elf \ | 
|  | 
| 247 | 247 | // CHECK-RV64-LIBSTDCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 248 | 248 | // CHECK-RV64-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib" | 
| 249 | 249 | // CHECK-RV64-LIBSTDCXX-SAME: "-lstdc++" "-lm" | 
| 250 |  | -// CHECK-RV64-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 251 | 250 | // CHECK-RV64-LIBSTDCXX-SAME: "-lc" | 
|  | 251 | +// CHECK-RV64-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 252 | 252 | // CHECK-RV64-LIBSTDCXX-SAME: "-X" "-o" "a.out" | 
| 253 | 253 | 
 | 
| 254 | 254 | // RUN: %clang %s -### 2>&1 --target=riscv32-unknown-elf \ | 
|  | 
| 264 | 264 | // CHECK-RV32-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 265 | 265 | // CHECK-RV32-SAME: "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for" | 
| 266 | 266 | // CHECK-RV32-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib" | 
| 267 |  | -// CHECK-RV32-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 268 | 267 | // CHECK-RV32-SAME: "-lc" | 
|  | 268 | +// CHECK-RV32-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 269 | 269 | // CHECK-RV32-SAME: "-X" "-o" "a.out" | 
| 270 | 270 | 
 | 
| 271 | 271 | // RUN: %clangxx %s -### 2>&1 --target=riscv32-unknown-elf \ | 
|  | 
| 275 | 275 | // CHECK-RV32-DEFAULTCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 276 | 276 | // CHECK-RV32-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib" | 
| 277 | 277 | // CHECK-RV32-DEFAULTCXX-SAME: "-lc++" "-lm" | 
| 278 |  | -// CHECK-RV32-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 279 | 278 | // CHECK-RV32-DEFAULTCXX-SAME: "-lc" | 
|  | 279 | +// CHECK-RV32-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 280 | 280 | // CHECK-RV32-DEFAULTCXX-SAME: "-X" "-o" "a.out" | 
| 281 | 281 | 
 | 
| 282 | 282 | // RUN: %clangxx %s -### 2>&1 --target=riscv32-unknown-elf \ | 
|  | 
| 301 | 301 | // CHECK-RV32-LIBSTDCXX-SAME: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}8.0.1" | 
| 302 | 302 | // CHECK-RV32-LIBSTDCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 303 | 303 | // CHECK-RV32-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib" | 
| 304 |  | -// CHECK-RV32-LIBSTDCXX-SAME: "-lstdc++" "-lm" | 
|  | 304 | +// CHECK-RV32-LIBSTDCXX-SAME: "-lstdc++" "-lm" "-lc" | 
| 305 | 305 | // CHECK-RV32-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 306 |  | -// CHECK-RV32-LIBSTDCXX-SAME: "-lc" "-X" "-o" "a.out" | 
|  | 306 | +// CHECK-RV32-LIBSTDCXX-SAME: "-X" "-o" "a.out" | 
| 307 | 307 | 
 | 
| 308 | 308 | // RUN: %clang %s -### 2>&1 --target=riscv64-unknown-elf \ | 
| 309 | 309 | // RUN:     -nostdlibinc -nobuiltininc \ | 
|  | 
| 425 | 425 | // CHECK-PPCEABI-SAME: "-internal-isystem" "[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}include" | 
| 426 | 426 | // CHECK-PPCEABI-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 427 | 427 | // CHECK-PPCEABI-SAME: "-L[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}lib" | 
| 428 |  | -// CHECK-PPCEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 429 | 428 | // CHECK-PPCEABI-SAME: "-lc" | 
|  | 429 | +// CHECK-PPCEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 430 | 430 | // CHECK-PPCEABI-SAME: "-o" "a.out" | 
| 431 | 431 | 
 | 
| 432 | 432 | // RUN: %clang -no-canonical-prefixes %s -### --target=powerpc64-unknown-eabi 2>&1 \ | 
|  | 
| 439 | 439 | // CHECK-PPC64EABI-SAME: "-internal-isystem" "[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}include" | 
| 440 | 440 | // CHECK-PPC64EABI-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 441 | 441 | // CHECK-PPC64EABI-SAME: "-L[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}lib" | 
| 442 |  | -// CHECK-PPC64EABI-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 443 | 442 | // CHECK-PPC64EABI-SAME: "-lc" | 
|  | 443 | +// CHECK-PPC64EABI-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 444 | 444 | // CHECK-PPC64EABI-SAME: "-o" "a.out" | 
| 445 | 445 | 
 | 
| 446 | 446 | // RUN: %clang -no-canonical-prefixes %s -### --target=powerpcle-unknown-eabi 2>&1 \ | 
|  | 
| 453 | 453 | // CHECK-PPCLEEABI-SAME: "-internal-isystem" "[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}include" | 
| 454 | 454 | // CHECK-PPCLEEABI-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 455 | 455 | // CHECK-PPCLEEABI-SAME: "-L[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}lib" | 
| 456 |  | -// CHECK-PPCLEEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 457 | 456 | // CHECK-PPCLEEABI-SAME: "-lc" | 
|  | 457 | +// CHECK-PPCLEEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 458 | 458 | // CHECK-PPCLEEABI-SAME: "-o" "a.out" | 
| 459 | 459 | 
 | 
| 460 | 460 | // RUN: %clang -no-canonical-prefixes %s -### --target=powerpc64le-unknown-eabi 2>&1 \ | 
|  | 
| 467 | 467 | // CHECK-PPC64LEEABI-SAME: "-internal-isystem" "[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}include" | 
| 468 | 468 | // CHECK-PPC64LEEABI-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" | 
| 469 | 469 | // CHECK-PPC64LEEABI-SAME: "-L[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}lib" | 
| 470 |  | -// CHECK-PPC64LEEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 471 | 470 | // CHECK-PPC64LEEABI-SAME: "-lc" | 
|  | 471 | +// CHECK-PPC64LEEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a" | 
| 472 | 472 | // CHECK-PPC64LEEABI-SAME: "-o" "a.out" | 
| 473 | 473 | 
 | 
| 474 | 474 | // Check that compiler-rt library without the arch filename suffix will | 
|  | 
0 commit comments