1# Tests that /ignore:4217 suppresses "locally defined symbol imported" warnings.
2# RUN: yaml2obj < %s > %t.obj
3
4# RUN: lld-link -entry:main -out:%t.exe %t.obj 2>&1 \
5# RUN:     | FileCheck -check-prefix=WARNINGS %s
6# RUN: lld-link -ignore:4217 -entry:main -out:%t.exe %t.obj 2>&1 \
7# RUN:     | FileCheck -allow-empty -check-prefix=SUPPRESSED %s
8
9# WARNINGS: locally defined symbol imported
10# SUPPRESSED-NOT: locally defined symbol imported
11
12--- !COFF
13header:
14  Machine:         IMAGE_FILE_MACHINE_AMD64
15  Characteristics: [  ]
16sections:
17  - Name:            .text
18    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
19    Alignment:       16
20    SectionData:     B82A000000C3662E0F1F8400000000004883EC28C744242400000000E800000000904883C428C3
21    Relocations:
22      - VirtualAddress:  29
23        SymbolName:      __imp_foo
24        Type:            IMAGE_REL_AMD64_REL32
25  - Name:            .data
26    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
27    Alignment:       4
28    SectionData:     ''
29symbols:
30  - Name:            .text
31    Value:           0
32    SectionNumber:   1
33    SimpleType:      IMAGE_SYM_TYPE_NULL
34    ComplexType:     IMAGE_SYM_DTYPE_NULL
35    StorageClass:    IMAGE_SYM_CLASS_STATIC
36    SectionDefinition:
37      Length:          39
38      NumberOfRelocations: 1
39      NumberOfLinenumbers: 0
40      CheckSum:        3087210877
41      Number:          1
42  - Name:            .data
43    Value:           0
44    SectionNumber:   2
45    SimpleType:      IMAGE_SYM_TYPE_NULL
46    ComplexType:     IMAGE_SYM_DTYPE_NULL
47    StorageClass:    IMAGE_SYM_CLASS_STATIC
48    SectionDefinition:
49      Length:          0
50      NumberOfRelocations: 0
51      NumberOfLinenumbers: 0
52      CheckSum:        0
53      Number:          2
54  - Name:            foo
55    Value:           0
56    SectionNumber:   1
57    SimpleType:      IMAGE_SYM_TYPE_NULL
58    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
59    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
60  - Name:            main
61    Value:           16
62    SectionNumber:   1
63    SimpleType:      IMAGE_SYM_TYPE_NULL
64    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
65    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
66  - Name:            __imp_foo
67    Value:           0
68    SectionNumber:   0
69    SimpleType:      IMAGE_SYM_TYPE_NULL
70    ComplexType:     IMAGE_SYM_DTYPE_NULL
71    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
72...
73