(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr70992.c
       1  /* PR middle-end/70992 */
       2  /* { dg-do compile } */
       3  
       4  typedef unsigned int uint32_t;
       5  typedef int int32_t;
       6  
       7  uint32_t
       8  fn (uint32_t so)
       9  {
      10    return (so + so) * (0x80000000 / 0 + 1); /* { dg-warning "division by zero" } */
      11  }
      12  
      13  uint32_t
      14  fn5 (uint32_t so)
      15  {
      16    return (0x80000000 / 0 + 1) * (so + so); /* { dg-warning "division by zero" } */
      17  }
      18  
      19  uint32_t
      20  fn6 (uint32_t so)
      21  {
      22    return (0x80000000 / 0 - 1) * (so + so); /* { dg-warning "division by zero" } */
      23  }
      24  
      25  uint32_t
      26  fn2 (uint32_t so)
      27  {
      28    return (so + so) * (0x80000000 / 0 - 1); /* { dg-warning "division by zero" } */
      29  }
      30  
      31  int32_t
      32  fn3 (int32_t so)
      33  {
      34    return (so + so) * (0x80000000 / 0 + 1); /* { dg-warning "division by zero" } */
      35  }
      36  
      37  int32_t
      38  fn4 (int32_t so)
      39  {
      40    return (so + so) * (0x80000000 / 0 - 1); /* { dg-warning "division by zero" } */
      41  }