Fortran - ICE in gfc_check_do_variable, at fortran/parse.c:4446
authorHarald Anlauf <anlauf@gmx.de>
Wed, 16 Jun 2021 19:54:16 +0000 (21:54 +0200)
committerHarald Anlauf <anlauf@gmx.de>
Wed, 16 Jun 2021 19:54:16 +0000 (21:54 +0200)
commit72e3d92178b44a3722519ec68e72e307443bda70
tree21602429347a4bf78605b5bd747694e23406c493
parentbdfc1207bd20cf1ad81fca121e4f7df4995cc0d6
Fortran - ICE in gfc_check_do_variable, at fortran/parse.c:4446

Avoid NULL pointer dereferences during error recovery.

gcc/fortran/ChangeLog:

PR fortran/95501
PR fortran/95502
* expr.c (gfc_check_pointer_assign): Avoid NULL pointer
dereference.
* match.c (gfc_match_pointer_assignment): Likewise.
* parse.c (gfc_check_do_variable): Avoid comparison with NULL
symtree.

gcc/testsuite/ChangeLog:

PR fortran/95501
PR fortran/95502
* gfortran.dg/pr95502.f90: New test.
gcc/fortran/expr.c
gcc/fortran/match.c
gcc/fortran/parse.c
gcc/testsuite/gfortran.dg/pr95502.f90 [new file with mode: 0644]