https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117347
--- Comment #2 from anlauf at gcc dot gnu.org --- Slightly reduced testcase: program pr117347_red implicit none type :: point real :: x = 42. end type point type(point) :: mypoint real :: pi(1) associate (points => mypoint ) ! accepted pi(:) = points% x end associate associate (points => (mypoint)) ! accepted pi(:) = points% x end associate associate (points => [mypoint]) ! REJECTED pi(:) = points% x end associate print *, pi end program