1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 17:52:16 +01:00

Improve "narrowing" error message

By including the opcode name.
This commit is contained in:
Nikita Popov
2018-10-25 16:18:10 +02:00
parent 33fa02ea38
commit e7153e8a2f

View File

@@ -1927,7 +1927,10 @@ static void handle_type_narrowing(const zend_op_array *op_array, zend_ssa *ssa,
{
if (1) {
/* Right now, this is always a bug */
zend_error(E_WARNING, "Narrowing occurred during type inference. Please file a bug report on bugs.php.net");
int def_op_num = ssa->vars[var].definition;
const zend_op *def_opline = def_op_num >= 0 ? &op_array->opcodes[def_op_num] : NULL;
const char *def_op_name = def_opline ? zend_get_opcode_name(def_opline->opcode) : "PHI";
zend_error(E_WARNING, "Narrowing occurred during type inference of %s. Please file a bug report on bugs.php.net", def_op_name);
} else {
/* if new_type set resets some bits from old_type set
* We have completely recalculate types of some dependent SSA variables