https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123693

--- Comment #7 from Steve Kargl <kargl at gcc dot gnu.org> ---
Created attachment 63431
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=63431&action=edit
Patch file

The attached patch does two things.  First, it updates gfc_check_ltime_gmtime()
in check.cc to check that the arguments of ltime() and  gmtime() have the same
type. The type is default integer kind, which agrees with the documentation
for gfortran 3.4.6.  Second, I have updated intrinsic.texi so that the manual
makes it clear that the expected type is default integer kind and both
arguments
must have this type.  Thus,

  integer tm
  integer val(9)
  ...
  call gmtime(tm, val)

will work with and without the -fdefault-integer-8 and -finteger-4-integer-8
option.

  integer(4) tm      ! or vice versa
  integer(8) val(9)
  ...
  call gmtime(tm, val)

will raise an error, i.e.,

% gfcx -o z foo.f90 
foo.f90:5:20:

    5 |     call gmtime(tm, val)
      |                    1
Error: 'values' argument of 'gmtime' intrinsic at (1) must be the same
type and kind as 'time'

Reply via email to