(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr102798.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O3 -fno-tree-pta" } */
       3  
       4  typedef __SIZE_TYPE__ size_t;
       5  
       6  __attribute__((__noipa__))
       7  void BUF_reverse (unsigned char *out, const unsigned char *in, size_t size)
       8  {
       9    size_t i;
      10    if (in)
      11      {
      12        out += size - 1;
      13        for (i = 0; i < size; i++)
      14          *out++ = *in++;
      15      }
      16    else
      17      {
      18        unsigned char *q;
      19        char c;
      20        q = out + size - 1;
      21        for (i = 0; i < size ; i++)
      22              {
      23                *out++ = 1;
      24              }
      25      }
      26  }
      27  
      28  int
      29  main (void)
      30  {
      31    unsigned char buf[40];
      32    unsigned char buf1[40];
      33    for (unsigned i = 0; i < sizeof (buf); i++)
      34      buf[i] = i;
      35    BUF_reverse (buf, 0, sizeof (buf));
      36    for (unsigned i = 0; i < sizeof (buf); i++)
      37      if (buf[i] != 1)
      38        __builtin_abort ();
      39  
      40    return 0;
      41  }