]> granicus.if.org Git - php/commitdiff
[ast] Fix exporting **= in expansion of assign op
authorSara Golemon <pollita@php.net>
Sat, 6 Aug 2016 22:12:09 +0000 (15:12 -0700)
committerSara Golemon <pollita@php.net>
Sat, 6 Aug 2016 22:35:45 +0000 (15:35 -0700)
Zend/tests/ast/zend-pow-assign.phpt [new file with mode: 0644]
Zend/zend_ast.c

diff --git a/Zend/tests/ast/zend-pow-assign.phpt b/Zend/tests/ast/zend-pow-assign.phpt
new file mode 100644 (file)
index 0000000..d978e77
--- /dev/null
@@ -0,0 +1,11 @@
+--TEST--
+ZEND_POW_ASSIGN
+--INI--
+zend.assertions=1
+--FILE--
+<?php
+
+assert_options(ASSERT_WARNING);
+assert(false && ($a **= 2));
+--EXPECTF--
+Warning: assert(): assert(false && ($a **= 2)) failed in %s%ezend-pow-assign.php on line %d
index 236d0783fc960d24b17be6a01891f3f3601d97f9..18bef31927bcb512ca41add5d6ef0bd820609ed3 100644 (file)
@@ -1334,7 +1334,7 @@ simple_list:
                                case ZEND_ASSIGN_BW_OR:  BINARY_OP(" |= ",  90, 91, 90);
                                case ZEND_ASSIGN_BW_AND: BINARY_OP(" &= ",  90, 91, 90);
                                case ZEND_ASSIGN_BW_XOR: BINARY_OP(" ^= ",  90, 91, 90);
-                               case ZEND_POW:           BINARY_OP(" **= ", 90, 91, 90);
+                               case ZEND_ASSIGN_POW:    BINARY_OP(" **= ", 90, 91, 90);
                                EMPTY_SWITCH_DEFAULT_CASE();
                        }
                        break;