------- Comment #5 from burnus at gcc dot gnu dot org  2008-06-13 20:25 -------
> First program, causes an ICE.

Valgrind shows that it fails in decl.c's build_struct:

  if (c->ts.type == BT_CHARACTER && !c->pointer && c->initializer)
    {
      int len = mpz_get_si (c->ts.cl->length->value.integer);

As c->ts.cl->length->value is probably a NULL pointer.

Thus for some reason there is no check whether the length is a specification
expression - or actually in this case it needs to be even an initialization
expression.

Possible starting point for investigations: char_len_param_value


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36492

Reply via email to