cpp.texi, [...]: Update.
authorNeil Booth <neil@daikokuya.demon.co.uk>
Sat, 16 Jun 2001 10:59:48 +0000 (10:59 +0000)
committerNeil Booth <neil@gcc.gnu.org>
Sat, 16 Jun 2001 10:59:48 +0000 (10:59 +0000)
* cpp.texi, invoke.texi: Update.
* cpp.1, gcc.1: Regenerate.

From-SVN: r43419

gcc/ChangeLog
gcc/doc/cpp.1
gcc/doc/cpp.texi
gcc/doc/gcc.1
gcc/doc/invoke.texi

index d557c5c09660aea228a2ac4528dd0e2a3e4f53fd..bcdd9079ca4946d0cf031531278873e273675673 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpp.texi, invoke.texi: Update.
+       * cpp.1, gcc.1: Regenerate.
+
 Sat Jun 16 12:45:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
        * i386.md (minsf): Fix splitter. (PR fortran/3191)
index 15bd6eeaece5124515bf3ca9bbe5930dc8259f21..281cd37c2d594b8d1aa0f758d219bd5614c4daf6 100644 (file)
@@ -1,5 +1,5 @@
 .\" Automatically generated by Pod::Man version 1.16
-.\" Sat Jun 16 00:25:57 2001
+.\" Sat Jun 16 11:46:14 2001
 .\"
 .\" Standard preamble:
 .\" ======================================================================
@@ -203,10 +203,14 @@ Either \fIinfile\fR or \fIoutfile\fR may be \fB-\fR, which as
 means to write to standard output.  Also, if either file is omitted, it
 means the same as if \fB-\fR had been specified for that file.
 .PP
-All single-letter options which take an argument may have that argument
-appear immediately after the option letter, or with a space between
-option and argument:  \fB\-Ifoo\fR and \fB\-I foo\fR have the same
-effect.
+Unless otherwise noted, or the option ends in \fB=\fR, all options
+which take an argument may have that argument appear either immediately
+after the option, or with a space between option and argument:
+\&\fB\-Ifoo\fR and \fB\-I foo\fR have the same effect.
+.PP
+Many options have multi-letter names; therefore multiple single-letter
+options may \fInot\fR be grouped: \fB\-dM\fR is very different from
+\&\fB\-d\ \-M\fR.
 .Ip "\fB\-D\fR \fIname\fR" 4
 .IX Item "-D name"
 Predefine \fIname\fR as a macro, with definition \f(CW\*(C`1\*(C'\fR.
@@ -588,8 +592,15 @@ Cancel all predefined assertions and all assertions preceding it on
 the command line.  Also, undefine all predefined macros and all
 macros preceding it on the command line.  (This is a historical wart and
 may change in the future.)
-.Ip "\fB\-dM\fR" 4
-.IX Item "-dM"
+.Ip "\fB\-dCHARS\fR" 4
+.IX Item "-dCHARS"
+\&\fI\s-1CHARS\s0\fR is a sequence of one or more of the following characters,
+and must not be preceded by a space.  Other characters are reserved for
+future versions of \s-1GCC\s0, and silently ignored.  If you specify characters
+whose behavior conflicts, the result is undefined.
+.RS 4
+.Ip "\fBM\fR" 4
+.IX Item "M"
 Instead of the normal output, generate a list of \fB#define\fR
 directives for all the macros defined during the execution of the
 preprocessor, including predefined macros.  This gives you a way of
@@ -600,19 +611,22 @@ Assuming you have no file \fIfoo.h\fR, the command
 \&        touch foo.h; cpp -dM foo.h
 .Ve
 will show all the predefined macros.
-.Ip "\fB\-dD\fR" 4
-.IX Item "-dD"
-Like \fB\-dM\fR except in two respects: it does \fInot\fR include the
+.Ip "\fBD\fR" 4
+.IX Item "D"
+Like \fBM\fR except in two respects: it does \fInot\fR include the
 predefined macros, and it outputs \fIboth\fR the \fB#define\fR
 directives and the result of preprocessing.  Both kinds of output go to
 the standard output file.
-.Ip "\fB\-dN\fR" 4
-.IX Item "-dN"
-Like \fB\-dD\fR, but emit only the macro names, not their expansions.
-.Ip "\fB\-dI\fR" 4
-.IX Item "-dI"
+.Ip "\fBN\fR" 4
+.IX Item "N"
+Like \fBD\fR, but emit only the macro names, not their expansions.
+.Ip "\fBI\fR" 4
+.IX Item "I"
 Output \fB#include\fR directives in addition to the result of
 preprocessing.
+.RE
+.RS 4
+.RE
 .Ip "\fB\-P\fR" 4
 .IX Item "-P"
 Inhibit generation of linemarkers in the output from the preprocessor.
index fa545c81c508d228c52a13d531a6ac4ed7017978..05bd6bcb0bd73b094d2469020d49a6cf52dfd894 100644 (file)
@@ -986,7 +986,7 @@ These rules are implementation-defined behavior according to the C
 standard.  To minimize the risk of different compilers interpreting your
 computed includes differently, we recommend you use only a single
 object-like macro which expands to a string constant.  This will also
-minimize any confusion to people reading your program.
+minimize confusion for people reading your program.
 
 @node Wrapper Headers
 @section Wrapper Headers
@@ -1634,7 +1634,7 @@ eprintf("success!\n", );
      @expansion{} fprintf(stderr, "success!\n", );
 @end example
 
-GNU CPP has a pair of extensions which deals with this problem. First,
+GNU CPP has a pair of extensions which deal with this problem. First,
 you are allowed to leave the variable argument out entirely:
 
 @example
@@ -1893,7 +1893,7 @@ testing @code{@w{(__GNUC__ && __cplusplus)}}.
 @item __STRICT_ANSI__
 GCC defines this macro if and only if the @option{-ansi} switch, or a
 @option{-std} switch specifying strict conformance to some version of ISO C,
-was specified when GCC was invoked.  Its definition is the null string.
+was specified when GCC was invoked.  It is defined to @samp{1}.
 This macro exists primarily to direct GNU libc's header files to
 restrict their definitions to the minimal set found in the 1989 C
 standard.
@@ -3006,13 +3006,13 @@ symbolic debuggers to be able to refer to @code{bison}'s input file.
 @samp{#line} directives into the output file.  @samp{#line} is a
 directive that specifies the original line number and source file name
 for subsequent input in the current preprocessor input file.
-@samp{#line} has four variants:
+@samp{#line} has three variants:
 
 @table @code
 @item #line @var{linenum}
-@var{linenum} is a decimal integer constant.  It specifies the line
-number which should be reported for the following line of input.
-Subsequent lines are counted from @var{linenum}.
+@var{linenum} is a non-negative decimal integer constant.  It specifies
+the line number which should be reported for the following line of
+input.  Subsequent lines are counted from @var{linenum}.
 
 @item #line @var{linenum} @var{filename}
 @var{linenum} is the same as for the first form, and has the same
@@ -3022,15 +3022,7 @@ file it specifies, until something else happens to change that.
 
 @item #line @var{anything else}
 @var{anything else} is checked for macro calls, which are expanded.
-The result should match one of the above three forms.
-
-@item # @var{linenum} @var{filename} @var{flags@dots{}}
-This form is a GCC extension.  @var{linenum} and @var{filename} are the
-same as the second form.  The @var{flags} are small increasing positive
-integers, which have the same meaning as the flags which can appear at
-the end of a linemarker in the preprocessor's output.
-@xref{Preprocessor Output}.  Note that this form does not use the
-directive name @samp{line}.
+The result should match one of the above two forms.
 @end table
 
 @samp{#line} directives alter the results of the @code{__FILE__} and
@@ -3236,6 +3228,12 @@ wrapped in an implicit @code{extern "C"} block.
 @c maybe cross reference NO_IMPLICIT_EXTERN_C
 @end table
 
+As an extension, the preprocessor accepts linemarkers in non-assembler
+input files.  They are treated like the corresponding @samp{#line}
+directive, (@pxref{Line Control}), except that trailing flags are
+permitted, and are interpreted with the meanings described above.  If
+multiple flags are given, they must be in ascending order.
+
 Some directives may be duplicated in the output of the preprocessor.
 These are @samp{#ident} (always), @samp{#pragma} (only if the
 preprocessor does not handle the pragma itself), and @samp{#define} and
@@ -3815,10 +3813,16 @@ Either @var{infile} or @var{outfile} may be @option{-}, which as
 means to write to standard output.  Also, if either file is omitted, it
 means the same as if @option{-} had been specified for that file.
 
-All single-letter options which take an argument may have that argument
-appear immediately after the option letter, or with a space between
-option and argument:  @option{-Ifoo} and @option{-I foo} have the same
-effect.
+Unless otherwise noted, or the option ends in @samp{=}, all options
+which take an argument may have that argument appear either immediately
+after the option, or with a space between option and argument:
+@option{-Ifoo} and @option{-I foo} have the same effect.
+
+@cindex grouping options
+@cindex options, grouping
+Many options have multi-letter names; therefore multiple single-letter
+options may @emph{not} be grouped: @option{-dM} is very different from
+@w{@samp{-d -M}}.
 
 @cindex options
 @table @gcctabopt
@@ -4170,7 +4174,15 @@ the command line.  Also, undefine all predefined macros and all
 macros preceding it on the command line.  (This is a historical wart and
 may change in the future.)
 
-@item -dM
+@item -dCHARS
+@var{CHARS} is a sequence of one or more of the following characters,
+and must not be preceded by a space.  Other characters are interpreted
+by the compiler proper, or reserved for future versions of GCC, and so
+are silently ignored.  If you specify characters whose behavior
+conflicts, the result is undefined.
+
+@table @samp
+@item M
 Instead of the normal output, generate a list of @samp{#define}
 directives for all the macros defined during the execution of the
 preprocessor, including predefined macros.  This gives you a way of
@@ -4184,18 +4196,19 @@ touch foo.h; cpp -dM foo.h
 @noindent
 will show all the predefined macros.
 
-@item -dD
-Like @option{-dM} except in two respects: it does @emph{not} include the
+@item D
+Like @samp{M} except in two respects: it does @emph{not} include the
 predefined macros, and it outputs @emph{both} the @samp{#define}
 directives and the result of preprocessing.  Both kinds of output go to
 the standard output file.
 
-@item -dN
-Like @option{-dD}, but emit only the macro names, not their expansions.
+@item N
+Like @samp{D}, but emit only the macro names, not their expansions.
 
-@item -dI
+@item I
 Output @samp{#include} directives in addition to the result of
 preprocessing.
+@end table
 
 @item -P
 Inhibit generation of linemarkers in the output from the preprocessor.
index 728886621fb4e78a3bd4d99c6df91c7bc6ef052e..82fd7bc2b361b954dd14269832fb84900169841b 100644 (file)
@@ -1,5 +1,5 @@
 .\" Automatically generated by Pod::Man version 1.16
-.\" Thu Jun 14 22:41:32 2001
+.\" Sat Jun 16 09:19:37 2001
 .\"
 .\" Standard preamble:
 .\" ======================================================================
 .\" ======================================================================
 .\"
 .IX Title "GCC 1"
-.TH GCC 1 "gcc-3.1" "2001-06-14" "GNU"
+.TH GCC 1 "gcc-3.1" "2001-06-16" "GNU"
 .UC
 .SH "NAME"
 gcc \- \s-1GNU\s0 project C and \*(C+ compiler
@@ -3619,12 +3619,14 @@ preprocessing.
 Indicate to the preprocessor that the input file has already been
 preprocessed.  This suppresses things like macro expansion, trigraph
 conversion, escaped newline splicing, and processing of most directives.
-In this mode the integrated preprocessor is little more than a tokenizer
-for the front ends.
+The preprocessor still recognizes and removes comments, so that you can
+pass a file preprocessed with \fB\-C\fR to the compiler without
+problems.  In this mode the integrated preprocessor is little more than
+a tokenizer for the front ends.
 .Sp
 \&\fB\-fpreprocessed\fR is implicit if the input file has one of the
-extensions \fBi\fR, \fBii\fR or \fBmi\fR indicating it has already
-been preprocessed.
+extensions \fBi\fR, \fBii\fR or \fBmi\fR.  These are the extensions
+that \s-1GCC\s0 uses for preprocessed files created by \fB\-save-temps\fR.
 .Ip "\fB\-trigraphs\fR" 4
 .IX Item "-trigraphs"
 Process \s-1ISO\s0 standard trigraph sequences.  These are three-character
index 72c73dd66ed5075decb275d85b4c79a28e0cc18f..9bef3a7e0cdb6951c66803561e5a1fcba06adf98 100644 (file)
@@ -4059,12 +4059,14 @@ preprocessing.
 Indicate to the preprocessor that the input file has already been
 preprocessed.  This suppresses things like macro expansion, trigraph
 conversion, escaped newline splicing, and processing of most directives.
-In this mode the integrated preprocessor is little more than a tokenizer
-for the front ends.
+The preprocessor still recognizes and removes comments, so that you can
+pass a file preprocessed with @option{-C} to the compiler without
+problems.  In this mode the integrated preprocessor is little more than
+a tokenizer for the front ends.
 
 @option{-fpreprocessed} is implicit if the input file has one of the
-extensions @samp{i}, @samp{ii} or @samp{mi} indicating it has already
-been preprocessed.
+extensions @samp{i}, @samp{ii} or @samp{mi}.  These are the extensions
+that GCC uses for preprocessed files created by @option{-save-temps}.
 
 @item -trigraphs
 @opindex trigraphs