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.


Repository:
  rC Clang

https://reviews.llvm.org/D41544

Files:
  test/Preprocessor/macro-multiline.c


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.
 


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.
 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to