aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.demon.co.uk>2001-06-16 10:59:48 +0000
committerNeil Booth <neil@gcc.gnu.org>2001-06-16 10:59:48 +0000
commit6d34c1c4f3cb9537b65a57ee9d6c80853ea0017a (patch)
treea785a492c91f8942141616471fea08f96edc1ece
parent138b7342b18190807ee0a2263bdf1bf670500697 (diff)
downloadgcc-6d34c1c4f3cb9537b65a57ee9d6c80853ea0017a.zip
gcc-6d34c1c4f3cb9537b65a57ee9d6c80853ea0017a.tar.gz
gcc-6d34c1c4f3cb9537b65a57ee9d6c80853ea0017a.tar.bz2
cpp.texi, [...]: Update.
* cpp.texi, invoke.texi: Update. * cpp.1, gcc.1: Regenerate. From-SVN: r43419
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/cpp.144
-rw-r--r--gcc/doc/cpp.texi65
-rw-r--r--gcc/doc/gcc.114
-rw-r--r--gcc/doc/invoke.texi10
5 files changed, 87 insertions, 51 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d557c5c..bcdd907 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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)
diff --git a/gcc/doc/cpp.1 b/gcc/doc/cpp.1
index 15bd6ee..281cd37 100644
--- a/gcc/doc/cpp.1
+++ b/gcc/doc/cpp.1
@@ -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.
diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi
index fa545c81..05bd6bc 100644
--- a/gcc/doc/cpp.texi
+++ b/gcc/doc/cpp.texi
@@ -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.
diff --git a/gcc/doc/gcc.1 b/gcc/doc/gcc.1
index 7288866..82fd7bc 100644
--- a/gcc/doc/gcc.1
+++ b/gcc/doc/gcc.1
@@ -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:
.\" ======================================================================
@@ -138,7 +138,7 @@
.\" ======================================================================
.\"
.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
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 72c73dd..9bef3a7 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -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