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