1c41ce835SZachary Turner; Test that the native PDB reader can enumerate pointer types. The output 2c41ce835SZachary Turner; being checked against is golden output generated by llvm-pdbutil without 3c41ce835SZachary Turner; the -native flag. Then we check that we generate the same output. 4c41ce835SZachary Turner 5*6ca6a03cSZachary Turner; RUN: llvm-pdbutil pretty -native -pointers \ 6*6ca6a03cSZachary Turner; RUN: %p/../Inputs/every-pointer.pdb | FileCheck %s --check-prefix=PRETTY 7c41ce835SZachary Turner; RUN: llvm-pdbutil diadump -no-ids -native -pointers \ 8c41ce835SZachary Turner; RUN: %p/../Inputs/every-pointer.pdb | FileCheck %s 9c41ce835SZachary Turner 10*6ca6a03cSZachary Turner; PRETTY: Pointers: (29 items) 11*6ca6a03cSZachary Turner; PRETTY-NEXT: char** 12*6ca6a03cSZachary Turner; PRETTY-NEXT: struct Foo* 13*6ca6a03cSZachary Turner; PRETTY-NEXT: int& 14*6ca6a03cSZachary Turner; PRETTY-NEXT: const int* 15*6ca6a03cSZachary Turner; PRETTY-NEXT: volatile int* 16*6ca6a03cSZachary Turner; PRETTY-NEXT: const volatile int* 17*6ca6a03cSZachary Turner; PRETTY-NEXT: int* 18*6ca6a03cSZachary Turner; PRETTY-NEXT: int* 19*6ca6a03cSZachary Turner; PRETTY-NEXT: struct __vc_attributes::event_sourceAttribute* 20*6ca6a03cSZachary Turner; PRETTY-NEXT: struct __vc_attributes::helper_attributes::v1_alttypeAttribute* 21*6ca6a03cSZachary Turner; PRETTY-NEXT: struct __vc_attributes::helper_attributes::usageAttribute* 22*6ca6a03cSZachary Turner; PRETTY-NEXT: struct __vc_attributes::threadingAttribute* 23*6ca6a03cSZachary Turner; PRETTY-NEXT: struct __vc_attributes::aggregatableAttribute* 24*6ca6a03cSZachary Turner; PRETTY-NEXT: struct __vc_attributes::event_receiverAttribute* 25*6ca6a03cSZachary Turner; PRETTY-NEXT: struct __vc_attributes::moduleAttribute* 26*6ca6a03cSZachary Turner; PRETTY-NEXT: const char* 27*6ca6a03cSZachary Turner; PRETTY-NEXT: int&& 28*6ca6a03cSZachary Turner; PRETTY-NEXT: struct Foo* 29*6ca6a03cSZachary Turner; PRETTY-NEXT: void (__cdecl Foo::*)() 30*6ca6a03cSZachary Turner; PRETTY-NEXT: int Foo::* 31*6ca6a03cSZachary Turner; PRETTY-NEXT: int (__cdecl Foo::*)() 32*6ca6a03cSZachary Turner; PRETTY-NEXT: void (__cdecl *)() 33*6ca6a03cSZachary Turner; PRETTY-NEXT: unaligned struct Foo* 34*6ca6a03cSZachary Turner; PRETTY-NEXT: struct Foo* 35*6ca6a03cSZachary Turner; PRETTY-NEXT: const struct Foo* 36*6ca6a03cSZachary Turner; PRETTY-NEXT: volatile struct Foo* 37*6ca6a03cSZachary Turner; PRETTY-NEXT: const volatile struct Foo* 38*6ca6a03cSZachary Turner; PRETTY-NEXT: struct Foo&& 39*6ca6a03cSZachary Turner; PRETTY-NEXT: struct Foo 40*6ca6a03cSZachary Turner 41c41ce835SZachary Turner; CHECK: { 42c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 43c41ce835SZachary Turner; CHECK-NEXT: length: 8 44c41ce835SZachary Turner; CHECK-NEXT: constType: 0 45c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 46c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 47c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 48c41ce835SZachary Turner; CHECK-NEXT: reference: 0 49c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 50c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 51c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 52c41ce835SZachary Turner; CHECK-NEXT: } 53c41ce835SZachary Turner; CHECK-NEXT: { 54c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 55c41ce835SZachary Turner; CHECK-NEXT: length: 8 56c41ce835SZachary Turner; CHECK-NEXT: constType: 0 57c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 58c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 59c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 60c41ce835SZachary Turner; CHECK-NEXT: reference: 0 61c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 62c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 63c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 64c41ce835SZachary Turner; CHECK-NEXT: } 65c41ce835SZachary Turner; CHECK-NEXT: { 66c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 67c41ce835SZachary Turner; CHECK-NEXT: length: 8 68c41ce835SZachary Turner; CHECK-NEXT: constType: 0 69c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 70c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 71c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 72c41ce835SZachary Turner; CHECK-NEXT: reference: 1 73c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 74c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 75c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 76c41ce835SZachary Turner; CHECK-NEXT: } 77c41ce835SZachary Turner; CHECK-NEXT: { 78c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 79c41ce835SZachary Turner; CHECK-NEXT: length: 8 80c41ce835SZachary Turner; CHECK-NEXT: constType: 0 81c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 82c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 83c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 84c41ce835SZachary Turner; CHECK-NEXT: reference: 0 85c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 86c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 87c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 88c41ce835SZachary Turner; CHECK-NEXT: } 89c41ce835SZachary Turner; CHECK-NEXT: { 90c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 91c41ce835SZachary Turner; CHECK-NEXT: length: 8 92c41ce835SZachary Turner; CHECK-NEXT: constType: 0 93c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 94c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 95c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 96c41ce835SZachary Turner; CHECK-NEXT: reference: 0 97c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 98c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 99c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 100c41ce835SZachary Turner; CHECK-NEXT: } 101c41ce835SZachary Turner; CHECK-NEXT: { 102c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 103c41ce835SZachary Turner; CHECK-NEXT: length: 8 104c41ce835SZachary Turner; CHECK-NEXT: constType: 0 105c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 106c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 107c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 108c41ce835SZachary Turner; CHECK-NEXT: reference: 0 109c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 110c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 111c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 112c41ce835SZachary Turner; CHECK-NEXT: } 113c41ce835SZachary Turner; CHECK-NEXT: { 114c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 115c41ce835SZachary Turner; CHECK-NEXT: length: 8 116c41ce835SZachary Turner; CHECK-NEXT: constType: 0 117c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 118c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 119c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 120c41ce835SZachary Turner; CHECK-NEXT: reference: 0 121c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 122c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 123c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 124c41ce835SZachary Turner; CHECK-NEXT: } 125c41ce835SZachary Turner; CHECK-NEXT: { 126c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 127c41ce835SZachary Turner; CHECK-NEXT: length: 8 128c41ce835SZachary Turner; CHECK-NEXT: constType: 0 129c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 130c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 131c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 132c41ce835SZachary Turner; CHECK-NEXT: reference: 0 133c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 1 134c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 135c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 136c41ce835SZachary Turner; CHECK-NEXT: } 137c41ce835SZachary Turner; CHECK-NEXT: { 138c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 139c41ce835SZachary Turner; CHECK-NEXT: length: 8 140c41ce835SZachary Turner; CHECK-NEXT: constType: 1 141c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 142c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 143c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 144c41ce835SZachary Turner; CHECK-NEXT: reference: 0 145c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 146c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 147c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 148c41ce835SZachary Turner; CHECK-NEXT: } 149c41ce835SZachary Turner; CHECK-NEXT: { 150c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 151c41ce835SZachary Turner; CHECK-NEXT: length: 8 152c41ce835SZachary Turner; CHECK-NEXT: constType: 1 153c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 154c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 155c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 156c41ce835SZachary Turner; CHECK-NEXT: reference: 0 157c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 158c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 159c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 160c41ce835SZachary Turner; CHECK-NEXT: } 161c41ce835SZachary Turner; CHECK-NEXT: { 162c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 163c41ce835SZachary Turner; CHECK-NEXT: length: 8 164c41ce835SZachary Turner; CHECK-NEXT: constType: 1 165c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 166c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 167c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 168c41ce835SZachary Turner; CHECK-NEXT: reference: 0 169c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 170c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 171c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 172c41ce835SZachary Turner; CHECK-NEXT: } 173c41ce835SZachary Turner; CHECK-NEXT: { 174c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 175c41ce835SZachary Turner; CHECK-NEXT: length: 8 176c41ce835SZachary Turner; CHECK-NEXT: constType: 1 177c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 178c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 179c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 180c41ce835SZachary Turner; CHECK-NEXT: reference: 0 181c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 182c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 183c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 184c41ce835SZachary Turner; CHECK-NEXT: } 185c41ce835SZachary Turner; CHECK-NEXT: { 186c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 187c41ce835SZachary Turner; CHECK-NEXT: length: 8 188c41ce835SZachary Turner; CHECK-NEXT: constType: 1 189c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 190c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 191c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 192c41ce835SZachary Turner; CHECK-NEXT: reference: 0 193c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 194c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 195c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 196c41ce835SZachary Turner; CHECK-NEXT: } 197c41ce835SZachary Turner; CHECK-NEXT: { 198c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 199c41ce835SZachary Turner; CHECK-NEXT: length: 8 200c41ce835SZachary Turner; CHECK-NEXT: constType: 1 201c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 202c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 203c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 204c41ce835SZachary Turner; CHECK-NEXT: reference: 0 205c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 206c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 207c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 208c41ce835SZachary Turner; CHECK-NEXT: } 209c41ce835SZachary Turner; CHECK-NEXT: { 210c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 211c41ce835SZachary Turner; CHECK-NEXT: length: 8 212c41ce835SZachary Turner; CHECK-NEXT: constType: 1 213c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 214c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 215c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 216c41ce835SZachary Turner; CHECK-NEXT: reference: 0 217c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 218c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 219c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 220c41ce835SZachary Turner; CHECK-NEXT: } 221c41ce835SZachary Turner; CHECK-NEXT: { 222c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 223c41ce835SZachary Turner; CHECK-NEXT: length: 8 224c41ce835SZachary Turner; CHECK-NEXT: constType: 0 225c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 226c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 227c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 228c41ce835SZachary Turner; CHECK-NEXT: reference: 0 229c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 230c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 231c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 232c41ce835SZachary Turner; CHECK-NEXT: } 233c41ce835SZachary Turner; CHECK-NEXT: { 234c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 235c41ce835SZachary Turner; CHECK-NEXT: length: 8 236c41ce835SZachary Turner; CHECK-NEXT: constType: 0 237c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 238c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 239c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 1 240c41ce835SZachary Turner; CHECK-NEXT: reference: 0 241c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 242c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 243c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 244c41ce835SZachary Turner; CHECK-NEXT: } 245c41ce835SZachary Turner; CHECK-NEXT: { 246c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 247c41ce835SZachary Turner; CHECK-NEXT: length: 8 248c41ce835SZachary Turner; CHECK-NEXT: constType: 1 249c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 250c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 251c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 252c41ce835SZachary Turner; CHECK-NEXT: reference: 0 253c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 254c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 255c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 256c41ce835SZachary Turner; CHECK-NEXT: } 257c41ce835SZachary Turner; CHECK-NEXT: { 258c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 259c41ce835SZachary Turner; CHECK-NEXT: length: 8 260c41ce835SZachary Turner; CHECK-NEXT: constType: 0 261c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 262c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 1 263c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 264c41ce835SZachary Turner; CHECK-NEXT: reference: 0 265c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 266*6ca6a03cSZachary Turner; CHECK-NEXT: isSingleInheritance: 1 267c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 268c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 269c41ce835SZachary Turner; CHECK-NEXT: } 270c41ce835SZachary Turner; CHECK-NEXT: { 271c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 272c41ce835SZachary Turner; CHECK-NEXT: length: 4 273c41ce835SZachary Turner; CHECK-NEXT: constType: 0 274c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 1 275c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 276c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 277c41ce835SZachary Turner; CHECK-NEXT: reference: 0 278c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 279*6ca6a03cSZachary Turner; CHECK-NEXT: isSingleInheritance: 1 280c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 281c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 282c41ce835SZachary Turner; CHECK-NEXT: } 283c41ce835SZachary Turner; CHECK-NEXT: { 284c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 285c41ce835SZachary Turner; CHECK-NEXT: length: 8 286c41ce835SZachary Turner; CHECK-NEXT: constType: 0 287c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 288c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 1 289c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 290c41ce835SZachary Turner; CHECK-NEXT: reference: 0 291c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 292*6ca6a03cSZachary Turner; CHECK-NEXT: isSingleInheritance: 1 293c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 294c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 295c41ce835SZachary Turner; CHECK-NEXT: } 296c41ce835SZachary Turner; CHECK-NEXT: { 297c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 298c41ce835SZachary Turner; CHECK-NEXT: length: 8 299c41ce835SZachary Turner; CHECK-NEXT: constType: 0 300c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 301c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 302c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 303c41ce835SZachary Turner; CHECK-NEXT: reference: 0 304c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 305c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 306c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 307c41ce835SZachary Turner; CHECK-NEXT: } 308c41ce835SZachary Turner; CHECK-NEXT: { 309c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 310c41ce835SZachary Turner; CHECK-NEXT: length: 8 311c41ce835SZachary Turner; CHECK-NEXT: constType: 0 312c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 313c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 314c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 315c41ce835SZachary Turner; CHECK-NEXT: reference: 0 316c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 317c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 318c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 319c41ce835SZachary Turner; CHECK-NEXT: } 320c41ce835SZachary Turner; CHECK-NEXT: { 321c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 322c41ce835SZachary Turner; CHECK-NEXT: length: 8 323c41ce835SZachary Turner; CHECK-NEXT: constType: 0 324c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 325c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 326c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 327c41ce835SZachary Turner; CHECK-NEXT: reference: 0 328c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 1 329c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 330c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 331c41ce835SZachary Turner; CHECK-NEXT: } 332c41ce835SZachary Turner; CHECK-NEXT: { 333c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 334c41ce835SZachary Turner; CHECK-NEXT: length: 8 335c41ce835SZachary Turner; CHECK-NEXT: constType: 0 336c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 337c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 338c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 339c41ce835SZachary Turner; CHECK-NEXT: reference: 0 340c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 341c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 342c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 343c41ce835SZachary Turner; CHECK-NEXT: } 344c41ce835SZachary Turner; CHECK-NEXT: { 345c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 346c41ce835SZachary Turner; CHECK-NEXT: length: 8 347c41ce835SZachary Turner; CHECK-NEXT: constType: 0 348c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 349c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 350c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 351c41ce835SZachary Turner; CHECK-NEXT: reference: 0 352c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 353c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 354c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 355c41ce835SZachary Turner; CHECK-NEXT: } 356c41ce835SZachary Turner; CHECK-NEXT: { 357c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 358c41ce835SZachary Turner; CHECK-NEXT: length: 8 359c41ce835SZachary Turner; CHECK-NEXT: constType: 0 360c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 361c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 362c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 363c41ce835SZachary Turner; CHECK-NEXT: reference: 0 364c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 365c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 366c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 367c41ce835SZachary Turner; CHECK-NEXT: } 368c41ce835SZachary Turner; CHECK-NEXT: { 369c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 370c41ce835SZachary Turner; CHECK-NEXT: length: 8 371c41ce835SZachary Turner; CHECK-NEXT: constType: 0 372c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 373c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 374c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 1 375c41ce835SZachary Turner; CHECK-NEXT: reference: 0 376c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 377c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 378c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 379c41ce835SZachary Turner; CHECK-NEXT: } 380c41ce835SZachary Turner; CHECK-NEXT: { 381c41ce835SZachary Turner; CHECK-NEXT: symTag: PointerType 382c41ce835SZachary Turner; CHECK-NEXT: length: 8 383c41ce835SZachary Turner; CHECK-NEXT: constType: 0 384c41ce835SZachary Turner; CHECK-NEXT: isPointerToDataMember: 0 385c41ce835SZachary Turner; CHECK-NEXT: isPointerToMemberFunction: 0 386c41ce835SZachary Turner; CHECK-NEXT: RValueReference: 0 387c41ce835SZachary Turner; CHECK-NEXT: reference: 1 388c41ce835SZachary Turner; CHECK-NEXT: restrictedType: 0 389c41ce835SZachary Turner; CHECK-NEXT: unalignedType: 0 390c41ce835SZachary Turner; CHECK-NEXT: volatileType: 0 391c41ce835SZachary Turner; CHECK-NEXT: }