/* { dg-do compile } */ | |
/* { dg-options "-O3" } */ | |
#if __SIZEOF_POINTER__ != __SIZEOF_LONG__ | |
#define long __INTPTR_TYPE__ | |
#endif | |
void *fn1(void *p1, void *p2, long p3) | |
{ | |
long a = (long)p1, b = (long)p2, c = p3; | |
while (c) | |
{ | |
int d = ((int *)b)[0]; | |
c--; | |
((char *)a)[0] = d; | |
a++; | |
} | |
return 0; | |
} | |