Do we really need a CPP manual?

Sandra Loosemore sandra@codesourcery.com
Fri Dec 16 06:46:00 GMT 2016


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



More information about the Gcc mailing list