1NAME=avrD msvc simple 2FILE=-- 3CMDS=e anal.cpp.abi=msvc;"avrD .?AVClassName@@" 4EXPECT=<<EOF 5ClassName 6EOF 7RUN 8 9NAME=avrD msvc empty 10FILE=-- 11CMDS=e anal.cpp.abi=msvc;"avrD .?AV@@" 12EXPECT=<<EOF 13EOF 14RUN 15 16NAME=avrD msvc namespaces 17FILE=-- 18CMDS=e anal.cpp.abi=msvc;"avrD .?AVClassInInnerNamespace@InnerNamespace@OuterNamespace@@" 19EXPECT=<<EOF 20OuterNamespace::InnerNamespace::ClassInInnerNamespace 21EOF 22RUN 23 24NAME=avra and avrr msvc x86 25FILE=bins/pe/cpp-msvc-x86.exe 26CMDS=<<EOF 27aar 28avra 29?e -- 30avrr 31acll 32EOF 33EXPECT=<<EOF 34Complete Object Locator at 0x00417860: 35 signature: 0 36 vftableOffset: 0 37 cdOffset: 0 38 typeDescriptorAddr: 0x004198b0 39 classDescriptorAddr: 0x00417874 40 objectBase: 0x00000000 41 42 Type Descriptor at 0x004198b0: 43 vtableAddr: 0x004121fc 44 spare: 0x00000000 45 name: .?AVAlbum@@ 46 47 Class Hierarchy Descriptor at 0x00417874: 48 signature: 0 49 attributes: 0 50 numBaseClasses: 0x1 51 baseClassArrayAddr: 0x00417884 52 53 Base Class Descriptor: 54 typeDescriptorAddr: 0x004198b0 55 numContainedBases: 0 56 where: 57 mdisp: 0 58 pdisp: -1 59 vdisp: 0 60 attributes: 0x40 61 62 Type Descriptor at 0x004198b0: 63 vtableAddr: 0x004121fc 64 spare: 0x00000000 65 name: .?AVAlbum@@ 66 67 68Complete Object Locator at 0x004178a8: 69 signature: 0 70 vftableOffset: 0 71 cdOffset: 0 72 typeDescriptorAddr: 0x004198c4 73 classDescriptorAddr: 0x004178bc 74 objectBase: 0x00000000 75 76 Type Descriptor at 0x004198c4: 77 vtableAddr: 0x004121fc 78 spare: 0x00000000 79 name: .?AVInAbsentia@@ 80 81 Class Hierarchy Descriptor at 0x004178bc: 82 signature: 0 83 attributes: 0 84 numBaseClasses: 0x2 85 baseClassArrayAddr: 0x004178cc 86 87 Base Class Descriptor: 88 typeDescriptorAddr: 0x004198c4 89 numContainedBases: 0x1 90 where: 91 mdisp: 0 92 pdisp: -1 93 vdisp: 0 94 attributes: 0x40 95 96 Type Descriptor at 0x004198c4: 97 vtableAddr: 0x004121fc 98 spare: 0x00000000 99 name: .?AVInAbsentia@@ 100 101 Base Class Descriptor: 102 typeDescriptorAddr: 0x004198b0 103 numContainedBases: 0 104 where: 105 mdisp: 0 106 pdisp: -1 107 vdisp: 0 108 attributes: 0x40 109 110 Type Descriptor at 0x004198b0: 111 vtableAddr: 0x004121fc 112 spare: 0x00000000 113 name: .?AVAlbum@@ 114 115 116Complete Object Locator at 0x004178f4: 117 signature: 0 118 vftableOffset: 0 119 cdOffset: 0 120 typeDescriptorAddr: 0x004198e0 121 classDescriptorAddr: 0x00417908 122 objectBase: 0x00000000 123 124 Type Descriptor at 0x004198e0: 125 vtableAddr: 0x004121fc 126 spare: 0x00000000 127 name: .?AVtype_info@@ 128 129 Class Hierarchy Descriptor at 0x00417908: 130 signature: 0 131 attributes: 0 132 numBaseClasses: 0x1 133 baseClassArrayAddr: 0x00417918 134 135 Base Class Descriptor: 136 typeDescriptorAddr: 0x004198e0 137 numContainedBases: 0 138 where: 139 mdisp: 0 140 pdisp: -1 141 vdisp: 0 142 attributes: 0x40 143 144 Type Descriptor at 0x004198e0: 145 vtableAddr: 0x004121fc 146 spare: 0x00000000 147 name: .?AVtype_info@@ 148 149 150-- 151Album 152 (vtable at 0x412164) 153 virtual_0 @ 0x40105d (vtable + 0x0) 154 virtual_4 @ 0x4010a7 (vtable + 0x4) 155InAbsentia: Album 156 (vtable at 0x4121a4) 157 virtual_0 @ 0x401088 (vtable + 0x0) 158 virtual_4 @ 0x4010b3 (vtable + 0x4) 159type_info 160 (vtable at 0x4121fc) 161 virtual_0 @ 0x401136 (vtable + 0x0) 162EOF 163RUN 164 165NAME=avraj msvc x86 166FILE=bins/pe/cpp-msvc-x86.exe 167CMDS=<<EOF 168aar 169avraj 170EOF 171EXPECT=<<EOF 172[{"complete_object_locator":{"signature":0,"vftable_offset":0,"cd_offset":0,"type_desc_addr":4298928,"class_desc_addr":4290676,"object_base":0},"type_desc":{"vtable_addr":4268540,"spare":0,"name":".?AVAlbum@@"},"class_hierarchy_desc":{"signature":0,"attributes":0,"num_base_classes":1,"base_class_array_addr":4290692},"base_classes":[{"desc":{"type_desc_addr":4298928,"num_contained_bases":0,"where":{"mdisp":0,"pdisp":-1,"vdisp":0},"attributes":64},"type_desc":{"vtable_addr":4268540,"spare":0,"name":".?AVAlbum@@"}}]},{"complete_object_locator":{"signature":0,"vftable_offset":0,"cd_offset":0,"type_desc_addr":4298948,"class_desc_addr":4290748,"object_base":0},"type_desc":{"vtable_addr":4268540,"spare":0,"name":".?AVInAbsentia@@"},"class_hierarchy_desc":{"signature":0,"attributes":0,"num_base_classes":2,"base_class_array_addr":4290764},"base_classes":[{"desc":{"type_desc_addr":4298948,"num_contained_bases":1,"where":{"mdisp":0,"pdisp":-1,"vdisp":0},"attributes":64},"type_desc":{"vtable_addr":4268540,"spare":0,"name":".?AVInAbsentia@@"}},{"desc":{"type_desc_addr":4298928,"num_contained_bases":0,"where":{"mdisp":0,"pdisp":-1,"vdisp":0},"attributes":64},"type_desc":{"vtable_addr":4268540,"spare":0,"name":".?AVAlbum@@"}}]},{"complete_object_locator":{"signature":0,"vftable_offset":0,"cd_offset":0,"type_desc_addr":4298976,"class_desc_addr":4290824,"object_base":0},"type_desc":{"vtable_addr":4268540,"spare":0,"name":".?AVtype_info@@"},"class_hierarchy_desc":{"signature":0,"attributes":0,"num_base_classes":1,"base_class_array_addr":4290840},"base_classes":[{"desc":{"type_desc_addr":4298976,"num_contained_bases":0,"where":{"mdisp":0,"pdisp":-1,"vdisp":0},"attributes":64},"type_desc":{"vtable_addr":4268540,"spare":0,"name":".?AVtype_info@@"}}]}] 173EOF 174RUN 175