Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!ncar!unmvax!pprg.unm.edu!topgun.dspo.gov!lanl!cmcl2!adm!smoke!gwyn From: gwyn@smoke.BRL.MIL (Doug Gwyn) Newsgroups: comp.lang.c Subject: Re: Assorted C Questions Message-ID: <10957@smoke.BRL.MIL> Date: 7 Sep 89 04:03:26 GMT References: <4294@udccvax1.acs.udel.EDU> <1989Sep6.160004.19253@utzoo.uucp> <283@crdos1.crd.ge.COM> Reply-To: gwyn@brl.arpa (Doug Gwyn) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 15 In article <283@crdos1.crd.ge.COM> davidsen@crdos1.UUCP (bill davidsen) writes: -In article <1989Sep6.160004.19253@utzoo.uucp>, henry@utzoo.uucp (Henry Spencer) writes: -| >#define min(x,y) (((x) < (y)) ? (x) : (y)) -| >foobar(min,max) -| >Sometype min,max; -| > Will this foul up the preprocessor... -| No; parameterized macro names are recognized as such *only* when followed -| immediately by "(". - My standard isn't handy, but all of the preprocessors I use allow -whitespace between the name and the ( ... True but not relevant here. "followed immediately" should be read as talking about tokens, i.e. whitespace is assumed to be merely separating tokens. The important thing is that the token after the use of min is a , and the token after the use of max is a ) or ;.