1 // Check that SDKROOT is used to define the default for -isysroot on Darwin. 2 // 3 // RUN: rm -rf %t.tmpdir 4 // RUN: mkdir -p %t.tmpdir 5 // RUN: env SDKROOT=%t.tmpdir %clang -target x86_64-apple-darwin10 \ 6 // RUN: -c %s -### 2> %t.log 7 // RUN: FileCheck --check-prefix=CHECK-BASIC < %t.log %s 8 // 9 // CHECK-BASIC: clang 10 // CHECK-BASIC: "-cc1" 11 // CHECK-BASIC: "-isysroot" "{{.*tmpdir}}" 12 13 // Check that we don't use SDKROOT as the default if it is not a valid path. 14 // 15 // RUN: rm -rf %t.nonpath 16 // RUN: env SDKROOT=%t.nonpath %clang -target x86_64-apple-darwin10 \ 17 // RUN: -c %s -### 2> %t.log 18 // RUN: FileCheck --check-prefix=CHECK-NONPATH < %t.log %s 19 // 20 // CHECK-NONPATH: clang 21 // CHECK-NONPATH: "-cc1" 22 // CHECK-NONPATH-NOT: "-isysroot" 23 24 // Check that we don't use SDKROOT as the default if it is just "/" 25 // 26 // RUN: env SDKROOT=/ %clang -target x86_64-apple-darwin10 \ 27 // RUN: -c %s -### 2> %t.log 28 // RUN: FileCheck --check-prefix=CHECK-NONROOT < %t.log %s 29 // 30 // CHECK-NONROOT: clang 31 // CHECK-NONROOT: "-cc1" 32 // CHECK-NONROOT-NOT: "-isysroot" 33 // 34 // It doesn't make sense on msys bash. 35 // REQUIRES: shell-preserves-root 36 // 37 // This test will fail with MSYS env.exe, since it does not preserve root, 38 // expanding / into C:/MINGW/MSYS/1.0. To see the problem, from cmd.exe run: 39 // 40 // env SDKROOT=/ cmd //c echo %SDKROOT% 41 // 42 // This test passes using env.exe from GnuWin32. 43