Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!gem.mps.ohio-state.edu!ginosko!ctrsol!cica!iuvax!rutgers!dptg!att!cbnewsl!dfp
From: dfp@cbnewsl.ATT.COM (david.f.prosser)
Newsgroups: comp.std.c
Subject: Re: Question about ANSI preprocessor
Message-ID: <2034@cbnewsl.ATT.COM>
Date: 28 Sep 89 14:16:09 GMT
References: <10879@riks.csl.sony.co.jp>
Reply-To: dfp@cbnewsl.ATT.COM (david.f.prosser)
Organization: AT&T Bell Laboratories
Lines: 20

In article <10879@riks.csl.sony.co.jp> diamond@ws.sony.junet (Norman Diamond) writes:
>According to the ANSI standard, does the following code cause
>expansion of the preprocessor macro "huh"?
>
>#define huh(x) (abc + (x))
>y = huh
>#if 0
>	, a, lot, of, garbage
>#endif
>(z);

The invocation of a function-like macro requires that the next
preprocessing token after the macro name be the (.  Thus the
above example must produce the equivalent of

	y = huh (z);

after preprocessing.

Dave Prosser	...not an official X3J11 answer...