Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 //-----------------------------------------------------------------------------
7 var BUGNUMBER = 452498;
8 var summary = 'TM: upvar2 regression tests';
9 var actual = '';
10 var expect = '';
13 //-----------------------------------------------------------------------------
14 test();
15 //-----------------------------------------------------------------------------
17 function test()
18 {
19 enterFunc ('test');
20 printBugNumber(BUGNUMBER);
21 printStatus (summary);
23 // ------- Comment #119 From Gary Kwong [:nth10sd]
25 // The following additional testcases also do not require -j.
27 // =====
28 function f() {
29 var x;
30 eval("for(let y in [false]) var x, x = 0");
31 }
32 f();
34 // Assertion failure: !JSVAL_IS_PRIMITIVE(regs.sp[-2]), at ../jsinterp.cpp:3243
35 // Opt crash [@ JS_GetMethodById] near null
36 // =====
37 new Function("for(x1 in ((function (){ yield x } )())){var c, x = []} function x(){} ");
39 // Assertion failure: pn_used, at ../jsparse.h:401
40 // Opt crash [@ FindFunArgs] at null
41 // =====
42 uneval(new Function("[(x = x) for (c in []) if ([{} for (x in [])])]"))
44 // Assertion failure: (uintN)i < ss->top, at ../jsopcode.cpp:2814
45 // =====
46 function f() {
47 var x;
48 (function(){})();
49 eval("if(x|=[]) {var x; }");
50 }
51 f();
53 // Opt crash [@ js_ValueToNumber] at 0xc3510424
54 // Dbg crash [@ js_ValueToNumber] at 0xdadadad8
55 // =====
57 reportCompare(expect, actual, summary);
59 exitFunc ('test');
60 }