aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tree-ssa/pr66449.c
blob: cce26eb74e3f5ec6d2cebd5f221dacf68994db39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* { 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;
}