Commit graph

233 commits

Author SHA1 Message Date
Dmitry Stogov
9e45ac53ce Fixed BC break described by bug #72119.
It was introduced after 7.0.5 release by attempt to fix bug #71428.
2016-04-28 19:56:10 +03:00
Dmitry Stogov
0f8d0df938 Merge branch 'PHP-7.0'
* PHP-7.0:
  Prevent usage in GC after free.
2016-04-19 01:37:45 +03:00
Dmitry Stogov
e46be0cd19 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Prevent usage in GC after free.
2016-04-19 01:37:24 +03:00
Dmitry Stogov
3c305c14f6 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed build
2016-04-07 01:00:34 +03:00
Dmitry Stogov
088f55ae74 Fixed build 2016-04-07 00:59:21 +03:00
Kalle Sommer Nielsen
fdff901cad Fix the build 2016-04-06 22:25:05 +02:00
Dmitry Stogov
936f161402 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71978 (Existence of return type hint affects other compatibility rules)
2016-04-06 17:20:43 +03:00
Dmitry Stogov
e9d65160e8 Fixed bug #71978 (Existence of return type hint affects other compatibility rules) 2016-04-06 17:17:10 +03:00
Nikita Popov
32294a25c8 Fixed bug #62814 2016-03-29 19:08:17 +02:00
Joe Watkins
8ae3524a13 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove unused param
2016-03-29 11:34:31 +01:00
Joe Watkins
d12ed0c7fa remove unused param 2016-03-29 11:34:18 +01:00
Joe Watkins
45035b1b8d Merge branch 'PHP-7.0'
* PHP-7.0:
  fix bug #71428: Validation type inheritance with = NULL
2016-03-29 09:58:06 +01:00
Joe Watkins
dd70c39556 fix bug #71428: Validation type inheritance with = NULL 2016-03-29 09:57:51 +01:00
Joe Watkins
bdd05e7483 Merge branch 'PHP-7.0'
* PHP-7.0:
  Bug #71428 work ... hopefully, fix drupal 8
2016-03-29 09:36:46 +01:00
Joe Watkins
3f56dfe866 Bug #71428 work ... hopefully, fix drupal 8 2016-03-29 09:36:08 +01:00
Joe Watkins
34d8fea1a8 Merge branch 'PHP-7.0'
* PHP-7.0:
  work on #71428
2016-03-28 11:55:03 +01:00
Joe Watkins
ee9a78a033 work on #71428 2016-03-28 11:54:25 +01:00
Xinchen Hui
9b61479166 We don't need to dup zend_class_constant here.
quote why the internal class is still using duplication:
```
for internal classes, the zend_class_constant is malloc-ed. we need to
free it.

if (const->ce == ce) {
zval_ptr_dtor(&const->value);
free(const)
}
so, if two classes share one const, and it(parent class) was freed
before, this read(in child class, const->ce) is invalid..

and destroy_zend_class is called via zend_hash_destroy(class_table).
which is not in reverse order... so, parent classes are dtor first.

if we want this work, we should change that order.
```
2016-01-22 11:22:37 +08:00
Xinchen Hui
62c1c11ad3 Fixed bug #71413 (Crash with constants on internal interfaces) 2016-01-21 13:30:41 +08:00
Dmitry Stogov
d47285648c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71248 (Wrong interface is enforced)
  Update NEWS
2016-01-13 11:42:50 +03:00
Dmitry Stogov
50be2c89be Fixed bug #71248 (Wrong interface is enforced) 2016-01-13 11:41:57 +03:00
Xinchen Hui
4550e93b78 Merge branch 'PHP-7.0' 2016-01-06 00:03:01 +08:00
Bob Weinand
654c8aedd1 Fixed bug #71275 (Bad method called on cloning an object having a trait) 2016-01-05 16:27:24 +01:00
Xinchen Hui
563659822d Merge branch 'PHP-7.0' 2016-01-02 17:56:54 +08:00
Xinchen Hui
97a9470d97 bump year which is missed in rev 49493a2 2016-01-02 17:56:11 +08:00
Julien Pauli
7a2f60d3c7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove mentions of "type hint" and "typehint"
2015-12-24 15:19:54 +01:00
Levi Morrison
2a7eeff33e Remove mentions of "type hint" and "typehint" 2015-12-24 15:19:31 +01:00
Dmitry Stogov
a75c195000 Implemented the RFC Support Class Constant Visibility.
Squashed commit of the following:

commit f11ca0e7a5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Dec 8 12:38:42 2015 +0300

    Fixed test expectation

commit 211f873f54
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Dec 8 12:28:38 2015 +0300

    Embed zend_class_constant.flags into zend_class_constants.value.u2.access_flags

commit 51deab84b2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Dec 7 11:18:55 2015 +0300

    Fixed issues found by Nikita

commit 544dbd5b47
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Sat Dec 5 02:41:05 2015 +0300

    Refactored immplementation of https://wiki.php.net/rfc/class_const_visibility
    @reeze created an RFC here and I emailed internals here and didn't get any responses positive/negative.
2015-12-08 12:40:42 +03:00
Nikita Popov
ccec609b82 Fix bug #62441
These checks were introduced by 8646d9afce
back when name resolution was working differently.
2015-08-28 19:00:05 +02:00
Dmitry Stogov
71af54e5f6 Mark error and exception functions as "cold" (Matt's idea) 2015-08-19 14:40:56 +03:00
Michael Wallner
17fc5cc65d fix inheritance of internal interfaces with constants 2015-08-18 08:20:12 +02:00
Xinchen Hui
121409865b use efree_size here 2015-08-12 11:15:09 +08:00
Xinchen Hui
8e709d7f5d Fixed invalid read (Part issue of #69579) 2015-07-10 22:26:53 +08:00
Xinchen Hui
54305c8952 Fixed No 2 issue in #1400 2015-07-10 16:04:45 +08:00
Xinchen Hui
a3f05d640d Fixed Issue #1400 (double free static property) 2015-07-10 15:27:06 +08:00
Niklas Keller
5f72d94a8b Correct type hint name for booleans in method signatures 2015-07-02 21:14:30 +02:00
Dmitry Stogov
7aa7627172 Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes). 2015-06-30 13:59:27 +03:00
Dmitry Stogov
66031cfe19 Restored old behavior 2015-06-29 14:10:46 +03:00
Bob Weinand
e5fae77969 Show full signature upon inheritance mismatch 2015-06-29 01:00:12 +02:00
Dmitry Stogov
6bcf121f5b micro-optimization 2015-06-03 13:43:05 +03:00
Xinchen Hui
6b5ca7202f Fixed #69566 in master 2015-05-04 10:35:55 +08:00
Dmitry Stogov
a2d87429d5 Removred temporary code 2015-04-22 13:14:03 +03:00
Dmitry Stogov
8ef7e14117 Improved property inheritance code 2015-04-22 12:53:54 +03:00
Xinchen Hui
a090977419 Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_compile.c
2015-04-21 22:39:46 +08:00
Xinchen Hui
c5903e79be Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_compile.c
2015-04-10 22:50:15 +08:00
Dmitry Stogov
ea09a9fa32 Convert fatal errors into EngineExceptions
Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.
2015-04-02 02:05:25 +03:00
Nikita Popov
8d00385871 Reclassify E_STRICT notices
Per RFC https://wiki.php.net/rfc/reclassify_e_strict

While reviewing this, found that there are still three E_STRICTs
left in libraries - need to discuss those.
2015-04-01 11:17:55 +02:00
Andrea Faulds
db76b708cf Deprecate PHP 4 constructors 2015-03-31 17:55:27 +02:00
Nikita Popov
a34f81deee Allow adding return type during inheritance
This is allowed as per the return types RFC. The test for this
behavior happened to use an internal class without arginfo, which
is why this was not properly implemented.
2015-03-22 18:56:14 +01:00
Xinchen Hui
95b4aa5293 Fixed zend_hash_append result duplicated key
actually, maybe we should precalculate before calling zend_hash_appen
when we are not sure whether the hash is caclculated(prop_info->name).

but it looks a little ugly.. (also for zend_string_copy)
2015-03-08 00:21:02 +08:00