http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46724
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2010.12.02 12:11:48 CC| |aoliva at gcc dot gnu.org, | |jakub at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-12-02 12:11:48 UTC --- I guess one option would be: 1) allow DECL_DEBUG_EXPR even on RESULT_DECL (i.e. not use VAR_DECL_CHECK there) 2) when creating function_result_decl in assign_parms_augmented_arg_list, either don't mark that artificial PARM_DECL with DECL_IGNORED_P but DECL_NAMELESS and put it into DECL_ARGUMENTS (but then it might confuse debuggers), or create a separate artificial DECL_NAMELESS DECL_BY_REFERENCE variable which will be put into outermost BLOCK. 3) in assign_parms, after assign_parm_setup_reg initializes it, we could emit a DEBUG_INSN for this artificial variable, equating it to the artificial PARM_DECL's DECL_RTL 4) and set DECL_DEBUG_EXPR of the RESULT_DECL to this artificial VAR_DECL The DECL_BY_REFERENCE thingie is there because var-tracking doesn't VALUE track aggregates, so we just want to track its address. Alex, what do you think about this?