(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr61240.c
       1  /* PR c/61240 */
       2  /* { dg-do compile } */
       3  
       4  typedef __PTRDIFF_TYPE__ ptrdiff_t;
       5  
       6  ptrdiff_t
       7  foo (ptrdiff_t a[4])
       8  {
       9    int i[4];
      10    int *p = i + 2;
      11    static ptrdiff_t b = p - (p - 1);	/* { dg-bogus "integer overflow in expression" } */
      12    static ptrdiff_t c = (p - 1) - p;	/* { dg-bogus "integer overflow in expression" } */
      13    static ptrdiff_t d = (p - 2) - (p - 1);/* { dg-bogus "integer overflow in expression" } */
      14    static ptrdiff_t e = (p - 1) - (p - 2);/* { dg-bogus "integer overflow in expression" } */
      15    a[0] = p - (p - 1);			/* { dg-bogus "integer overflow in expression" } */
      16    a[1] = (p - 1) - p;			/* { dg-bogus "integer overflow in expression" } */
      17    a[2] = (p - 2) - (p - 1);		/* { dg-bogus "integer overflow in expression" } */
      18    a[3] = (p - 1) - (p - 2);		/* { dg-bogus "integer overflow in expression" } */
      19    return b + c + d + e;
      20  }