mirror of git://gcc.gnu.org/git/gcc.git
re PR fortran/67526 (ICE on missing end parenthesis in substring construct)
2015-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67526 * gfortran.dg/pr67526.f90: New test. 2015-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67526 * expr.c (gfc_check_init_expr): Do not dereference a NULL pointer. From-SVN: r227655
This commit is contained in:
parent
bef83bb27a
commit
6b6c56f1e8
|
|
@ -1,3 +1,8 @@
|
|||
2015-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/67526
|
||||
* expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.
|
||||
|
||||
2015-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
PR fortran/67429
|
||||
|
|
|
|||
|
|
@ -2599,6 +2599,8 @@ gfc_check_init_expr (gfc_expr *e)
|
|||
break;
|
||||
|
||||
case EXPR_SUBSTRING:
|
||||
if (e->ref)
|
||||
{
|
||||
t = gfc_check_init_expr (e->ref->u.ss.start);
|
||||
if (!t)
|
||||
break;
|
||||
|
|
@ -2606,7 +2608,9 @@ gfc_check_init_expr (gfc_expr *e)
|
|||
t = gfc_check_init_expr (e->ref->u.ss.end);
|
||||
if (t)
|
||||
t = gfc_simplify_expr (e, 0);
|
||||
|
||||
}
|
||||
else
|
||||
t = false;
|
||||
break;
|
||||
|
||||
case EXPR_STRUCTURE:
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
2015-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/67526
|
||||
* gfortran.dg/pr67526.f90: New test.
|
||||
|
||||
2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
|
||||
|
||||
Backport from mainline
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
! { dg-do compile }
|
||||
! Original code from gerhard dot steinmetz dot fortran at t-online dot de
|
||||
! PR fortran/67526
|
||||
program p
|
||||
character :: c1 = 'abc'(: ! { dg-error "error in SUBSTRING" }
|
||||
character :: c2 = 'abc'(3: ! { dg-error "error in SUBSTRING" }
|
||||
character :: c3 = 'abc'(:1 ! { dg-error "error in SUBSTRING" }
|
||||
character :: c4 = 'abc'(2:2 ! { dg-error "error in SUBSTRING" }
|
||||
end
|
||||
Loading…
Reference in New Issue