On Mon, Jun 1, 2015 at 10:03 AM, Richard Biener <richard.guent...@gmail.com> wrote: > On Sun, May 31, 2015 at 10:38 PM, Jason Merrill <ja...@redhat.com> wrote: >> On 05/30/2015 08:52 PM, Aldy Hernandez wrote: >>> >>> On 05/29/2015 03:33 PM, Jason Merrill wrote: >>>> >>>> On 05/29/2015 03:26 PM, Richard Biener wrote: >>>>> >>>>> ISTR I had to mark the gimple reg used for the bound as >>>>> non-DECL_IGNORED for the LTO stuff. >>>> >>>> >>>> Let's go with that, then. >>> >>> >>> Well, I did play around with that option originally, but temporaries do >>> not end up in the symbol table, so we won't see them to feed them to >>> late_global_decl. >> >> >> The temporary has function scope, so I don't see why that would be an issue. > > Yeah, we should walk it via the function_decl hook on the containing function.
Btw, the following was my gimplify.c hunk: diff --git a/gcc/gimplify.c b/gcc/gimplify.c index d822913..10a9318 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -8994,6 +8994,12 @@ gimplify_one_sizepos (tree *expr_p, gimple_seq *stmt_p) *expr_p = unshare_expr (expr); gimplify_expr (expr_p, stmt_p, NULL, is_gimple_val, fb_rvalue); + + /* The possibly generated temporary is interesting for debug information + to complete the VLA type sizes and bounds. Clear DECL_IGNORED_P. */ + if (TREE_CODE (*expr_p) == VAR_DECL + && DECL_ARTIFICIAL (*expr_p)) + DECL_IGNORED_P (*expr_p) = false; } /* Gimplify the body of statements of FNDECL and return a GIMPLE_BIND node > Richard. > >> Jason >>