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