Newsgroups: comp.lang.c
Path: utzoo!henry
From: henry@utzoo.uucp (Henry Spencer)
Subject: Re: how widespread is this cpp bug?
Message-ID: <1988Dec1.194550.15055@utzoo.uucp>
Organization: U of Toronto Zoology
References: <49179@pyramid.pyramid.com>
Date: Thu, 1 Dec 88 19:45:50 GMT

In article <49179@pyramid.pyramid.com> markhall@pyramid.UUCP (Mark Hall) writes:
>		prin/* comment in the middle */tf ( "Hello World.\n" );
>
>...Does your cpp have this `feature'?  Anyone know the history?  I
>suspect that AT&T and SUN know about this, but have chosen not to fix it.
>Anyone know why?

This token-concatenation technique is a quirk (quirk, n:  accidental and
unintended behavior that is not clearly a bug and may be useful) of the
Reiser cpp implementation, which is universal in AT&T-derived compilers
and virtually nonexistent elsewhere.  It has seen enough use to make
folks who already have it reluctant to drop support for it, but it is
a quirk of specific compilers and was never documented as a property of
the language.

X3J11 has provided the same capability in a cleaner and more portable way
(the Reiser trick does not work in tokenizing preprocessors) with their ##
operator.  Ugh.
-- 
SunOSish, adj:  requiring      |     Henry Spencer at U of Toronto Zoology
32-bit bug numbers.            | uunet!attcan!utzoo!henry henry@zoo.toronto.edu