how widespread is this cpp bug?

Guy Harris guy at auspex.UUCP
Fri Dec 2 17:33:04 AEST 1988


>I hear that this `feature' is used for gluing togehter tokens...

Yes, it is.

>Does your cpp have this `feature'?

If your "cpp" is based on the "Reiser" "cpp", which first appeared
publicly in V7 and is the basis of the C preprocessor code in most UNIX
C implementations, it probably works that way.

>I suspect that AT&T and SUN know about this, but have chosen not to fix
>it.

Berkeley definitely knows about it, since they make use of it in some
places.  Sun knows about it as well, and makes use of it in places where
they inherited it from Berkeley.  AT&T may well know about it as well,
and plenty of other organizations probably do as well (I suspect most,
if not all, of the ones who started with BSD do).

>Anyone know why?

Probably because it's one of the more convenient ways to glue tokens
together if you don't have the dpANS "#" and "##" operators.  It, and
other non-dpANS-conformant Reiserisms, are unlikely to disappear until
dpANS-conformant compilers, or ANSI C compilers once the standard is
official, become more common; when they do, those Reisersms will
disappear (except maybe in "compatibility mode" precisely because they
will *be* non-conformant (barring major surprises in the evolution of
ANSI C). 



More information about the Comp.lang.c mailing list