1*4539b441SAlexey Lapshin## This test checks debug info for the case when one compilation unit 2*4539b441SAlexey Lapshin## contains a forward declaration of a type and another compilation unit 3*4539b441SAlexey Lapshin## contains a definition for that type. The result should contain 4*4539b441SAlexey Lapshin## the original definition and the declaration without modifications. 5*4539b441SAlexey Lapshin 6*4539b441SAlexey Lapshin# RUN: yaml2obj %s -o %t.o 7*4539b441SAlexey Lapshin# RUN: llvm-dwarfutil %t.o - | llvm-dwarfdump -a - | FileCheck %s 8*4539b441SAlexey Lapshin 9*4539b441SAlexey Lapshin## CU1: 10*4539b441SAlexey Lapshin## 11*4539b441SAlexey Lapshin## class class1; 12*4539b441SAlexey Lapshin## template<int> class class2; 13*4539b441SAlexey Lapshin## 14*4539b441SAlexey Lapshin## class1 *var1; 15*4539b441SAlexey Lapshin## class2<int> *var2; 16*4539b441SAlexey Lapshin## 17*4539b441SAlexey Lapshin## CU2: 18*4539b441SAlexey Lapshin## 19*4539b441SAlexey Lapshin## class class1 { 20*4539b441SAlexey Lapshin## char member1; 21*4539b441SAlexey Lapshin## float member2; 22*4539b441SAlexey Lapshin## }; 23*4539b441SAlexey Lapshin## 24*4539b441SAlexey Lapshin## template<int> class class2 { 25*4539b441SAlexey Lapshin## char member1; 26*4539b441SAlexey Lapshin## }; 27*4539b441SAlexey Lapshin## 28*4539b441SAlexey Lapshin## class1 *var1; 29*4539b441SAlexey Lapshin## class2<int> *var2; 30*4539b441SAlexey Lapshin 31*4539b441SAlexey Lapshin# CHECK: file format elf64-x86-64 32*4539b441SAlexey Lapshin# CHECK: .debug_info contents: 33*4539b441SAlexey Lapshin 34*4539b441SAlexey Lapshin# CHECK: DW_TAG_compile_unit 35*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"CU1" 36*4539b441SAlexey Lapshin 37*4539b441SAlexey Lapshin# CHECK: 0x[[CU1_CLASS1:[0-9a-f]*]]: DW_TAG_class_type{{.*[[:space:]].*}}DW_AT_name{{.*}}"class1" 38*4539b441SAlexey Lapshin# CHECK: DW_AT_declaration (true) 39*4539b441SAlexey Lapshin 40*4539b441SAlexey Lapshin# CHECK: 0x[[CU1_CLASS2:[0-9a-f]*]]: DW_TAG_class_type{{.*[[:space:]].*}}DW_AT_name{{.*}}"class2" 41*4539b441SAlexey Lapshin# CHECK: DW_AT_declaration (true) 42*4539b441SAlexey Lapshin# CHECK: DW_TAG_template_type_parameter{{.*[[:space:]].*}}DW_AT_type{{.*}}0x00000000[[CU1_INT:[0-9a-f]*]] "int" 43*4539b441SAlexey Lapshin 44*4539b441SAlexey Lapshin# CHECK: 0x[[CU1_INT]]: DW_TAG_base_type 45*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"int" 46*4539b441SAlexey Lapshin 47*4539b441SAlexey Lapshin# CHECK: 0x[[CU1_PTR_CLASS1:[0-9a-f]*]]: DW_TAG_pointer_type{{.*[[:space:]].*}}DW_AT_type{{.*}}0x00000000[[CU1_CLASS1]] "class1" 48*4539b441SAlexey Lapshin 49*4539b441SAlexey Lapshin# CHECK: 0x[[CU1_PTR_CLASS2:[0-9a-f]*]]: DW_TAG_pointer_type{{.*[[:space:]].*}}DW_AT_type{{.*}}0x00000000[[CU1_CLASS2]] "class2<int>" 50*4539b441SAlexey Lapshin 51*4539b441SAlexey Lapshin# CHECK: DW_TAG_variable 52*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"var1" 53*4539b441SAlexey Lapshin# CHECK: DW_AT_type{{.*}}0x00000000[[CU1_PTR_CLASS1]] "class1 *" 54*4539b441SAlexey Lapshin# CHECK: DW_TAG_variable 55*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"var2" 56*4539b441SAlexey Lapshin# CHECK: DW_AT_type{{.*}}0x00000000[[CU1_PTR_CLASS2]] "class2<int> *" 57*4539b441SAlexey Lapshin 58*4539b441SAlexey Lapshin# CHECK: DW_TAG_compile_unit 59*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"CU2" 60*4539b441SAlexey Lapshin 61*4539b441SAlexey Lapshin# CHECK: 0x[[CU2_CLASS1:[0-9a-f]*]]: DW_TAG_class_type{{.*[[:space:]].*}}DW_AT_name{{.*}}"class1" 62*4539b441SAlexey Lapshin# CHECK: DW_TAG_member 63*4539b441SAlexey Lapshin# CHECK: DW_AT_type{{.*}}0x00000000[[CU2_CHAR:[0-9a-f]*]] "char" 64*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"member1" 65*4539b441SAlexey Lapshin 66*4539b441SAlexey Lapshin# CHECK: DW_TAG_member 67*4539b441SAlexey Lapshin# CHECK: DW_AT_type{{.*}}0x00000000[[CU2_FLOAT:[0-9a-f]*]] "float" 68*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"member2" 69*4539b441SAlexey Lapshin 70*4539b441SAlexey Lapshin# CHECK: 0x[[CU2_CLASS2:[0-9a-f]*]]: DW_TAG_class_type{{.*[[:space:]].*}}DW_AT_name{{.*}}"class2" 71*4539b441SAlexey Lapshin# CHECK: DW_TAG_template_type_parameter{{.*[[:space:]].*}}DW_AT_type{{.*}}0x00000000[[CU2_INT:[0-9a-f]*]] "int" 72*4539b441SAlexey Lapshin# CHECK: DW_TAG_member 73*4539b441SAlexey Lapshin# CHECK: DW_AT_type{{.*}}0x00000000[[CU2_CHAR]] "char" 74*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"member1" 75*4539b441SAlexey Lapshin 76*4539b441SAlexey Lapshin# CHECK: 0x[[CU2_INT]]: DW_TAG_base_type 77*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"int" 78*4539b441SAlexey Lapshin 79*4539b441SAlexey Lapshin# CHECK: 0x[[CU2_CHAR]]: DW_TAG_base_type 80*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"char" 81*4539b441SAlexey Lapshin 82*4539b441SAlexey Lapshin# CHECK: 0x[[CU2_FLOAT]]: DW_TAG_base_type 83*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"float" 84*4539b441SAlexey Lapshin 85*4539b441SAlexey Lapshin# CHECK: 0x[[CU2_PTR_CLASS1:[0-9a-f]*]]: DW_TAG_pointer_type{{.*[[:space:]].*}}DW_AT_type{{.*}}0x00000000[[CU2_CLASS1]] "class1" 86*4539b441SAlexey Lapshin 87*4539b441SAlexey Lapshin# CHECK: 0x[[CU2_PTR_CLASS2:[0-9a-f]*]]: DW_TAG_pointer_type{{.*[[:space:]].*}}DW_AT_type{{.*}}0x00000000[[CU2_CLASS2]] "class2<int>" 88*4539b441SAlexey Lapshin 89*4539b441SAlexey Lapshin# CHECK: DW_TAG_variable 90*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"var1" 91*4539b441SAlexey Lapshin# CHECK: DW_AT_type{{.*}}0x00000000[[CU2_PTR_CLASS1]] "class1 *" 92*4539b441SAlexey Lapshin# CHECK: DW_TAG_variable 93*4539b441SAlexey Lapshin# CHECK: DW_AT_name{{.*}}"var2" 94*4539b441SAlexey Lapshin# CHECK: DW_AT_type{{.*}}0x00000000[[CU2_PTR_CLASS2]] "class2<int> *" 95*4539b441SAlexey Lapshin 96*4539b441SAlexey Lapshin--- !ELF 97*4539b441SAlexey LapshinFileHeader: 98*4539b441SAlexey Lapshin Class: ELFCLASS64 99*4539b441SAlexey Lapshin Data: ELFDATA2LSB 100*4539b441SAlexey Lapshin Type: ET_REL 101*4539b441SAlexey Lapshin Machine: EM_X86_64 102*4539b441SAlexey LapshinSections: 103*4539b441SAlexey Lapshin - Name: .text 104*4539b441SAlexey Lapshin Type: SHT_PROGBITS 105*4539b441SAlexey Lapshin Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 106*4539b441SAlexey Lapshin Address: 0x1000 107*4539b441SAlexey Lapshin Size: 0x1b 108*4539b441SAlexey Lapshin - Name: .text2 109*4539b441SAlexey Lapshin Type: SHT_PROGBITS 110*4539b441SAlexey Lapshin Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 111*4539b441SAlexey Lapshin Address: 0x2000 112*4539b441SAlexey Lapshin Size: 0x1b 113*4539b441SAlexey LapshinDWARF: 114*4539b441SAlexey Lapshin debug_abbrev: 115*4539b441SAlexey Lapshin - Table: 116*4539b441SAlexey Lapshin - Tag: DW_TAG_compile_unit 117*4539b441SAlexey Lapshin Children: DW_CHILDREN_yes 118*4539b441SAlexey Lapshin Attributes: 119*4539b441SAlexey Lapshin - Attribute: DW_AT_producer 120*4539b441SAlexey Lapshin Form: DW_FORM_string 121*4539b441SAlexey Lapshin - Attribute: DW_AT_language 122*4539b441SAlexey Lapshin Form: DW_FORM_data2 123*4539b441SAlexey Lapshin - Attribute: DW_AT_name 124*4539b441SAlexey Lapshin Form: DW_FORM_string 125*4539b441SAlexey Lapshin - Attribute: DW_AT_low_pc 126*4539b441SAlexey Lapshin Form: DW_FORM_addr 127*4539b441SAlexey Lapshin - Attribute: DW_AT_high_pc 128*4539b441SAlexey Lapshin Form: DW_FORM_data8 129*4539b441SAlexey Lapshin - Tag: DW_TAG_class_type 130*4539b441SAlexey Lapshin Children: DW_CHILDREN_yes 131*4539b441SAlexey Lapshin Attributes: 132*4539b441SAlexey Lapshin - Attribute: DW_AT_name 133*4539b441SAlexey Lapshin Form: DW_FORM_string 134*4539b441SAlexey Lapshin - Tag: DW_TAG_member 135*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 136*4539b441SAlexey Lapshin Attributes: 137*4539b441SAlexey Lapshin - Attribute: DW_AT_type 138*4539b441SAlexey Lapshin Form: DW_FORM_ref_addr 139*4539b441SAlexey Lapshin - Attribute: DW_AT_name 140*4539b441SAlexey Lapshin Form: DW_FORM_string 141*4539b441SAlexey Lapshin - Tag: DW_TAG_class_type 142*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 143*4539b441SAlexey Lapshin Attributes: 144*4539b441SAlexey Lapshin - Attribute: DW_AT_name 145*4539b441SAlexey Lapshin Form: DW_FORM_string 146*4539b441SAlexey Lapshin - Attribute: DW_AT_declaration 147*4539b441SAlexey Lapshin Form: DW_FORM_flag_present 148*4539b441SAlexey Lapshin - Tag: DW_TAG_class_type 149*4539b441SAlexey Lapshin Children: DW_CHILDREN_yes 150*4539b441SAlexey Lapshin Attributes: 151*4539b441SAlexey Lapshin - Attribute: DW_AT_name 152*4539b441SAlexey Lapshin Form: DW_FORM_string 153*4539b441SAlexey Lapshin - Attribute: DW_AT_declaration 154*4539b441SAlexey Lapshin Form: DW_FORM_flag_present 155*4539b441SAlexey Lapshin - Tag: DW_TAG_template_type_parameter 156*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 157*4539b441SAlexey Lapshin Attributes: 158*4539b441SAlexey Lapshin - Attribute: DW_AT_type 159*4539b441SAlexey Lapshin Form: DW_FORM_ref_addr 160*4539b441SAlexey Lapshin - Tag: DW_TAG_base_type 161*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 162*4539b441SAlexey Lapshin Attributes: 163*4539b441SAlexey Lapshin - Attribute: DW_AT_name 164*4539b441SAlexey Lapshin Form: DW_FORM_string 165*4539b441SAlexey Lapshin - Tag: DW_TAG_pointer_type 166*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 167*4539b441SAlexey Lapshin Attributes: 168*4539b441SAlexey Lapshin - Attribute: DW_AT_type 169*4539b441SAlexey Lapshin Form: DW_FORM_ref_addr 170*4539b441SAlexey Lapshin - Tag: DW_TAG_variable 171*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 172*4539b441SAlexey Lapshin Attributes: 173*4539b441SAlexey Lapshin - Attribute: DW_AT_name 174*4539b441SAlexey Lapshin Form: DW_FORM_string 175*4539b441SAlexey Lapshin - Attribute: DW_AT_const_value 176*4539b441SAlexey Lapshin Form: DW_FORM_data4 177*4539b441SAlexey Lapshin - Attribute: DW_AT_type 178*4539b441SAlexey Lapshin Form: DW_FORM_ref_addr 179*4539b441SAlexey Lapshin - Table: 180*4539b441SAlexey Lapshin - Tag: DW_TAG_compile_unit 181*4539b441SAlexey Lapshin Children: DW_CHILDREN_yes 182*4539b441SAlexey Lapshin Attributes: 183*4539b441SAlexey Lapshin - Attribute: DW_AT_producer 184*4539b441SAlexey Lapshin Form: DW_FORM_string 185*4539b441SAlexey Lapshin - Attribute: DW_AT_language 186*4539b441SAlexey Lapshin Form: DW_FORM_data2 187*4539b441SAlexey Lapshin - Attribute: DW_AT_name 188*4539b441SAlexey Lapshin Form: DW_FORM_string 189*4539b441SAlexey Lapshin - Attribute: DW_AT_low_pc 190*4539b441SAlexey Lapshin Form: DW_FORM_addr 191*4539b441SAlexey Lapshin - Attribute: DW_AT_high_pc 192*4539b441SAlexey Lapshin Form: DW_FORM_data8 193*4539b441SAlexey Lapshin - Tag: DW_TAG_class_type 194*4539b441SAlexey Lapshin Children: DW_CHILDREN_yes 195*4539b441SAlexey Lapshin Attributes: 196*4539b441SAlexey Lapshin - Attribute: DW_AT_name 197*4539b441SAlexey Lapshin Form: DW_FORM_string 198*4539b441SAlexey Lapshin - Tag: DW_TAG_member 199*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 200*4539b441SAlexey Lapshin Attributes: 201*4539b441SAlexey Lapshin - Attribute: DW_AT_type 202*4539b441SAlexey Lapshin Form: DW_FORM_ref_addr 203*4539b441SAlexey Lapshin - Attribute: DW_AT_name 204*4539b441SAlexey Lapshin Form: DW_FORM_string 205*4539b441SAlexey Lapshin - Tag: DW_TAG_class_type 206*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 207*4539b441SAlexey Lapshin Attributes: 208*4539b441SAlexey Lapshin - Attribute: DW_AT_name 209*4539b441SAlexey Lapshin Form: DW_FORM_string 210*4539b441SAlexey Lapshin - Attribute: DW_AT_declaration 211*4539b441SAlexey Lapshin Form: DW_FORM_flag_present 212*4539b441SAlexey Lapshin - Tag: DW_TAG_class_type 213*4539b441SAlexey Lapshin Children: DW_CHILDREN_yes 214*4539b441SAlexey Lapshin Attributes: 215*4539b441SAlexey Lapshin - Attribute: DW_AT_name 216*4539b441SAlexey Lapshin Form: DW_FORM_string 217*4539b441SAlexey Lapshin - Attribute: DW_AT_declaration 218*4539b441SAlexey Lapshin Form: DW_FORM_flag_present 219*4539b441SAlexey Lapshin - Tag: DW_TAG_template_type_parameter 220*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 221*4539b441SAlexey Lapshin Attributes: 222*4539b441SAlexey Lapshin - Attribute: DW_AT_type 223*4539b441SAlexey Lapshin Form: DW_FORM_ref_addr 224*4539b441SAlexey Lapshin - Tag: DW_TAG_base_type 225*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 226*4539b441SAlexey Lapshin Attributes: 227*4539b441SAlexey Lapshin - Attribute: DW_AT_name 228*4539b441SAlexey Lapshin Form: DW_FORM_string 229*4539b441SAlexey Lapshin - Tag: DW_TAG_pointer_type 230*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 231*4539b441SAlexey Lapshin Attributes: 232*4539b441SAlexey Lapshin - Attribute: DW_AT_type 233*4539b441SAlexey Lapshin Form: DW_FORM_ref_addr 234*4539b441SAlexey Lapshin - Tag: DW_TAG_variable 235*4539b441SAlexey Lapshin Children: DW_CHILDREN_no 236*4539b441SAlexey Lapshin Attributes: 237*4539b441SAlexey Lapshin - Attribute: DW_AT_name 238*4539b441SAlexey Lapshin Form: DW_FORM_string 239*4539b441SAlexey Lapshin - Attribute: DW_AT_const_value 240*4539b441SAlexey Lapshin Form: DW_FORM_data4 241*4539b441SAlexey Lapshin - Attribute: DW_AT_type 242*4539b441SAlexey Lapshin Form: DW_FORM_ref_addr 243*4539b441SAlexey Lapshin debug_info: 244*4539b441SAlexey Lapshin - Version: 4 245*4539b441SAlexey Lapshin Entries: 246*4539b441SAlexey Lapshin - AbbrCode: 1 247*4539b441SAlexey Lapshin Values: 248*4539b441SAlexey Lapshin - CStr: by_hand 249*4539b441SAlexey Lapshin - Value: 0x04 250*4539b441SAlexey Lapshin - CStr: CU1 251*4539b441SAlexey Lapshin - Value: 0x1000 252*4539b441SAlexey Lapshin - Value: 0x1b 253*4539b441SAlexey Lapshin - AbbrCode: 4 254*4539b441SAlexey Lapshin Values: 255*4539b441SAlexey Lapshin - CStr: class1 256*4539b441SAlexey Lapshin - AbbrCode: 5 257*4539b441SAlexey Lapshin Values: 258*4539b441SAlexey Lapshin - CStr: class2 259*4539b441SAlexey Lapshin - AbbrCode: 6 260*4539b441SAlexey Lapshin Values: 261*4539b441SAlexey Lapshin - Value: 0x00000040 262*4539b441SAlexey Lapshin - AbbrCode: 0 263*4539b441SAlexey Lapshin - AbbrCode: 7 264*4539b441SAlexey Lapshin Values: 265*4539b441SAlexey Lapshin - CStr: int 266*4539b441SAlexey Lapshin - AbbrCode: 8 267*4539b441SAlexey Lapshin Values: 268*4539b441SAlexey Lapshin - Value: 0x0000002a 269*4539b441SAlexey Lapshin - AbbrCode: 8 270*4539b441SAlexey Lapshin Values: 271*4539b441SAlexey Lapshin - Value: 0x00000032 272*4539b441SAlexey Lapshin - AbbrCode: 9 273*4539b441SAlexey Lapshin Values: 274*4539b441SAlexey Lapshin - CStr: var1 275*4539b441SAlexey Lapshin - Value: 0x00000000 276*4539b441SAlexey Lapshin - Value: 0x00000045 277*4539b441SAlexey Lapshin - AbbrCode: 9 278*4539b441SAlexey Lapshin Values: 279*4539b441SAlexey Lapshin - CStr: var2 280*4539b441SAlexey Lapshin - Value: 0x00000000 281*4539b441SAlexey Lapshin - Value: 0x0000004a 282*4539b441SAlexey Lapshin - AbbrCode: 0 283*4539b441SAlexey Lapshin - Version: 4 284*4539b441SAlexey Lapshin Entries: 285*4539b441SAlexey Lapshin - AbbrCode: 1 286*4539b441SAlexey Lapshin Values: 287*4539b441SAlexey Lapshin - CStr: by_hand 288*4539b441SAlexey Lapshin - Value: 0x04 289*4539b441SAlexey Lapshin - CStr: CU2 290*4539b441SAlexey Lapshin - Value: 0x2000 291*4539b441SAlexey Lapshin - Value: 0x1b 292*4539b441SAlexey Lapshin - AbbrCode: 2 293*4539b441SAlexey Lapshin Values: 294*4539b441SAlexey Lapshin - CStr: class1 295*4539b441SAlexey Lapshin - AbbrCode: 3 296*4539b441SAlexey Lapshin Values: 297*4539b441SAlexey Lapshin - Value: 0x000000d9 298*4539b441SAlexey Lapshin - CStr: member1 299*4539b441SAlexey Lapshin - AbbrCode: 3 300*4539b441SAlexey Lapshin Values: 301*4539b441SAlexey Lapshin - Value: 0x000000df 302*4539b441SAlexey Lapshin - CStr: member2 303*4539b441SAlexey Lapshin - AbbrCode: 0 304*4539b441SAlexey Lapshin - AbbrCode: 2 305*4539b441SAlexey Lapshin Values: 306*4539b441SAlexey Lapshin - CStr: class2 307*4539b441SAlexey Lapshin - AbbrCode: 6 308*4539b441SAlexey Lapshin Values: 309*4539b441SAlexey Lapshin - Value: 0x000000d4 310*4539b441SAlexey Lapshin - AbbrCode: 3 311*4539b441SAlexey Lapshin Values: 312*4539b441SAlexey Lapshin - Value: 0x000000d9 313*4539b441SAlexey Lapshin - CStr: member1 314*4539b441SAlexey Lapshin - AbbrCode: 0 315*4539b441SAlexey Lapshin - AbbrCode: 7 316*4539b441SAlexey Lapshin Values: 317*4539b441SAlexey Lapshin - CStr: int 318*4539b441SAlexey Lapshin - AbbrCode: 7 319*4539b441SAlexey Lapshin Values: 320*4539b441SAlexey Lapshin - CStr: char 321*4539b441SAlexey Lapshin - AbbrCode: 7 322*4539b441SAlexey Lapshin Values: 323*4539b441SAlexey Lapshin - CStr: float 324*4539b441SAlexey Lapshin - AbbrCode: 8 325*4539b441SAlexey Lapshin Values: 326*4539b441SAlexey Lapshin - Value: 0x00000096 327*4539b441SAlexey Lapshin - AbbrCode: 8 328*4539b441SAlexey Lapshin Values: 329*4539b441SAlexey Lapshin - Value: 0x000000b9 330*4539b441SAlexey Lapshin - AbbrCode: 9 331*4539b441SAlexey Lapshin Values: 332*4539b441SAlexey Lapshin - CStr: var1 333*4539b441SAlexey Lapshin - Value: 0x00000000 334*4539b441SAlexey Lapshin - Value: 0x000000e6 335*4539b441SAlexey Lapshin - AbbrCode: 9 336*4539b441SAlexey Lapshin Values: 337*4539b441SAlexey Lapshin - CStr: var2 338*4539b441SAlexey Lapshin - Value: 0x00000000 339*4539b441SAlexey Lapshin - Value: 0x000000eb 340*4539b441SAlexey Lapshin - AbbrCode: 0 341*4539b441SAlexey Lapshin... 342