Commit 7b24db31 by Steven G. Kargl

re PR fortran/70870 (Segmentation violation in gfc_assign_data_value)

2018-05-10  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/70870
	* data.c (gfc_assign_data_value): Check that a data object does
	not also have default initialization.

2018-05-10  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/70870
	* gfortran.dg/pr70870_1.f90: New test.

From-SVN: r260138
parent b0aed64b
2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/70870
* data.c (gfc_assign_data_value): Check that a data object does
not also have default initialization.
2018-05-10 Marek Polacek <polacek@redhat.com>
PR fortran/85735
......
......@@ -491,6 +491,15 @@ gfc_assign_data_value (gfc_expr *lvalue, gfc_expr *rvalue, mpz_t index,
}
else
{
if (lvalue->ts.type == BT_DERIVED
&& gfc_has_default_initializer (lvalue->ts.u.derived))
{
gfc_error ("Nonpointer object %qs with default initialization "
"shall not appear in a DATA statement at %L",
symbol->name, &lvalue->where);
return false;
}
/* Overwriting an existing initializer is non-standard but usually only
provokes a warning from other compilers. */
if (init != NULL)
......
2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/70870
* gfortran.dg/pr70870_1.f90: New test.
2018-05-10 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/xgetsetbv.c: Check also variable arguments.
......
! { dg-do compile }
! PR fortran/70870
! Contributed by Vittorio Zecca <zeccav at gmail dot com >
type t
integer :: g=0 ! default initialization
end type
type(t) :: v2
data v2/t(2)/ ! { dg-error "default initialization shall not" }
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