Remove bareword fallback for constants

Access to undefined constants will now always result in an Error
exception being thrown.

This required quite a few test changes, because there were many
buggy tests that unintentionally used bareword fallback in combination
with error suppression.
This commit is contained in:
Nikita Popov 2019-01-31 12:25:51 +01:00
parent 3d39479f4d
commit aad39879f2
49 changed files with 375 additions and 470 deletions

View file

@ -917,9 +917,8 @@ void zend_assert_valid_class_name(const zend_string *const_name);
#define ZEND_DIM_IS 1
#define IS_CONSTANT_UNQUALIFIED 0x010
#define IS_CONSTANT_CLASS 0x080 /* __CLASS__ in trait */
#define IS_CONSTANT_IN_NAMESPACE 0x100
#define IS_CONSTANT_UNQUALIFIED_IN_NAMESPACE 0x100
static zend_always_inline int zend_check_arg_send_type(const zend_function *zf, uint32_t arg_num, uint32_t mask)
{