| // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| // In http://dartbug.com/53078, `v` was erroneously optimized to `true`. | |
| @pragma('dart2js:never-inline') | |
| /*member: issue53078:function() { | |
| var x, i, v; | |
| for (x = 3, i = 0; i < 3; ++i) { | |
| v = x >= 3; | |
| if (i !== 0 && v) | |
| throw A.wrapException("Something is wrong"); | |
| x = (v ? 0 : x) + 1; | |
| } | |
| }*/ | |
| void issue53078() { | |
| const int y = 3; | |
| int x = y; | |
| for (int i = 0; i < 3; i++) { | |
| final v = x >= y; | |
| if (i != 0 && v) throw 'Something is wrong'; | |
| if (v) { | |
| x = 0; | |
| } | |
| x++; | |
| } | |
| } | |
| /*member: main:ignore*/ | |
| main() { | |
| issue53078(); | |
| } |