From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 961 invoked by alias); 17 Jan 2002 15:07:32 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 794 invoked from network); 17 Jan 2002 15:07:29 -0000 Received: from unknown (HELO prospero.cambridge.redhat.com) (62.30.164.150) by sources.redhat.com with SMTP; 17 Jan 2002 15:07:29 -0000 Received: (from jason@localhost) by prospero.cambridge.redhat.com (8.11.6/8.11.6) id g0HF6oB06912; Thu, 17 Jan 2002 15:06:50 GMT X-Authentication-Warning: localhost.localdomain: jason set sender to jason@redhat.com using -f To: gdb-patches@sources.redhat.com Cc: Jason Merrill Subject: PATCH to stabsread.c:read_member_functions From: Jason Merrill Date: Thu, 17 Jan 2002 07:07:00 -0000 Message-ID: User-Agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1 (i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-SW-Source: 2002-01/txt/msg00478.txt.bz2 --=-=-= Content-length: 648 This patch fixes gdb.c++/classes.exp:ptype Static when used with gcc 3.x and stabs output. The code in question was never correct, just a likely guess; in particular, it got things wrong even with the v2 output for Static::ii, where the plain function name ("ii") was the same as the mangled form of the argument list (int, int == "ii"). For v3, we don't try to do minimal output, so it will always guess wrong. OK? Should I just remove the bad code rather than comment it out? 2002-01-17 Jason Merrill * stabsread.c (read_member_functions): Never guess that the given physname for a static member function is a stub. --=-=-= Content-Type: text/x-patch Content-Disposition: inline Content-length: 691 *** stabsread.c.~1~ Wed Jan 16 18:52:33 2002 --- stabsread.c Thu Jan 17 15:01:35 2002 *************** read_member_functions (struct field_info *** 3206,3216 **** --- 3206,3221 ---- case '?': /* static member function. */ new_sublist->fn_field.voffset = VOFFSET_STATIC; + #if 0 + /* This was a kludge to try to get the right answer for gcc + v2 stabs output. In v3 we don't try to avoid writing out + full mangled names, so this just causes problems. */ if (strncmp (new_sublist->fn_field.physname, main_fn_name, strlen (main_fn_name))) { new_sublist->fn_field.is_stub = 1; } + #endif break; default: --=-=-=--