Prohibit from eliminating non-local temporary variables

This commit is contained in:
Alexey Andreev
2016-03-22 13:48:41 +03:00
parent af7ddb4572
commit 8709289b0a
9 changed files with 93 additions and 4 deletions
@@ -10,10 +10,10 @@ function test(n) {
}
function box() {
var result = test(20)
var result = test(20);
if (result != 20) return "fail1: " + result;
result = test(-20)
result = test(-20);
if (result != 20) return "fail2: " + result;
return "OK"
@@ -0,0 +1,24 @@
var $tmp;
function test(n) {
if (n >= 0) {
$tmp = n;
}
else {
$tmp = -n;
}
var result = $tmp;
return result;
}
function box() {
var result = test(20);
if (result != 20) return "fail1: " + result;
result = test(-20);
if (result != 20) return "fail2: " + result;
if ($tmp != 20) return "fail3: " + result;
return "OK"
}
@@ -0,0 +1,24 @@
var $tmp;
function test(n) {
if (n >= 0) {
$tmp = n;
}
else {
$tmp = -n;
}
var result = $tmp;
return result;
}
function box() {
var result = test(20);
if (result != 20) return "fail1: " + result;
result = test(-20);
if (result != 20) return "fail2: " + result;
if ($tmp != 20) return "fail3: " + result;
return "OK"
}