Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!princeton!allegra!ulysses!bellcore!whuxcc!lcuxlm!whuxl!houxm!ihnp4!inuxc!pur-ee!uiucdcs!ccvaxa!aglew From: aglew@ccvaxa.UUCP Newsgroups: net.lang.c Subject: Re: Orphaned Response Message-ID: <2600073@ccvaxa> Date: Fri, 15-Aug-86 12:51:00 EDT Article-I.D.: ccvaxa.2600073 Posted: Fri Aug 15 12:51:00 1986 Date-Received: Sun, 17-Aug-86 09:24:14 EDT References: <273@watmath.UUCP> Lines: 23 Nf-ID: #R:watmath.UUCP:273:ccvaxa:2600073:000:926 Nf-From: ccvaxa.UUCP!aglew Aug 15 11:51:00 1986 >I was trying to declare "typedef void dead;" so that I could distinguish >between functions that return nothing (void perror(char *), setbuf(FILE *, >char *), nullf(void)) from those that don't return (dead exit(int), >abort(void), longjmp(jmp_buf, int)). Again, it's a small quibble; I'll >just use #define instead. > >Karl W. Z. Heuer (ihnp4!ima!haddock!karl), The Walking Lint Good point, though - an optimizing compiler could take advantage of knowledge that a function doesn't return to do better register allocation, etc. Should this be in the langauge, or is a convention like if( error_condition ) { exit(1); /*NOTREACHED*/ } enough? (Rhetorical question: obviously, you should specify it at the point of declaration of such a function, not at the point of use.) Andy "Krazy" Glew. Gould CSD-Urbana. USEnet: ihnp4!uiucdcs!ccvaxa!aglew 1101 E. University, Urbana, IL 61801 ARPAnet: aglew@gswd-vms