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>
|
2015-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/67429
|
PR fortran/67429
|
||||||
|
|
|
||||||
|
|
@ -2599,6 +2599,8 @@ gfc_check_init_expr (gfc_expr *e)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EXPR_SUBSTRING:
|
case EXPR_SUBSTRING:
|
||||||
|
if (e->ref)
|
||||||
|
{
|
||||||
t = gfc_check_init_expr (e->ref->u.ss.start);
|
t = gfc_check_init_expr (e->ref->u.ss.start);
|
||||||
if (!t)
|
if (!t)
|
||||||
break;
|
break;
|
||||||
|
|
@ -2606,7 +2608,9 @@ gfc_check_init_expr (gfc_expr *e)
|
||||||
t = gfc_check_init_expr (e->ref->u.ss.end);
|
t = gfc_check_init_expr (e->ref->u.ss.end);
|
||||||
if (t)
|
if (t)
|
||||||
t = gfc_simplify_expr (e, 0);
|
t = gfc_simplify_expr (e, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
t = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EXPR_STRUCTURE:
|
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>
|
2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
|
||||||
|
|
||||||
Backport from mainline
|
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