Commit d4319ef8 by Steven G. Kargl

re PR fortran/83742 (ICE in gfc_is_simply_contiguous, at fortran/expr.c:5323)

2018-01-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/83742
	* expr.c (gfc_is_simply_contiguous): Check for NULL pointer.

2018-01-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/83742
	* gfortran.dg/contiguous_6.f90: New test.

From-SVN: r256391
parent d2dfcf82
2018-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/83742
* expr.c (gfc_is_simply_contiguous): Check for NULL pointer.
2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
* match.c (gfc_match_allocate): Check for NULL pointer.
......
......@@ -5313,14 +5313,14 @@ gfc_is_simply_contiguous (gfc_expr *expr, bool strict, bool permit_element)
sym = expr->symtree->n.sym;
if (expr->ts.type != BT_CLASS
&& ((part_ref
&& !part_ref->u.c.component->attr.contiguous
&& part_ref->u.c.component->attr.pointer)
|| (!part_ref
&& !sym->attr.contiguous
&& (sym->attr.pointer
|| sym->as->type == AS_ASSUMED_RANK
|| sym->as->type == AS_ASSUMED_SHAPE))))
&& ((part_ref
&& !part_ref->u.c.component->attr.contiguous
&& part_ref->u.c.component->attr.pointer)
|| (!part_ref
&& !sym->attr.contiguous
&& (sym->attr.pointer
|| (sym->as && sym->as->type == AS_ASSUMED_RANK)
|| (sym->as && sym->as->type == AS_ASSUMED_SHAPE)))))
return false;
if (!ar || ar->type == AR_FULL)
......
2018-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/83742
* gfortran.dg/contiguous_6.f90: New test.
2018-01-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/83668
......
! { dg-do compile }
! PR fortran/83742
! Contributed by Gerhard Steinmetz <gscfq at t-online dot de>
program p
real, target :: a
real, pointer, contiguous :: b => a ! { dg-error "has the CONTIGUOUS attribute" }
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment