https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69398
--- Comment #4 from janus at gcc dot gnu.org --- Note that we also have a rejects-valid problem with the following code: program p type t end type class(t), allocatable :: z target :: z(:) allocate (z(2)) end which is rejected with: allocate (z(2)) 1 Error: Syntax error in ALLOCATE statement at (1) The problem is that the class container is built too early (and thus we build a container for a scalar class variable).