f9db79ebdb
Function declarations were previously permitted by V8 in many locations which no ECMAScript specification allowed; the ECMAScript 2015 spec enumerates a few locations (in blocks, as well as after labels and in conditionals when in sloppy mode). This patch ships the flag to restrict the usage of function declarations to those contexts. R=adamk LOG=Y BUG=v8:4824 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1799233003 Cr-Commit-Position: refs/heads/master@{#34828}
13 lines
423 B
JavaScript
13 lines
423 B
JavaScript
// Copyright 2015 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Flags: --harmony-sloppy --harmony-sloppy-function --harmony-sloppy-let
|
|
// Flags: --no-harmony-restrictive-declarations
|
|
|
|
// At some point, this code led to DCHECK errors in debug mode
|
|
|
|
for (; false;) function foo() {};
|
|
|
|
for (x in []) function foo() {};
|