From 7a73c5f6bba386e0d82dd467e9dacceb10b851e3 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Thu, 2 Feb 2017 00:23:11 +0100 Subject: [PATCH] Deprecate (unset) Pecularily, there wasn't a single test for the (unset) cast... --- Zend/tests/unset_cast_deprecated.phpt | 14 ++++++++++++++ Zend/zend_compile.c | 4 ++++ 2 files changed, 18 insertions(+) create mode 100644 Zend/tests/unset_cast_deprecated.phpt diff --git a/Zend/tests/unset_cast_deprecated.phpt b/Zend/tests/unset_cast_deprecated.phpt new file mode 100644 index 0000000000..6744c85f02 --- /dev/null +++ b/Zend/tests/unset_cast_deprecated.phpt @@ -0,0 +1,14 @@ +--TEST-- +The (unset) cast is deprecated +--FILE-- + +--EXPECTF-- +Deprecated: The (unset) cast is deprecated in %s on line %d +NULL +int(1) diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 9a904eefa8..84a3e6a021 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -6871,6 +6871,10 @@ void zend_compile_cast(znode *result, zend_ast *ast) /* {{{ */ opline = zend_emit_op_tmp(result, ZEND_CAST, &expr_node, NULL); opline->extended_value = ast->attr; + + if (ast->attr == IS_NULL) { + zend_error(E_DEPRECATED, "The (unset) cast is deprecated"); + } } /* }}} */ -- 2.40.0