1  /* { dg-do run } */
       2  /* { dg-options "-fsanitize=integer-divide-by-zero -Wno-div-by-zero" } */
       3  /* { dg-options "-fsanitize=integer-divide-by-zero -Wno-div-by-zero -Wno-volatile" { target c++ } } */
       4  
       5  int
       6  main (void)
       7  {
       8    volatile int a = 0;
       9    volatile long long int b = 0;
      10    volatile unsigned int c = 1;
      11  
      12    a / b;
      13    0 / 0;
      14    a / 0;
      15    0 / b;
      16    2 / --c;
      17  
      18    return 0;
      19  }
      20  
      21  /* { dg-output "division by zero\[^\n\r]*(\n|\r\n|\r)" } */
      22  /* { dg-output "\[^\n\r]*division by zero\[^\n\r]*(\n|\r\n|\r)" } */
      23  /* { dg-output "\[^\n\r]*division by zero\[^\n\r]*(\n|\r\n|\r)" } */
      24  /* { dg-output "\[^\n\r]*division by zero\[^\n\r]*(\n|\r\n|\r)" } */
      25  /* { dg-output "\[^\n\r]*division by zero\[^\n\r]*" } */