diff options
author | Xinchen Hui <laruence@php.net> | 2015-03-05 21:06:07 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2015-03-05 21:06:07 +0800 |
commit | e8e5913e5e3500d2efee4a60fdfd77ab46fe2021 (patch) | |
tree | 7fd977e472ead1e81e7246cb5306b8e155a1ba25 | |
parent | 7bcdbcf98e245467fcc9d481fd31cdfc353a114b (diff) | |
parent | 869f8bd24bbabdf91198f99b1ee124c91d2696ce (diff) | |
download | php-git-e8e5913e5e3500d2efee4a60fdfd77ab46fe2021.tar.gz |
Merge branch 'PHP-5.5' into PHP-5.6
-rw-r--r-- | Zend/zend_compile.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 5a87ee21c3..180bcd1d8e 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -4211,6 +4211,7 @@ static void zend_check_trait_usage(zend_class_entry *ce, zend_class_entry *trait static void zend_traits_init_trait_structures(zend_class_entry *ce TSRMLS_DC) /* {{{ */ { size_t i, j = 0; + zend_trait_precedence **precedences; zend_trait_precedence *cur_precedence; zend_trait_method_reference *cur_method_ref; char *lcname; @@ -4219,7 +4220,9 @@ static void zend_traits_init_trait_structures(zend_class_entry *ce TSRMLS_DC) /* /* resolve class references */ if (ce->trait_precedences) { i = 0; - while ((cur_precedence = ce->trait_precedences[i])) { + precedences = ce->trait_precedences; + ce->trait_precedences = NULL; + while ((cur_precedence = precedences[i])) { /** Resolve classes for all precedence operations. */ if (cur_precedence->exclude_from_classes) { cur_method_ref = cur_precedence->trait_method; @@ -4276,6 +4279,7 @@ static void zend_traits_init_trait_structures(zend_class_entry *ce TSRMLS_DC) /* } i++; } + ce->trait_precedences = precedences; } if (ce->trait_aliases) { |