(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
builtins/
lib/
memmove.c
       1  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  }