From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30494 invoked by alias); 17 Mar 2010 21:15:21 -0000 Received: (qmail 30435 invoked by uid 48); 17 Mar 2010 21:15:09 -0000 Date: Wed, 17 Mar 2010 21:15:00 -0000 Message-ID: <20100317211509.30434.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug debug/37982] Extraneous DW_TAG_variable tag In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dodji at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-03/txt/msg01641.txt.bz2 ------- 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>: 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>: Abbrev Number: 1 (DW_TAG_compile_unit) DW_AT_producer : (indirect string, offset: 0x62): GNU C++ 4.5.0 20100301 (experimental) DW_AT_language : 4 (C++) DW_AT_name : (indirect string, offset: 0x8d): class2.c DW_AT_comp_dir : (indirect string, offset: 0x19): /home/dodji/devel/git/gcc-branches.git/gcc-PR37982.git/prtests DW_AT_low_pc : 0x4004c0 DW_AT_high_pc : 0x4004c0 DW_AT_stmt_list : 0x46 <1>: Abbrev Number: 2 (DW_TAG_structure_type) DW_AT_name : A DW_AT_byte_size : 1 DW_AT_decl_file : 1 DW_AT_decl_line : 2 DW_AT_sibling : <0xde> <2>: Abbrev Number: 3 (DW_TAG_member) DW_AT_name : (indirect string, offset: 0x58): elsewhere DW_AT_decl_file : 1 DW_AT_decl_line : 3 DW_AT_MIPS_linkage_name: (indirect string, offset: 0x8): _ZN1A9elsewhereE DW_AT_type : <0xde> DW_AT_external : 1 DW_AT_declaration : 1 [...] <1>: Abbrev Number: 6 (DW_TAG_variable) DW_AT_specification: <0xcc> DW_AT_decl_file : 2 DW_AT_decl_line : 2 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