http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57184



--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-05-06 
11:24:08 UTC ---

Simplified testcase:

struct S {};

void bar (struct S *const);

static struct S *const c = &(struct S) {};



void

foo (void)

{

  bar (c);

}



Without my fix the invalid tree sharing caused canonicalize_constructor_val to

remove the COMPOUND_LITERAL_EXPR from the ADDR_EXPR in DECL_INITIAL of the

variable and replace it with the compound literal decl, but now that doesn't

happen anymore.

Reply via email to