[LLVMdev] DW_TAG_base_type missing DW_AT_name for subrange types
Yuri Pankov
yuri.pankov at gmail.com
Sat Feb 11 08:35:11 PST 2012
Hi,
ctfconvert is particularly unhappy about that (e.g., ERROR: ctfconvert:
die 141: base type without name). Is it intended behavior?
Simple testcase:
int
main(void)
{
int i[2];
return 0;
}
dwarfdump output:
clang version 3.0 (tags/RELEASE_30/final):
[...]
LOCAL_SYMBOLS:
[...]
<3>< 120> DW_TAG_variable
DW_AT_name i
DW_AT_decl_file 1 /home/yuri/test.c
DW_AT_decl_line 4
DW_AT_type <144>
DW_AT_location DW_OP_fbreg 0
<1>< 134> DW_TAG_base_type
DW_AT_name int
DW_AT_encoding DW_ATE_signed
DW_AT_byte_size 4
<1>< 141> DW_TAG_base_type
DW_AT_byte_size 4
DW_AT_encoding DW_ATE_signed
<1>< 144> DW_TAG_array_type
DW_AT_type <134>
<2>< 149> DW_TAG_subrange_type
DW_AT_type <141>
DW_AT_upper_bound <141>1
[...]
gcc 3/4:
[...]
LOCAL_SYMBOLS:
[...]
<2>< 66> DW_TAG_variable
DW_AT_name i
DW_AT_decl_file 1 /home/yuri/test.c
DW_AT_decl_line 4
DW_AT_type <86>
DW_AT_location DW_OP_fbreg -16
<1>< 79> DW_TAG_base_type
DW_AT_byte_size 4
DW_AT_encoding DW_ATE_signed
DW_AT_name int
<1>< 86> DW_TAG_array_type
DW_AT_type <79>
DW_AT_sibling <102>
<2>< 95> DW_TAG_subrange_type
DW_AT_type <102>
DW_AT_upper_bound <102>1
<1>< 102> DW_TAG_base_type
DW_AT_byte_size 4
DW_AT_encoding DW_ATE_unsigned
DW_AT_name unsigned int
[...]
More information about the llvm-dev
mailing list