(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
Wrestrict-3.c
       1  /* Test to verify that the call below with the out-of-bounds offset
       2     doesn't trigger an internal assertion and is diagnosed.
       3     { dg-do compile }
       4     { dg-options "-O2 -Wrestrict" } */
       5  
       6  #define DIFF_MAX   __PTRDIFF_MAX__
       7  
       8  void test_no_ice (int *d, __PTRDIFF_TYPE__ i, __SIZE_TYPE__ n)
       9  {
      10    if (i < DIFF_MAX / sizeof *d - 1 || DIFF_MAX / sizeof *d + 2 < i)
      11      i = DIFF_MAX / sizeof *d - 1;
      12  
      13    if (n < DIFF_MAX)
      14      n = DIFF_MAX / sizeof *d;
      15  
      16    __builtin_strncpy ((char*)(d + i), (char*)d, n);   /* { dg-warning "\\\[-Wrestrict]" } */
      17  }