On Mon, Dec 18, 2017 at 3:38 PM, Levi Morrison <le...@php.net> wrote: >> Thoughts? If I don't hear anything in a week, I'll just apply to 7.1 >> and merge up. >> > Is our macro `#define Z_EXPECTED_TYPE_STR(id, str) str,` ever used? If > so there might be a change in perceived behavior because the first > entry previously had "integer" and now it is "mixed". > It exists for the purpose of generating output message when the type is not cast/coercible to the expected type. The index of the string entry corresponds 1:1 with the value of the enum, so it'll only show "mixed" when the expect type was ANY and we failed to cast/coerce to ANY (which will obviously never happen).
In fact, the previous state where _expected_type was initialized to IS_UNDEF (and by extension interpreted poorly as Z_EXPECTED_LONG) would also never happen because the cast/coersion error is only produced by P_PARAM_*() macros who have in turn explicitly reset _expected_type to some specific value. The default initialization exists only to silence unhelpful compiler warnings and not to provide any actual use or effect. -Sara -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php