blob: 5a168fde3e1a5dbaffa67ccae17fc868a271b725 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/* { dg-do compile } */
/* { dg-options "-O2" } */
long contents, f_num;
int decide();
int f_MV0__x;
void f() {
unsigned char *rptr;
unsigned char valbuf[6];
rptr = (unsigned char *)contents; /* { dg-warning "-Wint-to-pointer-cast" "" { target { ! ptr_eq_long } } } */
if (decide())
do {
__builtin_memcpy(valbuf, &f_MV0__x, sizeof(int));
(&valbuf[0])[4] = (&valbuf[0])[5] = 0;
} while (0);
else {
int MV0__x = f_num;
__builtin_memcpy(valbuf, &MV0__x, sizeof(int));
(&valbuf[0])[4] = (&valbuf[0])[5] = 0;
}
rptr[1] = valbuf[4];
rptr[2] = valbuf[5];
rptr[4] = valbuf[1];
rptr[5] = valbuf[2];
__builtin_memset(valbuf, 0, 8);
}
|