1 /* PR optimization/8634 */
3 extern void abort (void);
6 const char a
, b
, c
, d
, e
, f
, g
, h
, i
, j
;
10 const char a
, b
, c
, d
, e
, f
, g
, h
, i
;
16 struct foo X
= { a
: 'A', c
: 'C', e
: 'E', g
: 'G', i
: 'I' };
18 __builtin_memcpy (buffer
, &X
, 10);
19 if (buffer
[0] != 'A' || buffer
[1] != '\0'
20 || buffer
[2] != 'C' || buffer
[3] != '\0'
21 || buffer
[4] != 'E' || buffer
[5] != '\0'
22 || buffer
[6] != 'G' || buffer
[7] != '\0'
23 || buffer
[8] != 'I' || buffer
[9] != '\0')
30 struct bar X
= { a
: 'A', c
: 'C', e
: 'E', g
: 'G', i
: 'I' };
32 __builtin_memcpy (buffer
, &X
, 10);
33 if (buffer
[0] != 'A' || buffer
[1] != '\0'
34 || buffer
[2] != 'C' || buffer
[3] != '\0'
35 || buffer
[4] != 'E' || buffer
[5] != '\0'
36 || buffer
[6] != 'G' || buffer
[7] != '\0'
37 || buffer
[8] != 'I' || buffer
[9] != '\0')
44 struct foo X
= { .b
= 'B', .d
= 'D', .f
= 'F', .h
= 'H' , .j
= 'J' };
46 __builtin_memcpy (buffer
, &X
, 10);
47 if (buffer
[0] != '\0' || buffer
[1] != 'B'
48 || buffer
[2] != '\0' || buffer
[3] != 'D'
49 || buffer
[4] != '\0' || buffer
[5] != 'F'
50 || buffer
[6] != '\0' || buffer
[7] != 'H'
51 || buffer
[8] != '\0' || buffer
[9] != 'J')
58 struct bar X
= { .b
= 'B', .d
= 'D', .f
= 'F', .h
= 'H' , .j
= 'J' };
60 __builtin_memcpy (buffer
, &X
, 10);
61 if (buffer
[0] != '\0' || buffer
[1] != 'B'
62 || buffer
[2] != '\0' || buffer
[3] != 'D'
63 || buffer
[4] != '\0' || buffer
[5] != 'F'
64 || buffer
[6] != '\0' || buffer
[7] != 'H'
65 || buffer
[8] != '\0' || buffer
[9] != 'J')
72 test1 (); test2 (); test3 (); test4 ();