Skip to content

Commit dcf1f8e

Browse files
committed
[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 llvm-svn: 346529
1 parent 13d3371 commit dcf1f8e

File tree

6 files changed

+72
-35
lines changed

6 files changed

+72
-35
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
RUN: llvm-strings -f %S/Inputs/abcd | FileCheck %s
2-
RUN: llvm-strings --print-file-name %S/Inputs/abcd | FileCheck %s
2+
RUN: llvm-strings --print-file-name %S/Inputs/abcd | FileCheck %s --strict-whitespace
33
CHECK: {{[\\/]}}abcd: abcd
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# RUN: echo -e "z\0\x80\0a\0" | llvm-strings --bytes 1 - | FileCheck %s
22
# CHECK: z{{$}}
3-
# CHECK-NEXT: {{^}} a
3+
# CHECK-NEXT: {{^}}a
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
RUN: llvm-strings --print-file-name %S/Inputs/numbers \
2+
RUN: | FileCheck %s --check-prefix CHECK-NONE
3+
RUN: llvm-strings --print-file-name -t d %S/Inputs/numbers \
4+
RUN: | FileCheck %s --check-prefix CHECK-DEC --strict-whitespace
5+
RUN: llvm-strings --print-file-name -t o %S/Inputs/numbers \
6+
RUN: | FileCheck %s --check-prefix CHECK-OCT --strict-whitespace
7+
RUN: llvm-strings --print-file-name -t x %S/Inputs/numbers \
8+
RUN: | FileCheck %s --check-prefix CHECK-HEX --strict-whitespace
9+
10+
CHECK-NONE: numbers: three
11+
CHECK-NONE: numbers: four
12+
CHECK-NONE: numbers: five
13+
CHECK-NONE: numbers: seven
14+
CHECK-NONE: numbers: eight
15+
CHECK-NONE: numbers: nine
16+
17+
CHECK-DEC: numbers: 8 three
18+
CHECK-DEC: numbers: 14 four
19+
CHECK-DEC: numbers: 19 five
20+
CHECK-DEC: numbers: 28 seven
21+
CHECK-DEC: numbers: 34 eight
22+
CHECK-DEC: numbers: 40 nine
23+
24+
CHECK-OCT: numbers: 10 three
25+
CHECK-OCT: numbers: 16 four
26+
CHECK-OCT: numbers: 23 five
27+
CHECK-OCT: numbers: 34 seven
28+
CHECK-OCT: numbers: 42 eight
29+
CHECK-OCT: numbers: 50 nine
30+
31+
CHECK-HEX: numbers: 8 three
32+
CHECK-HEX: numbers: e four
33+
CHECK-HEX: numbers: 13 five
34+
CHECK-HEX: numbers: 1c seven
35+
CHECK-HEX: numbers: 22 eight
36+
CHECK-HEX: numbers: 28 nine
Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,32 @@
11
RUN: llvm-strings %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-NONE
2-
RUN: llvm-strings -t d %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-DEC
3-
RUN: llvm-strings -t o %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-OCT
4-
RUN: llvm-strings -t x %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-HEX
2+
RUN: llvm-strings -t d %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-DEC --strict-whitespace
3+
RUN: llvm-strings -t o %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-OCT --strict-whitespace
4+
RUN: llvm-strings -t x %S/Inputs/numbers | FileCheck %s -check-prefix CHECK-HEX --strict-whitespace
55

6-
CHECK-NONE: three
7-
CHECK-NONE: four
8-
CHECK-NONE: five
9-
CHECK-NONE: seven
10-
CHECK-NONE: eight
11-
CHECK-NONE: nine
6+
CHECK-NONE: {{^}}three
7+
CHECK-NONE: {{^}}four
8+
CHECK-NONE: {{^}}five
9+
CHECK-NONE: {{^}}seven
10+
CHECK-NONE: {{^}}eight
11+
CHECK-NONE: {{^}}nine
1212

13-
CHECK-DEC: 8 three
14-
CHECK-DEC: 14 four
15-
CHECK-DEC: 19 five
16-
CHECK-DEC: 28 seven
17-
CHECK-DEC: 34 eight
18-
CHECK-DEC: 40 nine
13+
CHECK-DEC: {{^}} 8 three
14+
CHECK-DEC: {{^}} 14 four
15+
CHECK-DEC: {{^}} 19 five
16+
CHECK-DEC: {{^}} 28 seven
17+
CHECK-DEC: {{^}} 34 eight
18+
CHECK-DEC: {{^}} 40 nine
1919

20-
CHECK-OCT: 10 three
21-
CHECK-OCT: 16 four
22-
CHECK-OCT: 23 five
23-
CHECK-OCT: 34 seven
24-
CHECK-OCT: 42 eight
25-
CHECK-OCT: 50 nine
26-
27-
CHECK-HEX: 8 three
28-
CHECK-HEX: e four
29-
CHECK-HEX: 13 five
30-
CHECK-HEX: 1c seven
31-
CHECK-HEX: 22 eight
32-
CHECK-HEX: 28 nine
20+
CHECK-OCT: {{^}} 10 three
21+
CHECK-OCT: {{^}} 16 four
22+
CHECK-OCT: {{^}} 23 five
23+
CHECK-OCT: {{^}} 34 seven
24+
CHECK-OCT: {{^}} 42 eight
25+
CHECK-OCT: {{^}} 50 nine
3326

27+
CHECK-HEX: {{^}} 8 three
28+
CHECK-HEX: {{^}} e four
29+
CHECK-HEX: {{^}} 13 five
30+
CHECK-HEX: {{^}} 1c seven
31+
CHECK-HEX: {{^}} 22 eight
32+
CHECK-HEX: {{^}} 28 nine
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
RUN: echo -n abcd | llvm-strings - | FileCheck %s --strict-whitespace
2+
CHECK: {{^}}abcd{{$}}

llvm/tools/llvm-strings/llvm-strings.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,21 +60,21 @@ static void strings(raw_ostream &OS, StringRef FileName, StringRef Contents) {
6060
if (L.size() < static_cast<size_t>(MinLength))
6161
return;
6262
if (PrintFileName)
63-
OS << FileName << ":";
63+
OS << FileName << ": ";
6464
switch (Radix) {
6565
case none:
6666
break;
6767
case octal:
68-
OS << format("%8o", Offset);
68+
OS << format("%7o ", Offset);
6969
break;
7070
case hexadecimal:
71-
OS << format("%8x", Offset);
71+
OS << format("%7x ", Offset);
7272
break;
7373
case decimal:
74-
OS << format("%8u", Offset);
74+
OS << format("%7u ", Offset);
7575
break;
7676
}
77-
OS << " " << L << '\n';
77+
OS << L << '\n';
7878
};
7979

8080
const char *B = Contents.begin();

0 commit comments

Comments
 (0)