This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
Re: c++/1593: Problem with nested namespaces
- From: David Carlton <carlton at kealia dot com>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 23 Mar 2004 17:38:01 -0000
- Subject: Re: c++/1593: Problem with nested namespaces
- Reply-to: David Carlton <carlton at kealia dot com>
The following reply was made to PR c++/1593; it has been noted by GNATS.
From: David Carlton <carlton@kealia.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: GNATS Filer <gdb-gnats@sources.redhat.com>
Subject: Re: c++/1593: Problem with nested namespaces
Date: Tue, 23 Mar 2004 09:31:23 -0800
On 23 Mar 2004 17:08:02 -0000, Daniel Jacobowitz <drow@false.org> said:
> The basic problem is that by explicitly providing a constructor and
> destructor, you've suppressed the implicit operator=.
Now I'm confused. Looking at the assembly file, you're quite right:
there isn't an operator= listed in the class definition. But I think
there should be one - a user-defined constructor/destructor doesn't
suppress a compiler-defined operator=. So, for example, if you
replace his main() by this:
int main()
{
Foo mywrapped;
Foo mywrapped2;
mywrapped2 = mywrapped;
return 0;
}
then you'll see operator= in the class definition in the debug info.
Which suggests to me that GCC (I used Red Hat's 3.2, but it must also
be the case for the GCC 3.3 that he used) doesn't emit identical debug
info for the definition of the same class in different translation
units. Which really sucks, from GDB's point of view.