https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118207

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
ICEs even in C:
struct A { unsigned char a; };
struct B { struct A b; };
static const unsigned char c[160] = {
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
struct B d;

void
foo ()
{
  const struct B *t = (const struct B *) &c;
  d.b = t->b;
}

where it started obviously with
r15-4377-gf9bac238840155e1539aa68daf1507ea63c9ed80
With #embed from r15-4375-g1844a4aa6615c2252303e70d41bdb18e7c5664c6 I guess.

Reply via email to