From 2c66db6db9b1600a4aa64ae134cf10ee41082ca6 Mon Sep 17 00:00:00 2001 From: dodji Date: Thu, 1 Apr 2010 18:54:30 +0000 Subject: [PATCH] Fix for PR debug/43325 gcc/ChangeLog: PR debug/43325 * dwarf2out.c (gen_variable_die): Allow debug info for variable re-declaration when it happens in a function. gcc/testsuite/ChangeLog: PR debug/43325 * c-c++-common/dwarf2/redeclaration-1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157928 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/c-c++-common/dwarf2/redeclaration-1.C | 18 ++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 gcc/testsuite/c-c++-common/dwarf2/redeclaration-1.C diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ca3756d4638..3b331604b0f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-04-01 Dodji Seketeli + + PR debug/43325 + * dwarf2out.c (gen_variable_die): Allow debug info for variable + re-declaration when it happens in a function. + 2010-04-01 Aldy Hernandez * cgraph.c (cgraph_add_function_insertion_hook): Update comment. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c37f62989ef..8a18fcb593a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-04-01 Dodji Seketeli + + PR debug/43325 + * c-c++-common/dwarf2/redeclaration-1.C: New test. + 2010-04-01 Jason Merrill * g++.dg/cpp0x/initlist12.C: Adjust expected errors. diff --git a/gcc/testsuite/c-c++-common/dwarf2/redeclaration-1.C b/gcc/testsuite/c-c++-common/dwarf2/redeclaration-1.C new file mode 100644 index 00000000000..8aaff8ef2ea --- /dev/null +++ b/gcc/testsuite/c-c++-common/dwarf2/redeclaration-1.C @@ -0,0 +1,18 @@ +// Origin: PR debug/43325 +// { dg-options "-g -dA" } +// { dg-do compile } + +// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE \[^\n\r\]*DW_TAG_lexical_block\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_low_pc\[\n\r\]{1,2}\[^\n\r\]*DW_AT_high_pc\[\n\r\]{1,2}\[^\n\r\]*\\(DIE \[^\n\r\]*DW_TAG_variable\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_name" 2 } } + +namespace S +{ + int + f() + { + int i = 42; + { + extern int i; + return i; + } + } +} -- 2.11.0