Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance gives Segmentation fault)
Fix test failed
Merge branch 'PHP-5.3' into PHP-5.4

* PHP-5.3:
  Fix test failed
  Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance gives Segmentation fault)
Merge branch 'PHP-5.4'

* PHP-5.4:
  Fix test failed
  Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance gives Segmentation fault)
missed the test script
Merge branch 'PHP-5.3' into PHP-5.4

* PHP-5.3:
  missed the test script
Merge branch 'PHP-5.4'

* PHP-5.4:
  missed the test script
Require parenthesis around yield expressions

If yield is used in an expression context parenthesis are now required.
This ensures that the code is unambiguos.

Yield statements can still be used without parenthesis (which should be
the most common case).

Also yield expressions without value can be used without parenthesis,
too (this should be the most common case for coroutines).

If the yield expression is used in a context where parenthesis are required
anyway, no additional parenthesis have to be inserted.

Examples:

    // Statements don't need parenthesis
    yield $foo;
    yield $foo => $bar;

    // Yield without value doesn't need parenthesis either
    $data = yield;

    // Parentheses don't have to be duplicated
    foo(yield $bar);
    if (yield $bar) { ... }

    // But we have to use parentheses here
    $foo = (yield $bar);

This commit also fixes an issue with by-ref passing of $foo[0] like
variables. They previously weren't properly fetched for write.

Additionally this fixes valgrind warnings which were caused by access to
uninitialized memory in zend_is_function_or_method_call().
Fixes mcrypt_ecb not issuing an E_DEPRECATED level notice, despite having been deprecated for some time. Please reference bug #62374 as well.
Added IntlDateFormatter::formatObject(). Refactor

To better support IntlCalendar, added this function:

string IntlDateFormatter::formatObject(IntlCalendar|DateTime $obj [,
	array|int|string $format = null [, string $locale = null).

$format is either of the constants IntlDateFormatter::FULL, etc., in
which case this format applies to both the date and the time, an array
in the form array($dateFormat, $timeFormat), or a string with the
SimpleDateFormat pattern.

This uses both the Calendar type and the timezone of the passed object
to configure the formatter (a GregorianCalendar is forced for
DateTime).

Some stuff was moved around and slighlt modified to allow for more code
reuse.
Readded accidentally removed line
Merge branch 'datefmt_tz_cal_interop'

* datefmt_tz_cal_interop:
  Readded accidentally removed line
  Added IntlDateFormatter::formatObject(). Refactor
  Refactored internal_get_timestamp()
  Unified zval -> UDate conversions
Reflect changes made in merge 99e48d3
Improve error message for ssl request
Merge branch 'PHP-5.4'

* PHP-5.4:
  Improve error message for ssl request
Remove reference restrictions from foreach

foreach only allowed variables to be traversed by reference. This never
really made sense because

    a) Expressions like array(&$a, &$b) can be meaningfully iterated by-ref
    b) Function calls can return by-ref (so they can also be meaningfully
       iterated)
    c) Iterators could at least in theory also be iterated by-ref (not
       sure if any iterator makes use of this)

With by-ref generators the restriction makes even less sense, so I removed
it altogether.
Fix throwing of exceptions within a generator

If a generator threw an exception and was iterated using foreach (i.e. not
manually) an infinite loop was triggered. The reason was that the exception
was not properly rethrown using zend_throw_exception_internal.
Throw error also for return occuring before yield

Previously only an error was thrown when return occured after yield. Also
returns before the first yield would fail for by-ref generators.

Now the error message is handled in pass_two, so all returns are checked.
Add T_YIELD in tokenizer_data.c

Also had to fix up some tokenizer tests that were affected by the token
number changes.
merge 5.3.15 NEWS