aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2018-03-21 21:12:41 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2018-03-21 21:12:41 +0000
commit482768bd6b85a5e7b7cf8a208e8a9c50bda052e1 (patch)
treeb440ed3b7ded701db2ea631b4e800693b2788e49 /gcc
parent3e129b5bc6bc96a0844dcdf75188dc4710028939 (diff)
downloadgcc-482768bd6b85a5e7b7cf8a208e8a9c50bda052e1.zip
gcc-482768bd6b85a5e7b7cf8a208e8a9c50bda052e1.tar.gz
gcc-482768bd6b85a5e7b7cf8a208e8a9c50bda052e1.tar.bz2
re PR fortran/84957 (ICE in gfc_sym_type, at fortran/trans-types.c:2255)
2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org> Harald Anlauf <anlauf@gmx.de> PR fortran/84957 * trans-types.c (gfc_sym_type): Do not dereference NULL pointer. 2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org> Harald Anlauf <anlauf@gmx.de> PR fortran/84957 * gfortran.dg/pr84957.f90: New test. Co-Authored-By: Harald Anlauf <anlauf@gmx.de> From-SVN: r258745
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-types.c1
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/pr84957.f9017
4 files changed, 30 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index b69b559..87c78eb 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+ Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/84957
+ * trans-types.c (gfc_sym_type): Do not dereference NULL pointer.
+
2018-03-21 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/84615
diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c
index 20de203..7ff27a3 100644
--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -2252,6 +2252,7 @@ gfc_sym_type (gfc_symbol * sym)
&& sym->ts.type == BT_CHARACTER
&& sym->ts.u.cl->backend_decl == NULL_TREE
&& sym->ns->proc_name
+ && sym->ns->proc_name->ts.u.cl
&& sym->ns->proc_name->ts.u.cl->backend_decl != NULL_TREE)
sym->ts.u.cl->backend_decl = sym->ns->proc_name->ts.u.cl->backend_decl;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index faf418d..cc81884 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+ Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/84957
+ * gfortran.dg/pr84957.f90: New test.
+
2018-03-21 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/84960
diff --git a/gcc/testsuite/gfortran.dg/pr84957.f90 b/gcc/testsuite/gfortran.dg/pr84957.f90
new file mode 100644
index 0000000..ba7f441
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr84957.f90
@@ -0,0 +1,17 @@
+! { dg-do compile }
+! PR 84957
+!
+! Testcase derived from PR by G. Steinmetz <gscfq@t-online.de>
+!
+function f() result(u)
+ entry g() result(v)
+contains
+ function v(x) result(z)
+ character :: x(2)
+ character(sum(len_trim(x))) :: z
+ end function v
+ function u(x) result(z)
+ character :: x(2)
+ character(sum(len_trim(x))) :: z
+ end function u
+end function f