summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/class_11.f03
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/class_11.f03')
-rw-r--r--gcc/testsuite/gfortran.dg/class_11.f0337
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/class_11.f03 b/gcc/testsuite/gfortran.dg/class_11.f03
new file mode 100644
index 000000000..bf80c4e00
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/class_11.f03
@@ -0,0 +1,37 @@
+! { dg-do compile }
+!
+! PR 41556
+! Contributed by Damian Rouson <damian@rouson.net>
+
+ implicit none
+
+ type ,abstract :: object
+ contains
+ procedure(assign_interface) ,deferred :: assign
+ generic :: assignment(=) => assign
+ end type
+
+ abstract interface
+ subroutine assign_interface(lhs,rhs)
+ import :: object
+ class(object) ,intent(inout) :: lhs
+ class(object) ,intent(in) :: rhs
+ end subroutine
+ end interface
+
+! PR 41937
+! Contributed by Juergen Reuter <reuter@physik.uni-freiburg.de>
+
+ type, abstract :: cuba_abstract_type
+ integer :: dim_f = 1
+ real, dimension(:), allocatable :: integral
+ end type cuba_abstract_type
+
+contains
+
+ subroutine cuba_abstract_alloc_dim_f(this)
+ class(cuba_abstract_type) :: this
+ allocate(this%integral(this%dim_f))
+ end subroutine cuba_abstract_alloc_dim_f
+
+end