modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr54925.c (about)

     1  /* PR target/54925  */
     2  extern int bar;
     3  extern void foo (int *);
     4  static unsigned char *
     5  nr_memcpy (unsigned char *, unsigned char *, unsigned short);
     6  
     7  void 
     8  baz (char *buf, unsigned short len)
     9  {
    10    unsigned char data[10];
    11    if (len == 0)
    12      return;
    13    nr_memcpy (data, (unsigned char *) buf, len);
    14    foo (&bar);
    15  }
    16  
    17  static unsigned char *
    18  nr_memcpy (unsigned char * to, unsigned char * from, unsigned short len)
    19  {
    20    unsigned char *p = to;
    21    while (len > 0)
    22      {
    23        len--;
    24        *to++ = *from++;
    25      }
    26    return p;
    27  }