plan9fox/sys/man/1/cpp
Ori Bernstein 94fb8869df Always turn on the -+ flag in cpp
C99 comments have been the default in compilers for something like 20 years
now. This means we don't need to remember to turn it on when porting software,
and gets rid of cryptic errors about unterminated character constants when
someone writes something like:

	// Didn't need to...

We still accept the flag to avoid breaking mkfiles, but we do nothing with it.

This also removes the documentation, since the option does nothing now.
2019-06-18 22:47:15 -07:00

116 lines
2.1 KiB
Text

.TH CPP 1
.SH NAME
cpp \- C language preprocessor
.SH SYNOPSIS
.B cpp
[
.I option ...
]
[
.I ifile
[
.I ofile
]
]
.SH DESCRIPTION
.I Cpp\^
interprets ANSI C preprocessor directives
and does macro substitution.
The input
.I ifile
and output
.I ofile
default to standard input and standard output respectively.
.PP
The options are:
.TP
.BI -D name\^
.PD 0
.TP
.BI -D name=def\^
.TP
.BI -I dir\^
Same as in
.IR 2c "(1): add
.I dir
to the search for
.CW search
directives.
.PD
.TP
.B -M
Generate no output except a list of include files
in a form suitable for specifying dependencies to
.IR mk (1).
Use twice to list files in angle brackets.
.TP
.B -N
Turn off default include directories. All must be
specified with
.BR -I ,
or in the environment variable
.BR include .
Without this option,
.B /$objtype/include
and
.B /sys/include
are used as the last two searched directories for include directives,
where
.B $objtype
is read from the environment.
.TP
.B -V
Print extra debugging information.
.TP
.B -P
Do not insert
.RB `` #line ''
directives into the output.
.TP
.B -.
Inhibit include search in the source's directory.
.TP
.B -i
Print the list of directories searched when
.I #include
is found.
Last listed are searched first.
.PD
.PP
In the absence of the
.B -P
option, the processed text output is sprinkled
with lines that show the original input line numbering:
.IP
.B #line
.I linenumber
.L
"\fIifile\fP"
.PP
The command reads the environment variable
.IR include
and adds its (blank-separated) list of directories to
the standard search path for
.CW #include
directives. They are looked at before any directories specified with
.BR -I ,
which are looked at before the default directories.
.PP
The input language is as described in the ANSI C standard.
The standard Plan 9 C compilers do not use
.IR cpp ;
they contain their own simple but adequate preprocessor, so
.I cpp
is usually superfluous.
.SH FILES
.TF /objtype/include
.TP
.B /sys/include
directory for machine-independent include files
.TP
.B /$objtype/include
directory for machine-dependent include files
.SH SOURCE
.B /sys/src/cmd/cpp
.SH SEE ALSO
.IR 2c (1)