For namespace A { int i; } void f () { using namespace A; i++; } with -g -dA g++ 4.3 used correct .byte 0x9 # DW_AT_decl_line for DW_TAG_imported*, but 4.4 uses .byte 0xb # DW_AT_decl_line (which is the end of the function, not the location of the using namespace directive).
Created attachment 17401 [details] gcc44-pr39387.patch Patch I'm going to bootstrap/regtest.
Subject: Bug 39387 Author: jakub Date: Fri Mar 6 09:48:25 2009 New Revision: 144666 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144666 Log: PR debug/39387 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): For IMPORTED_DECL take locus from its DECL_SOURCE_LOCATION instead of input_location. Modified: trunk/gcc/ChangeLog trunk/gcc/dwarf2out.c
Fixed.