From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23874 invoked by alias); 25 Apr 2003 14:36:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 23855 invoked by uid 71); 25 Apr 2003 14:36:00 -0000 Resent-Date: 25 Apr 2003 14:36:00 -0000 Resent-Message-ID: <20030425143600.23854.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, drow@mvista.com Received: (qmail 21011 invoked by uid 48); 25 Apr 2003 14:32:53 -0000 Message-Id: <20030425143253.21010.qmail@sources.redhat.com> Date: Fri, 25 Apr 2003 14:36:00 -0000 From: drow@mvista.com Reply-To: drow@mvista.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/10499: [3.2, 3.3, 3.4] Debug information for some C++ headers is missing classes (template specific?) X-SW-Source: 2003-04/txt/msg01096.txt.bz2 List-Id: >Number: 10499 >Category: c++ >Synopsis: [3.2, 3.3, 3.4] Debug information for some C++ headers is missing classes (template specific?) >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Apr 25 14:36:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: drow@mvista.com >Release: 3.4 20030308, 3.3 cvs, 3.2.3 >Organization: >Environment: i686-pc-linux-gnu >Description: Compile this testcase (from Ben Kosnik) with -g: #include int main() { std::stringstream s; // (gdb) p s return 0; } Look in the debug info for information about stringstream. In DWARF-2 (the problem is also visible in stabs+) this is all there is: <3>: Abbrev Number: 17 (DW_TAG_typedef) DW_AT_name : (indirect string, offset: 0xddd): stringstream DW_AT_decl_file : 3 DW_AT_decl_line : 144 DW_AT_type : <1>: Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_name : (indirect string, offset: 0x7b9): basic_stringstream,std::allocator > DW_AT_declaration : 1 i.e just a declaration. Also in 3.4, the typedef is emitted in the DW_TAG_lexical_block associated with main. That doesn't make a whole lot of sense and will eventually confuse GDB. >How-To-Repeat: Compile above testcase with -g >Fix: The debug information for the body of basic_stringstream needs to be emitted. >Release-Note: >Audit-Trail: >Unformatted: