diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/class_4c.f03')
-rw-r--r-- | gcc/testsuite/gfortran.dg/class_4c.f03 | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/class_4c.f03 b/gcc/testsuite/gfortran.dg/class_4c.f03 new file mode 100644 index 000000000..c76b3ab69 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/class_4c.f03 @@ -0,0 +1,29 @@ +! { dg-do run } +! { dg-additional-sources class_4a.f03 class_4b.f03 } +! +! Test the fix for PR41583, in which the different source files +! would generate the same 'vindex' for different class declared +! types. +! +! The test comprises class_4a, class_4b class_4c and class_4d.f03 +! +! Contributed by Tobias Burnus <burnus@gcc.gnu.org> +! + use m + use m2 + type,extends(t) :: t3 + end type t3 + + integer :: i + class(t), allocatable :: a + allocate(t3 :: a) + select type(a) + type is(t) + i = 1 + type is(t2) + i = 2 + type is(t3) + i = 3 + end select + print *, i +end |