This is the mail archive of the gdb-patches@sourceware.org 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]

Re: [RFA]dwarf reader: Avoid complaint on const type


Since a month has passed and this hasn't been fully resolved
yet, I'm reverting the original patch, and adding a test
independent of sigaltstack.exp covering the problem.  I also
filed PR11827 for the problem, just so I could add a pointer in
the testcase.

I'll apply this to both the 7.2 branch and mainline in a bit.

-- 
Pedro Alves

gdb/
2010-07-21  Pedro Alves  <pedro@codesourcery.com>

	PR symtab/11827

	Revert:
	2010-05-21  Pierre Muller  <muller@ics.u-strasbg.fr>
	* dwarf2read.c (process_die): Also allow DW_TAG_const_type
	and DW_TAG_volatile_type.
	(new_symbol): Likewise.

gdb/testsuite/
2010-07-21  Pedro Alves  <pedro@codesourcery.com>

	PR symtab/11827

	* gdb.base/printcmds.c (enum some_volatile_enum): New enum.
	(some_volatile_enum): New variable.
	* gdb.base/printcmds.exp (test_print_enums): New.
	<top level>: Call it.

---
 gdb/dwarf2read.c                     |    4 ----
 gdb/testsuite/gdb.base/printcmds.c   |    6 ++++++
 gdb/testsuite/gdb.base/printcmds.exp |    6 ++++++
 3 files changed, 12 insertions(+), 4 deletions(-)

Index: src/gdb/testsuite/gdb.base/printcmds.c
===================================================================
--- src.orig/gdb/testsuite/gdb.base/printcmds.c	2010-07-21 18:03:30.000000000 +0100
+++ src/gdb/testsuite/gdb.base/printcmds.c	2010-07-21 18:05:08.000000000 +0100
@@ -90,6 +90,12 @@ struct some_arrays {
 
 struct some_arrays *parrays = &arrays;
 
+enum some_volatile_enum { enumvolval1, enumvolval2 };
+
+/* A volatile enum variable whose name is the same as the enumeration
+   name.  See PR11827.  */
+volatile enum some_volatile_enum some_volatile_enum = enumvolval1;
+
 /* -- */
 
 int main ()
Index: src/gdb/testsuite/gdb.base/printcmds.exp
===================================================================
--- src.orig/gdb/testsuite/gdb.base/printcmds.exp	2010-07-21 18:03:30.000000000 +0100
+++ src/gdb/testsuite/gdb.base/printcmds.exp	2010-07-21 18:05:37.000000000 +0100
@@ -671,6 +671,11 @@ proc test_print_array_constants {} {
     gdb_test "print *&{4,5,6}\[1\]"	"Attempt to take address of value not located in memory."
 }
 
+proc test_print_enums {} {
+    # Regression test for PR11827.
+    gdb_test "print some_volatile_enum" "enumvolval1"
+}
+
 proc test_printf {} {
     gdb_test "printf \"x=%d,y=%d,z=%d\\n\", 5, 6, 7" "x=5,y=6,z=7"
     gdb_test "printf \"string=%.4sxx\\n\", teststring" "string=testxx"
@@ -800,6 +805,7 @@ if [set_lang_c] then {
 # We used to do the runto main here.
 	test_print_string_constants
 	test_print_array_constants
+	test_print_enums
 	test_printf
 	test_printf_with_dfp
     }
Index: src/gdb/dwarf2read.c
===================================================================
--- src.orig/gdb/dwarf2read.c	2010-07-21 18:06:55.000000000 +0100
+++ src/gdb/dwarf2read.c	2010-07-21 18:07:10.000000000 +0100
@@ -4192,8 +4192,6 @@ process_die (struct die_info *die, struc
     case DW_TAG_base_type:
     case DW_TAG_subrange_type:
     case DW_TAG_typedef:
-    case DW_TAG_const_type:
-    case DW_TAG_volatile_type:
       /* Add a typedef symbol for the type definition, if it has a
          DW_AT_name.  */
       new_symbol (die, read_type_die (die, cu), cu);
@@ -10001,8 +9999,6 @@ new_symbol (struct die_info *die, struct
 	  break;
 	case DW_TAG_base_type:
         case DW_TAG_subrange_type:
-        case DW_TAG_const_type:
-        case DW_TAG_volatile_type:
 	  SYMBOL_CLASS (sym) = LOC_TYPEDEF;
 	  SYMBOL_DOMAIN (sym) = VAR_DOMAIN;
 	  add_symbol_to_list (sym, cu->list_in_scope);


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