Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!unmvax!ncar!ames!pasteur!ucbvax!ucsd!sdcsvax!ucsdhub!esosun!seismo!uunet!auspex!guy
From: guy@auspex.UUCP (Guy Harris)
Newsgroups: comp.lang.c++
Subject: Re: Save CPP!
Message-ID: <583@auspex.UUCP>
Date: 5 Dec 88 19:05:05 GMT
References: <5202@mit-vax.LCS.MIT.EDU>
Reply-To: guy@auspex.UUCP (Guy Harris)
Organization: Auspex Systems, Santa Clara
Lines: 20

>The thing I like about CPP is that it seems to work with a base level of
>functionality on the six different C compilers we use to produce the
>products we sell.

Not all C implementations necessarily have "cpp".  That just happens to
be the way certain C language constructs, such as "#include", "#define",
"#if", etc., are supported in many C compilers.

Any reasonable C implementation had, however, damn well better support
at least some minimal set of those constructs; they are specified as
part of the language in K&R 1, and a larger set of them are also in the
dpANS and are almost certain - hell, I'll go out on a limb and say
"certain" - to appear in the final C standard.

Furthermore, the copy I have of "The C++ Programming Language" *also*
lists some of those constructs in the "Reference Manual", so I'd damn
well expect any current C++ implementation to support them as well.  I
presume some people are arguing that those language features should be
dropped from the C++; until that's done, though, dropping them from what
purports to be a C++ implementation would be stupid.