# // YAML Generated from the following source code:
# // Compile with clang-cl /Z7 /GS- /c t.obj pdb-globals.cpp
#
# void *__purecall = 0;
#
# struct HelloPoint {
#   int X = 3;
#   int Y = 4;
#   int Z = 5;
# };
#
# // S_LPROCREF
# static int LocalFunc() { return 42; }
#
# // S_PROCREF
# int GlobalFunc() { return 43; }
#
# // S_LDATA32
# const int ConstantVar = 17;
#
# // S_GDATA32
# const int *GlobalVar = &ConstantVar;
#
# // S_CONSTANT
# constexpr int ConstexprVar = 18;
#
# // S_UDT
# typedef HelloPoint HelloPointTypedef;
#
# int main(int argc, char **argv) {
#   HelloPointTypedef P;
#   int N = P.X + P.Y + P.Z;
#   N += LocalFunc() + GlobalFunc();
#   N += *GlobalVar;
#   N += ConstexprVar;
# }


--- !COFF
header:
  Machine:         IMAGE_FILE_MACHINE_I386
  Characteristics: [  ]
sections:
  - Name:            .text
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
    Alignment:       16
    SectionData:     5589E5B82B0000005DC3660F1F4400005589E583EC208B450C8B4D088D55F4894DEC89D18945E8E8000000008B4DF4034DF8034DFC894DF08945E4E8000000008945E0E80000000031C98B55E001C20355F08955F0A1000000008B000345F08945F08B45F083C0128945F089C883C4205DC366666666662E0F1F8400000000005589E5B82A0000005DC3
    Relocations:
      - VirtualAddress:  40
        SymbolName:      '??0HelloPoint@@QAE@XZ'
        Type:            IMAGE_REL_I386_REL32
      - VirtualAddress:  60
        SymbolName:      '?LocalFunc@@YAHXZ'
        Type:            IMAGE_REL_I386_REL32
      - VirtualAddress:  68
        SymbolName:      '?GlobalFunc@@YAHXZ'
        Type:            IMAGE_REL_I386_REL32
      - VirtualAddress:  86
        SymbolName:      '?GlobalVar@@3PBHB'
        Type:            IMAGE_REL_I386_DIR32
  - Name:            .data
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
    Alignment:       4
    SectionData:     '00000000'
    Relocations:
      - VirtualAddress:  0
        SymbolName:      _ConstantVar
        Type:            IMAGE_REL_I386_DIR32
  - Name:            .bss
    Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
    Alignment:       4
    SectionData:     ''
    SizeOfRawData:   4
  - Name:            .text
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
    Alignment:       16
    SectionData:     5589E550894DFC8B4DFCC70103000000C7410404000000C741080500000089C883C4045DC3
  - Name:            .rdata
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
    Alignment:       4
    SectionData:     '11000000'
  - Name:            .drectve
    Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]
    Alignment:       1
    SectionData:     202F44454641554C544C49423A6C6962636D742E6C6962202F44454641554C544C49423A6F6C646E616D65732E6C6962
  - Name:            '.debug$S'
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
    Alignment:       4
    SectionData:     04000000F10000002F0000002D003C1101000000070006000000000000007017000000000000636C616E672076657273696F6E20362E302E30200000F100000036000000300047110000000000000000000000000A00000000000000000000000210000000000000000000476C6F62616C46756E630002004F110000F20000002000000000000000000000000A0000000000000001000000140000000000000010000000F1000000B60000002A00471100000000000000000000000062000000000000000000000006100000000000000000006D61696E000D003E1174000000010061726763001200451116000000080000001F000000000053000D003E11031000000100617267760012004511160000000C0000001F000000000053000A003E1107100000000050001200451116000000F4FFFFFF1F000000000053000A003E117400000000004E001200451116000000F0FFFFFF1F0000000000530002004F110000F200000050000000000000000000000062000000000000000700000044000000000000001E0000000F0000001F0000001C000000200000002800000021000000450000002200000052000000230000005B00000024000000F1000000350000002F0046110000000000000000000000000A00000000000000000000000F100000000000000000004C6F63616C46756E630002004F11000000F20000002000000000000000000000000A000000000000000100000014000000000000000D000000F10000004B00000017000D11030400000000000000005F5F7075726563616C6C0016000D1111100000000000000000476C6F62616C5661720018000C1110100000000000000000436F6E7374616E745661720000F10000002D000000180008110710000048656C6C6F506F696E745479706564656600110008110910000048656C6C6F506F696E7400000000F4000000080000000100000000000000F30000003800000000643A5C7372635C6C6C766D2D6D6F6E6F5C6C6C645C746573745C636F66665C696E707574735C7064622D676C6F62616C732E6370700000
    Subsections:
      - !Symbols
        Records:
          - Kind:            S_COMPILE3
            Compile3Sym:
              Flags:           [  ]
              Machine:         Pentium3
              FrontendMajor:   6
              FrontendMinor:   0
              FrontendBuild:   0
              FrontendQFE:     0
              BackendMajor:    6000
              BackendMinor:    0
              BackendBuild:    0
              BackendQFE:      0
              Version:         'clang version 6.0.0 '
          - Kind:            S_GPROC32_ID
            ProcSym:
              CodeSize:        10
              DbgStart:        0
              DbgEnd:          0
              FunctionType:    4098
              Flags:           [  ]
              DisplayName:     GlobalFunc
          - Kind:            S_PROC_ID_END
            ScopeEndSym:
          - Kind:            S_GPROC32_ID
            ProcSym:
              CodeSize:        98
              DbgStart:        0
              DbgEnd:          0
              FunctionType:    4102
              Flags:           [  ]
              DisplayName:     main
          - Kind:            S_LOCAL
            LocalSym:
              Type:            116
              Flags:           [ IsParameter ]
              VarName:         argc
          - Kind:            S_LOCAL
            LocalSym:
              Type:            4099
              Flags:           [ IsParameter ]
              VarName:         argv
          - Kind:            S_LOCAL
            LocalSym:
              Type:            4103
              Flags:           [  ]
              VarName:         P
          - Kind:            S_LOCAL
            LocalSym:
              Type:            116
              Flags:           [  ]
              VarName:         N
          - Kind:            S_PROC_ID_END
            ScopeEndSym:
          - Kind:            S_LPROC32_ID
            ProcSym:
              CodeSize:        10
              DbgStart:        0
              DbgEnd:          0
              FunctionType:    4111
              Flags:           [  ]
              DisplayName:     LocalFunc
          - Kind:            S_PROC_ID_END
            ScopeEndSym:
          - Kind:            S_GDATA32
            DataSym:
              Type:            1027
              DisplayName:     __purecall
          - Kind:            S_GDATA32
            DataSym:
              Type:            4113
              DisplayName:     GlobalVar
          - Kind:            S_LDATA32
            DataSym:
              Type:            4112
              DisplayName:     ConstantVar
          - Kind:            S_UDT
            UDTSym:
              Type:            4103
              UDTName:         HelloPointTypedef
          - Kind:            S_UDT
            UDTSym:
              Type:            4105
              UDTName:         HelloPoint
      - !FileChecksums
        Checksums:
          - FileName:        'd:\src\llvm-mono\lld\test\coff\inputs\pdb-globals.cpp'
            Kind:            None
            Checksum:        ''
      - !StringTable
        Strings:
          - 'd:\src\llvm-mono\lld\test\coff\inputs\pdb-globals.cpp'
          - ''
    Relocations:
      - VirtualAddress:  100
        SymbolName:      '?GlobalFunc@@YAHXZ'
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  104
        SymbolName:      '?GlobalFunc@@YAHXZ'
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  132
        SymbolName:      '?GlobalFunc@@YAHXZ'
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  136
        SymbolName:      '?GlobalFunc@@YAHXZ'
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  204
        SymbolName:      _main
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  208
        SymbolName:      _main
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  243
        SymbolName:      .text
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  247
        SymbolName:      .text
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  278
        SymbolName:      .text
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  282
        SymbolName:      .text
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  310
        SymbolName:      .text
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  314
        SymbolName:      .text
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  342
        SymbolName:      .text
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  346
        SymbolName:      .text
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  364
        SymbolName:      _main
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  368
        SymbolName:      _main
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  484
        SymbolName:      '?LocalFunc@@YAHXZ'
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  488
        SymbolName:      '?LocalFunc@@YAHXZ'
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  516
        SymbolName:      '?LocalFunc@@YAHXZ'
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  520
        SymbolName:      '?LocalFunc@@YAHXZ'
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  564
        SymbolName:      '?__purecall@@3PAXA'
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  568
        SymbolName:      '?__purecall@@3PAXA'
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  589
        SymbolName:      '?GlobalVar@@3PBHB'
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  593
        SymbolName:      '?GlobalVar@@3PBHB'
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  613
        SymbolName:      _ConstantVar
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  617
        SymbolName:      _ConstantVar
        Type:            IMAGE_REL_I386_SECTION
  - Name:            '.debug$T'
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
    Alignment:       4
    Types:
      - Kind:            LF_ARGLIST
        ArgList:
          ArgIndices:      [  ]
      - Kind:            LF_PROCEDURE
        Procedure:
          ReturnType:      116
          CallConv:        NearC
          Options:         [ None ]
          ParameterCount:  0
          ArgumentList:    4096
      - Kind:            LF_FUNC_ID
        FuncId:
          ParentScope:     0
          FunctionType:    4097
          Name:            GlobalFunc
      - Kind:            LF_POINTER
        Pointer:
          ReferentType:    1136
          Attrs:           32778
      - Kind:            LF_ARGLIST
        ArgList:
          ArgIndices:      [ 116, 4099 ]
      - Kind:            LF_PROCEDURE
        Procedure:
          ReturnType:      116
          CallConv:        NearC
          Options:         [ None ]
          ParameterCount:  2
          ArgumentList:    4100
      - Kind:            LF_FUNC_ID
        FuncId:
          ParentScope:     0
          FunctionType:    4101
          Name:            main
      - Kind:            LF_STRUCTURE
        Class:
          MemberCount:     0
          Options:         [ None, ForwardReference, HasUniqueName ]
          FieldList:       0
          Name:            HelloPoint
          UniqueName:      '.?AUHelloPoint@@'
          DerivationList:  0
          VTableShape:     0
          Size:            0
      - Kind:            LF_FIELDLIST
        FieldList:
          - Kind:            LF_MEMBER
            DataMember:
              Attrs:           3
              Type:            116
              FieldOffset:     0
              Name:            X
          - Kind:            LF_MEMBER
            DataMember:
              Attrs:           3
              Type:            116
              FieldOffset:     4
              Name:            Y
          - Kind:            LF_MEMBER
            DataMember:
              Attrs:           3
              Type:            116
              FieldOffset:     8
              Name:            Z
      - Kind:            LF_STRUCTURE
        Class:
          MemberCount:     3
          Options:         [ None, HasUniqueName ]
          FieldList:       4104
          Name:            HelloPoint
          UniqueName:      '.?AUHelloPoint@@'
          DerivationList:  0
          VTableShape:     0
          Size:            12
      - Kind:            LF_STRING_ID
        StringId:
          Id:              0
          String:          'd:\src\llvm-mono\lld\test\coff\inputs\pdb-globals.cpp'
      - Kind:            LF_UDT_SRC_LINE
        UdtSourceLine:
          UDT:             4105
          SourceFile:      4106
          LineNumber:      6
      - Kind:            LF_POINTER
        Pointer:
          ReferentType:    4103
          Attrs:           32778
      - Kind:            LF_MFUNCTION
        MemberFunction:
          ReturnType:      3
          ClassType:       4103
          ThisType:        4108
          CallConv:        ThisCall
          Options:         [ None ]
          ParameterCount:  0
          ArgumentList:    4096
          ThisPointerAdjustment: 0
      - Kind:            LF_MFUNC_ID
        MemberFuncId:
          ClassType:       4103
          FunctionType:    4109
          Name:            HelloPoint
      - Kind:            LF_FUNC_ID
        FuncId:
          ParentScope:     0
          FunctionType:    4097
          Name:            LocalFunc
      - Kind:            LF_MODIFIER
        Modifier:
          ModifiedType:    116
          Modifiers:       [ None, Const ]
      - Kind:            LF_POINTER
        Pointer:
          ReferentType:    4112
          Attrs:           32778
  - Name:            '.debug$S'
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
    Alignment:       4
    SectionData:     04000000F1000000650000003C0047110000000000000000000000002500000000000000000000000E1000000000000000000048656C6C6F506F696E743A3A48656C6C6F506F696E74000D003E110C100000010074686973001200451116000000FCFFFFFF0A00000000001B0002004F11000000F20000004000000000000000000000002500000000000000050000003400000000000000060000000A00000007000000100000000800000017000000090000001E00000006000000
    Subsections:
      - !Symbols
        Records:
          - Kind:            S_GPROC32_ID
            ProcSym:
              CodeSize:        37
              DbgStart:        0
              DbgEnd:          0
              FunctionType:    4110
              Flags:           [  ]
              DisplayName:     'HelloPoint::HelloPoint'
          - Kind:            S_LOCAL
            LocalSym:
              Type:            4108
              Flags:           [ IsParameter ]
              VarName:         this
          - Kind:            S_PROC_ID_END
            ScopeEndSym:
    Relocations:
      - VirtualAddress:  44
        SymbolName:      '??0HelloPoint@@QAE@XZ'
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  48
        SymbolName:      '??0HelloPoint@@QAE@XZ'
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  101
        SymbolName:      .text
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  105
        SymbolName:      .text
        Type:            IMAGE_REL_I386_SECTION
      - VirtualAddress:  124
        SymbolName:      '??0HelloPoint@@QAE@XZ'
        Type:            IMAGE_REL_I386_SECREL
      - VirtualAddress:  128
        SymbolName:      '??0HelloPoint@@QAE@XZ'
        Type:            IMAGE_REL_I386_SECTION
symbols:
  - Name:            .text
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          138
      NumberOfRelocations: 4
      NumberOfLinenumbers: 0
      CheckSum:        3215092891
      Number:          1
  - Name:            .data
    Value:           0
    SectionNumber:   2
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          4
      NumberOfRelocations: 1
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          2
  - Name:            .bss
    Value:           0
    SectionNumber:   3
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          4
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          3
  - Name:            .text
    Value:           0
    SectionNumber:   4
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          37
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        77530982
      Number:          4
      Selection:       IMAGE_COMDAT_SELECT_ANY
  - Name:            '??0HelloPoint@@QAE@XZ'
    Value:           0
    SectionNumber:   4
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            .rdata
    Value:           0
    SectionNumber:   5
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          4
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        3903140090
      Number:          5
  - Name:            .drectve
    Value:           0
    SectionNumber:   6
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          48
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        149686238
      Number:          6
  - Name:            '.debug$S'
    Value:           0
    SectionNumber:   7
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          768
      NumberOfRelocations: 26
      NumberOfLinenumbers: 0
      CheckSum:        2940884584
      Number:          7
  - Name:            '.debug$S'
    Value:           0
    SectionNumber:   9
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          188
      NumberOfRelocations: 6
      NumberOfLinenumbers: 0
      CheckSum:        1246640575
      Number:          4
      Selection:       IMAGE_COMDAT_SELECT_ASSOCIATIVE
  - Name:            '.debug$T'
    Value:           0
    SectionNumber:   8
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          452
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        2561906059
      Number:          8
  - Name:            '@feat.00'
    Value:           1
    SectionNumber:   -1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
  - Name:            '?GlobalFunc@@YAHXZ'
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            _main
    Value:           16
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            '?LocalFunc@@YAHXZ'
    Value:           128
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_STATIC
  - Name:            '?GlobalVar@@3PBHB'
    Value:           0
    SectionNumber:   2
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            '?__purecall@@3PAXA'
    Value:           0
    SectionNumber:   3
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            _ConstantVar
    Value:           0
    SectionNumber:   5
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
...
