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.

Reply via email to