aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr54925.c
blob: 72349c9d7d74aaa3f45cfb7b036c59672767bb33 (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
27
/* PR target/54925  */
extern int bar;
extern void foo (int *);
static unsigned char *
nr_memcpy (unsigned char *, unsigned char *, unsigned short);

void 
baz (char *buf, unsigned short len)
{
  unsigned char data[10];
  if (len == 0)
    return;
  nr_memcpy (data, (unsigned char *) buf, len);
  foo (&bar);
}

static unsigned char *
nr_memcpy (unsigned char * to, unsigned char * from, unsigned short len)
{
  unsigned char *p = to;
  while (len > 0)
    {
      len--;
      *to++ = *from++;
    }
  return p;
}