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

Reply via email to