From 1bae589107674080141c3fb69bf234734f162d2b Mon Sep 17 00:00:00 2001 From: Siva Chandra Reddy Date: Mon, 2 Jun 2014 22:10:57 +0000 Subject: [PATCH] re PR debug/57519 (DW_TAG_imported_declaration put in wrong class (base class instead of derived class)) PR debug/57519 * class.c (handle_using_decl): Pass the correct scope to cp_emit_debug_info_for_using. From-SVN: r211151 --- gcc/cp/ChangeLog | 6 ++++ gcc/cp/class.c | 2 +- .../g++.dg/debug/dwarf2/imported-decl-2.C | 32 +++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/g++.dg/debug/dwarf2/imported-decl-2.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9b439a964b5..75899e4a3c0 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2014-06-02 Siva Chandra Reddy + + PR debug/57519 + * class.c (handle_using_decl): Pass the correct scope to + cp_emit_debug_info_for_using. + 2014-06-02 Ville Voutilainen PR c++/59483 diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 14780e787da..110dbf4f305 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -1298,7 +1298,7 @@ handle_using_decl (tree using_decl, tree t) old_value = NULL_TREE; } - cp_emit_debug_info_for_using (decl, USING_DECL_SCOPE (using_decl)); + cp_emit_debug_info_for_using (decl, t); if (is_overloaded_fn (decl)) flist = decl; diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/imported-decl-2.C b/gcc/testsuite/g++.dg/debug/dwarf2/imported-decl-2.C new file mode 100644 index 00000000000..ce01f72382a --- /dev/null +++ b/gcc/testsuite/g++.dg/debug/dwarf2/imported-decl-2.C @@ -0,0 +1,32 @@ +// { dg-do compile } +// { dg-options "-gdwarf-2 -dA -O0 -fno-merge-debug-strings" } + +class AAAA +{ + public: + int method (void); + int a; +}; + +int +AAAA::method (void) +{ + return a; +} + +class BBBB : public AAAA +{ + public: + using AAAA::method; + + int method (int b); +}; + +int +BBBB::method (int b) +{ + return a + b; +} + +// { dg-final { scan-assembler-not "ascii \"BBBB\\\\0\".*ascii \"AAAA\\\\0\".*DW_TAG_imported_declaration" } } +// { dg-final { scan-assembler-times "ascii \"AAAA\\\\0\".*ascii \"BBBB\\\\0\".*DIE .0x\[0-9a-f\]*. DW_TAG_imported_declaration" 1 } } -- 2.30.2