Next: LEX, Previous: EXPIMP, Up: Diagnostics
INTGLOB
Same name `intrinsic' given ...
The name intrinsic is used for a global entity (a common block or a program unit) in one program unit and implicitly used as an intrinsic in another program unit.
This diagnostic is designed to catch cases where a program intends to use a name entirely as a global name, but g77 recognizes the name as an intrinsic in the program unit that references the name, a situation that would likely produce incorrect code.
For example:
INTEGER FUNCTION TIME() ... END ... PROGRAM SAMP INTEGER TIME PRINT *, 'Time is ', TIME() END
The above example defines a program unit named `TIME', but
the reference to `TIME' in the main program unit `SAMP'
is normally treated by g77 as a reference to the intrinsic
TIME()
(unless a command-line option that prevents such
treatment has been specified).
As a result, the program `SAMP' will not invoke the `TIME' function in the same source file.
Since g77 recognizes libU77
procedures as
intrinsics, and since some existing code uses the same names
for its own procedures as used by some libU77
procedures, this situation is expected to arise often enough
to make this sort of warning worth issuing.
After verifying that the program unit making implicit use of the intrinsic is indeed written expecting the intrinsic, add an `INTRINSIC intrinsic' statement to that program unit to prevent this warning.
Or, if you believe the program unit is designed to invoke the program-defined procedure instead of the intrinsic (as recognized by g77), add an `EXTERNAL intrinsic' statement to the program unit that references the name to prevent this warning.
This and related warnings are disabled by using the -Wno-globals option when compiling.
Note that this warning is not issued for standard intrinsics. Standard intrinsics include those described in the FORTRAN 77 standard and, if -ff90 is specified, those described in the Fortran 90 standard. Such intrinsics are not as likely to be confused with user procedures as intrinsics provided as extensions to the standard by g77.