# RUN: yaml2obj %s -o %t.obj
# RUN: lld-link %t.obj %S/Inputs/pdb-import-gc.lib -debug -entry:main \
# RUN:          -nodefaultlib -opt:ref -out:%t.exe -pdb:%t.pdb
# RUN: llvm-pdbutil dump -globals -symbols %t.pdb | FileCheck %s

# This tests the case where an __imp_ chunk is discarded by linker GC. The debug
# info may refer to the __imp_ symbol still.

# Compile this code with MSVC to regenerate the test case:
#   extern char __declspec(dllimport) __wc_mb_cur;
#   int discarded() { return __wc_mb_cur; }
#   int main() { return g2; }

# CHECK:                             Global Symbols
# CHECK-NEXT: ============================================================
# CHECK-NEXT:   Records
# CHECK-NEXT:       20 | S_GDATA32 [size = 32] `__imp___wc_mb_cur`
# CHECK-NEXT:            type = 0x0070 (char), addr = 0000:0000

# CHECK:                                Symbols
# CHECK-NEXT: ============================================================
# CHECK-NEXT:   Mod 0000 | `{{.*}}pdb-import-gc.yaml.tmp.obj`:
# CHECK-NEXT:   Mod 0001 | `* Linker *`:

--- !COFF
header:
  Machine:         IMAGE_FILE_MACHINE_AMD64
  Characteristics: [  ]
sections:
  - Name:            '.debug$S'
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
    Alignment:       1
    Subsections:
      - !Symbols
        Records:
          - Kind:            S_GDATA32
            DataSym:
              Type:            112
              DisplayName:     __imp___wc_mb_cur
      - !StringTable
        Strings:
    Relocations:
      - VirtualAddress:  20
        SymbolName:      __imp___wc_mb_cur
        Type:            IMAGE_REL_AMD64_SECREL
      - VirtualAddress:  24
        SymbolName:      __imp___wc_mb_cur
        Type:            IMAGE_REL_AMD64_SECTION
  - Name:            '.text$mn'
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
    Alignment:       16
    SectionData:     488B05000000000FBE00C3
    Relocations:
      - VirtualAddress:  3
        SymbolName:      __imp___wc_mb_cur
        Type:            IMAGE_REL_AMD64_REL32
  - Name:            '.text$mn'
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
    Alignment:       16
    SectionData:     B82A000000C3
symbols:
  - Name:            '.debug$S'
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          240
      NumberOfRelocations: 2
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          0
  - Name:            '.text$mn'
    Value:           0
    SectionNumber:   2
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          11
      NumberOfRelocations: 1
      NumberOfLinenumbers: 0
      CheckSum:        2906070869
      Number:          0
      Selection:       IMAGE_COMDAT_SELECT_NODUPLICATES
  - Name:            '.text$mn'
    Value:           0
    SectionNumber:   3
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          6
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        2139436471
      Number:          0
      Selection:       IMAGE_COMDAT_SELECT_NODUPLICATES
  - Name:            discarded
    Value:           0
    SectionNumber:   2
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            main
    Value:           0
    SectionNumber:   3
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            __imp___wc_mb_cur
    Value:           0
    SectionNumber:   0
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
...
