1 // This code used to crash but unpredictably and rarely. 2 // Even with the current set of run-lines, if a buildbot tells you that 3 // you broke this test there's a chance that someone else broke it 4 // a few commits ago. 5 6 struct S { 7 S(); 8 ~S(); 9 }; 10 11 bool bar(S); 12 13 // no-crash during diagnostic construction. 14 void foo() { 15 int x; 16 if (true && bar(S())) 17 ++x; // expected-warning{{The expression is an uninitialized value. The computed value will also be garbage}} 18 } 19 20 // 256 copies of the same run-line to make it crash more often when it breaks. 21 22 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 23 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 24 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 25 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 26 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 27 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 28 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 29 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 30 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 31 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 32 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 33 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 34 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 35 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 36 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 37 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 38 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 39 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 40 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 41 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 42 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 43 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 44 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 45 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 46 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 47 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 48 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 49 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 50 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 51 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 52 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 53 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 54 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 55 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 56 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 57 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 58 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 59 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 60 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 61 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 62 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 63 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 64 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 65 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 66 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 67 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 68 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 69 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 70 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 71 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 72 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 73 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 74 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 75 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 76 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 77 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 78 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 79 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 80 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 81 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 82 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 83 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 84 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 85 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 86 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 87 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 88 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 89 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 90 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 91 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 92 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 93 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 94 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 95 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 96 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 97 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 98 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 99 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 100 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 101 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 102 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 103 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 104 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 105 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 106 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 107 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 108 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 109 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 110 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 111 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 112 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 113 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 114 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 115 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 116 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 117 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 118 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 119 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 120 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 121 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 122 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 123 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 124 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 125 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 126 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 127 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 128 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 129 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 130 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 131 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 132 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 133 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 134 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 135 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 136 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 137 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 138 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 139 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 140 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 141 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 142 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 143 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 144 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 145 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 146 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 147 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 148 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 149 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 150 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 151 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 152 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 153 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 154 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 155 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 156 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 157 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 158 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 159 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 160 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 161 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 162 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 163 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 164 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 165 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 166 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 167 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 168 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 169 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 170 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 171 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 172 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 173 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 174 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 175 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 176 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 177 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 178 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 179 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 180 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 181 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 182 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 183 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 184 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 185 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 186 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 187 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 188 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 189 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 190 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 191 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 192 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 193 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 194 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 195 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 196 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 197 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 198 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 199 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 200 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 201 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 202 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 203 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 204 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 205 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 206 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 207 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 208 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 209 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 210 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 211 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 212 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 213 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 214 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 215 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 216 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 217 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 218 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 219 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 220 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 221 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 222 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 223 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 224 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 225 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 226 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 227 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 228 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 229 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 230 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 231 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 232 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 233 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 234 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 235 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 236 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 237 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 238 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 239 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 240 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 241 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 242 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 243 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 244 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 245 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 246 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 247 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 248 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 249 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 250 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 251 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 252 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 253 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 254 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 255 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 256 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 257 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 258 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 259 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 260 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 261 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 262 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 263 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 264 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 265 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 266 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 267 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 268 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 269 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 270 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 271 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 272 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 273 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 274 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 275 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 276 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 277 // RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s 278