reverse order of arguments to CTIME_subr, DTIME_subr, ETIME_subr, and TTYNAM_subr

From-SVN: r26756
This commit is contained in:
Craig Burley 1999-05-03 16:07:36 +00:00 committed by Craig Burley
parent 2d6d3dc232
commit 2b0bdd9a77
10 changed files with 66 additions and 33 deletions

View File

@ -1,3 +1,15 @@
Mon May 3 18:11:48 1999 Craig Burley <craig@jcb-sc.com>
Reverse order of two arguments to CTIME_subr, DTIME_subr,
ETIME_subr, and TTYNAM_subr:
* com.c (ffecom_expr_intrinsic_): Reverse the arguments.
While at it, set TREE_SIDE_EFFECTS for CTIME_subr and
TTYNAM_subr.
* intdoc.in: Document the new calling sequences.
* intrin.def: Reverse the arguments.
* news.texi: Document the fact that they changed.
* version.c: Bump version.
Mon May 3 11:28:14 1999 Craig Burley <craig@jcb-sc.com>
* news.texi: Doc upgrade to netlib libf2c as of today.

View File

@ -5265,12 +5265,12 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
tree arg1_tree;
tree arg2_tree;
arg1_tree = ffecom_arg_ptr_to_expr (arg1, &arg1_len);
arg1_tree = ffecom_arg_ptr_to_expr (arg2, &arg1_len);
arg2_tree = convert (((gfrt == FFEINTRIN_impCTIME_subr) ?
ffecom_f2c_longint_type_node :
ffecom_f2c_integer_type_node),
ffecom_expr (arg2));
ffecom_expr (arg1));
arg2_tree = ffecom_1 (ADDR_EXPR,
build_pointer_type (TREE_TYPE (arg2_tree)),
arg2_tree);
@ -5289,6 +5289,7 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
arg1_tree,
NULL_TREE, NULL, NULL, NULL_TREE, TRUE,
ffebld_nonter_hook (expr));
TREE_SIDE_EFFECTS (expr_tree) = 1;
}
return expr_tree;
@ -5382,22 +5383,22 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
case FFEINTRIN_impETIME_subr:
{
tree arg1_tree;
tree arg2_tree;
tree result_tree;
arg1_tree = ffecom_expr_w (NULL_TREE, arg1);
result_tree = ffecom_expr_w (NULL_TREE, arg2);
arg2_tree = ffecom_ptr_to_expr (arg2);
arg1_tree = ffecom_ptr_to_expr (arg1);
expr_tree = ffecom_call_ (ffecom_gfrt_tree_ (gfrt),
ffecom_gfrt_kindtype (gfrt),
FALSE,
NULL_TREE,
build_tree_list (NULL_TREE, arg2_tree),
build_tree_list (NULL_TREE, arg1_tree),
NULL_TREE, NULL, NULL, NULL_TREE,
TRUE,
ffebld_nonter_hook (expr));
expr_tree = ffecom_modify (NULL_TREE, arg1_tree,
convert (TREE_TYPE (arg1_tree),
expr_tree = ffecom_modify (NULL_TREE, result_tree,
convert (TREE_TYPE (result_tree),
expr_tree));
}
return expr_tree;

View File

@ -1043,9 +1043,9 @@ and returns that string as the function value.
")
DEFDOC (CTIME_subr, "Convert time to Day Mon dd hh:mm:ss yyyy.", "\
Converts @var{@2@}, a system time value, such as returned by
Converts @var{@1@}, a system time value, such as returned by
@code{TIME8()}, to a string of the form @samp{Sat Aug 19 18:13:14 1995},
and returns that string in @var{@1@}.
and returns that string in @var{@2@}.
@xref{Time8 Intrinsic}.
@ -1096,10 +1096,10 @@ form is not recommended.
DEFDOC (DTIME_subr, "Get elapsed time since last time.", "\
Initially, return the number of seconds of runtime
since the start of the process's execution
in @var{@1@},
and the user and system components of this in @samp{@var{@2@}(1)}
and @samp{@var{@2@}(2)} respectively.
The value of @var{@1@} is equal to @samp{@var{@2@}(1) + @var{@2@}(2)}.
in @var{@2@},
and the user and system components of this in @samp{@var{@1@}(1)}
and @samp{@var{@1@}(2)} respectively.
The value of @var{@2@} is equal to @samp{@var{@1@}(1) + @var{@1@}(2)}.
Subsequent invocations of @samp{@0@()} set values based on accumulations
since the previous invocation.
@ -1140,10 +1140,10 @@ during a single run of the compiled program.
DEFDOC (ETIME_subr, "Get elapsed time for process.", "\
Return the number of seconds of runtime
since the start of the process's execution
in @var{@1@},
and the user and system components of this in @samp{@var{@2@}(1)}
and @samp{@var{@2@}(2)} respectively.
The value of @var{@1@} is equal to @samp{@var{@2@}(1) + @var{@2@}(2)}.
in @var{@2@},
and the user and system components of this in @samp{@var{@1@}(1)}
and @samp{@var{@1@}(2)} respectively.
The value of @var{@2@} is equal to @samp{@var{@1@}(1) + @var{@1@}(2)}.
@cindex wraparound, timings
@cindex limits, timings
@ -2381,8 +2381,8 @@ terminal.
")
DEFDOC (TTYNAM_subr, "Get name of terminal device for unit.", "\
Sets @var{@1@} to the name of the terminal device open on logical unit
@var{@2@} or a blank string if @var{@2@} is not connected to a
Sets @var{@2@} to the name of the terminal device open on logical unit
@var{@1@} or to a blank string if @var{@1@} is not connected to a
terminal.
Some non-GNU implementations of Fortran provide this intrinsic as

View File

@ -3237,7 +3237,7 @@ DEFIMP (CHMOD_subr, "CHMOD_subr", CHMOD,,, "--:-:Name=A1,Mode=A1,Status=?I1w")
DEFIMP (COMPLEX, "COMPLEX", ,,, "C=:*:Real=S*,Imag=S*")
DEFIMP (CPU_TIME, "CPU_TIME", SECOND,,, "--:-:Seconds=R*w")
DEFIMP (CTIME_func, "CTIME_func", CTIME,,, "A1*:-:STime=I*")
DEFIMP (CTIME_subr, "CTIME_subr", CTIME,,, "--:-:Result=A1w,STime=I*")
DEFIMP (CTIME_subr, "CTIME_subr", CTIME,,, "--:-:STime=I*,Result=A1w")
DEFIMPY (DATE, "DATE", DATE,,, "--:-:Date=A1w", TRUE)
DEFIMP (DATE_AND_TIME, "DATE_AND_TIME", DATE_AND_TIME,,, "--:-:Date=A1w,Time=?A1w,Zone=?A1w,Values=?I1(8)w")
DEFIMP (DBESJ0, "DBESJ0", L_BESJ0,,, "R2:-:X=R2")
@ -3253,11 +3253,11 @@ DEFIMP (DFLOAT, "DFLOAT", ,,, "R2:-:A=I*")
DEFIMP (DIMAG, "DIMAG", ,DIMAG,, "R2:-:Z=C2")
DEFIMP (DREAL, "DREAL", ,,, "R2:-:A=N*")
DEFIMP (DTIME_func, "DTIME_func", DTIME,,, "R1:-:TArray=R1(2)w")
DEFIMP (DTIME_subr, "DTIME_subr", DTIME,,, "--:-:Result=R1w,TArray=R1(2)w")
DEFIMP (DTIME_subr, "DTIME_subr", DTIME,,, "--:-:TArray=R1(2)w,Result=R1w")
DEFIMP (ERF, "ERF", L_ERF,ERF,, "R=:0:X=R*")
DEFIMP (ERFC, "ERFC", L_ERFC,ERFC,, "R=:0:X=R*")
DEFIMP (ETIME_func, "ETIME_func", ETIME,,, "R1:-:TArray=R1(2)w")
DEFIMP (ETIME_subr, "ETIME_subr", ETIME,,, "--:-:Result=R1w,TArray=R1(2)w")
DEFIMP (ETIME_subr, "ETIME_subr", ETIME,,, "--:-:TArray=R1(2)w,Result=R1w")
DEFIMP (EXIT, "EXIT", EXIT,,, "--:-:Status=?I*")
DEFIMP (FDATE_func, "FDATE_func", FDATE,,, "A1*:-:")
DEFIMP (FDATE_subr, "FDATE_subr", FDATE,,, "--:-:Date=A1w")
@ -3348,7 +3348,7 @@ DEFIMP (TIME8, "TIME8", TIME,,, "I2:-:")
DEFIMP (TIME_unix, "TIME_unix", TIME,,, "I1:-:")
DEFIMP (TIME_vxt, "TIME_vxt", VXTTIME,,, "--:-:Time=A1[8]w")
DEFIMP (TTYNAM_func, "TTYNAM_func", TTYNAM,,, "A1*:-:Unit=I*")
DEFIMP (TTYNAM_subr, "TTYNAM_subr", TTYNAM,,, "--:-:Name=A1w,Unit=I*")
DEFIMP (TTYNAM_subr, "TTYNAM_subr", TTYNAM,,, "--:-:Unit=I*,Name=A1w")
DEFIMP (UMASK_func, "UMASK_func", UMASK,,, "I1:-:Mask=I*")
DEFIMP (UMASK_subr, "UMASK_subr", UMASK,,, "--:-:Mask=I*,Old=?I1w")
DEFIMP (UNLINK_func, "UNLINK_func", UNLINK,,, "I1:-:File=A1")

View File

@ -217,6 +217,16 @@ Source file names with the suffixes @samp{.FOR} and @samp{.FPP}
now are recognized by @code{g77}
as if they ended in @samp{.for} and @samp{.fpp}, respectively.
@item
The order of arguments to the @emph{subroutine} forms of the
@code{CTime}, @code{DTime}, @code{ETime}, and @code{TtyNam}
intrinsics has been swapped.
The argument serving as the returned value
for the corresponding function forms
now is the @emph{second} argument,
making these consistent with the other subroutine forms
of @code{libU77} intrinsics.
@item
@code{g77} now warns about a reference to an intrinsic
that has an interface that is not Year 2000 (Y2K) compliant.

View File

@ -1 +1 @@
const char *ffe_version_string = "0.5.24-19990502";
const char *ffe_version_string = "0.5.24-19990503";

View File

@ -1,3 +1,8 @@
1999-05-03 Craig Burley <craig@jcb-sc.com>
* g77.f-torture/execute/u77-test.f: Reverse order of two
arguments to CTIME_subr, DTIME_subr, ETIME_subr, and TTYNAM_subr.
1999-05-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.dg/compare1.c: New test.

View File

@ -75,7 +75,7 @@
bigi = time8 ()
call ctime (ctim2, i)
call ctime (i, ctim2)
if (ctim .ne. ctim2) then
write (6, *) '*** CALL CTIME disagrees with CTIME(): ',
+ ctim2(:lenstr (ctim2)), ' vs. ', ctim(:lenstr (ctim))
@ -103,7 +103,7 @@
line = 'and 6 isn''t a tty device (ISATTY)'
end if
write (6,'(1X,A)') line(:lenstr(line))
call ttynam (line, 6)
call ttynam (6, line)
if (line .ne. line2) then
print *, '*** CALL TTYNAM disagrees with TTYNAM: ',
+ line(:lenstr (line))
@ -186,10 +186,10 @@ c now try to get times to change enough to see in etime/dtime
do i = 1,1000
do j = 1,1000
end do
call dtime (r2, tarray2)
call dtime (tarray2, r2)
if (tarray2(1) .ne. 0. .or. tarray2(2) .ne. 0.) exit
end do
call etime (r1, tarray1)
call etime (tarray1, r1)
if (.not. issum (r1, tarray1(1), tarray1(2))) then
write (6,*) '*** ETIME didn''t return sum of the array: ',
+ r1, ' /= ', tarray1(1), '+', tarray1(2)

View File

@ -1,3 +1,8 @@
1999-05-03 Craig Burley <craig@jcb-sc.com>
* libU77/u77-test.f: Reverse order of two arguments to
CTIME_subr, DTIME_subr, ETIME_subr, and TTYNAM_subr.
Mon May 3 11:21:35 1999 Craig Burley <craig@jcb-sc.com>
* libF77/c_log.c: Cope with partial overlap a la z_log.c.

View File

@ -78,7 +78,7 @@
bigi = time8 ()
call ctime (ctim2, i)
call ctime (i, ctim2)
if (ctim .ne. ctim2) then
write (6, *) '*** CALL CTIME disagrees with CTIME(): ',
+ ctim2(:lenstr (ctim2)), ' vs. ', ctim(:lenstr (ctim))
@ -106,7 +106,7 @@
line = 'and 6 isn''t a tty device (ISATTY)'
end if
write (6,'(1X,A)') line(:lenstr(line))
call ttynam (line, 6)
call ttynam (6, line)
if (line .ne. line2) then
print *, '*** CALL TTYNAM disagrees with TTYNAM: ',
+ line(:lenstr (line))
@ -189,10 +189,10 @@ c now try to get times to change enough to see in etime/dtime
do i = 1,1000
do j = 1,1000
end do
call dtime (r2, tarray2)
call dtime (tarray2, r2)
if (tarray2(1) .ne. 0. .or. tarray2(2) .ne. 0.) exit
end do
call etime (r1, tarray1)
call etime (tarray1, r1)
if (.not. issum (r1, tarray1(1), tarray1(2))) then
write (6,*) '*** ETIME didn''t return sum of the array: ',
+ r1, ' /= ', tarray1(1), '+', tarray1(2)