diff options
author | Pedro Alves <palves@redhat.com> | 2010-07-21 18:08:27 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2010-07-21 18:08:27 +0000 |
commit | 23bd0f7c5e23178ccc1c00925813c8e6f17c5eb2 (patch) | |
tree | 4cfdfb22181a0c5593cc9c8bc98338a991cb338a | |
parent | ae30dc00b43017845ab092fd3fbb2004bfb36d63 (diff) | |
download | gdb-23bd0f7c5e23178ccc1c00925813c8e6f17c5eb2.zip gdb-23bd0f7c5e23178ccc1c00925813c8e6f17c5eb2.tar.gz gdb-23bd0f7c5e23178ccc1c00925813c8e6f17c5eb2.tar.bz2 |
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.
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 4 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/printcmds.c | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/printcmds.exp | 6 |
5 files changed, 31 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6671818..734b4cd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +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. + 2010-07-21 Sami Wagiaalla <swagiaal@redhat.com> * eval.c (evaluate_subexp_standard): Disabled evaluation of C++ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 288d777..9387964 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -4192,8 +4192,6 @@ process_die (struct die_info *die, struct dwarf2_cu *cu) 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 type *type, struct dwarf2_cu *cu) 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); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 178161a..0543f80 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,12 @@ +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. + 2010-07-21 Sami Wagiaalla <swagiaal@redhat.com> * gdb.cp/fpointer.cc: New test. diff --git a/gdb/testsuite/gdb.base/printcmds.c b/gdb/testsuite/gdb.base/printcmds.c index 8eddeee..2d6668a 100644 --- a/gdb/testsuite/gdb.base/printcmds.c +++ b/gdb/testsuite/gdb.base/printcmds.c @@ -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 () diff --git a/gdb/testsuite/gdb.base/printcmds.exp b/gdb/testsuite/gdb.base/printcmds.exp index b6a8a3e..11e29fa 100644 --- a/gdb/testsuite/gdb.base/printcmds.exp +++ b/gdb/testsuite/gdb.base/printcmds.exp @@ -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 } |