1 /* { dg-do compile } */ 2 /* { dg-options "-O3" } */ 3 4 #if __SIZEOF_POINTER__ != __SIZEOF_LONG__ 5 #define long __INTPTR_TYPE__ 6 #endif 7 fn1(void * p1,void * p2,long p3)8void *fn1(void *p1, void *p2, long p3) 9 { 10 long a = (long)p1, b = (long)p2, c = p3; 11 12 while (c) 13 { 14 int d = ((int *)b)[0]; 15 16 c--; 17 ((char *)a)[0] = d; 18 a++; 19 } 20 return 0; 21 } 22 23