summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2021-03-18 15:15:21 +0100
committerNikita Popov <nikita.ppv@gmail.com>2021-03-18 15:15:21 +0100
commit4df39f4bd093ac70bb6582eb6dbaf29f45a8c1fd (patch)
treeaca4c5c3a7a3bc2f37c42e192a42957dd1918688 /Zend/zend_execute.c
parentc8a8c47f7eef7ef2a5853f2b6733e4114e72cbd0 (diff)
downloadphp-git-4df39f4bd093ac70bb6582eb6dbaf29f45a8c1fd.tar.gz
Don't imply SILENT from NO_AUTOLOAD
We have separate flags for non-autoloading class fetches and silent class fetches. There's no reason why NO_AUTOLOAD should be special-cased to be implicitly silent.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 9f69041257..39862a2425 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1002,7 +1002,7 @@ static zend_always_inline bool zend_check_type_slow(
}
} else {
ce = zend_fetch_class(ZEND_TYPE_NAME(*list_type),
- (ZEND_FETCH_CLASS_AUTO | ZEND_FETCH_CLASS_NO_AUTOLOAD));
+ ZEND_FETCH_CLASS_AUTO | ZEND_FETCH_CLASS_NO_AUTOLOAD | ZEND_FETCH_CLASS_SILENT);
if (!ce) {
if (HAVE_CACHE_SLOT) {
cache_slot++;
@@ -1032,7 +1032,8 @@ static zend_always_inline bool zend_check_type_slow(
*cache_slot = ce;
}
} else {
- ce = zend_fetch_class(ZEND_TYPE_NAME(*type), (ZEND_FETCH_CLASS_AUTO | ZEND_FETCH_CLASS_NO_AUTOLOAD));
+ ce = zend_fetch_class(ZEND_TYPE_NAME(*type),
+ ZEND_FETCH_CLASS_AUTO | ZEND_FETCH_CLASS_NO_AUTOLOAD | ZEND_FETCH_CLASS_SILENT);
if (UNEXPECTED(!ce)) {
goto builtin_types;
}