[PATCH] D63600: [test][Driver] Fix Clang :: Driver/cl-response-file.c
Rainer Orth via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 20 06:35:37 PDT 2019
ro created this revision.
ro added a reviewer: rsmith.
Herald added a subscriber: fedor.sergeev.
Herald added a project: clang.
`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`.
Ok for trunk?
Repository:
rC Clang
https://reviews.llvm.org/D63600
Files:
test/Driver/cl-response-file.c
Index: test/Driver/cl-response-file.c
===================================================================
--- test/Driver/cl-response-file.c
+++ test/Driver/cl-response-file.c
@@ -4,7 +4,7 @@
-// RUN: echo '/I%S\Inputs\cl-response-file\ /DFOO=2' > %t.rsp
+// RUN: printf '/I%S\Inputs\\cl-response-file\ /DFOO=2' > %t.rsp
// RUN: %clang_cl /c -### @%t.rsp -- %s 2>&1 | FileCheck %s
// CHECK: "-I" "{{.*}}\\Inputs\\cl-response-file\\" "-D" "FOO=2"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63600.205793.patch
Type: text/x-patch
Size: 456 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190620/1f924a82/attachment.bin>
More information about the cfe-commits
mailing list