This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: In dwarf2read, restore local_symbols and param_symbols


2002-11-08  Jim Blandy  <jimb@redhat.com>

	* dwarf2read.c (read_func_scope): Restore local_symbols and
	param_symbols after we finish the function context.  (Based on a
	patch from David Edelsohn.)

Index: gdb/dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.72
diff -c -r1.72 dwarf2read.c
*** gdb/dwarf2read.c	25 Oct 2002 22:25:55 -0000	1.72
--- gdb/dwarf2read.c	8 Nov 2002 19:30:13 -0000
***************
*** 2013,2018 ****
--- 2013,2026 ----
    /* Make a block for the local symbols within.  */
    finish_block (new->name, &local_symbols, new->old_blocks,
  		lowpc, highpc, objfile);
+   
+   /* In C++, we can have functions nested inside functions (e.g., when
+      a function declares a class that has methods).  This means that
+      when we finish processing a function scope, we may need to go
+      back to building a containing block's symbol lists.  */
+   local_symbols = new->locals;
+   param_symbols = new->params;
+ 
    list_in_scope = &file_symbols;
  }
  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]