Skip to content

Commit

Permalink
[Driver] Enable stdlibxx-isystem test on Windows
Browse files Browse the repository at this point in the history
With `%/t`, we can now compare `-###` output against the installtion dir
without backslash escaping getting in the way. Having to check against
the doubled-up backslashes is ugly, but it's the pattern used in lots of
tests (including for things like debug info where an `-###` alternative
that didn't escape backslashes wouldn't help).
  • Loading branch information
smeenai committed Aug 30, 2023
1 parent 30307a7 commit f41cd47
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions clang/test/Driver/stdlibxx-isystem.cpp
Original file line number Diff line number Diff line change
@@ -1,29 +1,28 @@
// Backslash escaping makes matching against the installation directory fail on
// Windows. Temporarily disable the test there until we add an option to print
// the installation directory unescaped.
// UNSUPPORTED: system-windows

// By default, we should search for libc++ next to the driver.
// RUN: mkdir -p %t/bin
// RUN: mkdir -p %t/include/c++/v1
// RUN: %clang -target aarch64-linux-gnu -ccc-install-dir %t/bin \
// RUN: %clang -target aarch64-linux-gnu -ccc-install-dir %/t/bin \
// RUN: -stdlib=libc++ -fsyntax-only %s -### 2>&1 | \
// RUN: FileCheck -check-prefix=LIBCXX %s
// RUN: %clang -target x86_64-apple-darwin -ccc-install-dir %t/bin \
// RUN: %clang -target x86_64-apple-darwin -ccc-install-dir %/t/bin \
// RUN: -stdlib=libc++ -fsyntax-only %s -### 2>&1 | \
// RUN: FileCheck -check-prefix=LIBCXX %s
// LIBCXX: InstalledDir: [[INSTALLDIR:.+$]]
// LIBCXX: "-internal-isystem" "[[INSTALLDIR]]/../include/c++/v1"
// LIBCXX: "-internal-isystem" "[[INSTALLDIR]]{{/|\\\\}}..{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}v1"

// Passing -stdlib++-isystem should suppress the default search.
// RUN: %clang -target aarch64-linux-gnu -ccc-install-dir %t/bin \
// RUN: %clang -target aarch64-linux-gnu -ccc-install-dir %/t/bin \
// RUN: -stdlib++-isystem /tmp/foo -stdlib++-isystem /tmp/bar -stdlib=libc++ \
// RUN: -fsyntax-only %s -### 2>&1 | FileCheck -check-prefix=NODEFAULT %s
// RUN: %clang -target x86_64-apple-darwin -ccc-install-dir %t/bin \
// RUN: %clang -target x86_64-apple-darwin -ccc-install-dir %/t/bin \
// RUN: -stdlib++-isystem /tmp/foo -stdlib++-isystem /tmp/bar -stdlib=libc++ \
// RUN: -fsyntax-only %s -### 2>&1 | FileCheck -check-prefix=NODEFAULT %s
// NODEFAULT: InstalledDir: [[INSTALLDIR:.+$]]
// NODEFAULT-NOT: "-internal-isystem" "[[INSTALLDIR]]/../include/c++/v1"
// NODEFAULT-NOT: "-internal-isystem" "[[INSTALLDIR]]{{/|\\\\}}..{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}v1"

// And we should add it as an -internal-isystem.
// RUN: %clang -target aarch64-linux-gnu -ccc-install-dir %t/bin \
Expand Down

0 comments on commit f41cd47

Please sign in to comment.