[PATCH] resubmit PR exp/1821

Daniel Jacobowitz drow@false.org
Thu Feb 10 20:53:00 GMT 2005


On Thu, Feb 10, 2005 at 03:25:26PM +0530, Ramana Radhakrishnan wrote:
> Hi Daniel,
> 	
> Apologies, I inadvertently attached the wrong patch in my earlier mail. 
> There was an extra occurence of language_cplus which also had to be 
> corrected for the patch to work right.  Thanks in advance.

The corrected patch lost the .exp file.  Also, your changelog
formatting was wrong.  I've fixed these for you and checked it in;
here's what I committed.


-- 
Daniel Jacobowitz
CodeSourcery, LLC

2005-02-10  Daniel Jacobowitz  <dan@debian.org>

	From Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>:
	PR exp/1821
	* cp-valprint.c: Include "language.h".
	(cp_print_value_fields): Pass the current language to
	fprintf_symbol_filtered.
	* Makefile.in (cp-valprint.o): Update dependencies.

2005-02-10  Daniel Jacobowitz  <dan@debian.org>

	From Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>:
	PR exp/1821
	* gdb.base/gdb1821.c: New test file.
	* gdb.base/gdb1821.exp: New test file.

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.697
diff -u -p -r1.697 Makefile.in
--- Makefile.in	9 Feb 2005 00:04:27 -0000	1.697
+++ Makefile.in	10 Feb 2005 17:53:37 -0000
@@ -1823,7 +1823,7 @@ cpu32bug-rom.o: cpu32bug-rom.c $(defs_h)
 cp-valprint.o: cp-valprint.c $(defs_h) $(gdb_obstack_h) $(symtab_h) \
 	$(gdbtypes_h) $(expression_h) $(value_h) $(command_h) $(gdbcmd_h) \
 	$(demangle_h) $(annotate_h) $(gdb_string_h) $(c_lang_h) $(target_h) \
-	$(cp_abi_h) $(valprint_h) $(cp_support_h)
+	$(cp_abi_h) $(valprint_h) $(cp_support_h) $(language_h)
 cris-tdep.o: cris-tdep.c $(defs_h) $(frame_h) $(frame_unwind_h) \
 	$(frame_base_h) $(trad_frame_h) $(dwarf2_frame_h) $(symtab_h) \
 	$(inferior_h) $(gdbtypes_h) $(gdbcore_h) $(gdbcmd_h) $(target_h) \
Index: cp-valprint.c
===================================================================
RCS file: /cvs/src/src/gdb/cp-valprint.c,v
retrieving revision 1.36
diff -u -p -r1.36 cp-valprint.c
--- cp-valprint.c	9 Feb 2005 00:04:28 -0000	1.36
+++ cp-valprint.c	10 Feb 2005 17:53:37 -0000
@@ -36,6 +36,7 @@
 #include "cp-abi.h"
 #include "valprint.h"
 #include "cp-support.h"
+#include "language.h"
 
 int vtblprint;			/* Controls printing of vtbl's */
 int objectprint;		/* Controls looking up an object's derived type
@@ -319,11 +320,11 @@ cp_print_value_fields (struct type *type
 	      if (TYPE_FIELD_STATIC (type, i))
 		fputs_filtered ("static ", stream);
 	      fprintf_symbol_filtered (stream, TYPE_FIELD_NAME (type, i),
-				       language_cplus,
+				       current_language->la_language,
 				       DMGL_PARAMS | DMGL_ANSI);
 	      fputs_filtered ("\" \"", stream);
 	      fprintf_symbol_filtered (stream, TYPE_FIELD_NAME (type, i),
-				       language_cplus,
+				       current_language->la_language,
 				       DMGL_PARAMS | DMGL_ANSI);
 	      fputs_filtered ("\") \"", stream);
 	    }
@@ -334,7 +335,7 @@ cp_print_value_fields (struct type *type
 	      if (TYPE_FIELD_STATIC (type, i))
 		fputs_filtered ("static ", stream);
 	      fprintf_symbol_filtered (stream, TYPE_FIELD_NAME (type, i),
-				       language_cplus,
+				       current_language->la_language,
 				       DMGL_PARAMS | DMGL_ANSI);
 	      annotate_field_name_end ();
 	      /* do not print leading '=' in case of anonymous unions */
Index: testsuite/gdb.base/gdb1821.c
===================================================================
RCS file: testsuite/gdb.base/gdb1821.c
diff -N testsuite/gdb.base/gdb1821.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ testsuite/gdb.base/gdb1821.c	10 Feb 2005 17:53:38 -0000
@@ -0,0 +1,25 @@
+/* Test printing of structure member names in gdb. PR exp/1821
+
+   Copyright 2005, Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+struct foo { double x__0, y__0, z__1; } bar;
+
+
+int main(void) { return 0; }
Index: testsuite/gdb.base/gdb1821.exp
===================================================================
RCS file: testsuite/gdb.base/gdb1821.exp
diff -N testsuite/gdb.base/gdb1821.exp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ testsuite/gdb.base/gdb1821.exp	10 Feb 2005 17:53:38 -0000
@@ -0,0 +1,43 @@
+# Copyright 2005 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
+
+# Tests for PR gdb/1821.
+# 2004-12-06  Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
+
+# This file is part of the gdb testsuite.
+
+#
+# test running programs
+#
+
+set testfile "gdb1821"
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+
+if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+     return -1
+}
+
+gdb_exit
+gdb_start
+gdb_load ${binfile}
+
+if ![runto_main] then {
+    perror "couldn't run to breakpoint"
+    continue
+} 
+gdb_test "print /x bar" "{x__0 = 0x0, y__0 = 0x0, z__1 = 0x0}" 
+



More information about the Gdb-patches mailing list