diff --git a/Zend/tests/varSyntax/new_instanceof_expr.phpt b/Zend/tests/varSyntax/new_instanceof_expr.phpt new file mode 100644 index 00000000000..475f7a9daec --- /dev/null +++ b/Zend/tests/varSyntax/new_instanceof_expr.phpt @@ -0,0 +1,18 @@ +--TEST-- +new with an arbitrary expression +--FILE-- + +--EXPECT-- +object(stdClass)#1 (0) { +} +object(stdClass)#1 (0) { +} +bool(true) diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index af8b67af5c2..02dbd091dcf 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -1078,6 +1078,7 @@ class_name: class_name_reference: class_name { $$ = $1; } | new_variable { $$ = $1; } + | '(' expr ')' { $$ = $2; } ; exit_expr: