$> cat alarm.f90
program test_alarm
integer(kind=1) :: sec = 1
integer(kind=1) :: h = 0
integer(kind=1) :: stat = -1
CALL alarm(sec, h, stat)
if (stat == -1) call abort()
end program
$> gfortran-svn -fdump-tree-original alarm.f90
$> cat alarm.f90.003t.original
MAIN__ ()
{
static int1 h = 0;
static int1 stat = -1;
static int1 sec = 1;
_gfortran_set_std (70, 127, 0, 0);
{
int4 D.1005;
int4 D.1004;
int4 D.1003;
D.1003 = (int4) sec;
D.1004 = (int4) h;
D.1005 = (int4) stat;
_gfortran_alarm_sub_int (&D.1003, &D.1004, &D.1005);
}
if (stat == -1)
{
_gfortran_abort ();
}
}
Here, the status (optional return value) is lost.
--
Summary: intrinsic: ALARM
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dfranke at gcc dot gnu dot org
OtherBugsDependingO 30932
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30947