diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2018-06-22 22:31:17 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2018-06-22 22:31:17 +0000 |
commit | 474f253087bc346a346557b8ac152c02438930b6 (patch) | |
tree | eddef86edc208241ba2296776c53f17c60c52211 /gcc | |
parent | 9395b1d99fd7463173e031ce35f53138b061efef (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/assumed_charlen_function_7.f90 | 1 |
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. ! |