1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/test/tools/javac/warnings/DivZero.java Wed Apr 27 01:34:52 2016 +0800 1.3 @@ -0,0 +1,147 @@ 1.4 +/** 1.5 + * @test /nodynamiccopyright/ 1.6 + * @bug 4759494 4986256 1.7 + * @compile/ref=DivZero.noLint.out -XDrawDiagnostics DivZero.java 1.8 + * @compile/ref=DivZero.lint.out -Xlint:divzero -XDrawDiagnostics DivZero.java 1.9 + * @compile/ref=DivZero.lint.out -Xlint:all,-path -XDrawDiagnostics DivZero.java 1.10 + */ 1.11 + 1.12 +class DivZero 1.13 +{ 1.14 + public static final int ONE = 1; 1.15 + 1.16 + public int i1 = 1 / 0; 1.17 + public static final int i2 = 1 / 0; 1.18 + 1.19 + public int i3 = 1 % 0; 1.20 + public static final int i4 = 1 % 0; 1.21 + 1.22 + public static final int i5 = 1 / (1 - 1); 1.23 + public static final int i6 = 1 / (ONE - 1); 1.24 + public static final int i7 = 1 / (ONE - ONE); 1.25 + 1.26 + public static final int i8 = 1 % (1 - 1); 1.27 + public static final int i9 = 1 % (ONE - 1); 1.28 + public static final int i10 = 1 % (ONE - ONE); 1.29 + 1.30 + public static final long ONEL = 1L; 1.31 + 1.32 + public long l1 = 1L / 0L; 1.33 + public static final long l2 = 1L / 0L; 1.34 + 1.35 + public long l3 = 1L % 0L; 1.36 + public static final long l4 = 1L % 0L; 1.37 + 1.38 + public static final long l5 = 1L / (1L - 1L); 1.39 + public static final long l6 = 1L / (ONEL - 1L); 1.40 + public static final long l7 = 1L / (ONEL - ONEL); 1.41 + 1.42 + public static final long l8 = 1L % (1L - 1L); 1.43 + public static final long l9 = 1L % (ONEL - 1L); 1.44 + public static final long l10 = 1L % (ONEL - ONEL); 1.45 + 1.46 + 1.47 + static void m() { 1.48 + int mi1 = 1 / 0; 1.49 + int mi2 = 1 % 0; 1.50 + 1.51 + mi1 /= 0; 1.52 + mi1 %= 0; 1.53 + 1.54 + long ml1 = 1L / 0L; 1.55 + long ml2 = 1L % 0L; 1.56 + 1.57 + ml1 /= 0L; 1.58 + ml1 %= 0L; 1.59 + } 1.60 +} 1.61 + 1.62 +@SuppressWarnings("divzero") 1.63 +class DivZero2 1.64 +{ 1.65 + public static final int ONE = 1; 1.66 + 1.67 + public int i1 = 1 / 0; 1.68 + public static final int i2 = 1 / 0; 1.69 + 1.70 + public int i3 = 1 % 0; 1.71 + public static final int i4 = 1 % 0; 1.72 + 1.73 + public static final int i5 = 1 / (1 - 1); 1.74 + public static final int i6 = 1 / (ONE - 1); 1.75 + public static final int i7 = 1 / (ONE - ONE); 1.76 + 1.77 + public static final int i8 = 1 % (1 - 1); 1.78 + public static final int i9 = 1 % (ONE - 1); 1.79 + public static final int i10 = 1 % (ONE - ONE); 1.80 + 1.81 + public static final long ONEL = 1L; 1.82 + 1.83 + public long l1 = 1L / 0L; 1.84 + public static final long l2 = 1L / 0L; 1.85 + 1.86 + public long l3 = 1L % 0L; 1.87 + public static final long l4 = 1L % 0L; 1.88 + 1.89 + public static final long l5 = 1L / (1L - 1L); 1.90 + public static final long l6 = 1L / (ONEL - 1L); 1.91 + public static final long l7 = 1L / (ONEL - ONEL); 1.92 + 1.93 + public static final long l8 = 1L % (1L - 1L); 1.94 + public static final long l9 = 1L % (ONEL - 1L); 1.95 + public static final long l10 = 1L % (ONEL - ONEL); 1.96 + 1.97 + 1.98 + static void m() { 1.99 + int mi1 = 1 / 0; 1.100 + int mi2 = 1 % 0; 1.101 + 1.102 + mi1 /= 0; 1.103 + mi1 %= 0; 1.104 + 1.105 + long ml1 = 1L / 0L; 1.106 + long ml2 = 1L % 0L; 1.107 + 1.108 + ml1 /= 0L; 1.109 + ml1 %= 0L; 1.110 + } 1.111 +} 1.112 + 1.113 +class DivZero3 1.114 +{ 1.115 + @SuppressWarnings("divzero") 1.116 + public int i1 = 1 / 0; 1.117 + @SuppressWarnings("divzero") 1.118 + public static final int i2 = 1 / 0; 1.119 + 1.120 + @SuppressWarnings("divzero") 1.121 + public int i3 = 1 % 0; 1.122 + @SuppressWarnings("divzero") 1.123 + public static final int i4 = 1 % 0; 1.124 + 1.125 + @SuppressWarnings("divzero") 1.126 + public long l1 = 1L / 0L; 1.127 + @SuppressWarnings("divzero") 1.128 + public static final long l2 = 1L / 0L; 1.129 + 1.130 + @SuppressWarnings("divzero") 1.131 + public long l3 = 1L % 0L; 1.132 + @SuppressWarnings("divzero") 1.133 + public static final long l4 = 1L % 0L; 1.134 + 1.135 + 1.136 + @SuppressWarnings("divzero") 1.137 + static void m() { 1.138 + int mi1 = 1 / 0; 1.139 + int mi2 = 1 % 0; 1.140 + 1.141 + mi1 /= 0; 1.142 + mi1 %= 0; 1.143 + 1.144 + long ml1 = 1L / 0L; 1.145 + long ml2 = 1L % 0L; 1.146 + 1.147 + ml1 /= 0L; 1.148 + ml1 %= 0L; 1.149 + } 1.150 +}