1 /* { dg-require-effective-target alloca } */
3 /* PR libstdc++/88101 */
5 struct S
{ char a
; short b
; char c
; };
7 __attribute__((noipa
)) void
8 foo (int m
, int n
, int o
)
17 __builtin_memset (&a1
, 0, sizeof (a1
));
18 __builtin_memset (&a2
, ~0, sizeof (a2
));
19 __builtin_memset (&b1
, 0, sizeof (b1
));
20 __builtin_memset (&b2
, ~0, sizeof (b2
));
21 __builtin_memset (&c1
, 0, sizeof (c1
));
22 __builtin_memset (&c2
, ~0, sizeof (c2
));
23 for (i
= 0; i
< m
; i
++)
27 for (j
= 0; j
< n
; j
++)
35 for (k
= 0; k
< o
; k
++)
46 __builtin_clear_padding (&a2
);
47 __builtin_clear_padding (&b2
);
48 __builtin_clear_padding (&c2
);
49 if (__builtin_memcmp (&a1
, &a2
, sizeof (a1
))
50 || __builtin_memcmp (&b1
, &b2
, sizeof (b1
))
51 || __builtin_memcmp (&c1
, &c2
, sizeof (c1
)))