2 /* { dg-require-effective-target alloca } */
4 typedef __SIZE_TYPE__
size_t;
5 int memcmp (const void *, const void *, size_t);
9 __attribute__((noinline
))
10 bar (void *x
, void *y
)
12 struct S
{ char w
[8]; } *p
= x
, *q
= y
;
13 if (memcmp (p
->w
, "zyxwvut", 8) != 0)
15 if (memcmp (q
[0].w
, "abcdefg", 8) != 0)
17 if (memcmp (q
[1].w
, "ABCDEFG", 8) != 0)
19 if (memcmp (q
[2].w
, "zyxwvut", 8) != 0)
21 if (memcmp (q
[3].w
, "zyxwvut", 8) != 0)
26 __attribute__((noinline
))
29 struct S
{ char w
[y
]; } *p
= x
, a
;
31 a
= ({ struct S b
; b
= p
[2]; p
[3] = b
; });
38 struct S
{ char w
[8]; } p
[4]
39 = { "abcdefg", "ABCDEFG", "zyxwvut", "ZYXWVUT" };