diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-12-19 22:31:25 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-12-19 22:31:25 +0000 |
commit | 7d564142f580373ffd872de47a6a822d7b039252 (patch) | |
tree | 0dc3765904f796bf3fe1224a4930774371764558 | |
parent | 5b0acc312d9f99c9cb9a62cbf1149b35cf238cd3 (diff) | |
download | gcc-7d564142f580373ffd872de47a6a822d7b039252.zip gcc-7d564142f580373ffd872de47a6a822d7b039252.tar.gz gcc-7d564142f580373ffd872de47a6a822d7b039252.tar.bz2 |
re PR fortran/87992 (ICE in resolve_fl_variable, at fortran/resolve.c:12314)
2018-12-19 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/87992
* resolve.c (resolve_fl_variable): Avoid a NULL pointer.
2018-12-19 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/87992
* gfortran.dg/pr87992.f90: New test.
From-SVN: r267288
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr87992.f90 | 5 |
4 files changed, 20 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 88acec1..04eade5 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2018-12-19 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/87992 + * resolve.c (resolve_fl_variable): Avoid a NULL pointer. + 2018-12-16 Steven G. Kargl <kargl@gcc.gnu.org> * resolve.c (resolve_transfer): Remove dead code. diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index fedf60a..9ce01c7 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -12310,7 +12310,11 @@ resolve_fl_variable (gfc_symbol *sym, int mp_flag) { /* Make sure that character string variables with assumed length are dummy arguments. */ - e = sym->ts.u.cl->length; + if (sym->ts.u.cl) + e = sym->ts.u.cl->length; + else + return false; + if (e == NULL && !sym->attr.dummy && !sym->attr.result && !sym->ts.deferred && !sym->attr.select_type_temporary && !sym->attr.omp_udr_artificial_var) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6a3ed92..bc8f899 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-12-19 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/87992 + * gfortran.dg/pr87992.f90: New test. + 2018-12-19 Uros Bizjak <ubizjak@gmail.com> * gcc.target/i386/avx512dq-pr82855.c: Update scan-assembler pattern. diff --git a/gcc/testsuite/gfortran.dg/pr87992.f90 b/gcc/testsuite/gfortran.dg/pr87992.f90 new file mode 100644 index 0000000..cbde0d0 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr87992.f90 @@ -0,0 +1,5 @@ +! { dg-do compile } +subroutine s(x) + class(*), allocatable :: x + x = '' +end |