mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Unary minus const expression consistency
- of 0.0 should result in -0.0 Closes GH-10978
This commit is contained in:
parent
5e76c6d264
commit
41bbb116dd
3 changed files with 21 additions and 2 deletions
3
NEWS
3
NEWS
|
@ -2,6 +2,9 @@ PHP NEWS
|
|||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||
?? ??? ????, PHP 8.1.19
|
||||
|
||||
- Core:
|
||||
. Fix inconsistent float negation in constant expressions. (ilutov)
|
||||
|
||||
- DOM:
|
||||
. Fixed bug #80602 (Segfault when using DOMChildNode::before()).
|
||||
(Nathan Freeman)
|
||||
|
|
16
Zend/tests/unary_minus_const_expr_consistency.phpt
Normal file
16
Zend/tests/unary_minus_const_expr_consistency.phpt
Normal file
|
@ -0,0 +1,16 @@
|
|||
--TEST--
|
||||
Unary minus constant expression consistency
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
const ZERO = 0.0;
|
||||
const MINUS_ZERO = -ZERO;
|
||||
$minus_zero = -ZERO;
|
||||
|
||||
var_dump(MINUS_ZERO);
|
||||
var_dump($minus_zero);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
float(-0)
|
||||
float(-0)
|
|
@ -662,8 +662,8 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate(zval *result, zend_ast *ast
|
|||
if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[0], scope) != SUCCESS)) {
|
||||
ret = FAILURE;
|
||||
} else {
|
||||
ZVAL_LONG(&op1, 0);
|
||||
ret = sub_function(result, &op1, &op2);
|
||||
ZVAL_LONG(&op1, -1);
|
||||
ret = mul_function(result, &op1, &op2);
|
||||
zval_ptr_dtor_nogc(&op2);
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue