mirror of
https://github.com/php/php-src.git
synced 2025-08-18 15:08:55 +02:00
"jump" -> "goto"
This commit is contained in:
parent
7b156d6236
commit
b7933917f6
12 changed files with 29 additions and 29 deletions
|
@ -1,12 +1,12 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
jump 01: jump backward
|
jump 01: goto backward
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
$n = 1;
|
$n = 1;
|
||||||
L1:
|
L1:
|
||||||
echo "$n: ok\n";
|
echo "$n: ok\n";
|
||||||
$n++;
|
$n++;
|
||||||
if ($n <= 3) jump L1;
|
if ($n <= 3) goto L1;
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
1: ok
|
1: ok
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
jump 02: jump forward
|
jump 02: goto forward
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
$n = 1;
|
$n = 1;
|
||||||
L1:
|
L1:
|
||||||
if ($n > 3) jump L2;
|
if ($n > 3) goto L2;
|
||||||
echo "$n: ok\n";
|
echo "$n: ok\n";
|
||||||
$n++;
|
$n++;
|
||||||
jump L1;
|
goto L1;
|
||||||
L2:
|
L2:
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
jump 03: jump inside control structures
|
jump 03: goto inside control structures
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
do {
|
do {
|
||||||
if (1) {
|
if (1) {
|
||||||
echo "1: ok\n";
|
echo "1: ok\n";
|
||||||
jump L1;
|
goto L1;
|
||||||
} else {
|
} else {
|
||||||
echo "bug\n";
|
echo "bug\n";
|
||||||
L1:
|
L1:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
jump 04: jump from loop (backward)
|
jump 04: goto from loop (backward)
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
$s = "X";
|
$s = "X";
|
||||||
|
@ -11,7 +11,7 @@ L1: if ($s != "X") {
|
||||||
while ($s != "XXX") {
|
while ($s != "XXX") {
|
||||||
echo "3: ok\n";
|
echo "3: ok\n";
|
||||||
$s .= "X";
|
$s .= "X";
|
||||||
jump L1;
|
goto L1;
|
||||||
echo "bug\n";
|
echo "bug\n";
|
||||||
}
|
}
|
||||||
echo "bug\n";
|
echo "bug\n";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
jump 05: jump from loop (forward)
|
jump 05: goto from loop (forward)
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
$ar = array("1","2","3");
|
$ar = array("1","2","3");
|
||||||
|
@ -10,7 +10,7 @@ foreach ($ar as $val) {
|
||||||
break;
|
break;
|
||||||
case "2":
|
case "2":
|
||||||
echo "2: ok\n";
|
echo "2: ok\n";
|
||||||
jump L1;
|
goto L1;
|
||||||
case "3":
|
case "3":
|
||||||
echo "bug\n";
|
echo "bug\n";
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
jump 06: jump to undefined label
|
jump 06: goto to undefined label
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
jump L1;
|
goto L1;
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Fatal error: 'jump' to undefined label 'L1' in %sjump06.php on line 2
|
Fatal error: 'goto' to undefined label 'L1' in %sjump06.php on line 2
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
jump 07: jump into loop (backward)
|
jump 07: goto into loop (backward)
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
while (0) {
|
while (0) {
|
||||||
L1: echo "bug\n";
|
L1: echo "bug\n";
|
||||||
}
|
}
|
||||||
jump L1;
|
goto L1;
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Fatal error: 'jump' into loop or switch statement is disallowed in %sjump07.php on line 5
|
Fatal error: 'goto' into loop or switch statement is disallowed in %sjump07.php on line 5
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
jump 08: jump into loop (forward)
|
jump 08: goto into loop (forward)
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
jump L1;
|
goto L1;
|
||||||
while (0) {
|
while (0) {
|
||||||
L1: echo "bug\n";
|
L1: echo "bug\n";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Fatal error: 'jump' into loop or switch statement is disallowed in %sjump08.php on line 2
|
Fatal error: 'goto' into loop or switch statement is disallowed in %sjump08.php on line 2
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
jump 09: jump into switch (backward)
|
jump 09: goto into switch (backward)
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
switch (0) {
|
switch (0) {
|
||||||
|
@ -7,7 +7,7 @@ switch (0) {
|
||||||
L1: echo "bug\n";
|
L1: echo "bug\n";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
jump L1;
|
goto L1;
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Fatal error: 'jump' into loop or switch statement is disallowed in %sjump09.php on line 7
|
Fatal error: 'goto' into loop or switch statement is disallowed in %sjump09.php on line 7
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
jump 10: jump into switch (forward)
|
jump 10: goto into switch (forward)
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
jump L1;
|
goto L1;
|
||||||
switch (0) {
|
switch (0) {
|
||||||
case 1:
|
case 1:
|
||||||
L1: echo "bug\n";
|
L1: echo "bug\n";
|
||||||
|
@ -10,4 +10,4 @@ switch (0) {
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Fatal error: 'jump' into loop or switch statement is disallowed in %sjump10.php on line 2
|
Fatal error: 'goto' into loop or switch statement is disallowed in %sjump10.php on line 2
|
||||||
|
|
|
@ -4357,7 +4357,7 @@ void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2
|
||||||
CG(in_compilation) = 1;
|
CG(in_compilation) = 1;
|
||||||
CG(active_op_array) = op_array;
|
CG(active_op_array) = op_array;
|
||||||
CG(zend_lineno) = opline->lineno;
|
CG(zend_lineno) = opline->lineno;
|
||||||
zend_error(E_COMPILE_ERROR, "'jump' to undefined label '%R'", Z_TYPE(opline->op2.u.constant), Z_UNIVAL(opline->op2.u.constant));
|
zend_error(E_COMPILE_ERROR, "'goto' to undefined label '%R'", Z_TYPE(opline->op2.u.constant), Z_UNIVAL(opline->op2.u.constant));
|
||||||
} else {
|
} else {
|
||||||
/* Label is not defined. Delay to pass 2. */
|
/* Label is not defined. Delay to pass 2. */
|
||||||
INC_BPC(op_array);
|
INC_BPC(op_array);
|
||||||
|
@ -4377,7 +4377,7 @@ void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2
|
||||||
CG(active_op_array) = op_array;
|
CG(active_op_array) = op_array;
|
||||||
CG(zend_lineno) = opline->lineno;
|
CG(zend_lineno) = opline->lineno;
|
||||||
}
|
}
|
||||||
zend_error(E_COMPILE_ERROR, "'jump' into loop or switch statement is disallowed");
|
zend_error(E_COMPILE_ERROR, "'goto' into loop or switch statement is disallowed");
|
||||||
}
|
}
|
||||||
current = op_array->brk_cont_array[current].parent;
|
current = op_array->brk_cont_array[current].parent;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1522,7 +1522,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
|
||||||
return T_CONTINUE;
|
return T_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
<ST_IN_SCRIPTING>"jump" {
|
<ST_IN_SCRIPTING>"goto" {
|
||||||
return T_GOTO;
|
return T_GOTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue