1 /* PR tree-optimization/97053 */
2 /* { dg-do run } */
3 /* { dg-options "-O2" } */
4
5 struct S { short a; char b[9]; int c; char d; int e; };
6
7 __attribute__((noipa)) void
8 foo (char *x, char *y)
9 {
10 if (__builtin_strcmp (x, "ABCDXXXX") != 0
11 || __builtin_strcmp (y, "ABCDXXXX") != 0)
12 __builtin_abort ();
13 }
14
15 int
16 main ()
17 {
18 char a[9] = "XXXXXXXX";
19 struct S b = {};
20 __builtin_memcpy (a, "ABCD", 4);
21 b.a = 5;
22 __builtin_memcpy (b.b, a, 8);
23 b.d = 'X';
24 b.e = 1;
25 foo (a, b.b);
26 return 0;
27 }