// Copyright (C) 2016 the V8 project authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- description: AnnexB extension not honored in strict mode es6id: B.3.3.1 flags: [onlyStrict] info: > Function declaration in the `case` clause of a `switch` statement in function code B.3.3.1 Changes to FunctionDeclarationInstantiation 1. If strict is false, then ---*/ var err1, err2; (function() { try { f; } catch (exception) { err1 = exception; } switch (1) { case 1: function f() { } } try { f; } catch (exception) { err2 = exception; } }()); assert.sameValue(err1.constructor, ReferenceError); assert.sameValue(err2.constructor, ReferenceError);