// 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);
}
