1 /* PR c++/56607 */
2 /* { dg-do compile { target { { lp64 || ilp32 } || llp64 } } } */
3 /* { dg-options "-O2 -Wdiv-by-zero" } */
4
5 int
6 f1 (void)
7 {
8 return 1 / (sizeof (char) - 1); /* { dg-warning "division by zero" } */
9 }
10
11 int
12 f2 (void)
13 {
14 const int x = sizeof (char) - 1;
15 return 1 / x; /* { dg-warning "division by zero" } */
16 }
17
18 int
19 f3 (void)
20 {
21 return 1 / (sizeof (int) / 3 - 1); /* { dg-warning "division by zero" } */
22 }
23
24 int
25 f4 (void)
26 {
27 const int x = sizeof (int) / 3 - 1;
28 return 1 / x; /* { dg-warning "division by zero" } */
29 }