From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 710 invoked by alias); 21 Jul 2010 17:16:57 -0000 Received: (qmail 696 invoked by uid 22791); 21 Jul 2010 17:16:55 -0000 X-SWARE-Spam-Status: No, hits=-1.3 required=5.0 tests=AWL,BAYES_00,KAM_STOCKGEN,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 21 Jul 2010 17:16:48 +0000 Received: (qmail 29085 invoked from network); 21 Jul 2010 17:16:46 -0000 Received: from unknown (HELO orlando.localnet) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 21 Jul 2010 17:16:46 -0000 From: Pedro Alves To: Joel Brobecker Subject: Re: [RFA]dwarf reader: Avoid complaint on const type Date: Wed, 21 Jul 2010 17:16:00 -0000 User-Agent: KMail/1.13.2 (Linux/2.6.31-11-rt; KDE/4.4.2; x86_64; ; ) Cc: Pierre Muller , "'Doug Evans'" , gdb-patches@sourceware.org References: <41597.7287375883$1274454923@news.gmane.org> <201007011808.55025.pedro@codesourcery.com> <20100701171256.GW2595@adacore.com> In-Reply-To: <20100701171256.GW2595@adacore.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201007211816.42456.pedro@codesourcery.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-07/txt/msg00332.txt.bz2 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 PR symtab/11827 Revert: 2010-05-21 Pierre Muller * 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 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. : 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);