Skip to content

Commit d5f16d6

Browse files
committed
[test][Driver] Fix Clang :: Driver/cl-response-file.c
Clang :: Driver/cl-response-file.c currently FAILs on Solaris: Command Output (stderr): -- /vol/llvm/src/clang/dist/test/Driver/cl-response-file.c:10:11: error: CHECK: expected string not found in input // CHECK: "-I" "{{.*}}\\Inputs\\cl-response-file\\" "-D" "FOO=2" ^ Looking at the generated response file reveals that this is no surprise: /I/vol/llvm/src/clang/dist/test/Driver\Inputs with no newline at the end. The echo command used to create it boils down to echo 'a\cb' However, one cannot expect \c to be emitted literally: e.g. bash's builtin echo has \c suppress further output I've tried various combinations of builtin echo, /usr/bin/echo, GNU echo if different, the same for printf, and the backslash unescaped and quoted (a\cb and a\\cb). The only combination that worked reliably on Solaris, Linux, and macOS was printf 'a\\cb' so this is what this patch uses. Tested on amd64-pc-solaris2.11 and x86_64-pc-linux-gnu. Differential Revision: https://reviews.llvm.org/D63600 llvm-svn: 363985
1 parent 6fde832 commit d5f16d6

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

clang/test/Driver/cl-response-file.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66

7-
// RUN: echo '/I%S\Inputs\cl-response-file\ /DFOO=2' > %t.rsp
7+
// RUN: printf '/I%S\Inputs\\cl-response-file\ /DFOO=2' > %t.rsp
88
// RUN: %clang_cl /c -### @%t.rsp -- %s 2>&1 | FileCheck %s
99

1010
// CHECK: "-I" "{{.*}}\\Inputs\\cl-response-file\\" "-D" "FOO=2"

0 commit comments

Comments
 (0)