// Copyright (c) 2012, 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. // @dart = 2.7 import "package:expect/expect.dart"; // Test for bug in code generation of if-with-aborting-branch-inside-loop. foo(p, q) { var w = 10; do { if (p) { w = 20; } else { w = 30; return w; } } while (q); return w; } main() { Expect.equals(30, foo(false, true)); Expect.equals(30, foo(false, false)); Expect.equals(20, foo(true, false)); }