using GNU Fortran 95 (GCC) 4.1.0 20051126 (prerelease) with '-g -pedantic -std=f95', I get a bad / no diagnostic for the following invalid code:
MODULE M1 TYPE T1 INTEGER :: I END TYPE T1 CONTAINS SUBROUTINE S1(D1) TYPE(T1), OPTIONAL :: D1 write(6,*) PRESENT(D1%I) END SUBROUTINE S1 END MODULE END -- Summary: better diagnostic needed Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jv244 at cam dot ac dot uk http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25097