]> granicus.if.org Git - php/commitdiff
Deprecate (real) cast
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 12 Jul 2019 10:09:50 +0000 (12:09 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 22 Jul 2019 09:39:52 +0000 (11:39 +0200)
Zend/tests/real_cast_deprecation.phpt [new file with mode: 0644]
Zend/zend_language_scanner.l
ext/standard/tests/network/bug76755.phpt

diff --git a/Zend/tests/real_cast_deprecation.phpt b/Zend/tests/real_cast_deprecation.phpt
new file mode 100644 (file)
index 0000000..a73517c
--- /dev/null
@@ -0,0 +1,11 @@
+--TEST--
+The (real) cast is deprecated
+--FILE--
+<?php
+
+var_dump((real) 42);
+
+?>
+--EXPECTF--
+Deprecated: The (real) cast is deprecated, use (float) instead in %s on line %d
+float(42)
index 82e884d583f169841434d5ba8e5eea928c554135..fadd2f2a503736b30135acd3596ab37ffe8b1302 100644 (file)
@@ -1481,7 +1481,14 @@ NEWLINE ("\r"|"\n"|"\r\n")
        RETURN_TOKEN(T_INT_CAST);
 }
 
-<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}("real"|"double"|"float"){TABS_AND_SPACES}")" {
+<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}("double"|"float"){TABS_AND_SPACES}")" {
+       RETURN_TOKEN(T_DOUBLE_CAST);
+}
+
+<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}"real"{TABS_AND_SPACES}")" {
+       if (PARSER_MODE()) {
+               zend_error(E_DEPRECATED, "The (real) cast is deprecated, use (float) instead");
+       }
        RETURN_TOKEN(T_DOUBLE_CAST);
 }
 
index 361ae8a1a8b63a05c58a7cee8fcafa0c69c5fde3..58ef1fe440340d08dc5edcf4bb04020275e76b73 100644 (file)
@@ -2,7 +2,7 @@
 Bug #76755 (setcookie does not accept "double" type for expire time)
 --FILE--
 <?php
-var_dump(setcookie('name', 'value', (real)(time() + 1296000)));
+var_dump(setcookie('name', 'value', (float)(time() + 1296000)));
 ?>
 --EXPECT--
 bool(true)