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