diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/class_1.f03')
-rw-r--r-- | gcc/testsuite/gfortran.dg/class_1.f03 | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/class_1.f03 b/gcc/testsuite/gfortran.dg/class_1.f03 new file mode 100644 index 000000000..f21133a05 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/class_1.f03 @@ -0,0 +1,37 @@ +! { dg-do run } +! +! PR 40940: CLASS statement +! +! Contributed by Janus Weil <janus@gcc.gnu.org> + +implicit none + +type t + integer :: comp + class(t),pointer :: c2 +end type + +class(t),pointer :: c1 + +allocate(c1) + +c1%comp = 5 +c1%c2 => c1 + +print *,c1%comp + +call sub(c1) + +if (c1%comp/=5) call abort() + +deallocate(c1) + +contains + + subroutine sub (c3) + class(t) :: c3 + print *,c3%comp + end subroutine + +end + |