https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64314
--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Yep, I do not see how target expr can work here. The assert simply tests that in constructor all variables are wrapped within ADDR_EXPR as taking an address of variable is the only way gimplified ctor can reffer to other var.