blob: e429481916211cc574397fb5c8fe17aaa9cdbad9 [file] [log] [blame]
// Copyright (c) 2019, 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.
// VMOptions=--optimization_counter_threshold=1 --deterministic
// Regression test for https://github.com/dart-lang/sdk/issues/39767.
//
// Verifies that pushing now-dead definitions as call arguments where the
// PushArgumentInstrs end up outliving the original call in the IL due to
// environmental uses do not remain after dead code elimination removes their
// definitions.
List<double> var25 = List<double>.filled(8, 0);
double foo0() {
do {
throw {}; //# 01: runtime error
} while (false);
return 0;
}
main() {
do {
switch (1) {
case 1:
{
var25[7] = foo0();
}
}
} while (false);
}