Path: utzoo!news-server.csri.toronto.edu!rutgers!att!pacbell.com!decwrl!deccrl!news.crl.dec.com!shlump.nac.dec.com!tkou02.enet.dec.com!jit345!diamond From: diamond@jit345.swstokyo.dec.com (Norman Diamond) Newsgroups: comp.std.c Subject: Re: A question about the pp-tokens in macro actual arguments. Message-ID: <1991Mar13.004300.2552@tkou02.enet.dec.com> Date: 13 Mar 91 00:43:00 GMT References: <4370@lupine.NCD.COM> Sender: news@tkou02.enet.dec.com (USENET News System) Reply-To: diamond@jit345.enet@tkou02.enet.dec.com (Norman Diamond) Organization: Digital Equipment Corporation Japan , Tokyo Lines: 27 In article <4370@lupine.NCD.COM> rfg@lupine.ncd.com (Ron Guilmette) writes: >This one should be easy. These two are easy. >When a formal argument for a function-like macro is replaced (whilst a >macro call is being expanded) must (or may) the sequence of replacement >pp-tokens include leading and/or trailing whitespace if the corresponding >actual argument also contained leading or trailing whitespace (respectively)? Whitespace is not part of a token. However, whitespace may separate tokens. If the preprocessor puts some whitespace (back) in when replacing an argument, it should not matter. And now for something completely different: >In other words, what should be the result of: > #define PREFIX(x) prefix##x > ... PREFIX ( xxyyzz) ... The tokens must be pasted. ... [possible whitespace] prefixxxyyzz [possible whitespace] ... -- Norman Diamond diamond@tkov50.enet.dec.com If this were the company's opinion, I wouldn't be allowed to post it.