(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
Warray-bounds-25.c
       1  /* PR tree-optimization/83446 - Bootstrap failed on i686
       2     { dg-do compile }
       3     { dg-options "-O2 -Warray-bounds" } */
       4  
       5  char a[4];
       6  
       7  void f0i (void *d, int n)
       8  {
       9    if (n < 0) n = 0;
      10  
      11    __builtin_memcpy (d, a + sizeof a - n, n);
      12  }
      13  
      14  void f0L (void *d, long n)
      15  {
      16    if (n < 0) n = 0;
      17  
      18    __builtin_memcpy (d, a + sizeof a - n, n);
      19  }
      20  
      21  void f0u (void *d, unsigned n)
      22  {
      23    if (n < 0) n = 1;
      24  
      25    __builtin_memcpy (d, a + sizeof a - n, n);   /* { dg-bogus "\\\[-Warray-bounds" } */
      26  }
      27  
      28  void f1lu (void *d, unsigned long n)
      29  {
      30    if (n < 1) n = 1;
      31  
      32    __builtin_memcpy (d, a + sizeof a - n, n);   /* { dg-bogus "\\\[-Warray-bounds" } */
      33  }