This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH]: Commence binfo extraction
- From: mec dot gnu at mindspring dot com (Michael Elizabeth Chastain)
- To: nathan at codesourcery dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 6 Jul 2004 03:35:34 -0400 (EDT)
- Subject: Re: [PATCH]: Commence binfo extraction
Hi Nathan,
I think you missed one or two spots in dbxout.c, dbxout_type:
case RECORD_TYPE:
case UNION_TYPE:
case QUAL_UNION_TYPE:
{
int i, n_baseclasses = 0;
if (TYPE_BINFO (type) != 0
&& TREE_CODE (TYPE_BINFO (type)) == TREE_VEC
&& TYPE_BINFO_BASETYPES (type) != 0)
n_baseclasses = TREE_VEC_LENGTH (TYPE_BINFO_BASETYPES (type));
'type' changed from TREE_VEC to TREE_BINFO and that's causing gcc to
omit all the base class info from stabs. I confirmed this with a
debugger.
There's one other spot in dbxout.c that uses TREE_VEC:
if (TREE_CODE (methods) != TREE_VEC)
fndecl = methods;
else if (TREE_VEC_ELT (methods, 0) != NULL_TREE)
fndecl = TREE_VEC_ELT (methods, 0);
else
fndecl = TREE_VEC_ELT (methods, 1);
I'm really not sure what the right change there would be.
This is causing me trouble with stabs+ on native i686-pc-linux-gnu
in the gdb test suite. dwarf-2 is working fine, no regressions there.
(I run a test bed where I run the gdb test suite on development
versions of gcc, to catch things like this).
Michael C