https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87401
--- Comment #2 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- Quite clear what is going on. The tree dump shows assoc_intent_out () { static void sub (real(kind=4) & restrict); real(kind=4) r; { real(kind=4) * o; o = &r; o = {CLOBBER}; sub (o); L.1:; } } which is not the way to go :-)