------- 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

Reply via email to