1275592e7SHafiz Abid Qadeer // REQUIRES: shell
2275592e7SHafiz Abid Qadeer // UNSUPPORTED: system-windows
3275592e7SHafiz Abid Qadeer 
4275592e7SHafiz Abid Qadeer // Test that when a --sysroot is not provided, driver picks the default
5275592e7SHafiz Abid Qadeer // location correctly if available.
6275592e7SHafiz Abid Qadeer 
7275592e7SHafiz Abid Qadeer // RUN: rm -rf %T/baremetal_default_sysroot
8275592e7SHafiz Abid Qadeer // RUN: mkdir -p %T/baremetal_default_sysroot/bin
9275592e7SHafiz Abid Qadeer // RUN: mkdir -p %T/baremetal_default_sysroot/lib/clang-runtimes/armv6m-none-eabi
10275592e7SHafiz Abid Qadeer // RUN: ln -s %clang %T/baremetal_default_sysroot/bin/clang
11275592e7SHafiz Abid Qadeer 
12275592e7SHafiz Abid Qadeer // RUN: %T/baremetal_default_sysroot/bin/clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
13*4f637c30STim Northover // RUN:     -target armv6m-none-eabi --sysroot= \
14f97ada27SPetr Hosek // RUN:   | FileCheck --check-prefix=CHECK-V6M-C %s
15f97ada27SPetr Hosek // CHECK-V6M-C: "{{.*}}clang{{.*}}" "-cc1" "-triple" "thumbv6m-none-unknown-eabi"
16f97ada27SPetr Hosek // CHECK-V6M-C-SAME: "-internal-isystem" "{{.*}}/baremetal_default_sysroot{{[/\\]+}}bin{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+}}armv6m-none-eabi{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
17f97ada27SPetr Hosek // CHECk-V6M-C-SAME: "-internal-isystem" "{{.*}}/baremetal_default_sysroot{{[/\\]+}}bin{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+}}armv6m-none-eabi{{[/\\]+}}include"
18f97ada27SPetr Hosek // CHECK-V6M-C-SAME: "-x" "c++" "{{.*}}baremetal-sysroot.cpp"
19f97ada27SPetr Hosek // CHECK-V6M-C-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
20f97ada27SPetr Hosek // CHECK-V6M-C-SAME: "-L{{.*}}/baremetal_default_sysroot{{[/\\]+}}bin{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+}}armv6m-none-eabi{{[/\\]+}}lib"
21f97ada27SPetr Hosek // CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
22f97ada27SPetr Hosek // CHECK-V6M-C-SAME: "-o" "{{.*}}.o"
23