[llvm] r346529 - [llvm-strings] Fix whitespaces to match strings output.

Jordan Rupprecht via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 9 10:03:22 PST 2018


Author: rupprecht
Date: Fri Nov  9 10:03:21 2018
New Revision: 346529

URL: http://llvm.org/viewvc/llvm-project?rev=346529&view=rev
Log:
[llvm-strings] Fix whitespaces to match strings output.

Summary:
The current implementation prepends a space on every line, making it difficult to compare against GNU strings.

The space appears to have come from handling --radix in rL292707. The space is for making sure there's a space between the radix and the value; however the space is still emitted even when there is no radix. This change fixes that so the space is only emitted when there is a radix.

Reviewers: jhenderson

Reviewed By: jhenderson

Subscribers: llvm-commits, compnerd

Differential Revision: https://reviews.llvm.org/D54238

Added:
    llvm/trunk/test/tools/llvm-strings/radix-filename.test
    llvm/trunk/test/tools/llvm-strings/whitespace.test
Modified:
    llvm/trunk/test/tools/llvm-strings/file-filename.test
    llvm/trunk/test/tools/llvm-strings/negative-char.test
    llvm/trunk/test/tools/llvm-strings/radix.test
    llvm/trunk/tools/llvm-strings/llvm-strings.cpp

Modified: llvm/trunk/test/tools/llvm-strings/file-filename.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-strings/file-filename.test?rev=346529&r1=346528&r2=346529&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-strings/file-filename.test (original)
+++ llvm/trunk/test/tools/llvm-strings/file-filename.test Fri Nov  9 10:03:21 2018
@@ -1,3 +1,3 @@
 RUN: llvm-strings -f %S/Inputs/abcd | FileCheck %s
-RUN: llvm-strings --print-file-name %S/Inputs/abcd | FileCheck %s
+RUN: llvm-strings --print-file-name %S/Inputs/abcd | FileCheck %s --strict-whitespace
 CHECK: {{[\\/]}}abcd: abcd

Modified: llvm/trunk/test/tools/llvm-strings/negative-char.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-strings/negative-char.test?rev=346529&r1=346528&r2=346529&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-strings/negative-char.test (original)
+++ llvm/trunk/test/tools/llvm-strings/negative-char.test Fri Nov  9 10:03:21 2018
@@ -1,3 +1,3 @@
 # RUN: echo -e "z\0\x80\0a\0" | llvm-strings --bytes 1 - | FileCheck %s
 # CHECK: z{{$}}
-# CHECK-NEXT: {{^}} a
+# CHECK-NEXT: {{^}}a

Added: llvm/trunk/test/tools/llvm-strings/radix-filename.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-strings/radix-filename.test?rev=346529&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-strings/radix-filename.test (added)
+++ llvm/trunk/test/tools/llvm-strings/radix-filename.test Fri Nov  9 10:03:21 2018
@@ -0,0 +1,36 @@
+RUN: llvm-strings --print-file-name %S/Inputs/numbers \
+RUN:     | FileCheck %s --check-prefix CHECK-NONE
+RUN: llvm-strings --print-file-name -t d %S/Inputs/numbers \
+RUN:    | FileCheck %s --check-prefix CHECK-DEC --strict-whitespace
+RUN: llvm-strings --print-file-name -t o %S/Inputs/numbers \
+RUN:     | FileCheck %s --check-prefix CHECK-OCT --strict-whitespace
+RUN: llvm-strings --print-file-name -t x %S/Inputs/numbers \
+RUN:     | FileCheck %s --check-prefix CHECK-HEX --strict-whitespace
+
+CHECK-NONE: numbers: three
+CHECK-NONE: numbers: four
+CHECK-NONE: numbers: five
+CHECK-NONE: numbers: seven
+CHECK-NONE: numbers: eight
+CHECK-NONE: numbers: nine
+
+CHECK-DEC: numbers:       8 three
+CHECK-DEC: numbers:      14 four
+CHECK-DEC: numbers:      19 five
+CHECK-DEC: numbers:      28 seven
+CHECK-DEC: numbers:      34 eight
+CHECK-DEC: numbers:      40 nine
+
+CHECK-OCT: numbers:      10 three
+CHECK-OCT: numbers:      16 four
+CHECK-OCT: numbers:      23 five
+CHECK-OCT: numbers:      34 seven
+CHECK-OCT: numbers:      42 eight
+CHECK-OCT: numbers:      50 nine
+
+CHECK-HEX: numbers:       8 three
+CHECK-HEX: numbers:       e four
+CHECK-HEX: numbers:      13 five
+CHECK-HEX: numbers:      1c seven
+CHECK-HEX: numbers:      22 eight
+CHECK-HEX: numbers:      28 nine

Modified: llvm/trunk/test/tools/llvm-strings/radix.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-strings/radix.test?rev=346529&r1=346528&r2=346529&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-strings/radix.test (original)
+++ llvm/trunk/test/tools/llvm-strings/radix.test Fri Nov  9 10:03:21 2018
@@ -1,33 +1,32 @@
 RUN: llvm-strings %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-NONE
-RUN: llvm-strings -t d %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-DEC
-RUN: llvm-strings -t o %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-OCT
-RUN: llvm-strings -t x %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-HEX
+RUN: llvm-strings -t d %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-DEC --strict-whitespace
+RUN: llvm-strings -t o %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-OCT --strict-whitespace
+RUN: llvm-strings -t x %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-HEX --strict-whitespace
 
-CHECK-NONE: three
-CHECK-NONE: four
-CHECK-NONE: five
-CHECK-NONE: seven
-CHECK-NONE: eight
-CHECK-NONE: nine
+CHECK-NONE: {{^}}three
+CHECK-NONE: {{^}}four
+CHECK-NONE: {{^}}five
+CHECK-NONE: {{^}}seven
+CHECK-NONE: {{^}}eight
+CHECK-NONE: {{^}}nine
 
-CHECK-DEC:      8 three
-CHECK-DEC:     14 four
-CHECK-DEC:     19 five
-CHECK-DEC:     28 seven
-CHECK-DEC:     34 eight
-CHECK-DEC:     40 nine
+CHECK-DEC: {{^}}      8 three
+CHECK-DEC: {{^}}     14 four
+CHECK-DEC: {{^}}     19 five
+CHECK-DEC: {{^}}     28 seven
+CHECK-DEC: {{^}}     34 eight
+CHECK-DEC: {{^}}     40 nine
 
-CHECK-OCT:     10 three
-CHECK-OCT:     16 four
-CHECK-OCT:     23 five
-CHECK-OCT:     34 seven
-CHECK-OCT:     42 eight
-CHECK-OCT:     50 nine
-
-CHECK-HEX:      8 three
-CHECK-HEX:      e four
-CHECK-HEX:     13 five
-CHECK-HEX:     1c seven
-CHECK-HEX:     22 eight
-CHECK-HEX:     28 nine
+CHECK-OCT: {{^}}     10 three
+CHECK-OCT: {{^}}     16 four
+CHECK-OCT: {{^}}     23 five
+CHECK-OCT: {{^}}     34 seven
+CHECK-OCT: {{^}}     42 eight
+CHECK-OCT: {{^}}     50 nine
 
+CHECK-HEX: {{^}}      8 three
+CHECK-HEX: {{^}}      e four
+CHECK-HEX: {{^}}     13 five
+CHECK-HEX: {{^}}     1c seven
+CHECK-HEX: {{^}}     22 eight
+CHECK-HEX: {{^}}     28 nine

Added: llvm/trunk/test/tools/llvm-strings/whitespace.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-strings/whitespace.test?rev=346529&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-strings/whitespace.test (added)
+++ llvm/trunk/test/tools/llvm-strings/whitespace.test Fri Nov  9 10:03:21 2018
@@ -0,0 +1,2 @@
+RUN: echo -n abcd | llvm-strings - | FileCheck %s --strict-whitespace
+CHECK: {{^}}abcd{{$}}

Modified: llvm/trunk/tools/llvm-strings/llvm-strings.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-strings/llvm-strings.cpp?rev=346529&r1=346528&r2=346529&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-strings/llvm-strings.cpp (original)
+++ llvm/trunk/tools/llvm-strings/llvm-strings.cpp Fri Nov  9 10:03:21 2018
@@ -60,21 +60,21 @@ static void strings(raw_ostream &OS, Str
     if (L.size() < static_cast<size_t>(MinLength))
       return;
     if (PrintFileName)
-      OS << FileName << ":";
+      OS << FileName << ": ";
     switch (Radix) {
     case none:
       break;
     case octal:
-      OS << format("%8o", Offset);
+      OS << format("%7o ", Offset);
       break;
     case hexadecimal:
-      OS << format("%8x", Offset);
+      OS << format("%7x ", Offset);
       break;
     case decimal:
-      OS << format("%8u", Offset);
+      OS << format("%7u ", Offset);
       break;
     }
-    OS << " " << L << '\n';
+    OS << L << '\n';
   };
 
   const char *B = Contents.begin();




More information about the llvm-commits mailing list