/* { dg-do run } */ /* { dg-options "-O2" } */ signed char a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23 + 1 }; signed char b[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1 }; signed char c[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2 }; signed char d[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3 }; signed char e[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3 }; struct A { signed char a[64]; int b; } f = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23 + 1, 101 }; struct A g = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 101 }; struct A h = { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23 }, 101 }; struct B { signed char a[65]; int b; } k = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2 }; struct C { signed char a[66]; int b; } l = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3 }; struct D { signed char a[67]; int b; } m = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4 }; struct E { signed char a[227]; int b; } n = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4 }; signed char o[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, -3, 4 }; signed char p[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 110, 15, 109, 16, 108, 17, 107, 18, 106, 19, 105, 20, 104, 21, 103, 22, 102, 23, 1, 2, 3 + 1, 5 }; int main () { if (sizeof (a) != 64 || sizeof (b) != 65 || sizeof (c) != 66 || sizeof (d) != 67 || sizeof (e) != 227 || sizeof (o) != 228 || sizeof (p) != 228) __builtin_abort (); for (int i = 0; i < 32; ++i) { int j; if (i < 14) j = i + 1; else if (i & 1) j = 15 + (i - 15) / 2; else j = 110 - (i - 14) / 2; if (a[i] != j || (i != 31 && a[i + 32] != j) || b[i] != j || b[i + 32] != j || c[i] != j || c[i + 32] != j || d[i] != j || d[i + 32] != j || e[i] != j || e[i + 32] != j || e[i + 64] != j || e[i + 96] != j || e[i + 128] != j || e[i + 160] != j || e[i + 192] != j || f.a[i] != j || (i != 31 && f.a[i + 32] != j) || g.a[i] != j || g.a[i + 32] != j || h.a[i] != j || h.a[i + 32] != j || k.a[i] != j || k.a[i + 32] != j || l.a[i] != j || l.a[i + 32] != j || m.a[i] != j || m.a[i + 32] != j || n.a[i] != j || n.a[i + 32] != j || n.a[i + 64] != j || n.a[i + 96] != j || n.a[i + 128] != j || n.a[i + 160] != j || n.a[i + 192] != j) __builtin_abort (); } if (a[63] != 24 || b[64] != 1 || c[64] != 1 || c[65] != 2 || d[64] != 1 || d[65] != 2 || d[66] != 3 || e[224] != 1 || e[225] != 2 || e[226] != 3 || f.a[63] != 24 || f.b != 101 || g.b != 101 || h.b != 101 || k.a[64] != 1 || k.b != 2 || l.a[64] != 1 || l.a[65] != 2 || l.b != 3 || m.a[64] != 1 || m.a[65] != 2 || m.a[66] != 3 || m.b != 4 || n.a[224] != 1 || n.a[225] != 2 || n.a[226] != 3 || n.b != 4 || __builtin_memcmp (e, o, 226) || o[226] != -3 || o[227] != 4 || __builtin_memcmp (e, p, 226) || p[226] != 4 || p[227] != 5) __builtin_abort (); }