diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/class_38.f03')
-rw-r--r-- | gcc/testsuite/gfortran.dg/class_38.f03 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/class_38.f03 b/gcc/testsuite/gfortran.dg/class_38.f03 new file mode 100644 index 000000000..279362792 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/class_38.f03 @@ -0,0 +1,22 @@ +! { dg-do compile } +! +! PR 47728: [OOP] ICE on invalid CLASS declaration +! +! Contributed by Arjen Markus <arjen.markus@deltares.nl> + +program test_objects + + implicit none + + type, abstract :: shape + end type + + type, extends(shape) :: rectangle + real :: width, height + end type + + class(shape), dimension(2) :: object ! { dg-error "must be dummy, allocatable or pointer" } + + object(1) = rectangle( 1.0, 2.0 ) ! { dg-error "Unclassifiable statement" } + +end program test_objects |