com php-src: Fix merge: Zend/zend_ast.c Zend/zend_compi le.c
| From: | Nikita Popov | Date: | Sat, 16 Aug 2014 20:08:02 +0000 |
| Subject: | com php-src: Fix merge: Zend/zend_ast.c Zend/zend_compi le.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-80854@lists.php.net to get a copy of this message | ||
Commit: 38a173916c6bd4f38eee02336e3f7e022dca4f16
Author: Nikita Popov <nikic@php.net> Sat, 16 Aug 2014 22:08:02 +0200
Parents: 71675a4bf830d7b9400663275fe48275480d34f4
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=38a173916c6bd4f38eee02336e3f7e022dca4f16
Log:
Fix merge
Changed paths:
M Zend/zend_ast.c
M Zend/zend_compile.c
Diff:
diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c
index 8e1d970..d6995ef 100644
--- a/Zend/zend_ast.c
+++ b/Zend/zend_ast.c
@@ -314,7 +314,7 @@ ZEND_API void zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *s
}
}
break;
- case ZEND_FETCH_DIM_R:
+ case ZEND_AST_DIM:
zend_ast_evaluate(&op1, ast->child[0], scope TSRMLS_CC);
zend_ast_evaluate(&op2, ast->child[1], scope TSRMLS_CC);
{
diff --git a/Zend/zend_compile.c b/Zend/zend_compile..c
index 5e0ed6c..fbacd00 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -613,7 +613,7 @@ void zend_do_free(znode *op1 TSRMLS_DC) /* {{{ */
}
}
} else if (op1->op_type == IS_CONST) {
- zval_dtor(&op1->u.constant);
+ zval_ptr_dtor(&op1->u.constant);
}
}
/* }}} */
@@ -5738,12 +5738,6 @@ void zend_compile_class_const_decl(zend_ast *ast TSRMLS_DC) {
zend_const_expr_to_zval(&value_zv, value_ast TSRMLS_CC);
- if (Z_TYPE(value_zv) == IS_ARRAY
- || (Z_TYPE(value_zv) == IS_CONSTANT_AST && Z_ASTVAL(value_zv)->kind ==
ZEND_AST_ARRAY)
- ) {
- zend_error_noreturn(E_COMPILE_ERROR, "Arrays are not allowed in class constants");
- }
-
name = zend_new_interned_string_safe(name TSRMLS_CC);
if (zend_hash_add(&ce->constants_table, name, &value_zv) == NULL) {
zend_error_noreturn(E_COMPILE_ERROR, "Cannot redefine class constant %s::%s",
@@ -6244,13 +6238,6 @@ void zend_compile_const_decl(zend_ast *ast TSRMLS_DC) {
value_node.op_type = IS_CONST;
zend_const_expr_to_zval(value_zv, value_ast TSRMLS_CC);
- if (Z_TYPE_P(value_zv) == IS_ARRAY
- || (Z_TYPE_P(value_zv) == IS_CONSTANT_AST
- && Z_ASTVAL_P(value_zv)->kind == ZEND_AST_ARRAY)
- ) {
- zend_error_noreturn(E_COMPILE_ERROR, "Arrays are not allowed as constants");
- }
-
if (zend_get_ct_const(name, 0 TSRMLS_CC)) {
zend_error_noreturn(E_COMPILE_ERROR, "Cannot redeclare constant '%s'",
name->val);
}
@@ -7156,7 +7143,7 @@ zend_bool zend_is_allowed_in_const_expr(zend_ast_kind kind) {
|| kind == ZEND_AST_AND || kind == ZEND_AST_OR
|| kind == ZEND_AST_UNARY_OP
|| kind == ZEND_AST_UNARY_PLUS || kind == ZEND_AST_UNARY_MINUS
- || kind == ZEND_AST_CONDITIONAL
+ || kind == ZEND_AST_CONDITIONAL || kind == ZEND_AST_DIM
|| kind == ZEND_AST_ARRAY || kind == ZEND_AST_ARRAY_ELEM
|| kind == ZEND_AST_CONST || kind == ZEND_AST_CLASS_CONST
|| kind == ZEND_AST_RESOLVE_CLASS_NAME || kind == ZEND_AST_MAGIC_CONST;