diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/derived_constructor_char_3.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/derived_constructor_char_3.f90 | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/derived_constructor_char_3.f90 b/gcc/testsuite/gfortran.dg/derived_constructor_char_3.f90 new file mode 100644 index 000000000..e23878541 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/derived_constructor_char_3.f90 @@ -0,0 +1,30 @@ +! { dg-do compile } +! +! PR fortran/51966 +! +! Contributed by Peter Wind +! + + type :: Deriv + character(len=10) :: name + end type + character(len=8), dimension(2), parameter :: & + DEF_ECOSYSTEMS = (/ "Gridxxxx", "StringYY" /) + + type(Deriv), save :: DepEcoSystem = Deriv(DEF_ECOSYSTEMS(1)) + + if (DepEcoSystem%name /= "Gridxxxx" & + .or. DepEcoSystem%name(9:9) /= ' ' & + .or. DepEcoSystem%name(10:10) /= ' ') call abort() + DepEcoSystem%name = 'ABCDEFGHIJ' + call Init_EcoSystems() + if (DepEcoSystem%name /= "StringYY" & + .or. DepEcoSystem%name(9:9) /= ' ' & + .or. DepEcoSystem%name(10:10) /= ' ') call abort() + +contains + subroutine Init_EcoSystems() + integer :: i =2 + DepEcoSystem = Deriv(DEF_ECOSYSTEMS(i)) + end subroutine Init_EcoSystems +end |