[PATCH] D41544: Use backslash escape, replacing xargs -0 in test macro-multiline.c

Hubert Tong via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 22 09:03:45 PST 2017

hubert.reinterpretcast created this revision.

xargs supports escaping of newline characters with backslash. xargs -0 is neither part of POSIX nor the LSB.

This patch removes the -0 option and adjusts the input to xargs accordingly; that is, the input is a text file not ending in an incomplete line, and the newline of interest is preceded by a backslash.

Note: The treatment of escaped newline characters is not as clearly specified by POSIX as for escaped blank characters; however, the same can be said for escaped backslashes. It is slightly more clear for the case where the -I option is used; however, -I is also of limited portability.

  rC Clang



Index: test/Preprocessor/macro-multiline.c
--- test/Preprocessor/macro-multiline.c
+++ test/Preprocessor/macro-multiline.c
@@ -1,4 +1,4 @@
-// RUN: printf -- "-DX=A\nTHIS_SHOULD_NOT_EXIST_IN_THE_OUTPUT" | xargs -0 %clang -E %s | FileCheck -strict-whitespace %s
+// RUN: printf -- "-DX=A\\\\\nTHIS_SHOULD_NOT_EXIST_IN_THE_OUTPUT\n" | xargs %clang -E %s | FileCheck -strict-whitespace %s
 // Per GCC -D semantics, \n and anything that follows is ignored.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41544.128034.patch
Type: text/x-patch
Size: 525 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171222/7f36ec2d/attachment.bin>

More information about the cfe-commits mailing list