diff --git a/libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp b/libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp --- a/libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp +++ b/libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp @@ -7,12 +7,12 @@ //===----------------------------------------------------------------------===// // This test greps for %t, which is expanded to a path with backslashes. When -// that is passed to grep, those backslashes would have to be escaped, which we -// don't do right now. -// UNSUPPORTED: windows +// that is passed to grep, those backslashes must be escaped. We escape those +// within the pattern into a file and use this file with 'grep'. // Make sure that substitutions are performed inside additional compiler flags. // ADDITIONAL_COMPILE_FLAGS: -I %t.1 // ADDITIONAL_COMPILE_FLAGS: -isystem %t.2 , -isysroot %t.3 -// RUN: echo "%{compile_flags}" | grep -e '-I %t.1 -isystem %t.2 -isysroot %t.3' +// RUN: echo "-I %t.1 -isystem %t.2 -isysroot %t.3" | sed "s/\\\/\\\\\\\/g" > %t.escaped.grep +// RUN: echo "%{compile_flags}" | grep -e -f %t.escaped.grep