diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/alloc_comp_constraint_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/alloc_comp_constraint_1.f90 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/alloc_comp_constraint_1.f90 b/gcc/testsuite/gfortran.dg/alloc_comp_constraint_1.f90 new file mode 100644 index 000000000..eb1b10587 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/alloc_comp_constraint_1.f90 @@ -0,0 +1,22 @@ +! { dg-do compile } +! Check that we don't allow IO or NAMELISTs with types with allocatable +! components (PR 20541) +program main + + type :: foo + integer, allocatable :: x(:) + end type foo + + type :: bar + type(foo) :: x + end type bar + + type(foo) :: a + type(bar) :: b + namelist /blah/ a ! { dg-error "has ALLOCATABLE or POINTER components and thus requires a defined input/output" } + + write (*, *) a ! { dg-error "cannot have ALLOCATABLE components" } + + read (*, *) b ! { dg-error "cannot have ALLOCATABLE components" } + +end program main |