All code dealing with unfinished execution cleanup is now in a separate
function (previously most of it was run even when execution was properly
finished.
Furthermore some code dealing with unclean shutdowns has been removed,
which is no longer necessary, because we no longer try to clean up in
this case.
This commit also prevents user classes from directly implementing
DateTimeInterface, because ext/date relies on classes implementing
it to support certain internal structures.
* 'PHP-5.6' of git.php.net:php-src:
Fixed bug #65199 (Wrong Day of Week) and fixed bug #63391 (Incorrect/inconsistent day of week prior to the year 1600)
Marking those two as XFAIL for now.
Fixed a few DST changeover issues.
Move add/sub to timelib.
Fix backwards transition diffs.
Split up tests into their different categories.
Group those tests a bit better, as some of the bd ones wanted a "ST" feature that doesn't exist yet.
Fixed forward transitions in diffs.
Always reset those parameters.
Fixed "Forward Transition" construction of DateTime objects.
* 'PHP-5.6' of git.php.net:php-src:
Updated NEWS for Constant Scalar Exprs RFC
Moved arrays again to "static_scalar:" & little cleanup
Renaming
Constant expressions refactoring
Removed operations on constant arrays. They make no sense as constants are not allowed to be arrays. And as just properties are allowed to; no problem, we still don't need operations on any constant array.
Added a few more operators
Whitespace fix
converted several switches to ifs and made more opcache friendly
Fatal error about self referencing constants fixed
Fixed mem leaks, added tests and ternary operator
Working commit for constant scalar expressions (with constants). Tests will follow.
This fixes the issue in
https://wiki.php.net/rfc/datetime_and_daylight_saving_time#forward_transitions
There is a period during transition to DST where a time (such as 02:30) does
not exist. PHP already calculated the correct timestamp for this, but failed to
"rounded forward" to the existing correct hour value.