Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!brutus.cs.uiuc.edu!husc6!spdcc!ima!haddock!karl From: karl@haddock.ima.isc.com (Karl Heuer) Newsgroups: comp.lang.c Subject: Re: ANSI/Non-ANSI Function Declaration Macros Message-ID: <15495@haddock.ima.isc.com> Date: 20 Dec 89 23:37:13 GMT References: <4603@itivax.iti.org> <244@isgtec.UUCP> <22402@princeton.Princeton.EDU> <248@isgtec.UUCP> <0300@sheol.UUCP> Reply-To: karl@haddock.ima.isc.com (Karl Heuer) Organization: Interactive Systems, Cambridge, MA 02138-5302 Lines: 17 In article <0300@sheol.UUCP> throopw@sheol.UUCP (Wayne Throop) writes: >I use a more complicated scheme involving the three macros... This has been >known to make people barf... Barf. Another alternative is to simply write the bloody thing using prototypes, and then on pre-ANSI implementations, run it through a deprotoizing filter. This has the advantage that there's nothing to clean up once you decide that supporting the absence of prototypes is as archaic as supporting the absence of |unsigned char| or |void|. One such deprotoizer can be obtained as a patch to gcc; I also maintain a much shorter one that compares against my personal coding style rather than everything that the language permits. Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint