This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
Re: c++/1099: internal error: 'this' is not an aggregate
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 27 Feb 2003 19:08:00 -0000
- Subject: Re: c++/1099: internal error: 'this' is not an aggregate
- Reply-to: Daniel Jacobowitz <drow at mvista dot com>
The following reply was made to PR c++/1099; it has been noted by GNATS.
From: Daniel Jacobowitz <drow at mvista dot com>
To: beece at us dot ibm dot com
Cc: gdb-gnats at sources dot redhat dot com
Subject: Re: c++/1099: internal error: 'this' is not an aggregate
Date: Thu, 27 Feb 2003 14:05:05 -0500
On Thu, Feb 27, 2003 at 04:28:16PM -0000, beece at us dot ibm dot com wrote:
>
> >Number: 1099
> >Category: c++
> >Synopsis: internal error: 'this' is not an aggregate
> >Confidential: no
> >Severity: serious
> >Priority: medium
> >Responsible: unassigned
> >State: open
> >Class: support
> >Submitter-Id: net
> >Arrival-Date: Thu Feb 27 16:38:00 UTC 2003
> >Closed-Date:
> >Last-Modified:
> >Originator: Daniel Beece
> >Release: gdb 5.3
> >Organization:
> >Environment:
> aix 4.3.3.0
> >Description:
> The problem is GDB does not understand how to display or otherwise
> deal with the variables in my method. The followin shows the
OK, you're using AIX - what's the C++ compiler involved? Is it GCC,
and if so what version?
> behavior:
> ---------
> GNU gdb 5.3
> Copyright 2002 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "powerpc-ibm-aix4.3.3.0"...(no debugging symbols found)...
> (gdb) attach 33676
> Attaching to program: ~beece/eclipz/testing/test2/run/myprog, process 33676
> (no debugging symbols found)...0xd0011c9c in _pthread_ksleep ()
> from /usr/lib/libpthreads.a(shr_xpg5.o)
> (gdb) source mysim.gdb
> (gdb) n
> Single stepping until exit from function _pthread_ksleep,
> which has no line number information.
> 0xd00120fc in _pthread_event_wait () from /usr/lib/libpthreads.a(shr_xpg5.o)
> (gdb) n
> Single stepping until exit from function _pthread_event_wait,
> which has no line number information.
> 0xd000e0ec in _cond_wait_local () from /usr/lib/libpthreads.a(shr_xpg5.o)
> Breakpoint 1 at 0x3106380c: file /afs/apd.pok.ibm.com/u/beece/eclipz/testing/test2/bld/../src/virtadrsp.C, line 29.
> (gdb) n
> Single stepping until exit from function _cond_wait_local,
> which has no line number information.
>
> Breakpoint 1, VirtAdrSpace::__ct (this=0x30e5672c, spname=<incomplete type>, type_id=2)
> at /afs/apd.pok.ibm.com/u/beece/eclipz/testing/test2/bld/../src/virtadrsp.C:29
> Current language: auto; currently c++
> (gdb) n
> (gdb) print orunused_std_bits = false;
> Internal error: `this' is not an aggregate
> (gdb)
>
> -----------------
>
> The following is the code snippet where I'm trying to display
> the variable:
>
> ...
> VirtAdrSpace::VirtAdrSpace( string spname, int type_id ) : AdrSpace( type_id ), AdrListHandler( 40 ), Alet() { // 10 list to start with
>
> orunused_std_bits = false;
> cs_num_cc_used = NULL;
> ...
>
> --------------------------
>
> A grep on the source directory for this message shows it appears
> in valops.c about line 3014:
>
> if (TYPE_CODE (t) != TYPE_CODE_STRUCT
> && TYPE_CODE (t) != TYPE_CODE_UNION)
> error ("Internal error: `this' is not an aggregate");
Could you show me the output of "ptype this" at the same point in the
execution? i.e. where you got the internal error above.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer