summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/derived_sub.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/derived_sub.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/derived_sub.f9034
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" } }