re PR fortran/49690 (ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1019)

2011-07-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49690
        * intrinsic.c (add_functions): Use BT_VOID for 2nd argument of
        * SIGNAL.

2011-07-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49690
        * gfortran.dg/intrinsic_signal.f90: New.

From-SVN: r176121
This commit is contained in:
Tobias Burnus 2011-07-10 16:28:48 +02:00 committed by Tobias Burnus
parent 53130f7560
commit 89560a3c2c
4 changed files with 32 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2011-07-10 Tobias Burnus <burnus@net-b.de>
PR fortran/49690
* intrinsic.c (add_functions): Use BT_VOID for 2nd argument of SIGNAL.
2011-07-09 Uros Bizjak <ubizjak@gmail.com>
PR fortran/48926

View File

@ -2594,7 +2594,7 @@ add_functions (void)
add_sym_2 ("signal", GFC_ISYM_SIGNAL, CLASS_IMPURE, ACTUAL_NO, BT_INTEGER,
di, GFC_STD_GNU, gfc_check_signal, NULL, gfc_resolve_signal,
num, BT_INTEGER, di, REQUIRED, han, BT_UNKNOWN, 0, REQUIRED);
num, BT_INTEGER, di, REQUIRED, han, BT_VOID, 0, REQUIRED);
make_generic ("signal", GFC_ISYM_SIGNAL, GFC_STD_GNU);

View File

@ -1,3 +1,8 @@
2011-07-10 Tobias Burnus <burnus@net-b.de>
PR fortran/49690
* gfortran.dg/intrinsic_signal.f90: New.
2011-07-09 Jason Merrill <jason@redhat.com>
* g++.dg/cpp0x/regress/regress6.C: New.

View File

@ -0,0 +1,21 @@
! { dg-do compile }
!
! PR fortran/49690
!
! Reduced test case, based on the one of Debian bug #631204
!
subroutine ctrlc_ast
common /xinterrupt/ interrupted
logical interrupted
interrupted = .true.
end subroutine ctrlc_ast
subroutine set_ctrl_c(ctrlc_ast)
external ctrlc_ast
intrinsic signal
integer old_handle
common /xinterrupt/ interrupted
logical interrupted
old_handler = signal(2, ctrlc_ast)
end subroutine set_ctrl_c