diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/linked_list_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/linked_list_1.f90 | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/linked_list_1.f90 b/gcc/testsuite/gfortran.dg/linked_list_1.f90 new file mode 100644 index 000000000..8066bcb39 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/linked_list_1.f90 @@ -0,0 +1,32 @@ +! { dg-do compile } +! Regression. ICE on valid code. +! The following worked with 4.1.3 and 4.2.2, but failed +! (segmentation fault) with 4.3.0 because the type comparison +! tried to comparethe types of the components of type(node), even +! though the only component is of type(node). +! +! Found using the Fortran Company Fortran 90 Test Suite (Lite), +! Version 1.4 +! +! Reported by Tobias Burnus <burnus@gcc.gnu.org> +! +program error + implicit none + type node + sequence + type(node), pointer :: next + end type + type(node), pointer :: list + + interface + subroutine insert(ptr) + implicit none + type node + sequence + type(node), pointer :: next + end type + type(node), pointer :: ptr + end subroutine insert + end interface + allocate (list); +end program error |