This is the mail archive of the
mailing list for the GCC project.
Re: mostly fix 14329, except for c++
- From: Geoffrey Keating <geoffk at geoffk dot org>
- To: Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 28 Jan 2005 13:30:07 -0800
- Subject: Re: mostly fix 14329, except for c++
- References: <20050127093158.GA7449@redhat.com>
Richard Henderson <firstname.lastname@example.org> writes:
> The DECL_DEBUG_EXPR/DECL_DEBUG_EXPR_IS_FROM is enough to generate
> both proper warnings and proper debug info from the SRA optimized
> code. Not that this actually does generate proper debug info,
> but in principal the information is now present.
> For some reason, the "obvious" changes to the C++ front end pretty
> printer (in attachment 2 below) do not work. Zillions of testsuite
> failures due to crashes in this code. I'll let a C++ person fix it.
> Tested on alphaev67-linux.
Is there any way to do this that doesn't involve adding a field to
tree_decl and so slowing the compiler down? Every field is worth
about 0.5%, I think.
> * tree.h (struct tree_decl): Add debug_expr_is_from.
> (DECL_DEBUG_EXPR_IS_FROM): New.
> (DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF.
> * dwarf2out.c (dwarf2out_var_location): Update to match.
> * tree-outof-ssa.c (create_temp): Likewise.
> * var-tracking.c (track_expr_p): Likewise.
> * tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR.
> * c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR.
> * toplev.c (default_tree_printer): Likewise.