1 /**
2  * @test  /nodynamiccopyright/
3  * @bug 4759494 4986256
4  * @compile/ref=DivZero.noLint.out                   -XDrawDiagnostics DivZero.java
5  * @compile/ref=DivZero.lint.out    -Xlint:divzero   -XDrawDiagnostics DivZero.java
6  * @compile/ref=DivZero.lint.out    -Xlint:all,-path -XDrawDiagnostics DivZero.java
7  */
8 
9 class DivZero
10 {
11     public static final int ONE = 1;
12 
13     public int i1 = 1 / 0;
14     public static final int i2 = 1 / 0;
15 
16     public int i3 = 1 % 0;
17     public static final int i4 = 1 % 0;
18 
19     public static final int i5 = 1 / (1 - 1);
20     public static final int i6 = 1 / (ONE - 1);
21     public static final int i7 = 1 / (ONE - ONE);
22 
23     public  static final int i8 = 1 % (1 - 1);
24     public  static final int i9 = 1 % (ONE - 1);
25     public  static final int i10 = 1 % (ONE - ONE);
26 
27     public static final long ONEL = 1L;
28 
29     public long l1 = 1L / 0L;
30     public static final long l2 = 1L / 0L;
31 
32     public long l3 = 1L % 0L;
33     public static final long l4 = 1L % 0L;
34 
35     public static final long l5 = 1L / (1L - 1L);
36     public static final long l6 = 1L / (ONEL - 1L);
37     public static final long l7 = 1L / (ONEL - ONEL);
38 
39     public  static final long l8 = 1L % (1L - 1L);
40     public  static final long l9 = 1L % (ONEL - 1L);
41     public  static final long l10 = 1L % (ONEL - ONEL);
42 
43 
m()44     static void m() {
45         int mi1 = 1 / 0;
46         int mi2 = 1 % 0;
47 
48         mi1 /= 0;
49         mi1 %= 0;
50 
51         long ml1 = 1L / 0L;
52         long ml2 = 1L % 0L;
53 
54         ml1 /= 0L;
55         ml1 %= 0L;
56     }
57 }
58 
59 @SuppressWarnings("divzero")
60 class DivZero2
61 {
62     public static final int ONE = 1;
63 
64     public int i1 = 1 / 0;
65     public static final int i2 = 1 / 0;
66 
67     public int i3 = 1 % 0;
68     public static final int i4 = 1 % 0;
69 
70     public static final int i5 = 1 / (1 - 1);
71     public static final int i6 = 1 / (ONE - 1);
72     public static final int i7 = 1 / (ONE - ONE);
73 
74     public  static final int i8 = 1 % (1 - 1);
75     public  static final int i9 = 1 % (ONE - 1);
76     public  static final int i10 = 1 % (ONE - ONE);
77 
78     public static final long ONEL = 1L;
79 
80     public long l1 = 1L / 0L;
81     public static final long l2 = 1L / 0L;
82 
83     public long l3 = 1L % 0L;
84     public static final long l4 = 1L % 0L;
85 
86     public static final long l5 = 1L / (1L - 1L);
87     public static final long l6 = 1L / (ONEL - 1L);
88     public static final long l7 = 1L / (ONEL - ONEL);
89 
90     public  static final long l8 = 1L % (1L - 1L);
91     public  static final long l9 = 1L % (ONEL - 1L);
92     public  static final long l10 = 1L % (ONEL - ONEL);
93 
94 
m()95     static void m() {
96         int mi1 = 1 / 0;
97         int mi2 = 1 % 0;
98 
99         mi1 /= 0;
100         mi1 %= 0;
101 
102         long ml1 = 1L / 0L;
103         long ml2 = 1L % 0L;
104 
105         ml1 /= 0L;
106         ml1 %= 0L;
107     }
108 }
109 
110 class DivZero3
111 {
112     @SuppressWarnings("divzero")
113     public int i1 = 1 / 0;
114     @SuppressWarnings("divzero")
115     public static final int i2 = 1 / 0;
116 
117     @SuppressWarnings("divzero")
118     public int i3 = 1 % 0;
119     @SuppressWarnings("divzero")
120     public static final int i4 = 1 % 0;
121 
122     @SuppressWarnings("divzero")
123     public long l1 = 1L / 0L;
124     @SuppressWarnings("divzero")
125     public static final long l2 = 1L / 0L;
126 
127     @SuppressWarnings("divzero")
128     public long l3 = 1L % 0L;
129     @SuppressWarnings("divzero")
130     public static final long l4 = 1L % 0L;
131 
132 
133     @SuppressWarnings("divzero")
m()134     static void m() {
135         int mi1 = 1 / 0;
136         int mi2 = 1 % 0;
137 
138         mi1 /= 0;
139         mi1 %= 0;
140 
141         long ml1 = 1L / 0L;
142         long ml2 = 1L % 0L;
143 
144         ml1 /= 0L;
145         ml1 %= 0L;
146     }
147 }
148