1 /* { dg-do run } */
2 /* { dg-options "-O1" } */
3
4 extern void *memcpy (void *, const void *, __SIZE_TYPE__);
5 extern int memcmp (const void *, const void *, __SIZE_TYPE__);
6 extern void abort(void);
7
8 char str[9] = "1234";
9
10 void
bar(void)11 bar (void)
12 {
13 unsigned int temp;
14 char *p = &str[2];
15
16 memcpy (&temp, &str[1], 4);
17 memcpy (p, &temp, 4);
18 str[1] = '.';
19 }
20
main()21 int main()
22 {
23 bar();
24 if (memcmp (str, "1.234", 5) != 0)
25 abort ();
26
27 return 0;
28 }
29