re PR fortran/70592 (Addressing error in dynamically-allocated character array)
authorDominique d'Humieres <dominiq@lps.ens.fr>
Sat, 9 Apr 2016 13:29:32 +0000 (15:29 +0200)
committerDominique d'Humieres <dominiq@gcc.gnu.org>
Sat, 9 Apr 2016 13:29:32 +0000 (15:29 +0200)
2016-04-09  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/70592
* gfortran.dg/deferred_character_16.f90: New test.

From-SVN: r234850

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/deferred_character_16.f90 [new file with mode: 0644]

index 51fcbc9..fb1ff1e 100644 (file)
@@ -1,3 +1,8 @@
+2016-04-09  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/70592
+       * gfortran.dg/deferred_character_16.f90: New test.
+
 2016-04-09  Jakub Jelinek  <jakub@redhat.com>
 
        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 (file)
index 0000000..f5931ac
--- /dev/null
@@ -0,0 +1,19 @@
+! { dg-do run }
+! PR70592 dynamically-allocated character array
+! Contributed by Peter Knowles <KnowlesPJ@Cardiff.ac.uk>
+!
+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