summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr69071.c
blob: 3ae38112fa2b86ea91b73ec30a815b992b8f9473 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* PR target/69071 */
/* { dg-do compile } */
/* { dg-options "-O2 -g" } */
/* { dg-require-effective-target size20plus } */

void *bar (void *);

void
foo (int c)
{
  unsigned char bf[65400];
  unsigned char *p2 = bar (bf);
  unsigned char *p3 = bar (bf);
  for (; *p2; p2++, c++)
    {
      if (c)
	{
	  short of = p2 - bf - 6;
	  unsigned ofu = of;
	  __builtin_memcpy (p3, &ofu, sizeof (ofu));
	}
    }
}