I've had an item on my todo list for a while to try to update the CPP
manual, mainly because I've been aware that it has duplicate entries for
several of the same command-line options that appear in invoke.texi that
have gotten bit-rotten or otherwise out of sync with respect to the GCC
manual and/or the implementation. There are also a lot of references to
really old versions of GCC and pre-ANSI/ISO C, and compatibility with
really old versions of CPP (2.95 and before?).
Looking at the structure of the whole manual, though, I see that most of
it is in fact a tutorial on how to use the preprocessor language, like
you would find in a C programming book. Is this a useful thing for us
to be providing? Offhand I am not sure how up-to-date this material is
or how much of a maintenance burden it is, but it seems peculiar to be
providing such extensive introductory material on the preprocessor when
we don't do that for the C or C++ languages; we assume that people
already know how to program.
I'm wondering if it would be better to toss the tutorial and merge the
remaining useful/non-duplicate information about the preprocessor into
the main GCC manual. I think the key things to cover are:
* Any GNU extensions to the preprocessor language
* Predefined macros
* Any pragmas not already documented in the GCC manual
* Any command-line options not already documented in the GCC manual
* Any implementation-defined behavior or implementation limits not
already documented in the GCC manual
On a related topic.... do we really need to retain implementations of
-traditional-cpp and the documented "obsolete features" (assertions)?
It seems especially weird to retain support for -traditional-cpp given
that support for pre-ANSI C was removed from the compiler proper at
least a dozen years ago.
Comments? Suggestions?
-Sandra