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

Reply via email to