Commit 6d34c1c4 by Neil Booth Committed by Neil Booth

cpp.texi, [...]: Update.

	* cpp.texi, invoke.texi: Update.
	* cpp.1, gcc.1: Regenerate.

From-SVN: r43419
parent 138b7342
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> Sat Jun 16 12:45:20 CEST 2001 Jan Hubicka <jh@suse.cz>
* i386.md (minsf): Fix splitter. (PR fortran/3191) * i386.md (minsf): Fix splitter. (PR fortran/3191)
......
.\" Automatically generated by Pod::Man version 1.16 .\" Automatically generated by Pod::Man version 1.16
.\" Sat Jun 16 00:25:57 2001 .\" Sat Jun 16 11:46:14 2001
.\" .\"
.\" Standard preamble: .\" Standard preamble:
.\" ====================================================================== .\" ======================================================================
...@@ -203,10 +203,14 @@ Either \fIinfile\fR or \fIoutfile\fR may be \fB-\fR, which as ...@@ -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 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. means the same as if \fB-\fR had been specified for that file.
.PP .PP
All single-letter options which take an argument may have that argument Unless otherwise noted, or the option ends in \fB=\fR, all options
appear immediately after the option letter, or with a space between which take an argument may have that argument appear either immediately
option and argument: \fB\-Ifoo\fR and \fB\-I foo\fR have the same after the option, or with a space between option and argument:
effect. \&\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 .Ip "\fB\-D\fR \fIname\fR" 4
.IX Item "-D name" .IX Item "-D name"
Predefine \fIname\fR as a macro, with definition \f(CW\*(C`1\*(C'\fR. 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 ...@@ -588,8 +592,15 @@ Cancel all predefined assertions and all assertions preceding it on
the command line. Also, undefine all predefined macros and all the command line. Also, undefine all predefined macros and all
macros preceding it on the command line. (This is a historical wart and macros preceding it on the command line. (This is a historical wart and
may change in the future.) may change in the future.)
.Ip "\fB\-dM\fR" 4 .Ip "\fB\-dCHARS\fR" 4
.IX Item "-dM" .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 Instead of the normal output, generate a list of \fB#define\fR
directives for all the macros defined during the execution of the directives for all the macros defined during the execution of the
preprocessor, including predefined macros. This gives you a way of preprocessor, including predefined macros. This gives you a way of
...@@ -600,19 +611,22 @@ Assuming you have no file \fIfoo.h\fR, the command ...@@ -600,19 +611,22 @@ Assuming you have no file \fIfoo.h\fR, the command
\& touch foo.h; cpp -dM foo.h \& touch foo.h; cpp -dM foo.h
.Ve .Ve
will show all the predefined macros. will show all the predefined macros.
.Ip "\fB\-dD\fR" 4 .Ip "\fBD\fR" 4
.IX Item "-dD" .IX Item "D"
Like \fB\-dM\fR except in two respects: it does \fInot\fR include the Like \fBM\fR except in two respects: it does \fInot\fR include the
predefined macros, and it outputs \fIboth\fR the \fB#define\fR predefined macros, and it outputs \fIboth\fR the \fB#define\fR
directives and the result of preprocessing. Both kinds of output go to directives and the result of preprocessing. Both kinds of output go to
the standard output file. the standard output file.
.Ip "\fB\-dN\fR" 4 .Ip "\fBN\fR" 4
.IX Item "-dN" .IX Item "N"
Like \fB\-dD\fR, but emit only the macro names, not their expansions. Like \fBD\fR, but emit only the macro names, not their expansions.
.Ip "\fB\-dI\fR" 4 .Ip "\fBI\fR" 4
.IX Item "-dI" .IX Item "I"
Output \fB#include\fR directives in addition to the result of Output \fB#include\fR directives in addition to the result of
preprocessing. preprocessing.
.RE
.RS 4
.RE
.Ip "\fB\-P\fR" 4 .Ip "\fB\-P\fR" 4
.IX Item "-P" .IX Item "-P"
Inhibit generation of linemarkers in the output from the preprocessor. Inhibit generation of linemarkers in the output from the preprocessor.
......
...@@ -986,7 +986,7 @@ These rules are implementation-defined behavior according to the C ...@@ -986,7 +986,7 @@ These rules are implementation-defined behavior according to the C
standard. To minimize the risk of different compilers interpreting your standard. To minimize the risk of different compilers interpreting your
computed includes differently, we recommend you use only a single computed includes differently, we recommend you use only a single
object-like macro which expands to a string constant. This will also 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 @node Wrapper Headers
@section Wrapper Headers @section Wrapper Headers
...@@ -1634,7 +1634,7 @@ eprintf("success!\n", ); ...@@ -1634,7 +1634,7 @@ eprintf("success!\n", );
@expansion{} fprintf(stderr, "success!\n", ); @expansion{} fprintf(stderr, "success!\n", );
@end example @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: you are allowed to leave the variable argument out entirely:
@example @example
...@@ -1893,7 +1893,7 @@ testing @code{@w{(__GNUC__ && __cplusplus)}}. ...@@ -1893,7 +1893,7 @@ testing @code{@w{(__GNUC__ && __cplusplus)}}.
@item __STRICT_ANSI__ @item __STRICT_ANSI__
GCC defines this macro if and only if the @option{-ansi} switch, or a 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, @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 This macro exists primarily to direct GNU libc's header files to
restrict their definitions to the minimal set found in the 1989 C restrict their definitions to the minimal set found in the 1989 C
standard. standard.
...@@ -3006,13 +3006,13 @@ symbolic debuggers to be able to refer to @code{bison}'s input file. ...@@ -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 @samp{#line} directives into the output file. @samp{#line} is a
directive that specifies the original line number and source file name directive that specifies the original line number and source file name
for subsequent input in the current preprocessor input file. for subsequent input in the current preprocessor input file.
@samp{#line} has four variants: @samp{#line} has three variants:
@table @code @table @code
@item #line @var{linenum} @item #line @var{linenum}
@var{linenum} is a decimal integer constant. It specifies the line @var{linenum} is a non-negative decimal integer constant. It specifies
number which should be reported for the following line of input. the line number which should be reported for the following line of
Subsequent lines are counted from @var{linenum}. input. Subsequent lines are counted from @var{linenum}.
@item #line @var{linenum} @var{filename} @item #line @var{linenum} @var{filename}
@var{linenum} is the same as for the first form, and has the same @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. ...@@ -3022,15 +3022,7 @@ file it specifies, until something else happens to change that.
@item #line @var{anything else} @item #line @var{anything else}
@var{anything else} is checked for macro calls, which are expanded. @var{anything else} is checked for macro calls, which are expanded.
The result should match one of the above three forms. The result should match one of the above two 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}.
@end table @end table
@samp{#line} directives alter the results of the @code{__FILE__} and @samp{#line} directives alter the results of the @code{__FILE__} and
...@@ -3236,6 +3228,12 @@ wrapped in an implicit @code{extern "C"} block. ...@@ -3236,6 +3228,12 @@ wrapped in an implicit @code{extern "C"} block.
@c maybe cross reference NO_IMPLICIT_EXTERN_C @c maybe cross reference NO_IMPLICIT_EXTERN_C
@end table @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. Some directives may be duplicated in the output of the preprocessor.
These are @samp{#ident} (always), @samp{#pragma} (only if the These are @samp{#ident} (always), @samp{#pragma} (only if the
preprocessor does not handle the pragma itself), and @samp{#define} and 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 ...@@ -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 to write to standard output. Also, if either file is omitted, it
means the same as if @option{-} had been specified for that file. means the same as if @option{-} had been specified for that file.
All single-letter options which take an argument may have that argument Unless otherwise noted, or the option ends in @samp{=}, all options
appear immediately after the option letter, or with a space between which take an argument may have that argument appear either immediately
option and argument: @option{-Ifoo} and @option{-I foo} have the same after the option, or with a space between option and argument:
effect. @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 @cindex options
@table @gcctabopt @table @gcctabopt
...@@ -4170,7 +4174,15 @@ the command line. Also, undefine all predefined macros and all ...@@ -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 macros preceding it on the command line. (This is a historical wart and
may change in the future.) 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} Instead of the normal output, generate a list of @samp{#define}
directives for all the macros defined during the execution of the directives for all the macros defined during the execution of the
preprocessor, including predefined macros. This gives you a way of preprocessor, including predefined macros. This gives you a way of
...@@ -4184,18 +4196,19 @@ touch foo.h; cpp -dM foo.h ...@@ -4184,18 +4196,19 @@ touch foo.h; cpp -dM foo.h
@noindent @noindent
will show all the predefined macros. will show all the predefined macros.
@item -dD @item D
Like @option{-dM} except in two respects: it does @emph{not} include the Like @samp{M} except in two respects: it does @emph{not} include the
predefined macros, and it outputs @emph{both} the @samp{#define} predefined macros, and it outputs @emph{both} the @samp{#define}
directives and the result of preprocessing. Both kinds of output go to directives and the result of preprocessing. Both kinds of output go to
the standard output file. the standard output file.
@item -dN @item N
Like @option{-dD}, but emit only the macro names, not their expansions. 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 Output @samp{#include} directives in addition to the result of
preprocessing. preprocessing.
@end table
@item -P @item -P
Inhibit generation of linemarkers in the output from the preprocessor. Inhibit generation of linemarkers in the output from the preprocessor.
......
.\" Automatically generated by Pod::Man version 1.16 .\" Automatically generated by Pod::Man version 1.16
.\" Thu Jun 14 22:41:32 2001 .\" Sat Jun 16 09:19:37 2001
.\" .\"
.\" Standard preamble: .\" Standard preamble:
.\" ====================================================================== .\" ======================================================================
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
.\" ====================================================================== .\" ======================================================================
.\" .\"
.IX Title "GCC 1" .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 .UC
.SH "NAME" .SH "NAME"
gcc \- \s-1GNU\s0 project C and \*(C+ compiler gcc \- \s-1GNU\s0 project C and \*(C+ compiler
...@@ -3619,12 +3619,14 @@ preprocessing. ...@@ -3619,12 +3619,14 @@ preprocessing.
Indicate to the preprocessor that the input file has already been Indicate to the preprocessor that the input file has already been
preprocessed. This suppresses things like macro expansion, trigraph preprocessed. This suppresses things like macro expansion, trigraph
conversion, escaped newline splicing, and processing of most directives. conversion, escaped newline splicing, and processing of most directives.
In this mode the integrated preprocessor is little more than a tokenizer The preprocessor still recognizes and removes comments, so that you can
for the front ends. 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 .Sp
\&\fB\-fpreprocessed\fR is implicit if the input file has one of the \&\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 extensions \fBi\fR, \fBii\fR or \fBmi\fR. These are the extensions
been preprocessed. that \s-1GCC\s0 uses for preprocessed files created by \fB\-save-temps\fR.
.Ip "\fB\-trigraphs\fR" 4 .Ip "\fB\-trigraphs\fR" 4
.IX Item "-trigraphs" .IX Item "-trigraphs"
Process \s-1ISO\s0 standard trigraph sequences. These are three-character Process \s-1ISO\s0 standard trigraph sequences. These are three-character
......
...@@ -4059,12 +4059,14 @@ preprocessing. ...@@ -4059,12 +4059,14 @@ preprocessing.
Indicate to the preprocessor that the input file has already been Indicate to the preprocessor that the input file has already been
preprocessed. This suppresses things like macro expansion, trigraph preprocessed. This suppresses things like macro expansion, trigraph
conversion, escaped newline splicing, and processing of most directives. conversion, escaped newline splicing, and processing of most directives.
In this mode the integrated preprocessor is little more than a tokenizer The preprocessor still recognizes and removes comments, so that you can
for the front ends. 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 @option{-fpreprocessed} is implicit if the input file has one of the
extensions @samp{i}, @samp{ii} or @samp{mi} indicating it has already extensions @samp{i}, @samp{ii} or @samp{mi}. These are the extensions
been preprocessed. that GCC uses for preprocessed files created by @option{-save-temps}.
@item -trigraphs @item -trigraphs
@opindex trigraphs @opindex trigraphs
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment