------- Comment #9 from dodji at gcc dot gnu dot org  2010-03-17 21:15 -------
The situation has change quite a lot since gcc 4.3.0.
Now a DW_TAG_member is emitted for the static member variable, and only one
DW_TAG_variable is emitted to represent the variable definition.

So I guess the bug can be closed now?

With 4.5 I get this:

<0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
    < c>   DW_AT_producer    : (indirect string, offset: 0x62): GNU C++ 4.5.0
20100301 (experimental)
    <10>   DW_AT_language    : 4        (C++)
    <11>   DW_AT_name        : (indirect string, offset: 0x0): class.c
    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x19):
/home/dodji/devel/git/gcc-branches.git/gcc-PR37982.git/prtests
    <19>   DW_AT_low_pc      : 0x4004b4
    <21>   DW_AT_high_pc     : 0x4004c0
    <29>   DW_AT_stmt_list   : 0x0
 <1><2d>: Abbrev Number: 2 (DW_TAG_structure_type)
    <2e>   DW_AT_name        : A
    <30>   DW_AT_byte_size   : 1
    <31>   DW_AT_decl_file   : 2
    <32>   DW_AT_decl_line   : 2
    <33>   DW_AT_sibling     : <0x49>
 <2><37>: Abbrev Number: 3 (DW_TAG_member)
    <38>   DW_AT_name        : (indirect string, offset: 0x58): elsewhere
<3c>   DW_AT_decl_file   : 2
    <3d>   DW_AT_decl_line   : 3
    <3e>   DW_AT_MIPS_linkage_name: (indirect string, offset: 0x8):
_ZN1A9elsewhereE
    <42>   DW_AT_type        : <0x49>
    <46>   DW_AT_external    : 1
    <47>   DW_AT_declaration : 1

[...]

<0><a0>: Abbrev Number: 1 (DW_TAG_compile_unit)
    <a1>   DW_AT_producer    : (indirect string, offset: 0x62): GNU C++ 4.5.0
20100301 (experimental)
    <a5>   DW_AT_language    : 4        (C++)
    <a6>   DW_AT_name        : (indirect string, offset: 0x8d): class2.c
    <aa>   DW_AT_comp_dir    : (indirect string, offset: 0x19):
/home/dodji/devel/git/gcc-branches.git/gcc-PR37982.git/prtests
    <ae>   DW_AT_low_pc      : 0x4004c0
    <b6>   DW_AT_high_pc     : 0x4004c0
    <be>   DW_AT_stmt_list   : 0x46
 <1><c2>: Abbrev Number: 2 (DW_TAG_structure_type)
    <c3>   DW_AT_name        : A
    <c5>   DW_AT_byte_size   : 1
    <c6>   DW_AT_decl_file   : 1
    <c7>   DW_AT_decl_line   : 2
    <c8>   DW_AT_sibling     : <0xde>
 <2><cc>: Abbrev Number: 3 (DW_TAG_member)
    <cd>   DW_AT_name        : (indirect string, offset: 0x58): elsewhere
    <d1>   DW_AT_decl_file   : 1
    <d2>   DW_AT_decl_line   : 3
    <d3>   DW_AT_MIPS_linkage_name: (indirect string, offset: 0x8):
_ZN1A9elsewhereE
    <d7>   DW_AT_type        : <0xde>
    <db>   DW_AT_external    : 1
    <dc>   DW_AT_declaration : 1

[...]

<1><ea>: Abbrev Number: 6 (DW_TAG_variable)
    <eb>   DW_AT_specification: <0xcc>
    <ef>   DW_AT_decl_file   : 2
    <f0>   DW_AT_decl_line   : 2
    <f1>   DW_AT_location    : 9 byte block: 3 ac 5 40 0 0 0 0 0       
(DW_OP_addr: 4005ac)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37982

Reply via email to