https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48298
--- Comment #18 from Walter Spector <w6ws at earthlink dot net> --- Awesome! I have noticed one bug so far. The compiler is missing a check to see if the arguments in the I/O procedures have the 'optional' attribute. It is allowing the attribute - even though it is illegal. E.g. the following should be flagged as erroneous: SUBROUTINE pwf (dtv,unit,iotype,vlist,iostat,iomsg) ! argument definitions CLASS(person), INTENT(IN) :: dtv INTEGER, INTENT(IN), OPTIONAL :: unit CHARACTER (LEN=*), INTENT(IN), OPTIONAL :: iotype INTEGER, INTENT(IN), OPTIONAL :: vlist(:) INTEGER, INTENT(OUT), OPTIONAL :: iostat CHARACTER (LEN=*), INTENT(INOUT), OPTIONAL :: iomsg ... Walter