Preprocessor Trickery

Henry Spencer henry at utzoo.UUCP
Sun Jul 1 08:21:57 AEST 1984


> Distasteful as it may be, the  X/**/y feature is well documented in the
> source of cpp by John Reiser, and is portable at least as far as System V.

Since it's documented in the source, that means it's effectively entirely
undocumented as far as binary licensees are concerned.  Furthermore, one
finds the documentation in the source only by accident, since that's not
exactly the first place one looks for documentation.  And it is *not*
portable to most non-Bell-derived compilers, since most of their authors
didn't have access to the cpp sources.

The ANSI C standards effort is standardizing the preprocessor facilities
as part of the language.  "X/**/y" is *not* allowed in the standard.  "If
you want a general-purpose macro processor, use m4!"
-- 
				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry



More information about the Comp.lang.c mailing list