aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2018-06-22 22:31:17 +0000
committerPaul Thomas <pault@gcc.gnu.org>2018-06-22 22:31:17 +0000
commit474f253087bc346a346557b8ac152c02438930b6 (patch)
treeeddef86edc208241ba2296776c53f17c60c52211 /gcc
parent9395b1d99fd7463173e031ce35f53138b061efef (diff)
downloadgcc-474f253087bc346a346557b8ac152c02438930b6.zip
gcc-474f253087bc346a346557b8ac152c02438930b6.tar.gz
gcc-474f253087bc346a346557b8ac152c02438930b6.tar.bz2
re PR fortran/86281 (SEGV in fortran/resolve.c:resolve_function)
2018-06-22 Paul Thomas <pault@gcc.gnu.org> Rainer Orth <ro@gcc.gnu.org> PR fortran/86281 * resolve.c (resolve_contained_fntype): Check for the charlen before testing the length. 2018-06-22 Paul Thomas <pault@gcc.gnu.org> PR fortran/86281 * gfortran.dg/assumed_charlen_function_7.f90: Add -std=legacy. Co-Authored-By: Rainer Orth <ro@gcc.gnu.org> From-SVN: r261975
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/fortran/resolve.c1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/assumed_charlen_function_7.f901
4 files changed, 14 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 2e665d9..7e75319 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+2018-06-22 Paul Thomas <pault@gcc.gnu.org>
+ Rainer Orth <ro@gcc.gnu.org>
+
+ PR fortran/86281
+ * resolve.c (resolve_contained_fntype): Check for the charlen
+ before testing the length.
+
2018-06-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/49630
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 4104054..2f5eeba 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -3116,6 +3116,7 @@ resolve_function (gfc_expr *expr)
/* If this is a deferred TBP with an abstract interface, its result
cannot be an assumed length character (F2003: C418). */
if (sym && sym->attr.abstract && sym->attr.function
+ && sym->result->ts.u.cl
&& sym->result->ts.u.cl->length == NULL)
{
gfc_error ("ABSTRACT INTERFACE %qs at %L must not have an assumed "
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 018fdf0..1b14b01 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-06-22 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/86281
+ * gfortran.dg/assumed_charlen_function_7.f90: Add -std=legacy.
+
2018-06-22 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/builtins-3-p8.c (test_pack_float): Remove
diff --git a/gcc/testsuite/gfortran.dg/assumed_charlen_function_7.f90 b/gcc/testsuite/gfortran.dg/assumed_charlen_function_7.f90
index b36bb87..1fb57a0 100644
--- a/gcc/testsuite/gfortran.dg/assumed_charlen_function_7.f90
+++ b/gcc/testsuite/gfortran.dg/assumed_charlen_function_7.f90
@@ -1,4 +1,5 @@
! { dg-do compile }
+! { dg-options "-std=legacy" }
!
! Test the fix for PR49630, comment #11.
!