https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96986
anlauf at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |diagnostic
Priority|P4 |P5
--- Comment #4 from anlauf at gcc dot gnu.org ---
(In reply to Fritz Reese from comment #3)
> The error message blames fun_a() while neither fun_a() nor its containing
> subroutine volatile_test() have a VOLATILE dummy argument. Do you think
> 15.4.2.2 still applies?
The standard has:
! 15.6.2.1 General
! A procedure is defined by the initial SUBROUTINE or FUNCTION statement of a
! subprogram, and each ENTRY statement defines an additional procedure
(15.6.2.6).
! 15.6.2.6 ENTRY statement
! An ENTRY statement permits a procedure reference to begin with a particular
! executable statement within the function or subroutine subprogram in which
! the ENTRY statement appears.
!...
! If the ENTRY statement is in a subroutine subprogram, an additional
subroutine
! is defined by that subprogram. ...
So basically I think the error is correct. Nevertheless the error message is
probably sub-optimal. Would you prefer it to refer to "volatile_test"?
I personally do not use ENTRY in my own code, and I don't know how to properly
write an explicit interface for a similar subroutine including its entries.
The best solution would be the use of modules, which is what I do.
Downgrading to P5 / diagnostic.