This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/37410] DW_TAG_imported_module is not in its DW_TAG_lexical_block
- From: "jason at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Oct 2008 18:01:54 -0000
- Subject: [Bug debug/37410] DW_TAG_imported_module is not in its DW_TAG_lexical_block
- References: <bug-37410-12292@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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