------- Comment #6 from jason at redhat dot com 2008-10-01 18:01 ------- Subject: Re: DW_TAG_imported_module is not in its DW_TAG_lexical_block
Please send patches to gcc-patches for review (and CC me) rather than attaching them to the PR. (It would be nice if a bot would notice relevant subject lines on gcc-patches and add a link to the PR like we do for checkins). I wouldn't limit the new IMPORTED_DECL to importing namespaces; as a backend tree code it should support importing other declarations as well even though C++ doesn't allow that usage. That is, the comment in tree.def and the name of IMPORTED_DECL_NS_DECL should be more general, and the assert in dwarf2out that the imported decl is a namespace should either go away or get a comment that a language that wants to use it for other types of decl should make sure it works properly. > + /* Get the innermost inclosing GIMPLE_BIND that has a non NULL > + BLOCK, and append an IMPORTED_DECL not to its > + BLOCK_VARS chained list. */ "not"? > --- a/gcc/cp/name-lookup.c > +++ b/gcc/cp/name-lookup.c > @@ -3493,11 +3493,6 @@ do_using_directive (tree name_space) > if (current_namespace != global_namespace) > context = current_namespace; > } > - > - /* Emit debugging info. */ > - if (!processing_template_decl) > - (*debug_hooks->imported_module_or_decl) (name_space, NULL_TREE, > - context, false); > } Seems like this will break debug info for namespace-scope using-directives. Jason -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37410