Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / tools / llvm-nm / ecsymbols.test
blob02e4db990650e4d7c5a578a706d110b1ee013610
1 # Check that llvm-lib doesn't list the members of an archive which contains the
2 # special member /<ECSYMBOLS>/.
4 # RUN: yaml2obj --docnum=1 %s -o %t.lib
5 # RUN: llvm-nm --print-armap %t.lib 2>&1 | FileCheck --check-prefix=NM1 %s
6 # NM1: truncated or malformed archive (invalid EC symbols size (3))
8 --- !Arch
9 Members:
10   - Name:            '/'
11     Size:            '0'
12   - Name:            '/'
13     Size:            '0'
14   - Name:            '/<ECSYMBOLS>/'
15     Size:            '3'
16     Content:         010203
17     PaddingByte:     0
18 ...
20 # RUN: yaml2obj --docnum=2 %s -o %t.lib
21 # RUN: llvm-nm --print-armap %t.lib 2>&1 | FileCheck --check-prefix=NM2 %s
22 # NM2: truncated or malformed archive (invalid EC symbols size. Size was 7, but expected 8)
24 --- !Arch
25 Members:
26   - Name:            '/'
27     Size:            '0'
28   - Name:            '/'
29     Size:            '12'
30     Content:         010000001000000000000000
31   - Name:            '/<ECSYMBOLS>/'
32     Size:            '7'
33     Content:         02000000010001
34     PaddingByte:     0
35 ...
37 # RUN: yaml2obj --docnum=3 %s -o %t.lib
38 # RUN: llvm-nm --print-armap %t.lib 2>&1 | FileCheck --check-prefix=NM3 %s
39 # NM3: truncated or malformed archive (invalid EC symbol index 2 is larger than member count 1)
41 --- !Arch
42 Members:
43   - Name:            '/'
44     Size:            '0'
45   - Name:            '/'
46     Size:            '12'
47     Content:         010000001000000000000000
48   - Name:            '/<ECSYMBOLS>/'
49     Size:            '8'
50     Content:         0100000002006100
51   - Name:            'a.obj'
52     Size:            '0'
53 ...
56 # RUN: yaml2obj --docnum=4 %s -o %t.lib
57 # RUN: llvm-nm --print-armap %t.lib 2>&1 | FileCheck --check-prefix=NM4 %s
58 # NM4: truncated or malformed archive (invalid EC symbol index 0)
60 --- !Arch
61 Members:
62   - Name:            '/'
63     Size:            '0'
64   - Name:            '/'
65     Size:            '12'
66     Content:         010000001000000000000000
67   - Name:            '/<ECSYMBOLS>/'
68     Size:            '8'
69     Content:         0100000000006100
70   - Name:            'a.obj'
71     Size:            '0'
72 ...
74 # RUN: yaml2obj --docnum=5 %s -o %t.lib
75 # RUN: llvm-nm --print-armap %t.lib 2>&1 | FileCheck --check-prefix=NM5 %s
76 # NM5: truncated or malformed archive (malformed EC symbol names: not null-terminated)
78 --- !Arch
79 Members:
80   - Name:            '/'
81     Size:            '0'
82   - Name:            '/'
83     Size:            '12'
84     Content:         010000001000000000000000
85   - Name:            '/<ECSYMBOLS>/'
86     Size:            '8'
87     Content:         0100000001006161
88   - Name:            'a.obj'
89     Size:            '0'
90 ...