https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94788
--- Comment #37 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- (In reply to Jürgen Reuter from comment #36) > Hm, I hope I didn't change the flavor of the bug, but you can cross-check > with the very first reproducer which contains our code more or less > unchanged (except for the build setup with autotools etc.). Since your latest reproducer fails with any version I tried, I suspect you may have deleted the one line too many. Hmm, checking... yes, this is the case. subroutine rt_data_activate (local) class(rt_data_t), intent(inout), target :: local class(rt_data_t), pointer :: global if (associated (global)) then local%logfile = global%logfile local%pn = global%pn end if end subroutine rt_data_activate A previous version has global => local%context as the first executable statement but that is rejected now; and if I comment out the whole body of the subroutine, there is no error.