Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!cbatt!ihnp4!ptsfa!lll-lcc!ames!cit-vax!ll-xn!mit-eddie!uw-beaver!tektronix!sequent!mntgfx!franka From: franka@mntgfx.UUCP Newsgroups: comp.lang.c Subject: Re: jump tables (was Re: Why no labelled loops?) Message-ID: <550@franka.mntgfx.MENTOR.COM> Date: Mon, 2-Mar-87 15:57:20 EST Article-I.D.: franka.550 Posted: Mon Mar 2 15:57:20 1987 Date-Received: Thu, 5-Mar-87 20:24:39 EST References: <1710@plus5.UUCP> <388@cognos.UUCP> <545@mntgfx.MENTOR.COM> <5626@mimsy.UUCP> Reply-To: franka@mntgfx.UUCP (Frank A. Adrian) Organization: Mentor Graphics, Beaverton, OR Lines: 25 In article <5626@mimsy.UUCP> chris@mimsy.UUCP (Chris Torek) writes: >In article <545@mntgfx.MENTOR.COM> franka@mntgfx.MENTOR.COM (Frank A. >Adrian) writes: >>Now for my pet peeve. >(Well, *he* spells it right. :-) ) Thank you... >>it is not any more hazardous than the goto statement itself, >Not so! The existing C `goto' can never change function contexts. >Only `longjmp' has this power. Label assignments, unless they are >severely restricted, one can do non-local `goto's quite easily. >This also means that the label type must carry around a lot of >extra baggage, which has a tendency to destroy much of the efficiency >you thought you were gaining. Ah yes, the fly in the ointment. I had for gotten about the nasty little non-localities one can introduce with this feature. I'd say just don't let label arrays be passed or used non-locally, but this introduces another non-orthogonal feature into the language and I hate non-orthogonal constructs even more than the inconvenience of assembly code. I'll "cry uncle" on this one. Frank Adrian Mentor Graphics, Inc.