]> gcc.gnu.org Git - gcc.git/commitdiff
re PR fortran/30947 (intrinsic: ALARM)
authorDaniel Franke <franke.daniel@gmail.com>
Thu, 8 Mar 2007 21:45:22 +0000 (16:45 -0500)
committerDaniel Franke <dfranke@gcc.gnu.org>
Thu, 8 Mar 2007 21:45:22 +0000 (16:45 -0500)
2007-03-08  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/30947
* check.c (gfc_check_alarm_sub): Added check for default integer
kind of status argument.
* iresolve.c (gfc_resolve_alarm_sub): Removed conversion of
status argument.
* intrinsic.texi (ALARM): Extended documentation.

From-SVN: r122715

gcc/fortran/ChangeLog
gcc/fortran/check.c
gcc/fortran/intrinsic.texi
gcc/fortran/iresolve.c

index 618031997a25971e99e20614736a3324e6fa626b..b3c64b7ca5790c2c429dd98debe23b33f3d25188 100644 (file)
@@ -1,3 +1,12 @@
+2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/30947
+       * check.c (gfc_check_alarm_sub): Added check for default integer 
+       kind of status argument.
+       * iresolve.c (gfc_resolve_alarm_sub): Removed conversion of 
+       status argument.
+       * intrinsic.texi (ALARM): Extended documentation.
+
 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
 
        * intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
index 27becfcb805ecdb58b188b4d27c1c598adce72db..3b1a1a05f47b8dfdc54bf29719aab2707488c76e 100644 (file)
@@ -2999,6 +2999,9 @@ gfc_check_alarm_sub (gfc_expr *seconds, gfc_expr *handler, gfc_expr *status)
   if (type_check (status, 2, BT_INTEGER) == FAILURE)
     return FAILURE;
 
+  if (kind_value_check (status, 2, gfc_default_integer_kind) == FAILURE)
+    return FAILURE;
+
   return SUCCESS;
 }
 
index b1aa67753978559bd709ede46ee134d6066e2b06..2375e0098ee037acc0e7fa14f871963db41cc27c 100644 (file)
@@ -785,7 +785,7 @@ end program test_aint
 @table @asis
 @item @emph{Description}:
 @code{ALARM(SECONDS, HANDLER [, STATUS])} causes external subroutine @var{HANDLER}
-to be executed after a delay of @var{SECONDS} by using @code{alarm(1)} to
+to be executed after a delay of @var{SECONDS} by using @code{alarm(2)} to
 set up a signal and @code{signal(2)} to catch it. If @var{STATUS} is
 supplied, it will be returned with the number of seconds remaining until
 any previously scheduled alarm was due to be delivered, or zero if there
@@ -805,10 +805,11 @@ Subroutine
 @item @var{SECONDS} @tab The type of the argument shall be a scalar
 @code{INTEGER}. It is @code{INTENT(IN)}.
 @item @var{HANDLER} @tab Signal handler (@code{INTEGER FUNCTION} or
-@code{SUBROUTINE}) or dummy/global @code{INTEGER} scalar.
-@code{INTEGER}. It is @code{INTENT(IN)}.
+@code{SUBROUTINE}) or dummy/global @code{INTEGER} scalar. The scalar 
+values may be either @code{SIG_IGN=1} to ignore the alarm generated 
+or @code{SIG_DFL=0} to set the default action. It is @code{INTENT(IN)}.
 @item @var{STATUS}  @tab (Optional) @var{STATUS} shall be a scalar
-@code{INTEGER} variable. It is @code{INTENT(OUT)}.
+variable of the default @code{INTEGER} kind. It is @code{INTENT(OUT)}.
 @end multitable
 
 @item @emph{Example}:
index 21897dd3789fd4c380ebc42e2d63a03e226fd2bd..12ecd061e69dec1c15ad7238759a5983112d45bd 100644 (file)
@@ -2386,8 +2386,6 @@ gfc_resolve_alarm_sub (gfc_code *c)
 
   if (seconds->ts.kind != gfc_c_int_kind)
     gfc_convert_type (seconds, &ts, 2);
-  if (status != NULL && status->ts.kind != gfc_c_int_kind)
-    gfc_convert_type (status, &ts, 2);
 
   c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);
 }
This page took 0.081294 seconds and 5 git commands to generate.