Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!cmcl2!adm!smoke!gwyn From: gwyn@smoke.BRL.MIL (Doug Gwyn ) Newsgroups: comp.lang.c Subject: Re: YALF (yet another lint foulup) Message-ID: <9255@smoke.BRL.MIL> Date: 2 Jan 89 02:56:53 GMT References: <4700030@m.cs.uiuc.edu> <717@auspex.UUCP> <122@mole-end.UUCP> <11245@haddock.ima.isc.com> <9228@smoke.BRL.MIL> <14672@cisunx.UUCP> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 19 In article <14672@cisunx.UUCP> cmf@unix.cis.pittsburgh.edu (Carl M. Fongheiser) writes: >In article <9228@smoke.BRL.MIL> gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) writes: >>Function value type and whether a function returns are orthogonal. >Really? I'm having a good deal of difficulty thinking of any reason why >one would declare a function which never returns as anything other than >void. Where did you get the word "never"? unsigned int Square(unsigned int n) { extern void exit(int); extern void /*also nonreturning*/ Fatal(char*); if (n >= 0x80) Fatal("overflow in Square"); return n*n; } This, not entirely implausible, function sometimes returns and sometimes doesn't. But that has nothing to do with its type.