@@ -2901,6 +2901,7 @@ merge(Compressor.prototype, {
|
|||||||
}
|
}
|
||||||
if (isNaN(result)) return compressor.find_parent(AST_With) ? this : result;
|
if (isNaN(result)) return compressor.find_parent(AST_With) ? this : result;
|
||||||
if (compressor.option("unsafe_math")
|
if (compressor.option("unsafe_math")
|
||||||
|
&& result
|
||||||
&& typeof result == "number"
|
&& typeof result == "number"
|
||||||
&& (this.operator == "+" || this.operator == "-")) {
|
&& (this.operator == "+" || this.operator == "-")) {
|
||||||
var digits = Math.max(0, decimals(left), decimals(right));
|
var digits = Math.max(0, decimals(left), decimals(right));
|
||||||
|
|||||||
@@ -765,3 +765,19 @@ issue_3536: {
|
|||||||
}
|
}
|
||||||
expect_stdout: "number 99 11 121"
|
expect_stdout: "number 99 11 121"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_3539: {
|
||||||
|
options = {
|
||||||
|
evaluate: true,
|
||||||
|
unsafe_math: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
var a = -0 + -"";
|
||||||
|
console.log(0/a, 1/a, -1/a);
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
var a = -0;
|
||||||
|
console.log(0/a, 1/a, -1/a);
|
||||||
|
}
|
||||||
|
expect_stdout: "NaN -Infinity Infinity"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user