1
0
mirror of https://github.com/php/php-src.git synced 2026-04-29 11:13:36 +02:00
Commit Graph

852 Commits

Author SHA1 Message Date
Xinchen Hui 2f4875bf92 Fix bug #60611 (Segmentation fault with Cls::{expr}() syntax) 2011-12-27 08:38:18 +00:00
Stanislav Malyshev 0610ca459a Fix warning on non-numeric offsets 2011-12-22 03:22:42 +00:00
Stanislav Malyshev 622412d8e6 implement the solution for isset/string offsets, fix bug #60362 2011-12-19 02:05:03 +00:00
Stefan Marr 3dc9f0abe6 Fixed inconsistent and broken handling of private properties in traits.
# The handling of private properties in classes is now consistent with private properties in traits.
# Perviously, privates could cause strict warnings, are were not properly merged into the class when
# the parent class had a private property of the same name. Now, we introduce it without notice,
# since it is a new and independent property, just like in normal classes.
# This problem was diagnosed while working on Bug #60536.
2011-12-17 14:26:39 +00:00
Xinchen Hui 01dc47631e Fixed bug #60536 (Traits Segfault)
# this is a tough one, I think I should explain
# Zend use zend_object->properties_table both as zval ** and zval ***
# if a zend_object->properties is not initialized, the properties_table is zval **
# while in rebuild_object_properties, zend will store the zval ** to zend_object->properties
# then stash the zval ***(ie, zobj->properties_table[0] is zval ** now) to  zobj->properties_table[0] 
# so when a zend_object inherit form multi parent and these parent have a same property_info->offset 
# properties, will result in a repeat zval **->zval ** transform, which will lead to a segmentfault
# *may be* this fix is not the best fix, we should not use this tricky way, and rewrite this mechanism.
2011-12-16 19:02:52 +00:00
Xinchen Hui 95784cf6c5 remove irrelevant codes in test 2011-12-05 12:46:38 +00:00
Xinchen Hui 2f8c502d22 Add xfaild test for a secluded issue 2011-12-05 12:44:12 +00:00
Dmitry Stogov 1d6c98a136 Fixed bug #60444 (Segmentation fault with include & class extending) 2011-12-05 09:20:12 +00:00
Felipe Pena bfb1d38b9c - Added tests for bug #60350
patch by: php@mickweiss.com
2011-11-30 21:04:07 +00:00
Stefan Marr db0888dfc1 Fixed Bug #60369 Crash with static property in trait 2011-11-23 21:24:34 +00:00
Felipe Pena ebd7dc5f88 - Fix tests 2011-11-19 18:01:26 +00:00
Felipe Pena bc810a443d - Fixed bug #43200 (Interface implementation / inheritence not possible in abstract classes) 2011-11-19 13:36:03 +00:00
Stefan Marr 76772dc20d Fixes Bug #54441 (Handling of changing modifiers on a trait alias)
# this now results also in a compilation error, since it would open the door for inconsistencies, and violates the DRY principle.
2011-11-18 13:49:07 +00:00
Dmitry Stogov a65abc12b6 Fixed bug #60138 (GC crash with referenced array in RecursiveArrayIterator) 2011-11-18 12:43:53 +00:00
Stefan Marr c5ba229617 Fixed Bug #60165 (Aliasing unexisting trait should throw/trigger the exception/error)
- aliases that are not actually matching anything are treated as errors now. This
  will make sure that all methods that are expected to be in a class are actually
  there, or in case a trait changed for instance, that the code breaks already
  on composition
- Precedence declarations are also checked to ensure that the method
  which is supposed to take precedence actually exists, however,
  the other traits mentioned in the declaration are not regarded.
  We are more lenient here, since this avoids unnecessary fragility.
- fixed another seamingly unrelated test which broke in the progress
  but wasn't clear before either.
2011-11-17 21:04:15 +00:00
Felipe Pena 3c7a573a2c - Fixed bug #60099 (__halt_compiler() works in braced namespaces) 2011-11-16 17:41:40 +00:00
Felipe Pena ff48763f4b - Added class member access on instantiation (e.g. (new foo)->bar()) support 2011-11-06 13:25:45 +00:00
Stefan Marr 7334dfd7eb Fixed Bug #60217 (Requiring the same method from different traits)
- also added test to check for inconsistent abstract method definitions, they need to be compatible
2011-11-05 01:46:40 +00:00
Xinchen Hui cae2f1381f Fix bug #60169 Conjunction of ternary and list crashes PHP 2011-11-03 03:59:41 +00:00
Ferenc Kovacs 5bf6eaf3f4 adding memory check for FreeBSD also, TODO: refactor the free memory check into a function in an include file 2011-11-02 21:27:03 +00:00
Dmitry Stogov e0f781f496 Fixed bug #60139 (Anonymous functions create cycles not detected by the GC) 2011-11-02 06:31:33 +00:00
Ferenc Kovacs 8412709f37 allocating more than 2GB memory is slow. 2011-11-01 21:27:57 +00:00
Stefan Marr 4591498df7 Fixed Bug #60153 (Interface method prototypes not enforced when implementd via traits.)
# Moved the freeing of overriden functions to a point after the check.
# The new check comes after the normal inheritance check to give the first check
# the opportunity to abort with a more detailed error.
# Also fixed a small type in an unrelated test.
2011-11-01 15:25:24 +00:00
Stefan Marr 9b0d73af1d Added missing consistency check for abstract methods required by one trait and implemented by another. 2011-11-01 13:42:53 +00:00
Stefan Marr b5f15ef561 Fixed Bug #60145 (Usage of trait's use statement inside interfaces not properly checked.) 2011-11-01 00:39:10 +00:00
Stefan Marr 2e5d5e5ac6 Fixed Bug #60173 (Wrong error message on reflective trait instantiation) 2011-10-31 22:59:00 +00:00
Xinchen Hui 63812d1849 Update tests 2011-10-31 06:52:45 +00:00
Xinchen Hui 378ad2f447 Test for #60174 (Notice when array in method prototype error) 2011-10-31 06:04:43 +00:00
Xinchen Hui 9d98b3e39a tests for 60169 2011-10-30 06:28:24 +00:00
Ferenc Kovacs b6aa3964d8 check the available memory on linux and skip if it is not enough 2011-10-23 00:07:01 +00:00
Ferenc Kovacs 9798694c03 shave off 900M memory from this test 2011-10-22 23:47:52 +00:00
Stanislav Malyshev d81ea16ef1 Changed silent conversion of array to string to produce a notice. (Patrick) 2011-10-21 06:08:47 +00:00
Stefan Marr e14354af21 Fixed Bug #55554 (Legacy constructors not handled properly) [TRAITS] [DOC]
# The handling of legacy constructors defined by traits was corrected.
# They are now properly registered and used on instantiation.
# The situation for conflicting legacy and __construct constructors is
# mostly identical. If they are defined in the class, they override conflicts
# and do not collide. However, in case different styles are mixed, between
# class and trait definition, we assume a programmer's mistake and report
# a collision.
#
# BTW: +1 for all the fixed tests! `make test` is fun again.
2011-10-09 11:13:27 +00:00
Xinchen Hui 2e925f6f19 Fixed bug #55825, and add test script 2011-10-03 17:01:17 +00:00
Xinchen Hui c58f254354 Improve the warning message of incompatible arguments. (#55719)
And fix tests related.
2011-09-23 15:08:11 +00:00
Felipe Pena 5441cd1f0d - Fixed bug #55705 (Omitting a callable typehinted argument causes a segfault)
patch by: laruence@php
2011-09-17 00:16:11 +00:00
Pierrick Charron 63293044f9 Fixed test bug #55713 (Christopher Jones) 2011-09-16 18:29:22 +00:00
Dmitry Stogov 750e4e1011 Fixed bug #55578 (Segfault on implode/concat) 2011-09-14 13:18:19 +00:00
Dmitry Stogov 19dd70518c Fixed bug #55509 (segfault on x86_64 using more than 2G memory). (Laruence) 2011-09-13 07:01:46 +00:00
Hannes Magnusson ffe0c530af Remove bogus skipif and make adjust the tests 2011-09-07 10:44:32 +00:00
Stanislav Malyshev 38ff70ef25 Commit Gustavo's closure rebinding patch as desided by vote 2011-09-07 06:46:27 +00:00
Pierre Joye 431db84bc9 - fix skipif 2011-09-06 15:40:12 +00:00
Pierre Joye 43e8a06cac - parser version independent 2011-08-31 11:18:13 +00:00
Pierre Joye cbcb66f63a - parser version independent 2011-08-31 11:16:25 +00:00
Pierre Joye 9250c721c9 - use only the test name 2011-08-31 10:46:20 +00:00
Pierre Joye fdeb68b565 - use only the test name 2011-08-31 10:43:39 +00:00
Pierre Joye 138bff32e7 - use only the test name 2011-08-31 10:30:39 +00:00
Pierre Joye 5c6e57264e - use only test name 2011-08-31 10:22:18 +00:00
Pierre Joye b1582cdc65 - make it parser version independent 2011-08-31 10:05:54 +00:00
Stefan Marr 117e072941 Fixed bug #55524 Traits should not be able to extend a class
# also used the Z_STRVAL where it seemed appropriate
2011-08-29 15:53:46 +00:00