# 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:         
...
