https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89601
--- Comment #4 from janus at gcc dot gnu.org --- On second thought, the test case is probably invalid. Fortran 2018 has: R727 derived-type-stmt is TYPE [ [ , type-attr-spec-list ] :: ] type-name [ ( type-param-name-list ) ] Note that once the parentheses after the type name appear, the type-param-name-list is non-optional (and cannot be empty, I guess). This is in contrast to e.g. a SUBROUTINE declaration, where the dummy-arg-list inside the paranthesis is optional: R1535 subroutine-stmt is [ prefix ] SUBROUTINE subroutine-name [ ( [ dummy-arg-list ] ) [ proc-language-binding-spec ] ]