http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56570
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2013-03-08 Ever Confirmed|0 |1 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-08 11:20:22 UTC --- Index: gcc/tree-cfg.c =================================================================== --- gcc/tree-cfg.c (revision 196540) +++ gcc/tree-cfg.c (working copy) @@ -4521,6 +4541,15 @@ verify_expr_location_1 (tree *tp, int *w { struct pointer_set_t *blocks = (struct pointer_set_t *) data; + if (TREE_CODE (*tp) == VAR_DECL + && DECL_DEBUG_EXPR_IS_FROM (*tp)) + { + tree t = DECL_DEBUG_EXPR (*tp); + tree addr = walk_tree (&t, verify_expr_location_1, blocks, NULL); + if (addr) + return addr; + } + if (!EXPR_P (*tp)) { *walk_subtrees = false; exposes it. Various fixes to tree-inline.c didn't yet fix it :/ Reducing the testcase with the above.