Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!uwmcsd1!ig!agate!violet.berkeley.edu!jerry
From: jerry@violet.berkeley.edu ( Jerry Berkman )
Newsgroups: comp.lang.fortran
Subject: Re: Assigned GOTO
Message-ID: <11682@agate.BERKELEY.EDU>
Date: 5 Jul 88 23:52:46 GMT
References: <2742@utastro.UUCP> <20008@beta.UUCP> <224@raunvis.UUCP> <1544@microsoft.UUCP> <12215@mimsy.UUCP> <1821@tekcae.TEK.COM>
Sender: usenet@agate.BERKELEY.EDU
Organization: University of California, Berkeley
Lines: 22

In article <1821@tekcae.TEK.COM> kurtk@tekcae.UUCP (Kurt Krueger) writes:
>Another mis-use of assigned GOTO takes into account that most implementations
>use the actual address of the label and don't bother to check against the list
>of possible branches that is required for the GOTO LABEL, (100,300) statement.
>If you pass LABEL to a subroutine or put it in common, you can branch from
>one subroutine directly into another. (!)

According to the 1977 standard, p.11-2, the list is optional, not required.
However:

	"If the parenthesized list is present, the statement label
	assigned to i must be one of the statement labels in the list."

and branching between routines is not allowed:

	"the variable i must be defined with the value of a statement label
	of an executable statement that appears in the same program unit".

Although part of the standard, assigned GO TOs should be avoided.

	- Jerry Berkman
	  U.C. Berkeley, jerry@violet.berkeley.edu