llvm-project/clang/test/Driver/android-installed-libcxx.cpp
Shoaib Meenai 1212d1b511 [driver] Perform fallback target searches for stdlib
Searching for target-specific standard library header and library paths
should perform fallback searches for targets, the same way searching for
the runtime libraries does. It's important for the header and library
searches to be consistent, otherwise we could end up using mismatched
headers and libraries. (See also https://reviews.llvm.org/D146664.)

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D159293
2023-09-18 12:18:51 -07:00

27 lines
1.2 KiB
C++

// Check that we only find libc++ in the installation directory when it contains
// an Android-specific include directory.
// RUN: mkdir -p %t1/bin
// RUN: mkdir -p %t1/include/c++/v1
// RUN: mkdir -p %t1/sysroot
// RUN: %clang -target aarch64-none-linux-android -ccc-install-dir %t1/bin \
// RUN: --sysroot=%t1/sysroot -stdlib=libc++ -fsyntax-only \
// RUN: %s -### 2>&1 | FileCheck %s
// CHECK-NOT: "-internal-isystem" "{{.*}}v1"
// RUN: mkdir -p %t2/bin
// RUN: mkdir -p %t2/include/c++/v1
// RUN: mkdir -p %t2/sysroot
// RUN: mkdir -p %t2/include/aarch64-none-linux-android/c++/v1
// RUN: %clang -target aarch64-none-linux-android -ccc-install-dir %/t2/bin \
// RUN: --sysroot=%t2/sysroot -stdlib=libc++ -fsyntax-only \
// RUN: %s -### 2>&1 | FileCheck --check-prefix=ANDROID-DIR -DDIR=%/t2/bin %s
// RUN: %clang -target aarch64-none-linux-android21 -ccc-install-dir %/t2/bin \
// RUN: --sysroot=%t2/sysroot -stdlib=libc++ -fsyntax-only \
// RUN: %s -### 2>&1 | FileCheck --check-prefix=ANDROID-DIR -DDIR=%/t2/bin %s
// ANDROID-DIR: "-internal-isystem" "[[DIR]][[SEP:/|\\\\]]..[[SEP]]include[[SEP]]aarch64-none-linux-android[[SEP]]c++[[SEP]]v1"
// ANDROID-DIR-SAME: "-internal-isystem" "[[DIR]][[SEP]]..[[SEP]]include[[SEP]]c++[[SEP]]v1"