Clang Project

clang_source_code/test/Driver/darwin-stdlib.cpp
1// This test will fail if CLANG_DEFAULT_CXX_STDLIB is set to anything different
2// than the platform default. (see https://llvm.org/bugs/show_bug.cgi?id=30548)
3// XFAIL: default-cxx-stdlib-set
4
5// RUN: %clang -target x86_64-apple-darwin -ccc-install-dir %S/Inputs/darwin_toolchain_tree/bin/ -arch arm64 -miphoneos-version-min=7.0 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LIBCXX
6// RUN: %clang -target x86_64-apple-darwin -ccc-install-dir %S/Inputs/darwin_toolchain_tree/bin/ -mmacosx-version-min=10.8 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LIBSTDCXX
7// RUN: %clang -target x86_64-apple-darwin -ccc-install-dir %S/Inputs/darwin_toolchain_tree/bin/ -mmacosx-version-min=10.9 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LIBCXX
8// RUN: %clang -target x86_64-apple-darwin -ccc-install-dir %S/Inputs/darwin_toolchain_tree/bin/ -arch armv7s -miphoneos-version-min=6.1 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LIBSTDCXX
9// RUN: %clang -target x86_64-apple-darwin -ccc-install-dir %S/Inputs/darwin_toolchain_tree/bin/ -arch armv7s -miphoneos-version-min=7.0 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LIBCXX
10// RUN: %clang -target x86_64-apple-darwin -ccc-install-dir %S/Inputs/darwin_toolchain_tree/bin/ -arch armv7k %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LIBCXX
11
12// The purpose of this test is that the libc++ headers should be found
13// properly. We also pass -stdlib=libc++ to make sure the logic to add the
14// optional absolute include for libc++ from InitHeaderSearch.cpp also fires.
15
16// CHECK-LIBCXX: "-stdlib=libc++"
17// CHECK-LIBCXX: "-internal-isystem" "{{[^"]*}}{{/|\\\\}}Inputs{{/|\\\\}}darwin_toolchain_tree{{/|\\\\}}bin{{/|\\\\}}..{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}v1"
18
19// CHECK-LIBSTDCXX-NOT: -stdlib=libc++
20// CHECK-LIBSTDCXX-NOT: -stdlib=libstdc++
21// CHECK-LIBSTDCXX-NOT: -internal-isystem
22