Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lld / test / MachO / local-private-extern.yaml
bloba1a916fd13e55574c87118c75e3cb2d9bc2d7306
1 ## Check that local private externs -- symbols without N_EXT but with N_PEXT set
2 ## -- are translation-unit-scoped. These symbols may be generated by `ld -r`,
3 ## which emits an object file. Since LLD does not yet support `-r`, we use
4 ## yaml2obj to construct the input.
6 # RUN: rm -rf %t; mkdir %t
7 # RUN: yaml2obj %s > %t/foo.o
8 ## No duplicate symbol conflict since _foo is not extern
9 # RUN: %lld -dylib %t/foo.o %t/foo.o -o %t/foo
10 # RUN: llvm-nm -m %t/foo | FileCheck %s
12 ## Note that the symbols in the output are no longer marked as "was a private
13 ## external".
14 # CHECK: (absolute) non-external _bar
15 # CHECK: (absolute) non-external _bar
16 # CHECK: (__DATA,__data) non-external _foo
17 # CHECK: (__DATA,__data) non-external _foo
19 --- !mach-o
20 FileHeader:
21   magic:           0xFEEDFACF
22   cputype:         0x1000007
23   cpusubtype:      0x3
24   filetype:        0x1
25   ncmds:           2
26   sizeofcmds:      208
27   flags:           0x0
28   reserved:        0x0
29 LoadCommands:
30   - cmd:             LC_SEGMENT_64
31     cmdsize:         152
32     segname:         ''
33     vmaddr:          0
34     vmsize:          0
35     fileoff:         272
36     filesize:        0
37     maxprot:         7
38     initprot:        7
39     nsects:          1
40     flags:           0
41     Sections:
42       - sectname:        __data
43         segname:         __DATA
44         addr:            0x0
45         size:            0
46         offset:          0x110
47         align:           0
48         reloff:          0x0
49         nreloc:          0
50         flags:           0x0
51         reserved1:       0x0
52         reserved2:       0x0
53         reserved3:       0x0
54         content:         ''
55   - cmd:             LC_SYMTAB
56     cmdsize:         24
57     symoff:          272
58     nsyms:           2
59     stroff:          304
60     strsize:         16
61 LinkEditData:
62   NameList:
63     - n_strx:          2 ## _foo
64       n_type:          0x1E ## N_PEXT | N_SECT
65       n_sect:          1
66       n_desc:          32
67       n_value:         0
68     - n_strx:          7 ## _bar
69       n_type:          0x12 ## N_PEXT | N_ABS
70       n_sect:          0
71       n_desc:          0
72       n_value:         291
73   StringTable:
74     - ' '
75     - _foo
76     - _bar
77     - ''
78     - ''
79     - ''
80     - ''
81 ...