1. There should be a -W* option which gives a warning if a user procedure has
the same name as an intrinsic procedure (in the enabled -std=); e.g.

Warning: 'GAMMA' declared at (1) is also the name of an intrinsic.  It can only
be called via an explicit interface or if declared EXTERNAL.
(http://gcc.gnu.org/ml/fortran/2007-08/msg00464.html)

2. (Based on discussion on IRC and email of FX, Daniel and me)
Give a better error message with -std=* if the intrinsic procedure is not
available. Currently, the warning not only depends on -std=* but also on -W*. 

Expected:

gfortran -std=f95

Error: Extension: Intrinsic 'asinh' at (1) is not available in the selected 
standard; either use -std=gnu, provide an explicit interface or declare as 
EXTERNAL.

gfortran -std=f95 -fall-intrinsics

Warning: Extension: Internal implementation of intrinsic 'asinh' at (1) takes 
 precedence over any user-supplied procedure


-- 
           Summary: Intrinsic procedures: Improve warning/error with -std=*
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: diagnostic
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: burnus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33141

Reply via email to