From 138c3c1a7881fad8fdadacf41eede035964cd3c0 Mon Sep 17 00:00:00 2001 From: Dominique d'Humieres Date: Sat, 9 Apr 2016 15:29:32 +0200 Subject: [PATCH] re PR fortran/70592 (Addressing error in dynamically-allocated character array) 2016-04-09 Dominique d'Humieres PR fortran/70592 * gfortran.dg/deferred_character_16.f90: New test. From-SVN: r234850 --- gcc/testsuite/ChangeLog | 5 +++++ .../gfortran.dg/deferred_character_16.f90 | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/deferred_character_16.f90 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 51fcbc90c45..fb1ff1eb084 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-04-09 Dominique d'Humieres + + PR fortran/70592 + * gfortran.dg/deferred_character_16.f90: New test. + 2016-04-09 Jakub Jelinek PR tree-optimization/70586 diff --git a/gcc/testsuite/gfortran.dg/deferred_character_16.f90 b/gcc/testsuite/gfortran.dg/deferred_character_16.f90 new file mode 100644 index 00000000000..f5931acd3c7 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/deferred_character_16.f90 @@ -0,0 +1,19 @@ +! { dg-do run } +! PR70592 dynamically-allocated character array +! Contributed by Peter Knowles +! +PROGRAM main + character(len=7) :: res + CHARACTER(len=:), DIMENSION(:), POINTER :: cp + INTEGER :: i + ALLOCATE(CHARACTER(len=1) :: cp(1:6)) + if (SIZE(cp) /= 6 .or. LBOUND(cp,1) /= 1 .or. UBOUND(cp,1) /= 6) call abort() + cp(1)='1' + cp(2)='2' + cp(3)='3' + cp(4)='4' + cp(5)='5' + cp(6)='6' + write (res, *) cp + if (res /= ' 123456') call abort() +END PROGRAM main