summaryrefslogtreecommitdiff
path: root/t/op/goto.t
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-07-18 03:51:03 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-07-18 03:51:03 +0000
commit2c15bef39460c09b2a7846a30a4fc1fc1c4f93e4 (patch)
tree956621b9bd6ef82607bc2044a25afda197257cef /t/op/goto.t
parent2aa1486d5d3f3b27276656f9b9ef842d3a21a386 (diff)
downloadperl-2c15bef39460c09b2a7846a30a4fc1fc1c4f93e4.tar.gz
remove spurious newSTATEOP() that causes goto to enter one too many
contexts when jumping between if and elsif blocks p4raw-id: //depot/perl@3692
Diffstat (limited to 't/op/goto.t')
-rwxr-xr-xt/op/goto.t23
1 files changed, 22 insertions, 1 deletions
diff --git a/t/op/goto.t b/t/op/goto.t
index 8096aff0f2..7a5de5fea5 100755
--- a/t/op/goto.t
+++ b/t/op/goto.t
@@ -2,7 +2,7 @@
# "This IS structured code. It's just randomly structured."
-print "1..13\n";
+print "1..16\n";
while ($?) {
$foo = 1;
@@ -55,6 +55,27 @@ exit;
FINALE:
print "ok 13\n";
+
+# does goto LABEL handle block contexts correctly?
+
+my $cond = 1;
+for (1) {
+ if ($cond == 1) {
+ $cond = 0;
+ goto OTHER;
+ }
+ elsif ($cond == 0) {
+ OTHER:
+ $cond = 2;
+ print "ok 14\n";
+ goto THIRD;
+ }
+ else {
+ THIRD:
+ print "ok 15\n";
+ }
+}
+print "ok 16\n";
exit;
bypass: