diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/class_15.f03')
-rw-r--r-- | gcc/testsuite/gfortran.dg/class_15.f03 | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/class_15.f03 b/gcc/testsuite/gfortran.dg/class_15.f03 new file mode 100644 index 000000000..fbeb2a7e4 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/class_15.f03 @@ -0,0 +1,43 @@ +! { dg-do compile } +! +! PR 42274: [fortran-dev Regression] ICE: segmentation fault +! +! Original test case by Salvatore Filippone <sfilippone@uniroma2.it> +! Modified by Janus Weil <janus@gcc.gnu.org> + +module mod_A + type :: t1 + contains + procedure,nopass :: fun + end type +contains + logical function fun() + end function +end module + +module mod_B + use mod_A + type, extends(t1) :: t2 + contains + procedure :: sub1 + end type +contains + subroutine sub1(a) + class(t2) :: a + end subroutine +end module + +module mod_C +contains + subroutine sub2(b) + use mod_B + type(t2) :: b + end subroutine +end module + +module mod_D + use mod_A + use mod_C +end module + +! { dg-final { cleanup-modules "mod_A mod_B mod_C mod_D" } } |