OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [builtins/] [lib/] [memmove.c] - Blame information for rev 688

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 688 jeremybenn
extern void abort (void);
2
extern int inside_main;
3
 
4
__attribute__ ((__noinline__))
5
void *
6
memmove (void *dst, const void *src, __SIZE_TYPE__ n)
7
{
8
  char *dstp;
9
  const char *srcp;
10
 
11
#ifdef __OPTIMIZE__
12
  if (inside_main)
13
    abort ();
14
#endif
15
 
16
  srcp = src;
17
  dstp = dst;
18
  if (srcp < dstp)
19
    while (n-- != 0)
20
      dstp[n] = srcp[n];
21
  else
22
    while (n-- != 0)
23
      *dstp++ = *srcp++;
24
 
25
  return dst;
26
}
27
 
28
void
29
bcopy (const void *src, void *dst, __SIZE_TYPE__ n)
30
{
31
  memmove (dst, src, n);
32
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.