summaryrefslogtreecommitdiff
path: root/Zend/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'PHP-5.4' into PHP-5.5Dmitry Stogov2013-01-091-0/+15
|\ | | | | | | | | | | | | | | * PHP-5.4: Fixed bug #63882 (zend_std_compare_objects crash on recursion) Conflicts: NEWS
| * Fixed bug #63882 (zend_std_compare_objects crash on recursion)Dmitry Stogov2013-01-091-0/+15
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Dmitry Stogov2012-12-251-1/+1
|\ \ | |/ | | | | | | * PHP-5.4: spelling
| * spellingDmitry Stogov2012-12-251-1/+1
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Dmitry Stogov2012-12-2513-12/+119
|\ \ | |/ | | | | | | * PHP-5.4: Traits refactoring
| * Traits refactoringDmitry Stogov2012-12-2513-12/+119
| |
* | Implement Generator::throw() methodNikita Popov2012-12-245-0/+114
| | | | | | | | | | | | | | Generator::throw($exception) throws an exception into the generator. The exception is thrown at the current point of suspension within the generator. It basically behaves as if the current yield statement were replaced with a throw statement and the generator subsequently resumed.
* | Fix crash when last yielded value is a closureNikita Popov2012-12-211-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | If zend_generator_close is called from within zend_generator_resume (e.g. due to a return statement) then all the EGs will still be using the values from the generator. That's why the stack frame has to be the last thing that is dtored, otherwise some other dtor that is using EG(current_execute_data) might access the already freed memory segment. This was the case with the closure dtor. The fix is to move the dtors for key and value to the start of the handler. This way the stack frame is the last thing that is freed.
* | Do not add a ref to EX(object) on generator cloneNikita Popov2012-12-201-0/+20
| | | | | | | | | | If a ref has to be added it will be already added while walking the call slots.
* | Fix leak when generator ignores sent valueNikita Popov2012-12-181-0/+17
| | | | | | | | | | | | | | When the return value of yield wasn't used it was leaked. This is fixed by using a TMP_VAR return value instead of VAR. TMP_VARs are automatically freed when they aren't used.
* | Add test for bug #63741Xinchen Hui2012-12-141-0/+50
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Johannes Schlüter2012-12-131-0/+53
|\ \ | |/
| * Merge branch 'PHP-5.3' into PHP-5.4Johannes Schlüter2012-12-131-0/+53
| |\
| | * Fix Bug #63762 Sigsegv when Exception::$trace is changed by userJohannes Schlüter2012-12-131-0/+53
| | |
| * | Merge branch 'PHP-5.3' into PHP-5.4Dmitry Stogov2012-11-291-0/+58
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | * PHP-5.3: Fixed bug #63635 (Segfault in gc_collect_cycles) Conflicts: NEWS
| | * Fixed bug #63635 (Segfault in gc_collect_cycles)Dmitry Stogov2012-11-291-0/+58
| | |
* | | An exception thrown in try or catch block is disacarded by return statement ↵Dmitry Stogov2012-12-133-3/+31
| | | | | | | | | | | | in finally block.
* | | Restored proper generators behaviour in conjunction with "finally". (Nikita)Dmitry Stogov2012-12-128-29/+107
| | |
* | | Fixed bug #63066 (Calling an undefined method in a generator results in a ↵Dmitry Stogov2012-11-301-0/+16
| | | | | | | | | | | | seg fault) (fixed with previous commit).
* | | Fixed bug #63635 (Segfault in gc_collect_cycles)Dmitry Stogov2012-11-291-0/+58
| | |
* | | Fix bug #63596: finally in generators segfaultsNikita Popov2012-11-241-6/+11
| | | | | | | | | | | | | | | EX(fast_ret) wasn't initialized in this case so the code ended up dereferencing an invalid pointer after the jump.
* | | Merge branch 'PHP-5.4' into PHP-5.5Dmitry Stogov2012-11-201-0/+30
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | * PHP-5.4: Fixed bug #63468 (wrong called method as callback with inheritance) Conflicts: NEWS
| * | Merge branch 'PHP-5.3' into PHP-5.4Dmitry Stogov2012-11-201-0/+30
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | * PHP-5.3: Fixed bug #63468 (wrong called method as callback with inheritance) Conflicts: NEWS
| | * Fixed bug #63468 (wrong called method as callback with inheritance)Dmitry Stogov2012-11-201-0/+30
| | |
* | | Merge branch 'PHP-5.4'Xinchen Hui2012-10-231-3/+3
|\ \ \ | |/ /
| * | Update test scriptXinchen Hui2012-10-231-3/+3
| | |
* | | Merge branch 'PHP-5.4'Xinchen Hui2012-10-231-0/+24
|\ \ \ | |/ /
| * | Test for #63336, xfail nowXinchen Hui2012-10-231-0/+24
| | |
* | | Merge branch 'PHP-5.4'Xinchen Hui2012-10-231-0/+43
|\ \ \ | |/ /
| * | Fixed bug #63305 (zend_mm_heap corrupted with traits)Xinchen Hui2012-10-231-0/+43
| | |
* | | Merge branch 'PHP-5.4'Xinchen Hui2012-10-191-0/+23
|\ \ \ | |/ /
| * | Merge branch 'PHP-5.3' into PHP-5.4Xinchen Hui2012-10-191-0/+23
| |\ \ | | |/
| | * preg indenpent test script for #63055Xinchen Hui2012-10-191-0/+23
| | |
* | | Merge branch 'PHP-5.4'Xinchen Hui2012-10-105-0/+0
|\ \ \ | |/ /
| * | Merge branch 'PHP-5.3' into PHP-5.4Xinchen Hui2012-10-105-0/+0
| |\ \ | | |/
| | * Remove executable permission on incXinchen Hui2012-10-105-0/+0
| | |
* | | Merge branch 'PHP-5.4'Xinchen Hui2012-10-10273-0/+0
|\ \ \ | |/ /
| * | Remove executable permission on phptXinchen Hui2012-10-106-0/+0
| | |
| * | Merge branch 'PHP-5.3' into PHP-5.4Xinchen Hui2012-10-10267-0/+0
| |\ \ | | |/
| | * Remove executable permission on phptXinchen Hui2012-10-10268-0/+0
| | |
* | | Merge branch 'PHP-5.4'Xinchen Hui2012-10-081-0/+18
|\ \ \ | |/ /
| * | Fixed bug #63219 (Segfault when aliasing trait method when autoloader throws ↵Xinchen Hui2012-10-081-0/+18
| | | | | | | | | | | | excpetion)
* | | Merge branch 'PHP-5.4'Nikita Popov2012-09-271-0/+12
|\ \ \ | |/ / | | | | | | | | | Conflicts: Zend/zend_vm_def.h
| * | Fix bug #63173: Crash when invoking invalid array callbackNikita Popov2012-09-271-0/+12
| | | | | | | | | | | | | | | | | | The code did not check whether the zend_hash_index_find calls succeded, so PHP crashed when an array callback was called that contains two elements which don't have the indices 0 and 1.
* | | Return previous error handler when resetting the error handlerNikita Popov2012-09-222-2/+30
| | | | | | | | | | | | | | | | | | | | | set_error_handler(null) and set_exception_handler(null) now return the previous error/exception handler instead of just returning bool(true). This is consistent with the behavior of these functions with non-null values.
* | | Allow resetting the error handlerNikita Popov2012-09-221-0/+17
| | | | | | | | | | | | | | | | | | This allows the error handler to be reset using set_error_handler(null). As the code suggests this behavior was already previously intended, but the callback check was done too strictly.
* | | Revert error/exception handler changesNikita Popov2012-09-221-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts the following two commits: * 6ba2e662e447f369c6e7686e8b39dde033fd5334 * d8f8e98d8e0493adf1fae622595bd3435bdbf835 Laruence already did some partial changes to set_error_handler and set_exception_handler. I'm reverting those modifications to apply the full set of changes. (The modifications changed the code structure in a way that would lead to more duplication with the new behavior.)
* | | Fixed bug #63132Nikita Popov2012-09-221-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EG(arg_types_stack) is now also backed up when generators are used. This allows the use of yield in nested method calls. This commit adds two new functions to the zend_ptr_stack API: zend_ptr_stack_push_from_memory zend_ptr_stack_pop_into_memory both taking the following arguments: zend_ptr_stack *stack, int count, void **pointers
* | | Merge branch 'PHP-5.4'Dmitry Stogov2012-09-211-0/+36
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | * PHP-5.4: Fixed bug #63111 (is_callable() lies for abstract static method) Fix folding Conflicts: NEWS
| * | Merge branch 'PHP-5.3' into PHP-5.4Dmitry Stogov2012-09-211-0/+36
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | * PHP-5.3: Fixed bug #63111 (is_callable() lies for abstract static method) Conflicts: NEWS