diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/derived_sub.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/derived_sub.f90 | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/derived_sub.f90 b/gcc/testsuite/gfortran.dg/derived_sub.f90 new file mode 100644 index 000000000..9b6624579 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/derived_sub.f90 @@ -0,0 +1,34 @@ +! { dg-do compile } +! PR35475 gfortran fails to compile valid code with ICE error in fold-const.c +! Test case from PR report added to avoid future regression +module modone + type mytype + real :: myvar + end type +end module + +module modtwo + interface + subroutine subone(mytype_cur) + use modone + type (mytype) mytype_cur + end subroutine + end interface + +contains + + subroutine subtwo(mytype_cur) + use modone + type (mytype) mytype_cur,mytype_fin + mytype_fin=mytype_cur + return + end subroutine + + subroutine subthree(mytype_cur) + use modone + type (mytype) mytype_cur + call subone(mytype_cur) + end subroutine + +end module +! { dg-final { cleanup-modules "modone modtwo" } } |