1228 lines
38 KiB
HTML
1228 lines
38 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of CPP</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>CPP</H1>
|
|
Section: GNU (1)<BR>Updated: 2020-08-08<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
cpp - The C Preprocessor
|
|
<A NAME="lbAC"> </A>
|
|
<H2>SYNOPSIS</H2>
|
|
|
|
|
|
|
|
cpp [<B>-D</B><I>macro</I>[=<I>defn</I>]...] [<B>-U</B><I>macro</I>]
|
|
<BR> [<B>-I</B><I>dir</I>...] [<B>-iquote</B><I>dir</I>...]
|
|
<BR> [<B>-M</B>|<B>-MM</B>] [<B>-MG</B>] [<B>-MF</B> <I>filename</I>]
|
|
<BR> [<B>-MP</B>] [<B>-MQ</B> <I>target</I>...]
|
|
<BR> [<B>-MT</B> <I>target</I>...]
|
|
<BR> <I>infile</I> [[<B>-o</B>] <I>outfile</I>]
|
|
<P>
|
|
|
|
Only the most useful options are given above; see below for a more
|
|
complete list of preprocessor-specific options.
|
|
In addition, <B>cpp</B> accepts most <B>gcc</B> driver options, which
|
|
are not listed here. Refer to the <FONT SIZE="-1">GCC</FONT> documentation for details.
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
|
|
|
|
The C preprocessor, often known as <I>cpp</I>, is a <I>macro processor</I>
|
|
that is used automatically by the C compiler to transform your program
|
|
before compilation. It is called a macro processor because it allows
|
|
you to define <I>macros</I>, which are brief abbreviations for longer
|
|
constructs.
|
|
<P>
|
|
|
|
The C preprocessor is intended to be used only with C, C<FONT SIZE="-2">++</FONT>, and
|
|
Objective-C source code. In the past, it has been abused as a general
|
|
text processor. It will choke on input which does not obey C's lexical
|
|
rules. For example, apostrophes will be interpreted as the beginning of
|
|
character constants, and cause errors. Also, you cannot rely on it
|
|
preserving characteristics of the input which are not significant to
|
|
C-family languages. If a Makefile is preprocessed, all the hard tabs
|
|
will be removed, and the Makefile will not work.
|
|
<P>
|
|
|
|
Having said that, you can often get away with using cpp on things which
|
|
are not C. Other Algol-ish programming languages are often safe
|
|
(Ada, etc.) So is assembly, with caution. <B>-traditional-cpp</B>
|
|
mode preserves more white space, and is otherwise more permissive. Many
|
|
of the problems can be avoided by writing C or C<FONT SIZE="-2">++</FONT> style comments
|
|
instead of native language comments, and keeping macros simple.
|
|
<P>
|
|
|
|
Wherever possible, you should use a preprocessor geared to the language
|
|
you are writing in. Modern versions of the <FONT SIZE="-1">GNU</FONT> assembler have macro
|
|
facilities. Most high level programming languages have their own
|
|
conditional compilation and inclusion mechanism. If all else fails,
|
|
try a true general text processor, such as <FONT SIZE="-1">GNU M4.</FONT>
|
|
<P>
|
|
|
|
C preprocessors vary in some details. This manual discusses the <FONT SIZE="-1">GNU C</FONT>
|
|
preprocessor, which provides a small superset of the features of <FONT SIZE="-1">ISO</FONT>
|
|
Standard C. In its default mode, the <FONT SIZE="-1">GNU C</FONT> preprocessor does not do a
|
|
few things required by the standard. These are features which are
|
|
rarely, if ever, used, and may cause surprising changes to the meaning
|
|
of a program which does not expect them. To get strict <FONT SIZE="-1">ISO</FONT> Standard C,
|
|
you should use the <B>-std=c90</B>, <B>-std=c99</B>,
|
|
<B>-std=c11</B> or <B>-std=c17</B> options, depending
|
|
on which version of the standard you want. To get all the mandatory
|
|
diagnostics, you must also use <B>-pedantic</B>.
|
|
<P>
|
|
|
|
This manual describes the behavior of the <FONT SIZE="-1">ISO</FONT> preprocessor. To
|
|
minimize gratuitous differences, where the <FONT SIZE="-1">ISO</FONT> preprocessor's
|
|
behavior does not conflict with traditional semantics, the
|
|
traditional preprocessor should behave the same way. The various
|
|
differences that do exist are detailed in the section <B>Traditional
|
|
Mode</B>.
|
|
<P>
|
|
|
|
For clarity, unless noted otherwise, references to <B></B><FONT SIZE="-1"><B>CPP</B></FONT><B></B> in this
|
|
manual refer to <FONT SIZE="-1">GNU CPP.</FONT>
|
|
<A NAME="lbAE"> </A>
|
|
<H2>OPTIONS</H2>
|
|
|
|
|
|
|
|
The <B>cpp</B> command expects two file names as arguments, <I>infile</I> and
|
|
<I>outfile</I>. The preprocessor reads <I>infile</I> together with any
|
|
other files it specifies with <B>#include</B>. All the output generated
|
|
by the combined input files is written in <I>outfile</I>.
|
|
<P>
|
|
|
|
Either <I>infile</I> or <I>outfile</I> may be <B>-</B>, which as
|
|
<I>infile</I> means to read from standard input and as <I>outfile</I>
|
|
means to write to standard output. If either file is omitted, it
|
|
means the same as if <B>-</B> had been specified for that file.
|
|
You can also use the <B>-o</B> <I>outfile</I> option to specify the
|
|
output file.
|
|
<P>
|
|
|
|
Unless otherwise noted, or the option ends in <B>=</B>, all options
|
|
which take an argument may have that argument appear either immediately
|
|
after the option, or with a space between option and argument:
|
|
<B>-Ifoo</B> and <B>-I foo</B> have the same effect.
|
|
<P>
|
|
|
|
Many options have multi-letter names; therefore multiple single-letter
|
|
options may <I>not</I> be grouped: <B>-dM</B> is very different from
|
|
<B>-d -M</B>.
|
|
<DL COMPACT>
|
|
<DT id="1"><B>-D</B> <I>name</I><DD>
|
|
|
|
|
|
Predefine <I>name</I> as a macro, with definition <TT>1</TT>.
|
|
<DT id="2"><B>-D</B> <I>name</I><B>=</B><I>definition</I><DD>
|
|
|
|
|
|
The contents of <I>definition</I> are tokenized and processed as if
|
|
they appeared during translation phase three in a <B>#define</B>
|
|
directive. In particular, the definition is truncated by
|
|
embedded newline characters.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If you are invoking the preprocessor from a shell or shell-like
|
|
program you may need to use the shell's quoting syntax to protect
|
|
characters such as spaces that have a meaning in the shell syntax.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If you wish to define a function-like macro on the command line, write
|
|
its argument list with surrounding parentheses before the equals sign
|
|
(if any). Parentheses are meaningful to most shells, so you should
|
|
quote the option. With <B>sh</B> and <B>csh</B>,
|
|
<B>-D'</B><I>name</I><B>(</B><I>args...</I><B>)=</B><I>definition</I><B>'</B> works.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
<B>-D</B> and <B>-U</B> options are processed in the order they
|
|
are given on the command line. All <B>-imacros</B> <I>file</I> and
|
|
<B>-include</B> <I>file</I> options are processed after all
|
|
<B>-D</B> and <B>-U</B> options.
|
|
<DT id="3"><B>-U</B> <I>name</I><DD>
|
|
|
|
|
|
Cancel any previous definition of <I>name</I>, either built in or
|
|
provided with a <B>-D</B> option.
|
|
<DT id="4"><B>-include</B> <I>file</I><DD>
|
|
|
|
|
|
Process <I>file</I> as if <TT>"#include "file""</TT> appeared as the first
|
|
line of the primary source file. However, the first directory searched
|
|
for <I>file</I> is the preprocessor's working directory <I>instead of</I>
|
|
the directory containing the main source file. If not found there, it
|
|
is searched for in the remainder of the <TT>"#include "...""</TT> search
|
|
chain as normal.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If multiple <B>-include</B> options are given, the files are included
|
|
in the order they appear on the command line.
|
|
<DT id="5"><B>-imacros</B> <I>file</I><DD>
|
|
|
|
|
|
Exactly like <B>-include</B>, except that any output produced by
|
|
scanning <I>file</I> is thrown away. Macros it defines remain defined.
|
|
This allows you to acquire all the macros from a header without also
|
|
processing its declarations.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
All files specified by <B>-imacros</B> are processed before all files
|
|
specified by <B>-include</B>.
|
|
<DT id="6"><B>-undef</B><DD>
|
|
|
|
|
|
Do not predefine any system-specific or GCC-specific macros. The
|
|
standard predefined macros remain defined.
|
|
<DT id="7"><B>-pthread</B><DD>
|
|
|
|
|
|
Define additional macros required for using the <FONT SIZE="-1">POSIX</FONT> threads library.
|
|
You should use this option consistently for both compilation and linking.
|
|
This option is supported on GNU/Linux targets, most other Unix derivatives,
|
|
and also on x86 Cygwin and MinGW targets.
|
|
<DT id="8"><B>-M</B><DD>
|
|
|
|
|
|
Instead of outputting the result of preprocessing, output a rule
|
|
suitable for <B>make</B> describing the dependencies of the main
|
|
source file. The preprocessor outputs one <B>make</B> rule containing
|
|
the object file name for that source file, a colon, and the names of all
|
|
the included files, including those coming from <B>-include</B> or
|
|
<B>-imacros</B> command-line options.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Unless specified explicitly (with <B>-MT</B> or <B>-MQ</B>), the
|
|
object file name consists of the name of the source file with any
|
|
suffix replaced with object file suffix and with any leading directory
|
|
parts removed. If there are many included files then the rule is
|
|
split into several lines using <B>\</B>-newline. The rule has no
|
|
commands.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
This option does not suppress the preprocessor's debug output, such as
|
|
<B>-dM</B>. To avoid mixing such debug output with the dependency
|
|
rules you should explicitly specify the dependency output file with
|
|
<B>-MF</B>, or use an environment variable like
|
|
<B></B><FONT SIZE="-1"><B>DEPENDENCIES_OUTPUT</B></FONT><B></B>. Debug output
|
|
is still sent to the regular output stream as normal.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Passing <B>-M</B> to the driver implies <B>-E</B>, and suppresses
|
|
warnings with an implicit <B>-w</B>.
|
|
<DT id="9"><B>-MM</B><DD>
|
|
|
|
|
|
Like <B>-M</B> but do not mention header files that are found in
|
|
system header directories, nor header files that are included,
|
|
directly or indirectly, from such a header.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
This implies that the choice of angle brackets or double quotes in an
|
|
<B>#include</B> directive does not in itself determine whether that
|
|
header appears in <B>-MM</B> dependency output.
|
|
<DT id="10"><B>-MF</B> <I>file</I><DD>
|
|
|
|
|
|
When used with <B>-M</B> or <B>-MM</B>, specifies a
|
|
file to write the dependencies to. If no <B>-MF</B> switch is given
|
|
the preprocessor sends the rules to the same place it would send
|
|
preprocessed output.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
When used with the driver options <B>-MD</B> or <B>-MMD</B>,
|
|
<B>-MF</B> overrides the default dependency output file.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If <I>file</I> is <I>-</I>, then the dependencies are written to <I>stdout</I>.
|
|
<DT id="11"><B>-MG</B><DD>
|
|
|
|
|
|
In conjunction with an option such as <B>-M</B> requesting
|
|
dependency generation, <B>-MG</B> assumes missing header files are
|
|
generated files and adds them to the dependency list without raising
|
|
an error. The dependency filename is taken directly from the
|
|
<TT>"#include"</TT> directive without prepending any path. <B>-MG</B>
|
|
also suppresses preprocessed output, as a missing header file renders
|
|
this useless.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
This feature is used in automatic updating of makefiles.
|
|
<DT id="12"><B>-MP</B><DD>
|
|
|
|
|
|
This option instructs <FONT SIZE="-1">CPP</FONT> to add a phony target for each dependency
|
|
other than the main file, causing each to depend on nothing. These
|
|
dummy rules work around errors <B>make</B> gives if you remove header
|
|
files without updating the <I>Makefile</I> to match.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
This is typical output:
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
|
<PRE>
|
|
test.o: test.c test.h
|
|
|
|
test.h:
|
|
|
|
</PRE>
|
|
|
|
|
|
<DT id="13"><B>-MT</B> <I>target</I><DD>
|
|
|
|
|
|
Change the target of the rule emitted by dependency generation. By
|
|
default <FONT SIZE="-1">CPP</FONT> takes the name of the main input file, deletes any
|
|
directory components and any file suffix such as <B>.c</B>, and
|
|
appends the platform's usual object suffix. The result is the target.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
An <B>-MT</B> option sets the target to be exactly the string you
|
|
specify. If you want multiple targets, you can specify them as a single
|
|
argument to <B>-MT</B>, or use multiple <B>-MT</B> options.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
For example, <B>-MT '$(objpfx)foo.o'</B> might give
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
|
<PRE>
|
|
$(objpfx)foo.o: foo.c
|
|
|
|
</PRE>
|
|
|
|
|
|
<DT id="14"><B>-MQ</B> <I>target</I><DD>
|
|
|
|
|
|
Same as <B>-MT</B>, but it quotes any characters which are special to
|
|
Make. <B>-MQ '$(objpfx)foo.o'</B> gives
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
|
<PRE>
|
|
$$(objpfx)foo.o: foo.c
|
|
|
|
</PRE>
|
|
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The default target is automatically quoted, as if it were given with
|
|
<B>-MQ</B>.
|
|
<DT id="15"><B>-MD</B><DD>
|
|
|
|
|
|
<B>-MD</B> is equivalent to <B>-M -MF</B> <I>file</I>, except that
|
|
<B>-E</B> is not implied. The driver determines <I>file</I> based on
|
|
whether an <B>-o</B> option is given. If it is, the driver uses its
|
|
argument but with a suffix of <I>.d</I>, otherwise it takes the name
|
|
of the input file, removes any directory components and suffix, and
|
|
applies a <I>.d</I> suffix.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If <B>-MD</B> is used in conjunction with <B>-E</B>, any
|
|
<B>-o</B> switch is understood to specify the dependency output file, but if used without <B>-E</B>, each <B>-o</B>
|
|
is understood to specify a target object file.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Since <B>-E</B> is not implied, <B>-MD</B> can be used to generate
|
|
a dependency output file as a side effect of the compilation process.
|
|
<DT id="16"><B>-MMD</B><DD>
|
|
|
|
|
|
Like <B>-MD</B> except mention only user header files, not system
|
|
header files.
|
|
<DT id="17"><B>-fpreprocessed</B><DD>
|
|
|
|
|
|
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.
|
|
The preprocessor still recognizes and removes comments, so that you can
|
|
pass a file preprocessed with <B>-C</B> to the compiler without
|
|
problems. In this mode the integrated preprocessor is little more than
|
|
a tokenizer for the front ends.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
<B>-fpreprocessed</B> is implicit if the input file has one of the
|
|
extensions <B>.i</B>, <B>.ii</B> or <B>.mi</B>. These are the
|
|
extensions that <FONT SIZE="-1">GCC</FONT> uses for preprocessed files created by
|
|
<B>-save-temps</B>.
|
|
<DT id="18"><B>-fdirectives-only</B><DD>
|
|
|
|
|
|
When preprocessing, handle directives, but do not expand macros.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The option's behavior depends on the <B>-E</B> and <B>-fpreprocessed</B>
|
|
options.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
With <B>-E</B>, preprocessing is limited to the handling of directives
|
|
such as <TT>"#define"</TT>, <TT>"#ifdef"</TT>, and <TT>"#error"</TT>. Other
|
|
preprocessor operations, such as macro expansion and trigraph
|
|
conversion are not performed. In addition, the <B>-dD</B> option is
|
|
implicitly enabled.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
With <B>-fpreprocessed</B>, predefinition of command line and most
|
|
builtin macros is disabled. Macros such as <TT>"__LINE__"</TT>, which are
|
|
contextually dependent, are handled normally. This enables compilation of
|
|
files previously preprocessed with <TT>"-E -fdirectives-only"</TT>.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
With both <B>-E</B> and <B>-fpreprocessed</B>, the rules for
|
|
<B>-fpreprocessed</B> take precedence. This enables full preprocessing of
|
|
files previously preprocessed with <TT>"-E -fdirectives-only"</TT>.
|
|
<DT id="19"><B>-fdollars-in-identifiers</B><DD>
|
|
|
|
|
|
Accept <B>$</B> in identifiers.
|
|
<DT id="20"><B>-fextended-identifiers</B><DD>
|
|
|
|
|
|
Accept universal character names in identifiers. This option is
|
|
enabled by default for C99 (and later C standard versions) and C<FONT SIZE="-2">++</FONT>.
|
|
<DT id="21"><B>-fno-canonical-system-headers</B><DD>
|
|
|
|
|
|
When preprocessing, do not shorten system header paths with canonicalization.
|
|
<DT id="22"><B>-ftabstop=</B><I>width</I><DD>
|
|
|
|
|
|
Set the distance between tab stops. This helps the preprocessor report
|
|
correct column numbers in warnings or errors, even if tabs appear on the
|
|
line. If the value is less than 1 or greater than 100, the option is
|
|
ignored. The default is 8.
|
|
<DT id="23"><B>-ftrack-macro-expansion</B>[<B>=</B><I>level</I>]<DD>
|
|
|
|
|
|
Track locations of tokens across macro expansions. This allows the
|
|
compiler to emit diagnostic about the current macro expansion stack
|
|
when a compilation error occurs in a macro expansion. Using this
|
|
option makes the preprocessor and the compiler consume more
|
|
memory. The <I>level</I> parameter can be used to choose the level of
|
|
precision of token location tracking thus decreasing the memory
|
|
consumption if necessary. Value <B>0</B> of <I>level</I> de-activates
|
|
this option. Value <B>1</B> tracks tokens locations in a
|
|
degraded mode for the sake of minimal memory overhead. In this mode
|
|
all tokens resulting from the expansion of an argument of a
|
|
function-like macro have the same location. Value <B>2</B> tracks
|
|
tokens locations completely. This value is the most memory hungry.
|
|
When this option is given no argument, the default parameter value is
|
|
<B>2</B>.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Note that <TT>"-ftrack-macro-expansion=2"</TT> is activated by default.
|
|
<DT id="24"><B>-fmacro-prefix-map=</B><I>old</I><B>=</B><I>new</I><DD>
|
|
|
|
|
|
When preprocessing files residing in directory <I>old</I>,
|
|
expand the <TT>"__FILE__"</TT> and <TT>"__BASE_FILE__"</TT> macros as if the
|
|
files resided in directory <I>new</I> instead. This can be used
|
|
to change an absolute path to a relative path by using <I>.</I> for
|
|
<I>new</I> which can result in more reproducible builds that are
|
|
location independent. This option also affects
|
|
<TT>"__builtin_FILE()"</TT> during compilation. See also
|
|
<B>-ffile-prefix-map</B>.
|
|
<DT id="25"><B>-fexec-charset=</B><I>charset</I><DD>
|
|
|
|
|
|
Set the execution character set, used for string and character
|
|
constants. The default is <FONT SIZE="-1">UTF-8.</FONT> <I>charset</I> can be any encoding
|
|
supported by the system's <TT>"iconv"</TT> library routine.
|
|
<DT id="26"><B>-fwide-exec-charset=</B><I>charset</I><DD>
|
|
|
|
|
|
Set the wide execution character set, used for wide string and
|
|
character constants. The default is <FONT SIZE="-1">UTF-32</FONT> or <FONT SIZE="-1">UTF-16,</FONT> whichever
|
|
corresponds to the width of <TT>"wchar_t"</TT>. As with
|
|
<B>-fexec-charset</B>, <I>charset</I> can be any encoding supported
|
|
by the system's <TT>"iconv"</TT> library routine; however, you will have
|
|
problems with encodings that do not fit exactly in <TT>"wchar_t"</TT>.
|
|
<DT id="27"><B>-finput-charset=</B><I>charset</I><DD>
|
|
|
|
|
|
Set the input character set, used for translation from the character
|
|
set of the input file to the source character set used by <FONT SIZE="-1">GCC.</FONT> If the
|
|
locale does not specify, or <FONT SIZE="-1">GCC</FONT> cannot get this information from the
|
|
locale, the default is <FONT SIZE="-1">UTF-8.</FONT> This can be overridden by either the locale
|
|
or this command-line option. Currently the command-line option takes
|
|
precedence if there's a conflict. <I>charset</I> can be any encoding
|
|
supported by the system's <TT>"iconv"</TT> library routine.
|
|
<DT id="28"><B>-fworking-directory</B><DD>
|
|
|
|
|
|
Enable generation of linemarkers in the preprocessor output that
|
|
let the compiler know the current working directory at the time of
|
|
preprocessing. When this option is enabled, the preprocessor
|
|
emits, after the initial linemarker, a second linemarker with the
|
|
current working directory followed by two slashes. <FONT SIZE="-1">GCC</FONT> uses this
|
|
directory, when it's present in the preprocessed input, as the
|
|
directory emitted as the current working directory in some debugging
|
|
information formats. This option is implicitly enabled if debugging
|
|
information is enabled, but this can be inhibited with the negated
|
|
form <B>-fno-working-directory</B>. If the <B>-P</B> flag is
|
|
present in the command line, this option has no effect, since no
|
|
<TT>"#line"</TT> directives are emitted whatsoever.
|
|
<DT id="29"><B>-A</B> <I>predicate</I><B>=</B><I>answer</I><DD>
|
|
|
|
|
|
Make an assertion with the predicate <I>predicate</I> and answer
|
|
<I>answer</I>. This form is preferred to the older form <B>-A</B>
|
|
<I>predicate</I><B>(</B><I>answer</I><B>)</B>, which is still supported, because
|
|
it does not use shell special characters.
|
|
<DT id="30"><B>-A -</B><I>predicate</I><B>=</B><I>answer</I><DD>
|
|
|
|
|
|
Cancel an assertion with the predicate <I>predicate</I> and answer
|
|
<I>answer</I>.
|
|
<DT id="31"><B>-C</B><DD>
|
|
|
|
|
|
Do not discard comments. All comments are passed through to the output
|
|
file, except for comments in processed directives, which are deleted
|
|
along with the directive.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
You should be prepared for side effects when using <B>-C</B>; it
|
|
causes the preprocessor to treat comments as tokens in their own right.
|
|
For example, comments appearing at the start of what would be a
|
|
directive line have the effect of turning that line into an ordinary
|
|
source line, since the first token on the line is no longer a <B>#</B>.
|
|
<DT id="32"><B>-CC</B><DD>
|
|
|
|
|
|
Do not discard comments, including during macro expansion. This is
|
|
like <B>-C</B>, except that comments contained within macros are
|
|
also passed through to the output file where the macro is expanded.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
In addition to the side effects of the <B>-C</B> option, the
|
|
<B>-CC</B> option causes all C<FONT SIZE="-2">++</FONT>-style comments inside a macro
|
|
to be converted to C-style comments. This is to prevent later use
|
|
of that macro from inadvertently commenting out the remainder of
|
|
the source line.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The <B>-CC</B> option is generally used to support lint comments.
|
|
<DT id="33"><B>-P</B><DD>
|
|
|
|
|
|
Inhibit generation of linemarkers in the output from the preprocessor.
|
|
This might be useful when running the preprocessor on something that is
|
|
not C code, and will be sent to a program which might be confused by the
|
|
linemarkers.
|
|
<DT id="34"><B>-traditional</B><DD>
|
|
|
|
|
|
|
|
<DT id="35"><B>-traditional-cpp</B><DD>
|
|
|
|
|
|
|
|
Try to imitate the behavior of pre-standard C preprocessors, as
|
|
opposed to <FONT SIZE="-1">ISO C</FONT> preprocessors.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Note that <FONT SIZE="-1">GCC</FONT> does not otherwise attempt to emulate a pre-standard
|
|
C compiler, and these options are only supported with the <B>-E</B>
|
|
switch, or when invoking <FONT SIZE="-1">CPP</FONT> explicitly.
|
|
<DT id="36"><B>-trigraphs</B><DD>
|
|
|
|
|
|
Support <FONT SIZE="-1">ISO C</FONT> trigraphs.
|
|
These are three-character sequences, all starting with <B>??</B>, that
|
|
are defined by <FONT SIZE="-1">ISO C</FONT> to stand for single characters. For example,
|
|
<B>??/</B> stands for <B>\</B>, so <B>'??/n'</B> is a character
|
|
constant for a newline.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
By default, <FONT SIZE="-1">GCC</FONT> ignores trigraphs, but in
|
|
standard-conforming modes it converts them. See the <B>-std</B> and
|
|
<B>-ansi</B> options.
|
|
<DT id="37"><B>-remap</B><DD>
|
|
|
|
|
|
Enable special code to work around file systems which only permit very
|
|
short file names, such as MS-DOS.
|
|
<DT id="38"><B>-H</B><DD>
|
|
|
|
|
|
Print the name of each header file used, in addition to other normal
|
|
activities. Each name is indented to show how deep in the
|
|
<B>#include</B> stack it is. Precompiled header files are also
|
|
printed, even if they are found to be invalid; an invalid precompiled
|
|
header file is printed with <B>...x</B> and a valid one with <B>...!</B> .
|
|
<DT id="39"><B>-d</B><I>letters</I><DD>
|
|
|
|
|
|
Says to make debugging dumps during compilation as specified by
|
|
<I>letters</I>. The flags documented here are those relevant to the
|
|
preprocessor. Other <I>letters</I> are interpreted
|
|
by the compiler proper, or reserved for future versions of <FONT SIZE="-1">GCC,</FONT> and so
|
|
are silently ignored. If you specify <I>letters</I> whose behavior
|
|
conflicts, the result is undefined.
|
|
<DL COMPACT><DT id="40"><DD>
|
|
<DL COMPACT>
|
|
<DT id="41"><B>-dM</B><DD>
|
|
|
|
|
|
Instead of the normal output, generate a list of <B>#define</B>
|
|
directives for all the macros defined during the execution of the
|
|
preprocessor, including predefined macros. This gives you a way of
|
|
finding out what is predefined in your version of the preprocessor.
|
|
Assuming you have no file <I>foo.h</I>, the command
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
|
<PRE>
|
|
touch foo.h; cpp -dM foo.h
|
|
|
|
</PRE>
|
|
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
shows all the predefined macros.
|
|
<DT id="42"><B>-dD</B><DD>
|
|
|
|
|
|
Like <B>-dM</B> except in two respects: it does <I>not</I> include the
|
|
predefined macros, and it outputs <I>both</I> the <B>#define</B>
|
|
directives and the result of preprocessing. Both kinds of output go to
|
|
the standard output file.
|
|
<DT id="43"><B>-dN</B><DD>
|
|
|
|
|
|
Like <B>-dD</B>, but emit only the macro names, not their expansions.
|
|
<DT id="44"><B>-dI</B><DD>
|
|
|
|
|
|
Output <B>#include</B> directives in addition to the result of
|
|
preprocessing.
|
|
<DT id="45"><B>-dU</B><DD>
|
|
|
|
|
|
Like <B>-dD</B> except that only macros that are expanded, or whose
|
|
definedness is tested in preprocessor directives, are output; the
|
|
output is delayed until the use or test of the macro; and
|
|
<B>#undef</B> directives are also output for macros tested but
|
|
undefined at the time.
|
|
</DL>
|
|
</DL>
|
|
|
|
<DL COMPACT><DT id="46"><DD>
|
|
</DL>
|
|
|
|
<DT id="47"><B>-fdebug-cpp</B><DD>
|
|
|
|
|
|
This option is only useful for debugging <FONT SIZE="-1">GCC.</FONT> When used from <FONT SIZE="-1">CPP</FONT> or with
|
|
<B>-E</B>, it dumps debugging information about location maps. Every
|
|
token in the output is preceded by the dump of the map its location
|
|
belongs to.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
When used from <FONT SIZE="-1">GCC</FONT> without <B>-E</B>, this option has no effect.
|
|
<DT id="48"><B>-I</B> <I>dir</I><DD>
|
|
|
|
|
|
|
|
<DT id="49"><B>-iquote</B> <I>dir</I><DD>
|
|
|
|
|
|
<DT id="50"><B>-isystem</B> <I>dir</I><DD>
|
|
|
|
|
|
<DT id="51"><B>-idirafter</B> <I>dir</I><DD>
|
|
|
|
|
|
|
|
Add the directory <I>dir</I> to the list of directories to be searched
|
|
for header files during preprocessing.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If <I>dir</I> begins with <B>=</B> or <TT>$SYSROOT</TT>, then the <B>=</B>
|
|
or <TT>$SYSROOT</TT> is replaced by the sysroot prefix; see
|
|
<B>--sysroot</B> and <B>-isysroot</B>.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Directories specified with <B>-iquote</B> apply only to the quote
|
|
form of the directive, <TT>"#include "</TT>file<TT>""</TT>.
|
|
Directories specified with <B>-I</B>, <B>-isystem</B>,
|
|
or <B>-idirafter</B> apply to lookup for both the
|
|
<TT>"#include "</TT>file<TT>""</TT> and
|
|
<TT>"#include <</TT>file<TT>>"</TT> directives.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
You can specify any number or combination of these options on the
|
|
command line to search for header files in several directories.
|
|
The lookup order is as follows:
|
|
<DL COMPACT><DT id="52"><DD>
|
|
<DL COMPACT>
|
|
<DT id="53">1.<DD>
|
|
|
|
|
|
For the quote form of the include directive, the directory of the current
|
|
file is searched first.
|
|
<DT id="54">2.<DD>
|
|
|
|
|
|
For the quote form of the include directive, the directories specified
|
|
by <B>-iquote</B> options are searched in left-to-right order,
|
|
as they appear on the command line.
|
|
<DT id="55">3.<DD>
|
|
|
|
|
|
Directories specified with <B>-I</B> options are scanned in
|
|
left-to-right order.
|
|
<DT id="56">4.<DD>
|
|
|
|
|
|
Directories specified with <B>-isystem</B> options are scanned in
|
|
left-to-right order.
|
|
<DT id="57">5.<DD>
|
|
|
|
|
|
Standard system directories are scanned.
|
|
<DT id="58">6.<DD>
|
|
|
|
|
|
Directories specified with <B>-idirafter</B> options are scanned in
|
|
left-to-right order.
|
|
</DL>
|
|
</DL>
|
|
|
|
<DL COMPACT><DT id="59"><DD>
|
|
|
|
|
|
<P>
|
|
|
|
|
|
You can use <B>-I</B> to override a system header
|
|
file, substituting your own version, since these directories are
|
|
searched before the standard system header file directories.
|
|
However, you should
|
|
not use this option to add directories that contain vendor-supplied
|
|
system header files; use <B>-isystem</B> for that.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The <B>-isystem</B> and <B>-idirafter</B> options also mark the directory
|
|
as a system directory, so that it gets the same special treatment that
|
|
is applied to the standard system directories.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If a standard system include directory, or a directory specified with
|
|
<B>-isystem</B>, is also specified with <B>-I</B>, the <B>-I</B>
|
|
option is ignored. The directory is still searched but as a
|
|
system directory at its normal position in the system include chain.
|
|
This is to ensure that <FONT SIZE="-1">GCC</FONT>'s procedure to fix buggy system headers and
|
|
the ordering for the <TT>"#include_next"</TT> directive are not inadvertently
|
|
changed.
|
|
If you really need to change the search order for system directories,
|
|
use the <B>-nostdinc</B> and/or <B>-isystem</B> options.
|
|
</DL>
|
|
|
|
<DT id="60"><B>-I-</B><DD>
|
|
|
|
|
|
Split the include path.
|
|
This option has been deprecated. Please use <B>-iquote</B> instead for
|
|
<B>-I</B> directories before the <B>-I-</B> and remove the <B>-I-</B>
|
|
option.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Any directories specified with <B>-I</B>
|
|
options before <B>-I-</B> are searched only for headers requested with
|
|
<TT>"#include "</TT>file<TT>""</TT>; they are not searched for
|
|
<TT>"#include <</TT>file<TT>>"</TT>. If additional directories are
|
|
specified with <B>-I</B> options after the <B>-I-</B>, those
|
|
directories are searched for all <B>#include</B> directives.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
In addition, <B>-I-</B> inhibits the use of the directory of the current
|
|
file directory as the first search directory for <TT>"#include "</TT>file<TT>""</TT>. There is no way to override this effect of <B>-I-</B>.
|
|
<DT id="61"><B>-iprefix</B> <I>prefix</I><DD>
|
|
|
|
|
|
Specify <I>prefix</I> as the prefix for subsequent <B>-iwithprefix</B>
|
|
options. If the prefix represents a directory, you should include the
|
|
final <B>/</B>.
|
|
<DT id="62"><B>-iwithprefix</B> <I>dir</I><DD>
|
|
|
|
|
|
|
|
<DT id="63"><B>-iwithprefixbefore</B> <I>dir</I><DD>
|
|
|
|
|
|
|
|
Append <I>dir</I> to the prefix specified previously with
|
|
<B>-iprefix</B>, and add the resulting directory to the include search
|
|
path. <B>-iwithprefixbefore</B> puts it in the same place <B>-I</B>
|
|
would; <B>-iwithprefix</B> puts it where <B>-idirafter</B> would.
|
|
<DT id="64"><B>-isysroot</B> <I>dir</I><DD>
|
|
|
|
|
|
This option is like the <B>--sysroot</B> option, but applies only to
|
|
header files (except for Darwin targets, where it applies to both header
|
|
files and libraries). See the <B>--sysroot</B> option for more
|
|
information.
|
|
<DT id="65"><B>-imultilib</B> <I>dir</I><DD>
|
|
|
|
|
|
Use <I>dir</I> as a subdirectory of the directory containing
|
|
target-specific C<FONT SIZE="-2">++</FONT> headers.
|
|
<DT id="66"><B>-nostdinc</B><DD>
|
|
|
|
|
|
Do not search the standard system directories for header files.
|
|
Only the directories explicitly specified with <B>-I</B>,
|
|
<B>-iquote</B>, <B>-isystem</B>, and/or <B>-idirafter</B>
|
|
options (and the directory of the current file, if appropriate)
|
|
are searched.
|
|
<DT id="67"><B>-nostdinc++</B><DD>
|
|
|
|
|
|
Do not search for header files in the C<FONT SIZE="-2">++</FONT>-specific standard directories,
|
|
but do still search the other standard directories. (This option is
|
|
used when building the C<FONT SIZE="-2">++</FONT> library.)
|
|
<DT id="68"><B>-Wcomment</B><DD>
|
|
|
|
|
|
|
|
<DT id="69"><B>-Wcomments</B><DD>
|
|
|
|
|
|
|
|
Warn whenever a comment-start sequence <B>/*</B> appears in a <B>/*</B>
|
|
comment, or whenever a backslash-newline appears in a <B>//</B> comment.
|
|
This warning is enabled by <B>-Wall</B>.
|
|
<DT id="70"><B>-Wtrigraphs</B><DD>
|
|
|
|
|
|
Warn if any trigraphs are encountered that might change the meaning of
|
|
the program. Trigraphs within comments are not warned about,
|
|
except those that would form escaped newlines.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
This option is implied by <B>-Wall</B>. If <B>-Wall</B> is not
|
|
given, this option is still enabled unless trigraphs are enabled. To
|
|
get trigraph conversion without warnings, but get the other
|
|
<B>-Wall</B> warnings, use <B>-trigraphs -Wall -Wno-trigraphs</B>.
|
|
<DT id="71"><B>-Wundef</B><DD>
|
|
|
|
|
|
Warn if an undefined identifier is evaluated in an <TT>"#if"</TT> directive.
|
|
Such identifiers are replaced with zero.
|
|
<DT id="72"><B>-Wexpansion-to-defined</B><DD>
|
|
|
|
|
|
Warn whenever <B>defined</B> is encountered in the expansion of a macro
|
|
(including the case where the macro is expanded by an <B>#if</B> directive).
|
|
Such usage is not portable.
|
|
This warning is also enabled by <B>-Wpedantic</B> and <B>-Wextra</B>.
|
|
<DT id="73"><B>-Wunused-macros</B><DD>
|
|
|
|
|
|
Warn about macros defined in the main file that are unused. A macro
|
|
is <I>used</I> if it is expanded or tested for existence at least once.
|
|
The preprocessor also warns if the macro has not been used at the
|
|
time it is redefined or undefined.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Built-in macros, macros defined on the command line, and macros
|
|
defined in include files are not warned about.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
<I>Note:</I> If a macro is actually used, but only used in skipped
|
|
conditional blocks, then the preprocessor reports it as unused. To avoid the
|
|
warning in such a case, you might improve the scope of the macro's
|
|
definition by, for example, moving it into the first skipped block.
|
|
Alternatively, you could provide a dummy use with something like:
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
|
<PRE>
|
|
#if defined the_macro_causing_the_warning
|
|
#endif
|
|
|
|
</PRE>
|
|
|
|
|
|
<DT id="74"><B>-Wno-endif-labels</B><DD>
|
|
|
|
|
|
Do not warn whenever an <TT>"#else"</TT> or an <TT>"#endif"</TT> are followed by text.
|
|
This sometimes happens in older programs with code of the form
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
|
<PRE>
|
|
#if FOO
|
|
...
|
|
#else FOO
|
|
...
|
|
#endif FOO
|
|
|
|
</PRE>
|
|
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The second and third <TT>"FOO"</TT> should be in comments.
|
|
This warning is on by default.
|
|
</DL>
|
|
<A NAME="lbAF"> </A>
|
|
<H2>ENVIRONMENT</H2>
|
|
|
|
|
|
|
|
This section describes the environment variables that affect how <FONT SIZE="-1">CPP</FONT>
|
|
operates. You can use them to specify directories or prefixes to use
|
|
when searching for include files, or to control dependency output.
|
|
<P>
|
|
|
|
Note that you can also specify places to search using options such as
|
|
<B>-I</B>, and control dependency output with options like
|
|
<B>-M</B>. These take precedence over
|
|
environment variables, which in turn take precedence over the
|
|
configuration of <FONT SIZE="-1">GCC.</FONT>
|
|
<DL COMPACT>
|
|
<DT id="75"><B></B><FONT SIZE="-1"><B>CPATH</B></FONT><B></B><DD>
|
|
|
|
|
|
|
|
<DT id="76"><B>C_INCLUDE_PATH</B><DD>
|
|
|
|
|
|
<DT id="77"><B></B><FONT SIZE="-1"><B>CPLUS_INCLUDE_PATH</B></FONT><B></B><DD>
|
|
|
|
|
|
<DT id="78"><B></B><FONT SIZE="-1"><B>OBJC_INCLUDE_PATH</B></FONT><B></B><DD>
|
|
|
|
|
|
|
|
Each variable's value is a list of directories separated by a special
|
|
character, much like <B></B><FONT SIZE="-1"><B>PATH</B></FONT><B></B>, in which to look for header files.
|
|
The special character, <TT>"PATH_SEPARATOR"</TT>, is target-dependent and
|
|
determined at <FONT SIZE="-1">GCC</FONT> build time. For Microsoft Windows-based targets it is a
|
|
semicolon, and for almost all other targets it is a colon.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
<B></B><FONT SIZE="-1"><B>CPATH</B></FONT><B></B> specifies a list of directories to be searched as if
|
|
specified with <B>-I</B>, but after any paths given with <B>-I</B>
|
|
options on the command line. This environment variable is used
|
|
regardless of which language is being preprocessed.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The remaining environment variables apply only when preprocessing the
|
|
particular language indicated. Each specifies a list of directories
|
|
to be searched as if specified with <B>-isystem</B>, but after any
|
|
paths given with <B>-isystem</B> options on the command line.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
In all these variables, an empty element instructs the compiler to
|
|
search its current working directory. Empty elements can appear at the
|
|
beginning or end of a path. For instance, if the value of
|
|
<B></B><FONT SIZE="-1"><B>CPATH</B></FONT><B></B> is <TT>":/special/include"</TT>, that has the same
|
|
effect as <B>-I. -I/special/include</B>.
|
|
<DT id="79"><B></B><FONT SIZE="-1"><B>DEPENDENCIES_OUTPUT</B></FONT><B></B><DD>
|
|
|
|
|
|
If this variable is set, its value specifies how to output
|
|
dependencies for Make based on the non-system header files processed
|
|
by the compiler. System header files are ignored in the dependency
|
|
output.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The value of <B></B><FONT SIZE="-1"><B>DEPENDENCIES_OUTPUT</B></FONT><B></B> can be just a file name, in
|
|
which case the Make rules are written to that file, guessing the target
|
|
name from the source file name. Or the value can have the form
|
|
<I>file</I><B> </B><I>target</I>, in which case the rules are written to
|
|
file <I>file</I> using <I>target</I> as the target name.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
In other words, this environment variable is equivalent to combining
|
|
the options <B>-MM</B> and <B>-MF</B>,
|
|
with an optional <B>-MT</B> switch too.
|
|
<DT id="80"><B></B><FONT SIZE="-1"><B>SUNPRO_DEPENDENCIES</B></FONT><B></B><DD>
|
|
|
|
|
|
This variable is the same as <B></B><FONT SIZE="-1"><B>DEPENDENCIES_OUTPUT</B></FONT><B></B> (see above),
|
|
except that system header files are not ignored, so it implies
|
|
<B>-M</B> rather than <B>-MM</B>. However, the dependence on the
|
|
main input file is omitted.
|
|
<DT id="81"><B></B><FONT SIZE="-1"><B>SOURCE_DATE_EPOCH</B></FONT><B></B><DD>
|
|
|
|
|
|
If this variable is set, its value specifies a <FONT SIZE="-1">UNIX</FONT> timestamp to be
|
|
used in replacement of the current date and time in the <TT>"__DATE__"</TT>
|
|
and <TT>"__TIME__"</TT> macros, so that the embedded timestamps become
|
|
reproducible.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The value of <B></B><FONT SIZE="-1"><B>SOURCE_DATE_EPOCH</B></FONT><B></B> must be a <FONT SIZE="-1">UNIX</FONT> timestamp,
|
|
defined as the number of seconds (excluding leap seconds) since
|
|
01 Jan 1970 00:00:00 represented in <FONT SIZE="-1">ASCII</FONT>; identical to the output of
|
|
<B></B>@command<B>{date +%s</B>} on GNU/Linux and other systems that support the
|
|
<TT>%s</TT> extension in the <TT>"date"</TT> command.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The value should be a known timestamp such as the last modification
|
|
time of the source or package and it should be set by the build
|
|
process.
|
|
</DL>
|
|
<A NAME="lbAG"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?7+gpl">gpl</A></B>(7), <B><A HREF="/cgi-bin/man/man2html?7+gfdl">gfdl</A></B>(7), <B><A HREF="/cgi-bin/man/man2html?7+fsf-funding">fsf-funding</A></B>(7),
|
|
<B><A HREF="/cgi-bin/man/man2html?1+gcc">gcc</A></B>(1), and the Info entries for <I>cpp</I> and <I>gcc</I>.
|
|
<A NAME="lbAH"> </A>
|
|
<H2>COPYRIGHT</H2>
|
|
|
|
|
|
|
|
Copyright (c) 1987-2019 Free Software Foundation, Inc.
|
|
<P>
|
|
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
under the terms of the <FONT SIZE="-1">GNU</FONT> Free Documentation License, Version 1.3 or
|
|
any later version published by the Free Software Foundation. A copy of
|
|
the license is included in the
|
|
man page <B><A HREF="/cgi-bin/man/man2html?7+gfdl">gfdl</A></B>(7).
|
|
This manual contains no Invariant Sections. The Front-Cover Texts are
|
|
(a) (see below), and the Back-Cover Texts are (b) (see below).
|
|
<P>
|
|
|
|
(a) The <FONT SIZE="-1">FSF</FONT>'s Front-Cover Text is:
|
|
<P>
|
|
|
|
|
|
|
|
<PRE>
|
|
A GNU Manual
|
|
|
|
</PRE>
|
|
|
|
|
|
<P>
|
|
|
|
(b) The <FONT SIZE="-1">FSF</FONT>'s Back-Cover Text is:
|
|
<P>
|
|
|
|
|
|
|
|
<PRE>
|
|
You have freedom to copy and modify this GNU Manual, like GNU
|
|
software. Copies published by the Free Software Foundation raise
|
|
funds for GNU development.
|
|
|
|
</PRE>
|
|
|
|
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="82"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="83"><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
<DT id="84"><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
<DT id="85"><A HREF="#lbAE">OPTIONS</A><DD>
|
|
<DT id="86"><A HREF="#lbAF">ENVIRONMENT</A><DD>
|
|
<DT id="87"><A HREF="#lbAG">SEE ALSO</A><DD>
|
|
<DT id="88"><A HREF="#lbAH">COPYRIGHT</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:05:29 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|