This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
gdb/789: no symbol in context C++ with inner scope subprogram
- From: Marc_Auslander at us dot ibm dot com
- To: gdb-gnats at sources dot redhat dot com
- Date: 6 Oct 2002 21:15:49 -0000
- Subject: gdb/789: no symbol in context C++ with inner scope subprogram
- Reply-to: Marc_Auslander at us dot ibm dot com
>Number: 789
>Category: gdb
>Synopsis: no symbol in context C++ with inner scope subprogram
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Oct 06 14:18:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Marc_Auslander@us.ibm.com
>Release: 5.2.1.0.90_2002-09-04-cvs
>Organization:
>Environment:
All environments, I believe, using dwarf2.
>Description:
If a C++ program has an inner subprogram, for example a method inside a class defined inside the program, symbol definitions are lost. In addition, symbol definitions are lost for the inner subprogram. In dwarf2read.c, it appears that read_func_scope is called recursively to process the inner subprogram, and this recursive call does not correctly restore local_symbols or list_in_scope. "Fixing" this gets symbols for the outer function, but the inner still has no symbols.
>How-To-Repeat:
gcc bar.C -o bar -ggdb -O0
gdb bar
br main
run
p rc
step into inner
p innerrc
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: