From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public From: "Larry Brasfield" Subject: Re: Software landmines (was: Why C++ is successful) Date: 1998/08/21 Message-ID: #1/1 X-Deja-AN: 383413303 References: <35cb8058.645630787@news.ne.mediaone.net> <902934874.2099.0.nnrp-10.c246a717@news.demon.co.uk> <6r1glm$bvh$1@nnrp1.dejanews.com> <6r9f8h$jtm$1@nnrp1.dejanews.com> <6renh8$ga7$1@nnrp1.dejanews.com> <6rf59b$2ud$1@nnrp1.dejanews.com> <35dc6bf4.5328251@news.erols.com> <35dfb9a8.4685477@news.erols.com> X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3155.0 Organization: Serendipitous Endeavors NNTP-Posting-Date: Fri, 21 Aug 1998 11:19:01 PDT Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-08-21T00:00:00+00:00 List-Id: Jeffrey C. Dege wrote in message ... >On Fri, 21 Aug 1998 01:29:16 GMT, Larry Brasfield wrote: >> >>Is there any language in ordinary use that permits >>a goto to cross a procedure boundary? If so, how >>are goto target name scopes defined? If not, why >>make so much of trying to avoid such goto's? (Assembler allows cross-procedure jumps. Most variants require goto's for interesting programs.) >C's setjmp()/longjmp() functions provide for a goto() across procedure >boundaries. Or at least from a function to a function that called it. setjmp/longjmp provide stack adjustment as well. This makes longjmp closer to a form of return, IMO. Perhaps "computed return" since its argument determines which setjmp call to return (again) from. Where I have seen setjmp/longjmp used effectively, it made the code easier to understand in much the same way that exceptions in other languages can. This resembles the conservative use of goto when it is constrained to a well defined path taken only for exceptional conditions. --Larry Brasfield Above opinions may be mine alone. (Humans may reply at unundered larry_br@sea_net.com )