mirror of git://gcc.gnu.org/git/gcc.git
re PR fortran/69867 (ICE on initializing character in type with array of incompatible data)
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/69867 * decl.c (build_struct): Ensure that pointers point to something. 2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/69867 * gfortran.dg/pr69867.f90: New test. From-SVN: r238907
This commit is contained in:
parent
b441ae1d89
commit
e4f7a5dffe
|
|
@ -1,3 +1,8 @@
|
||||||
|
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/69867
|
||||||
|
* decl.c (build_struct): Ensure that pointers point to something.
|
||||||
|
|
||||||
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
|
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/69962
|
PR fortran/69962
|
||||||
|
|
|
||||||
|
|
@ -1926,8 +1926,10 @@ build_struct (const char *name, gfc_charlen *cl, gfc_expr **init,
|
||||||
|
|
||||||
if (c->initializer->expr_type == EXPR_CONSTANT)
|
if (c->initializer->expr_type == EXPR_CONSTANT)
|
||||||
gfc_set_constant_character_len (len, c->initializer, -1);
|
gfc_set_constant_character_len (len, c->initializer, -1);
|
||||||
else if (mpz_cmp (c->ts.u.cl->length->value.integer,
|
else if (c->initializer
|
||||||
c->initializer->ts.u.cl->length->value.integer))
|
&& c->initializer->ts.u.cl
|
||||||
|
&& mpz_cmp (c->ts.u.cl->length->value.integer,
|
||||||
|
c->initializer->ts.u.cl->length->value.integer))
|
||||||
{
|
{
|
||||||
gfc_constructor *ctor;
|
gfc_constructor *ctor;
|
||||||
ctor = gfc_constructor_first (c->initializer->value.constructor);
|
ctor = gfc_constructor_first (c->initializer->value.constructor);
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/69867
|
||||||
|
* gfortran.dg/pr69867.f90: New test.
|
||||||
|
|
||||||
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
|
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/69962
|
PR fortran/69962
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
! { dg-do compile }
|
||||||
|
program p
|
||||||
|
type t
|
||||||
|
character(1) :: c(1)=[1] ! { dg-error "convert INTEGER.4. to CHARACTER.1." }
|
||||||
|
end type
|
||||||
|
end
|
||||||
Loading…
Reference in New Issue