aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2015-10-30 19:20:36 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2015-10-30 19:20:36 +0000
commita6906c809772feaead79e533e79535bd03a49aa6 (patch)
tree3d8536939ee7d63984e9cacc3026aaa3763a60bc
parent6a6360148aac759fe9fffbbf57e914d281509d72 (diff)
downloadgcc-a6906c809772feaead79e533e79535bd03a49aa6.zip
gcc-a6906c809772feaead79e533e79535bd03a49aa6.tar.gz
gcc-a6906c809772feaead79e533e79535bd03a49aa6.tar.bz2
re PR fortran/46588 (ICE with assumed character length function)
2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/46588 * gfortran.dg/pr46588.f90: New test. From-SVN: r229606
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gfortran.dg/pr46588.f9021
2 files changed, 27 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 32c6a90..a82f4cb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/46588
+ * gfortran.dg/pr46588.f90: New test.
+
2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
* gcc.dg/mvc1.c: New test for multiple targets cloning.
@@ -12,7 +17,7 @@
* g++.dg/ext/mvc3.C: Ditto.
* g++.dg/ext/mvc4.C: Ditto.
-2015-10-15 Steven G. Kargl <kargl@gcc.gnu.org>
+2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/51993
* gfortran.dg/pr51993.f90: New test.
diff --git a/gcc/testsuite/gfortran.dg/pr46588.f90 b/gcc/testsuite/gfortran.dg/pr46588.f90
new file mode 100644
index 0000000..420fb4b
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr46588.f90
@@ -0,0 +1,21 @@
+! { dg-do run }
+! { dg-options "-std=gnu" }
+! PR fortran/46588
+! Original code contributed by Oleh Steblev <oleh dot steblev at gmail dot com>
+!
+! Issue appears to be fixed by PR 67805/68108
+function aufun(pm)
+ character(len = *) pm
+ character(len = *) aufun
+ character(len = len(aufun)) temp
+ temp = pm
+ aufun = 'Oh' // trim(temp)
+end function aufun
+
+program ds
+ implicit none
+ character(len = 4) :: ins = ' no!'
+ character(len = 20) st, aufun
+ st = aufun(ins)
+ if (trim(st) /= 'Oh no!') call abort
+end