FOLD_CASE(ZEND_BOOL_XOR, boolean_xor_function)
case ZEND_BW_NOT:
bitwise_not_function(&result->u.constant, &op1->u.constant TSRMLS_CC);
- break;
+ return;
+ default:
+ zend_error(E_COMPILE_ERROR, "Unknown binary op opcode %d", op);
+ return;
}
do_op(&result->u.constant, &op1->u.constant, &op2->u.constant TSRMLS_CC);
| fully_qualified_class_name { $$ = $1; }
;
+
function_call_parameter_list:
non_empty_function_call_parameter_list { $$ = $1; }
| /* empty */ { $$.u.constant.value.lval = 0; }
| const_scalar_expr '*' const_scalar_expr { zend_do_fold_binary_op(ZEND_MUL, &$$, &$1, &$3 TSRMLS_CC); }
| const_scalar_expr '/' const_scalar_expr { zend_do_fold_binary_op(ZEND_DIV, &$$, &$1, &$3 TSRMLS_CC); }
| const_scalar_expr '%' const_scalar_expr { zend_do_fold_binary_op(ZEND_MOD, &$$, &$1, &$3 TSRMLS_CC); }
- | const_scalar_expr '~' const_scalar_expr { zend_do_fold_binary_op(ZEND_BW_NOT, &$$, &$1, &$3 TSRMLS_CC); }
+ | '~' const_scalar_expr { zend_do_fold_binary_op(ZEND_BW_NOT, &$$, &$2, NULL TSRMLS_CC); }
| '(' const_scalar_expr ')' { $$ = $2; }
;