| # RUN: yaml2obj %s -o=%t.obj |
| # RUN: llvm-readobj -codeview-merged-types %t.obj | FileCheck %s --check-prefix=MERGED |
| # RUN: llvm-readobj -codeview-merged-types -codeview-ghash %t.obj | FileCheck %s --check-prefix=MERGED |
| |
| # MERGED: Format: COFF-x86-64 |
| # MERGED-NEXT: Arch: x86_64 |
| # MERGED-NEXT: AddressSize: 64bit |
| # MERGED-NEXT: MergedTypeStream [ |
| # MERGED-NEXT: ArgList (0x1000) { |
| # MERGED-NEXT: TypeLeafKind: LF_ARGLIST (0x1201) |
| # MERGED-NEXT: NumArgs: 0 |
| # MERGED-NEXT: Arguments [ |
| # MERGED-NEXT: ] |
| # MERGED-NEXT: } |
| # MERGED-NEXT: Modifier (0x1001) { |
| # MERGED-NEXT: TypeLeafKind: LF_MODIFIER (0x1001) |
| # MERGED-NEXT: ModifiedType: void (0x3) |
| # MERGED-NEXT: Modifiers [ (0x3) |
| # MERGED-NEXT: Const (0x1) |
| # MERGED-NEXT: Volatile (0x2) |
| # MERGED-NEXT: ] |
| # MERGED-NEXT: } |
| # MERGED-NEXT: Procedure (0x1002) { |
| # MERGED-NEXT: TypeLeafKind: LF_PROCEDURE (0x1008) |
| # MERGED-NEXT: ReturnType: void (0x3) |
| # MERGED-NEXT: CallingConvention: NearC (0x0) |
| # MERGED-NEXT: FunctionOptions [ (0x0) |
| # MERGED-NEXT: ] |
| # MERGED-NEXT: NumParameters: 0 |
| # MERGED-NEXT: ArgListType: () (0x1000) |
| # MERGED-NEXT: } |
| # MERGED-NEXT: Pointer (0x1003) { |
| # MERGED-NEXT: TypeLeafKind: LF_POINTER (0x1002) |
| # MERGED-NEXT: PointeeType: const volatile void (0x1001) |
| # MERGED-NEXT: PtrType: Near64 (0xC) |
| # MERGED-NEXT: PtrMode: Pointer (0x0) |
| # MERGED-NEXT: IsFlat: 0 |
| # MERGED-NEXT: IsConst: 1 |
| # MERGED-NEXT: IsVolatile: 0 |
| # MERGED-NEXT: IsUnaligned: 0 |
| # MERGED-NEXT: IsRestrict: 0 |
| # MERGED-NEXT: IsThisPtr&: 0 |
| # MERGED-NEXT: IsThisPtr&&: 0 |
| # MERGED-NEXT: SizeOf: 8 |
| # MERGED-NEXT: } |
| # MERGED-NEXT: Pointer (0x1004) { |
| # MERGED-NEXT: TypeLeafKind: LF_POINTER (0x1002) |
| # MERGED-NEXT: PointeeType: const volatile void* const (0x1003) |
| # MERGED-NEXT: PtrType: Near64 (0xC) |
| # MERGED-NEXT: PtrMode: Pointer (0x0) |
| # MERGED-NEXT: IsFlat: 0 |
| # MERGED-NEXT: IsConst: 1 |
| # MERGED-NEXT: IsVolatile: 0 |
| # MERGED-NEXT: IsUnaligned: 0 |
| # MERGED-NEXT: IsRestrict: 0 |
| # MERGED-NEXT: IsThisPtr&: 0 |
| # MERGED-NEXT: IsThisPtr&&: 0 |
| # MERGED-NEXT: SizeOf: 8 |
| # MERGED-NEXT: } |
| # MERGED-NEXT: Pointer (0x1005) { |
| # MERGED-NEXT: TypeLeafKind: LF_POINTER (0x1002) |
| # MERGED-NEXT: PointeeType: const volatile void* const* const (0x1004) |
| # MERGED-NEXT: PtrType: Near64 (0xC) |
| # MERGED-NEXT: PtrMode: Pointer (0x0) |
| # MERGED-NEXT: IsFlat: 0 |
| # MERGED-NEXT: IsConst: 1 |
| # MERGED-NEXT: IsVolatile: 0 |
| # MERGED-NEXT: IsUnaligned: 0 |
| # MERGED-NEXT: IsRestrict: 0 |
| # MERGED-NEXT: IsThisPtr&: 0 |
| # MERGED-NEXT: IsThisPtr&&: 0 |
| # MERGED-NEXT: SizeOf: 8 |
| # MERGED-NEXT: } |
| # MERGED-NEXT: Pointer (0x1006) { |
| # MERGED-NEXT: TypeLeafKind: LF_POINTER (0x1002) |
| # MERGED-NEXT: PointeeType: const volatile void* const* const* const (0x1005) |
| # MERGED-NEXT: PtrType: Near64 (0xC) |
| # MERGED-NEXT: PtrMode: Pointer (0x0) |
| # MERGED-NEXT: IsFlat: 0 |
| # MERGED-NEXT: IsConst: 1 |
| # MERGED-NEXT: IsVolatile: 0 |
| # MERGED-NEXT: IsUnaligned: 0 |
| # MERGED-NEXT: IsRestrict: 0 |
| # MERGED-NEXT: IsThisPtr&: 0 |
| # MERGED-NEXT: IsThisPtr&&: 0 |
| # MERGED-NEXT: SizeOf: 8 |
| # MERGED-NEXT: } |
| # MERGED-NEXT: ] |
| # MERGED-NEXT: MergedIDStream [ |
| # MERGED-NEXT: ] |
| |
| --- !COFF |
| header: |
| Machine: IMAGE_FILE_MACHINE_AMD64 |
| Characteristics: [ ] |
| sections: |
| - Name: '.debug$T' |
| Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ] |
| Alignment: 1 |
| Types: |
| - Kind: LF_PROCEDURE |
| Procedure: |
| ReturnType: 3 |
| CallConv: NearC |
| Options: [ None ] |
| ParameterCount: 0 |
| ArgumentList: 4097 |
| - Kind: LF_ARGLIST |
| ArgList: |
| ArgIndices: [ ] |
| - Kind: LF_POINTER |
| Pointer: |
| ReferentType: 4099 |
| Attrs: 66572 |
| - Kind: LF_POINTER |
| Pointer: |
| ReferentType: 4100 |
| Attrs: 66572 |
| - Kind: LF_POINTER |
| Pointer: |
| ReferentType: 4101 |
| Attrs: 66572 |
| - Kind: LF_MODIFIER |
| Modifier: |
| ModifiedType: 3 |
| Modifiers: [ None, Const, Volatile ] |
| - Kind: LF_POINTER |
| Pointer: |
| ReferentType: 4098 |
| Attrs: 66572 |
| symbols: |
| ... |