Fixed the test case to set --sysroot, which lets it succeed in the case where a directory named "/usr/include/c++/v1" or "/usr/local/include/c++/v1" exists. Original commit message: > The NDK uses a separate set of libc++ headers in the sysroot. Any headers > in the installation directory are not going to work on Android, not least > because they use a different name for the inline namespace (std::__1 instead > of std::__ndk1). > > This effectively makes it impossible to produce a single toolchain that is > capable of targeting both Android and another platform that expects libc++ > headers to be installed in the installation directory, such as Mac. > > In order to allow this scenario to work, stop looking for headers in the > install directory on Android. Differential Revision: https://reviews.llvm.org/D71154
11 lines
400 B
C++
11 lines
400 B
C++
// Check that we don't find the libc++ in the installation directory when
|
|
// targeting Android.
|
|
|
|
// RUN: mkdir -p %t/bin
|
|
// RUN: mkdir -p %t/include/c++/v1
|
|
// RUN: mkdir -p %t/sysroot
|
|
// RUN: %clang -target aarch64-linux-android -ccc-install-dir %t/bin \
|
|
// RUN: --sysroot=%t/sysroot -stdlib=libc++ -fsyntax-only \
|
|
// RUN: %s -### 2>&1 | FileCheck %s
|
|
// CHECK-NOT: "-internal-isystem" "{{.*}}v1"
|