This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
c++/1553: gdb confused in namespace / subclass
- From: dirkjjn at cas dot et dot tudelft dot nl
- To: gdb-gnats at sources dot redhat dot com
- Date: 13 Feb 2004 16:33:06 -0000
- Subject: c++/1553: gdb confused in namespace / subclass
- Reply-to: dirkjjn at cas dot et dot tudelft dot nl
>Number: 1553
>Category: c++
>Synopsis: gdb confused in namespace / subclass
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Feb 13 16:38:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: dirkjjn@cas.et.tudelft.nl
>Release: gdb cvs 20040211
>Organization:
>Environment:
gdb cvs 20040211
gcc 3.2.3
>Description:
Both gdb6.0 as cvs seems to get confused in a large program I have. This small example shows one example. However gdb6.0 does this example right. Problem with gdb6.0 was that casting to the right type like p ('A::C'*) c_var dit not work (A::C unknown). It seems to choose by default the wrong type of class (if there is some D::C it would often end up that way)
>How-To-Repeat:
g++ -g namespace_problem.cxx
gdb a.out
break main
ptype c_var
this will show
type = struct C {
<incomplete type>
} *
>Fix:
unknown
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="namespace_problem.cxx"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="namespace_problem.cxx"
Y2xhc3MgQSB7CnB1YmxpYzoKICAgIGNsYXNzIEI7CiAgICBjbGFzcyBDOwoKfTsgLy8gRW5kIG9m
IGNsYXNzIEEKCmNsYXNzIEE6OkIgewogICAgaW50IGFfYjsKCnB1YmxpYzoKICAgIEMqIGdldF9j
KGludCBpKTsgLy9yZW1vdmluZyB0aGlzIGxpbmUgd29ya3MuCn07CgpjbGFzcyBBOjpDCnsKICAg
IGludCBhX2M7Cn07CgovKmNsYXNzIEE6OkIgeyAvL3B1dHRpbmcgaXQgaGVyZSB3b3JrcwogICAg
aW50IGFfYjsKCnB1YmxpYzoKICAgIEMqIGdldF9jKGludCBpKTsKCX07Ki8KCmludCBtYWluKCl7
CglBOjpDKiBjX3ZhcjsKCUE6OkIqIGJfdmFyOwp9Cg==