From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27974 invoked by alias); 22 Aug 2002 20:35:53 -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 27964 invoked from network); 22 Aug 2002 20:35:52 -0000 Received: from unknown (HELO jackfruit.Stanford.EDU) (171.64.38.136) by sources.redhat.com with SMTP; 22 Aug 2002 20:35:52 -0000 Received: (from carlton@localhost) by jackfruit.Stanford.EDU (8.11.6/8.11.6) id g7MKZpQ15726; Thu, 22 Aug 2002 13:35:51 -0700 X-Authentication-Warning: jackfruit.Stanford.EDU: carlton set sender to carlton@math.stanford.edu using -f To: gdb-patches@sources.redhat.com Subject: [RFA] dwarf2read.c: set TYPE_DOMAIN_TYPE correctly for methods Cc: carlton@math.stanford.edu Content-Type: text/plain; charset=US-ASCII From: David Carlton Date: Thu, 22 Aug 2002 13:36:00 -0000 Message-ID: User-Agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp) MIME-Version: 1.0 X-SW-Source: 2002-08/txt/msg00709.txt.bz2 I've figured out what caused the regression that I turned up in PR gdb/653; here's a patch that fixes it. David Carlton carlton@math.stanford.edu 2002-08-22 David Carlton * dwarf2read.c (dwarf2_add_member_fn): Add back in the type argument that was deleted on 2002-06-14: it was needed after all, as PR gdb/653 demonstrates. Update call to smash_to_method_type. (read_structure_scope): Update call to dwarf2_add_member_fn. Index: dwarf2read.c =================================================================== RCS file: /cvs/src/src/gdb/dwarf2read.c,v retrieving revision 1.65 diff -u -p -r1.65 dwarf2read.c --- dwarf2read.c 20 Aug 2002 18:45:30 -0000 1.65 +++ dwarf2read.c 22 Aug 2002 20:13:53 -0000 @@ -803,7 +803,8 @@ static void dwarf2_attach_fields_to_type struct type *, struct objfile *); static void dwarf2_add_member_fn (struct field_info *, - struct die_info *, struct objfile *objfile, + struct die_info *, struct type *, + struct objfile *objfile, const struct comp_unit_head *); static void dwarf2_attach_fn_fields_to_type (struct field_info *, @@ -2259,7 +2260,7 @@ dwarf2_attach_fields_to_type (struct fie static void dwarf2_add_member_fn (struct field_info *fip, struct die_info *die, - struct objfile *objfile, + struct type *type, struct objfile *objfile, const struct comp_unit_head *cu_header) { struct attribute *attr; @@ -2327,7 +2328,7 @@ dwarf2_add_member_fn (struct field_info struct type *return_type = TYPE_TARGET_TYPE (die->type); int nparams = TYPE_NFIELDS (die->type); - smash_to_method_type (fnp->type, die->type, + smash_to_method_type (fnp->type, type, TYPE_TARGET_TYPE (die->type), TYPE_FIELDS (die->type), TYPE_NFIELDS (die->type), @@ -2516,7 +2517,7 @@ read_structure_scope (struct die_info *d { /* C++ member function. */ process_die (child_die, objfile, cu_header); - dwarf2_add_member_fn (&fi, child_die, objfile, cu_header); + dwarf2_add_member_fn (&fi, child_die, type, objfile, cu_header); } else if (child_die->tag == DW_TAG_inheritance) {