texi2pod.pl: Handle @option and @env.
contrib: * texi2pod.pl: Handle @option and @env. gcc: * configure.in: Require at least texinfo 4.0. Check for whether Pod::Man is sufficiently recent to regenerate GCC manpages. * configure: Regenerate. * Makefile.in (TEXI2POD): Call perl explicitly rather than relying on #!. (GENERATED_MANPAGES): Define. (generated-manpages): New target. Depend on cpp.1 as well as gcov.1. (install-man): Depend on $(GENERATED_MANPAGES) (defined by configure to generated-manpages or empty) rather than on the manpages directly. Remove execute permission from installed gcov.1 as well as cpp.1. * cpp.1, gcov.1: Regenerate. From-SVN: r38668
This commit is contained in:
parent
9ef6d39a0f
commit
fd939e46c9
@ -1,3 +1,7 @@
|
||||
2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||
|
||||
* texi2pod.pl: Handle @option and @env.
|
||||
|
||||
2001-01-03 Mike Stump <mrs@wrs.com>
|
||||
|
||||
* snapshot: Update to account for java libraries.
|
||||
|
@ -251,7 +251,7 @@ sub postprocess
|
||||
# Formatting commands.
|
||||
s/\@(?:dfn|var|emph|cite|i)\{([^\}]*)\}/I<$1>/g;
|
||||
s/\@(?:code|kbd)\{([^\}]*)\}/C<$1>/g;
|
||||
s/\@(?:samp|strong|key|b)\{([^\}]*)\}/B<$1>/g;
|
||||
s/\@(?:samp|strong|key|option|env|b)\{([^\}]*)\}/B<$1>/g;
|
||||
s/\@sc\{([^\}]*)\}/\U$1/g;
|
||||
s/\@file\{([^\}]*)\}/F<$1>/g;
|
||||
s/\@w\{([^\}]*)\}/S<$1>/g;
|
||||
|
@ -1,3 +1,19 @@
|
||||
2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||
|
||||
* configure.in: Require at least texinfo 4.0. Check for whether
|
||||
Pod::Man is sufficiently recent to regenerate GCC manpages.
|
||||
* configure: Regenerate.
|
||||
* Makefile.in (TEXI2POD): Call perl explicitly rather than relying
|
||||
on #!.
|
||||
(GENERATED_MANPAGES): Define.
|
||||
(generated-manpages): New target. Depend on cpp.1 as well as
|
||||
gcov.1.
|
||||
(install-man): Depend on $(GENERATED_MANPAGES) (defined by
|
||||
configure to generated-manpages or empty) rather than on the
|
||||
manpages directly. Remove execute permission from installed
|
||||
gcov.1 as well as cpp.1.
|
||||
* cpp.1, gcov.1: Regenerate.
|
||||
|
||||
2001-01-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* builtins.c (expand_builtin_strncmp): Use host_integerp and
|
||||
|
@ -129,7 +129,7 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKEINFOFLAGS =
|
||||
TEXI2DVI = texi2dvi
|
||||
TEXI2POD = $(srcdir)/../contrib/texi2pod.pl
|
||||
TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
|
||||
POD2MAN = pod2man --center="GNU" --release="gcc-$(version)" --section=1
|
||||
# For GNUmake: let us decide what gets passed to recursive makes.
|
||||
MAKEOVERRIDES =
|
||||
@ -469,6 +469,9 @@ INSTALL_HEADERS=install-headers
|
||||
# Control whether Info documentation is built and installed.
|
||||
BUILD_INFO = @BUILD_INFO@
|
||||
|
||||
# Control whether manpages generated by texi2pod.pl can be rebuilt.
|
||||
GENERATED_MANPAGES = @GENERATED_MANPAGES@
|
||||
|
||||
# Additional directories of header files to run fixincludes on.
|
||||
# These should be directories searched automatically by default
|
||||
# just as /usr/include is.
|
||||
@ -2201,6 +2204,8 @@ cpp.dvi: $(srcdir)/cpp.texi
|
||||
texindex cpp.??
|
||||
TEXINPUTS=${texidir}:$(srcdir):$$TEXINPUTS tex cpp.texi
|
||||
|
||||
generated-manpages: $(srcdir)/gcov.1 $(srcdir)/cpp.1
|
||||
|
||||
$(srcdir)/gcov.1: $(srcdir)/gcov.texi
|
||||
$(TEXI2POD) < $(srcdir)/gcov.texi > gcov.pod
|
||||
($(POD2MAN) gcov.pod > $(srcdir)/gcov.1.T$$$$ && \
|
||||
@ -2208,6 +2213,13 @@ $(srcdir)/gcov.1: $(srcdir)/gcov.texi
|
||||
(rm -f $(srcdir)/gcov.1.T$$$$ && exit 1)
|
||||
rm -f gcov.pod
|
||||
|
||||
$(srcdir)/cpp.1: $(srcdir)/cpp.texi
|
||||
$(TEXI2POD) < $(srcdir)/cpp.texi > cpp.pod
|
||||
($(POD2MAN) cpp.pod > $(srcdir)/cpp.1.T$$$$ && \
|
||||
mv -f $(srcdir)/cpp.1.T$$$$ $(srcdir)/cpp.1) || \
|
||||
(rm -f $(srcdir)/cpp.1.T$$$$ && exit 1)
|
||||
rm -f cpp.pod
|
||||
|
||||
#
|
||||
# Deletion of files made during compilation.
|
||||
# There are four levels of this:
|
||||
@ -2334,7 +2346,7 @@ maintainer-clean:
|
||||
-rm -f cpp.??s cpp.*aux
|
||||
-rm -f gcc.??s gcc.*aux
|
||||
-rm -f $(srcdir)/cpp.info* $(srcdir)/gcc.info* $(srcdir)/c-tree.info*
|
||||
-rm -f $(srcdir)/gcov.1
|
||||
-rm -f $(srcdir)/gcov.1 $(srcdir)/cpp.1
|
||||
#
|
||||
# Entry points `install' and `uninstall'.
|
||||
# Also use `install-collect2' to install collect2 when the config files don't.
|
||||
@ -2523,7 +2535,7 @@ install-info: doc installdirs lang.install-info
|
||||
-chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*
|
||||
|
||||
# Install the man pages.
|
||||
install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cpp.1 $(srcdir)/gcov.1 lang.install-man
|
||||
install-man: installdirs $(srcdir)/gcc.1 $(GENERATED_MANPAGES) lang.install-man
|
||||
-if [ -f gcc-cross$(exeext) ] ; then \
|
||||
rm -f $(man1dir)/$(GCC_CROSS_NAME)$(manext); \
|
||||
$(INSTALL_DATA) $(srcdir)/gcc.1 $(man1dir)/$(GCC_CROSS_NAME)$(manext); \
|
||||
@ -2535,9 +2547,10 @@ install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cpp.1 $(srcdir)/gcov.1 lang.i
|
||||
fi
|
||||
-rm -f $(man1dir)/cpp$(manext)
|
||||
-$(INSTALL_DATA) $(srcdir)/cpp.1 $(man1dir)/cpp$(manext)
|
||||
-chmod a-x $(man1dir)/cpp$(manext)
|
||||
-rm -f $(man1dir)/gcov$(manext)
|
||||
-$(INSTALL_DATA) $(srcdir)/gcov.1 $(man1dir)/gcov$(manext)
|
||||
-chmod a-x $(man1dir)/cpp$(manext)
|
||||
-chmod a-x $(man1dir)/gcov$(manext)
|
||||
|
||||
# Install the library.
|
||||
install-libgcc: libgcc.a installdirs
|
||||
|
324
gcc/configure
vendored
324
gcc/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
# configure.in for GNU CC
|
||||
# Process this file with autoconf to generate a configuration script.
|
||||
|
||||
# Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
#This file is part of GNU CC.
|
||||
|
||||
@ -456,7 +456,7 @@ else
|
||||
# that we can use it.
|
||||
gcc_AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
|
||||
[GNU texinfo.* \([0-9][0-9.]*\)],
|
||||
[3.1[2-9] | 3.[2-9][0-9] | 4.* | 1.6[89] | 1.7[0-9]])
|
||||
[4.*])
|
||||
fi
|
||||
|
||||
if test $gcc_cv_prog_makeinfo_modern = no; then
|
||||
@ -468,6 +468,16 @@ else
|
||||
BUILD_INFO=info AC_SUBST(BUILD_INFO)
|
||||
fi
|
||||
|
||||
# Is pod2man recent enough to regenerate manpages?
|
||||
AC_MSG_CHECKING([for recent Pod::Man])
|
||||
if perl -e 'use 1.10 Pod::Man' >/dev/null 2>&1; then
|
||||
AC_MSG_RESULT(yes)
|
||||
GENERATED_MANPAGES=generated-manpages AC_SUBST(GENERATED_MANPAGES)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
GENERATED_MANPAGES=
|
||||
fi
|
||||
|
||||
# How about lex?
|
||||
dnl Don't use AC_PROG_LEX; we insist on flex.
|
||||
dnl LEXLIB is not useful in gcc.
|
||||
|
505
gcc/cpp.1
505
gcc/cpp.1
@ -1,5 +1,9 @@
|
||||
.rn '' }`
|
||||
.de Sh
|
||||
.\" Automatically generated by Pod::Man version 1.1
|
||||
.\" Wed Jan 3 20:06:19 2001
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ======================================================================
|
||||
.de Sh \" Subsection heading
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
@ -7,134 +11,106 @@
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.de Vb
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
|
||||
.fi
|
||||
..
|
||||
'''
|
||||
'''
|
||||
''' Set up \*(-- to give an unbreakable dash;
|
||||
''' string Tr holds user defined translation string.
|
||||
''' Bell System Logo is used as a dummy character.
|
||||
'''
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. | will give a
|
||||
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
|
||||
.\" to do unbreakable dashes and therefore won't be available. \*(C` and
|
||||
.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
|
||||
.tr \(*W-|\(bv\*(Tr
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
.ds -- \(*W-
|
||||
.ds PI pi
|
||||
.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
.ds L" ""
|
||||
.ds R" ""
|
||||
''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of
|
||||
''' \*(L" and \*(R", except that they are used on ".xx" lines,
|
||||
''' such as .IP and .SH, which do another additional levels of
|
||||
''' double-quote interpretation
|
||||
.ds M" """
|
||||
.ds S" """
|
||||
.ds N" """""
|
||||
.ds T" """""
|
||||
.ds L' '
|
||||
.ds R' '
|
||||
.ds M' '
|
||||
.ds S' '
|
||||
.ds N' '
|
||||
.ds T' '
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
.ds -- \(em\|
|
||||
.tr \*(Tr
|
||||
.ds L" ``
|
||||
.ds R" ''
|
||||
.ds M" ``
|
||||
.ds S" ''
|
||||
.ds N" ``
|
||||
.ds T" ''
|
||||
.ds L' `
|
||||
.ds R' '
|
||||
.ds M' `
|
||||
.ds S' '
|
||||
.ds N' `
|
||||
.ds T' '
|
||||
.ds PI \(*p
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.TH CPP 1 "gcc-3.0" "1/Aug/2000" "GNU"
|
||||
.UC
|
||||
.if n .hy 0
|
||||
.if n .na
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.de CQ \" put $1 in typewriter font
|
||||
.ft CW
|
||||
'if n "\c
|
||||
'if t \\&\\$1\c
|
||||
'if n \\&\\$1\c
|
||||
'if n \&"
|
||||
\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
|
||||
'.ft R
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr
|
||||
.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
|
||||
.\" index entries marked with X<> in POD. Of course, you'll have to process
|
||||
.\" the output yourself in some meaningful fashion.
|
||||
.if \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
|
||||
. \" AM - accent mark definitions
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.\"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it
|
||||
.\" makes way too many mistakes in technical documents.
|
||||
.hy 0
|
||||
.if n .na
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
.bd B 3
|
||||
. \" fudge factors for nroff and troff
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds ? ?
|
||||
. ds ! !
|
||||
. ds /
|
||||
. ds q
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
|
||||
. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
|
||||
.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
|
||||
.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
|
||||
.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
@ -142,34 +118,32 @@
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
.ds oe o\h'-(\w'o'u*4/10)'e
|
||||
.ds Oe O\h'-(\w'O'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds v \h'-1'\o'\(aa\(ga'
|
||||
. ds _ \h'-1'^
|
||||
. ds . \h'-1'.
|
||||
. ds 3 3
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
. ds oe oe
|
||||
. ds Oe OE
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ======================================================================
|
||||
.\"
|
||||
.IX Title "CPP 1"
|
||||
.TH CPP 1 "gcc-2.97" "2001-01-03" "GNU"
|
||||
.UC
|
||||
.SH "NAME"
|
||||
cpp \- The C Preprocessor
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
cpp [\fB\-P\fR] [\fB\-C\fR] [\fB\-gcc\fR] [\fB\-traditional\fR]
|
||||
[\fB\-undef\fR] [\fB\-trigraphs\fR] [\fB\-pedantic\fR]
|
||||
[\fB\-W\fR\fIwarn\fR...] [\fB\-I\fR\fIdir\fR...]
|
||||
@ -181,10 +155,11 @@ cpp [\fB\-P\fR] [\fB\-C\fR] [\fB\-gcc\fR] [\fB\-traditional\fR]
|
||||
.PP
|
||||
Only the most useful options are listed here; see below for the remainder.
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
The C preprocessor is a \fImacro processor\fR that is used automatically
|
||||
by the C compiler to transform your program before actual compilation.
|
||||
It is called a macro processor because it allows you to define
|
||||
\fImacros\fR, which are brief abbreviations for longer constructs.
|
||||
\&\fImacros\fR, which are brief abbreviations for longer constructs.
|
||||
.PP
|
||||
The C preprocessor is intended only for macro processing of C, \*(C+ and
|
||||
Objective C source files. For macro processing of other files, you are
|
||||
@ -193,7 +168,7 @@ you better results and avoid many problems. For example, normally the C
|
||||
preprocessor does not preserve arbitrary whitespace verbatim, but
|
||||
instead replaces each sequence with a single space.
|
||||
.PP
|
||||
For use on C\-like source files, the C preprocessor provides four
|
||||
For use on C-like source files, the C preprocessor provides four
|
||||
separate facilities that you can use as you see fit:
|
||||
.Ip "\(bu" 4
|
||||
Inclusion of header files. These are files of declarations that can be
|
||||
@ -220,30 +195,33 @@ In its default mode, the \s-1GNU\s0 C 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 \s-1ISO\s0 Standard C, you should use the
|
||||
\fB\-std=c89\fR or \fB\-std=c99\fR options, depending on which version
|
||||
\&\fB\-std=c89\fR or \fB\-std=c99\fR options, depending on which version
|
||||
of the standard you want. To get all the mandatory diagnostics, you
|
||||
must also use \fB\-pedantic\fR.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
The C preprocessor expects two file names as arguments, \fIinfile\fR and
|
||||
\fIoutfile\fR. The preprocessor reads \fIinfile\fR together with any
|
||||
\&\fIoutfile\fR. The preprocessor reads \fIinfile\fR together with any
|
||||
other files it specifies with \fB#include\fR. All the output generated
|
||||
by the combined input files is written in \fIoutfile\fR.
|
||||
.PP
|
||||
Either \fIinfile\fR or \fIoutfile\fR may be \fB\-\fR, which as
|
||||
\fIinfile\fR means to read from standard input and as \fIoutfile\fR
|
||||
Either \fIinfile\fR or \fIoutfile\fR may be \fB-\fR, which as
|
||||
\&\fIinfile\fR means to read from standard input and as \fIoutfile\fR
|
||||
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
|
||||
Here is a table of command options accepted by the C preprocessor.
|
||||
These options can also be given when compiling a C program; they are
|
||||
passed along automatically to the preprocessor when it is invoked by the
|
||||
compiler.
|
||||
.Ip "\fB\-P\fR" 4
|
||||
.IX Item "-P"
|
||||
Inhibit generation of \fB#\fR\-lines with line-number information 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 \fB#\fR\-lines.
|
||||
.Ip "\fB\-C\fR" 4
|
||||
.IX Item "-C"
|
||||
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. Comments appearing in the expansion list of a
|
||||
@ -258,6 +236,7 @@ retained. Also, 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 \fB#\fR.
|
||||
.Ip "\fB\-traditional\fR" 4
|
||||
.IX Item "-traditional"
|
||||
Try to imitate the behavior of old-fashioned C, as opposed to \s-1ISO\s0 C.
|
||||
.RS 4
|
||||
.Ip "\(bu" 4
|
||||
@ -276,7 +255,7 @@ character constant, with no error.
|
||||
In traditional C, a comment is equivalent to no text at all. (In \s-1ISO\s0
|
||||
C, a comment counts as whitespace.)
|
||||
.Ip "\(bu" 4
|
||||
Traditional C does not have the concept of a ``preprocessing number'\*(R'.
|
||||
Traditional C does not have the concept of a ``preprocessing number''.
|
||||
It considers \fB1.0e+4\fR to be three tokens: \fB1.0e\fR, \fB+\fR,
|
||||
and \fB4\fR.
|
||||
.Ip "\(bu" 4
|
||||
@ -291,20 +270,21 @@ together with the text after the macro call, to produce a single token.
|
||||
(This is impossible in \s-1ISO\s0 C.)
|
||||
.Ip "\(bu" 4
|
||||
None of the \s-1GNU\s0 extensions to the preprocessor are available in
|
||||
\fB\-traditional\fR mode.
|
||||
\&\fB\-traditional\fR mode.
|
||||
.RE
|
||||
.Ip "" 4
|
||||
.RS 4
|
||||
.Sp
|
||||
Use the \fB\-traditional\fR option when preprocessing Fortran code, so
|
||||
that single-quotes and double-quotes within Fortran comment lines (which
|
||||
are generally not recognized as such by the preprocessor) do not cause
|
||||
diagnostics about unterminated character or string constants.
|
||||
.Sp
|
||||
However, this option does not prevent diagnostics about unterminated
|
||||
comments when a C\-style comment appears to start, but not end, within
|
||||
comments when a C-style comment appears to start, but not end, within
|
||||
Fortran-style commentary.
|
||||
.Sp
|
||||
So, the following Fortran comment lines are accepted with
|
||||
\fB\-traditional\fR:
|
||||
\&\fB\-traditional\fR:
|
||||
.Sp
|
||||
.Vb 3
|
||||
\& C This isn't an unterminated character constant
|
||||
@ -319,112 +299,142 @@ unterminated comment:
|
||||
\& C Some Fortran compilers accept /* as starting
|
||||
\& C an inline comment.
|
||||
.Ve
|
||||
Note that \f(CWg77\fR automatically supplies the \fB\-traditional\fR
|
||||
Note that \f(CW\*(C`g77\*(C'\fR automatically supplies the \fB\-traditional\fR
|
||||
option when it invokes the preprocessor. However, a future version of
|
||||
\f(CWg77\fR might use a different, more-Fortran-aware preprocessor in
|
||||
place of \f(CWcpp\fR.
|
||||
\&\f(CW\*(C`g77\*(C'\fR might use a different, more-Fortran-aware preprocessor in
|
||||
place of \f(CW\*(C`cpp\*(C'\fR.
|
||||
.RE
|
||||
.Ip "\fB\-trigraphs\fR" 4
|
||||
.IX Item "-trigraphs"
|
||||
Process \s-1ISO\s0 standard trigraph sequences. These are three-character
|
||||
sequences, all starting with \fB??\fR, that are defined by \s-1ISO\s0 C to
|
||||
stand for single characters. For example, \fB??/\fR stands for
|
||||
\fB\e\fR, so \fB\*(R'??/n\*(R'\fR is a character constant for a newline. By
|
||||
\&\fB\e\fR, so \fB'??/n'\fR is a character constant for a newline. By
|
||||
default, \s-1GCC\s0 ignores trigraphs, but in standard-conforming modes it
|
||||
converts them. See the \fB\-std\fR option.
|
||||
.Sp
|
||||
The nine trigraph sequences are
|
||||
.RS 4
|
||||
.PD 0
|
||||
.SP
|
||||
.Ip "\fB??(\fR" 6
|
||||
-> \fB[\fR
|
||||
.Ip "\fB??)\fR" 6
|
||||
-> \fB]\fR
|
||||
.Ip "\fB??<\fR" 6
|
||||
-> \fB@{\fR
|
||||
.Ip "\fB??>\fR" 6
|
||||
-> \fB@\fR}
|
||||
.Ip "\fB??=\fR" 6
|
||||
-> \fB#\fR
|
||||
.Ip "\fB??/\fR" 6
|
||||
-> \fB\e\fR
|
||||
.Ip "\fB??\*(T'\fR" 6
|
||||
-> \fB^\fR
|
||||
.Ip "\fB??!\fR" 6
|
||||
-> \fB|\fR
|
||||
.Ip "\fB??\-\fR" 6
|
||||
-> \fB~\fR
|
||||
.Ip "\fB??(\fR" 4
|
||||
.IX Item "??("
|
||||
-> \fB[\fR
|
||||
.Ip "\fB??)\fR" 4
|
||||
.IX Item "??)"
|
||||
-> \fB]\fR
|
||||
.Ip "\fB??<\fR" 4
|
||||
.IX Item "??<"
|
||||
-> \fB{\fR
|
||||
.Ip "\fB??>\fR" 4
|
||||
.IX Item "??>"
|
||||
-> \fB}\fR
|
||||
.Ip "\fB??=\fR" 4
|
||||
.IX Item "??="
|
||||
-> \fB#\fR
|
||||
.Ip "\fB??/\fR" 4
|
||||
.IX Item "??/"
|
||||
-> \fB\e\fR
|
||||
.Ip "\fB??'\fR" 4
|
||||
.IX Item "??'"
|
||||
-> \fB^\fR
|
||||
.Ip "\fB??!\fR" 4
|
||||
.IX Item "??!"
|
||||
-> \fB|\fR
|
||||
.Ip "\fB??-\fR" 4
|
||||
.IX Item "??-"
|
||||
-> \fB~\fR
|
||||
.RE
|
||||
.PD
|
||||
.Ip "" 4
|
||||
.RS 4
|
||||
.Sp
|
||||
Trigraph support is not popular, so many compilers do not implement it
|
||||
properly. Portable code should not rely on trigraphs being either
|
||||
converted or ignored.
|
||||
.RE
|
||||
.Ip "\fB\-pedantic\fR" 4
|
||||
.IX Item "-pedantic"
|
||||
Issue warnings required by the \s-1ISO\s0 C standard in certain cases such
|
||||
as when text other than a comment follows \fB#else\fR or \fB#endif\fR.
|
||||
.Ip "\fB\-pedantic-errors\fR" 4
|
||||
.IX Item "-pedantic-errors"
|
||||
Like \fB\-pedantic\fR, except that errors are produced rather than
|
||||
warnings.
|
||||
.Ip "\fB\-Wcomment\fR" 4
|
||||
.IX Item "-Wcomment"
|
||||
.PD 0
|
||||
.Ip "\fB\-Wcomments\fR" 4
|
||||
.IX Item "-Wcomments"
|
||||
.PD
|
||||
(Both forms have the same effect).
|
||||
Warn whenever a comment-start sequence \fB/*\fR appears in a \fB/*\fR
|
||||
comment, or whenever a backslash-newline appears in a \fB//\fR comment.
|
||||
.Ip "\fB\-Wtrigraphs\fR" 4
|
||||
.IX Item "-Wtrigraphs"
|
||||
Warn if any trigraphs are encountered. This option used to take effect
|
||||
only if \fB\-trigraphs\fR was also specified, but now works independently.
|
||||
only if \fB\-trigraphs\fR was also specified, but now works
|
||||
independently. Warnings are not given for trigraphs within comments, as
|
||||
we feel this is obnoxious.
|
||||
.Ip "\fB\-Wwhite-space\fR" 4
|
||||
.IX Item "-Wwhite-space"
|
||||
Warn about possible white space confusion, e.g. white space between a
|
||||
backslash and a newline.
|
||||
.Ip "\fB\-Wall\fR" 4
|
||||
.IX Item "-Wall"
|
||||
Requests \fB\-Wcomment\fR, \fB\-Wtrigraphs\fR, and \fB\-Wwhite-space\fR
|
||||
(but not \fB\-Wtraditional\fR or \fB\-Wundef\fR).
|
||||
.Ip "\fB\-Wtraditional\fR" 4
|
||||
.IX Item "-Wtraditional"
|
||||
Warn about certain constructs that behave differently in traditional and
|
||||
\s-1ISO\s0 C.
|
||||
\&\s-1ISO\s0 C.
|
||||
.Ip "\fB\-Wundef\fR" 4
|
||||
.IX Item "-Wundef"
|
||||
Warn if an undefined identifier is evaluated in an \fB#if\fR directive.
|
||||
.Ip "\fB\-I \fIdirectory\fR\fR" 4
|
||||
.Ip "\fB\-I\fR \fIdirectory\fR" 4
|
||||
.IX Item "-I directory"
|
||||
Add the directory \fIdirectory\fR to the head of the list of
|
||||
directories to be searched for header files
|
||||
directories to be searched for header files.
|
||||
This can be used to override a system header file, substituting your
|
||||
own version, since these directories are searched before the system
|
||||
header file directories. If you use more than one \fB\-I\fR option,
|
||||
the directories are scanned in left-to-right order; the standard
|
||||
system directories come after.
|
||||
.Ip "\fB\-I-\fR" 4
|
||||
.IX Item "-I-"
|
||||
Any directories specified with \fB\-I\fR options before the \fB\-I-\fR
|
||||
option are searched only for the case of \fB#include \*(L"\fIfile\fR\*(R"\fR;
|
||||
they are not searched for \fB#include <\fIfile\fR>\fR.
|
||||
option are searched only for the case of \fB#include "\fR\fIfile\fR\fB"\fR;
|
||||
they are not searched for \fB#include <\fR\fIfile\fR\fB>\fR.
|
||||
.Sp
|
||||
If additional directories are specified with \fB\-I\fR options after
|
||||
the \fB\-I-\fR, these directories are searched for all \fB#include\fR
|
||||
directives.
|
||||
.Sp
|
||||
In addition, the \fB\-I-\fR option inhibits the use of the current
|
||||
directory as the first search directory for \fB#include \*(L"\fIfile\fR\*(R"\fR.
|
||||
directory as the first search directory for \fB#include "\fR\fIfile\fR\fB"\fR.
|
||||
Therefore, the current directory is searched only if it is requested
|
||||
explicitly with \fB\-I.\fR. Specifying both \fB\-I-\fR and \fB\-I.\fR
|
||||
allows you to control precisely which directories are searched before
|
||||
the current one and which are searched after.
|
||||
.Ip "\fB\-nostdinc\fR" 4
|
||||
.IX Item "-nostdinc"
|
||||
Do not search the standard system directories for header files.
|
||||
Only the directories you have specified with \fB\-I\fR options
|
||||
(and the current directory, if appropriate) are searched.
|
||||
.Ip "\fB\-nostdinc++\fR" 4
|
||||
.IX Item "-nostdinc++"
|
||||
Do not search for header files in the \*(C+\-specific standard directories,
|
||||
but do still search the other standard directories. (This option is
|
||||
used when building the \*(C+ library.)
|
||||
.Ip "\fB\-remap\fR" 4
|
||||
.IX Item "-remap"
|
||||
When searching for a header file in a directory, remap file names if a
|
||||
file named \fIheader.gcc\fR exists in that directory. This can be used
|
||||
to work around limitations of file systems with file name restrictions.
|
||||
The \fIheader.gcc\fR file should contain a series of lines with two
|
||||
tokens on each line: the first token is the name to map, and the second
|
||||
token is the actual name to use.
|
||||
.Ip "\fB\-D \fIname\fR\fR" 4
|
||||
.Ip "\fB\-D\fR \fIname\fR" 4
|
||||
.IX Item "-D name"
|
||||
Predefine \fIname\fR as a macro, with definition \fB1\fR.
|
||||
.Ip "\fB\-D \fIname\fR=\fIdefinition\fR\fR" 4
|
||||
.Ip "\fB\-D\fR \fIname\fR\fB=\fR\fIdefinition\fR" 4
|
||||
.IX Item "-D name=definition"
|
||||
Predefine \fIname\fR as a macro, with definition \fIdefinition\fR.
|
||||
There are no restrictions on the contents of \fIdefinition\fR, but if
|
||||
you are invoking the preprocessor from a shell or shell-like program you
|
||||
@ -432,28 +442,36 @@ may need to use the shell's quoting syntax to protect characters such as
|
||||
spaces that have a meaning in the shell syntax. If you use more than
|
||||
one \fB\-D\fR for the same \fIname\fR, the rightmost definition takes
|
||||
effect.
|
||||
.Ip "\fB\-U \fIname\fR\fR" 4
|
||||
.Ip "\fB\-U\fR \fIname\fR" 4
|
||||
.IX Item "-U name"
|
||||
Do not predefine \fIname\fR. If both \fB\-U\fR and \fB\-D\fR are
|
||||
specified for one name, whichever one appears later on the command line
|
||||
wins.
|
||||
.Ip "\fB\-undef\fR" 4
|
||||
.IX Item "-undef"
|
||||
Do not predefine any nonstandard macros.
|
||||
.Ip "\fB\-gcc\fR" 4
|
||||
.IX Item "-gcc"
|
||||
Define the macros \fI_\|_GNUC_\|_\fR, \fI_\|_GNUC_MINOR_\|_\fR and
|
||||
\fI_\|_GNUC_PATCHLEVEL_\|_\fR. These are defined automatically when you use
|
||||
\fBgcc \-E\fR; you can turn them off in that case with \fB\-no-gcc\fR.
|
||||
.Ip "\fB\-A \fIpredicate\fR(\fIanswer\fR)\fR" 4
|
||||
\&\fI_\|_GNUC_PATCHLEVEL_\|_\fR. These are defined automatically when you use
|
||||
\&\fBgcc \-E\fR; you can turn them off in that case with \fB\-no-gcc\fR.
|
||||
.Ip "\fB\-A\fR \fIpredicate\fR\fB=\fR\fIanswer\fR" 4
|
||||
.IX Item "-A predicate=answer"
|
||||
Make an assertion with the predicate \fIpredicate\fR and answer
|
||||
\fIanswer\fR.
|
||||
.Ip "\fB\-A \-\fIpredicate\fR(\fIanswer\fR)\fR" 4
|
||||
\&\fIanswer\fR. This form is preferred to the older form \fB\-A\fR
|
||||
\&\fIpredicate\fR\fB(\fR\fIanswer\fR\fB)\fR, which is still supported, because
|
||||
it does not use shell special characters.
|
||||
.Ip "\fB\-A -\fR\fIpredicate\fR\fB=\fR\fIanswer\fR" 4
|
||||
.IX Item "-A -predicate=answer"
|
||||
Disable an assertion with the predicate \fIpredicate\fR and answer
|
||||
\fIanswer\fR. Specifying no predicate, by \fB\-A-\fR or \fB\-A \-\fR,
|
||||
\&\fIanswer\fR. Specifying no predicate, by \fB\-A-\fR or \fB\-A -\fR,
|
||||
disables all predefined assertions and all assertions preceding it on
|
||||
the command line; and also undefines all predefined macros and all
|
||||
macros preceding it on the command line.
|
||||
.Ip "\fB\-dM\fR" 4
|
||||
.IX Item "-dM"
|
||||
Instead of outputting the result of preprocessing, output a list of
|
||||
\fB#define\fR directives for all the macros defined during the
|
||||
\&\fB#define\fR 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 \fBfoo.h\fR, the command
|
||||
@ -463,80 +481,100 @@ preprocessor; assuming you have no file \fBfoo.h\fR, the command
|
||||
.Ve
|
||||
will show the values of any predefined macros.
|
||||
.Ip "\fB\-dD\fR" 4
|
||||
.IX Item "-dD"
|
||||
Like \fB\-dM\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"
|
||||
Output \fB#include\fR directives in addition to the result of
|
||||
preprocessing.
|
||||
.Ip "\fB\-M [\-\s-1MG\s0]\fR" 4
|
||||
.Ip "\fB\-M [\-MG]\fR" 4
|
||||
.IX Item "-M [-MG]"
|
||||
Instead of outputting the result of preprocessing, output a rule
|
||||
suitable for \f(CWmake\fR describing the dependencies of the main source
|
||||
file. The preprocessor outputs one \f(CWmake\fR rule containing the
|
||||
suitable for \f(CW\*(C`make\*(C'\fR describing the dependencies of the main source
|
||||
file. The preprocessor outputs one \f(CW\*(C`make\*(C'\fR rule containing the
|
||||
object file name for that source file, a colon, and the names of all the
|
||||
included files. If there are many included files then the rule is split
|
||||
into several lines using \fB\e\fR\-newline.
|
||||
.Sp
|
||||
\fB\-\s-1MG\s0\fR says to treat missing header files as generated files and
|
||||
\&\fB\-MG\fR says to treat missing header files as generated files and
|
||||
assume they live in the same directory as the source file. It must be
|
||||
specified in addition to \fB\-M\fR.
|
||||
.Sp
|
||||
This feature is used in automatic updating of makefiles.
|
||||
.Ip "\fB\-\s-1MM\s0 [\-\s-1MG\s0]\fR" 4
|
||||
.Ip "\fB\-MM [\-MG]\fR" 4
|
||||
.IX Item "-MM [-MG]"
|
||||
Like \fB\-M\fR but mention only the files included with \fB#include
|
||||
\*(L"\fIfile\fR\*(R"\fR. System header files included with \fB#include
|
||||
<\fIfile\fR>\fR are omitted.
|
||||
.Ip "\fB\-\s-1MD\s0 \fIfile\fR\fR" 4
|
||||
"\fR\fIfile\fR\fB"\fR. System header files included with \fB#include
|
||||
<\fR\fIfile\fR\fB>\fR are omitted.
|
||||
.Ip "\fB\-MD\fR \fIfile\fR" 4
|
||||
.IX Item "-MD file"
|
||||
Like \fB\-M\fR but the dependency information is written to \fIfile\fR.
|
||||
This is in addition to compiling the file as specified --- \fB\-\s-1MD\s0\fR
|
||||
This is in addition to compiling the file as specified \-\-\- \fB\-MD\fR
|
||||
does not inhibit ordinary compilation the way \fB\-M\fR does.
|
||||
.Sp
|
||||
When invoking \f(CWgcc\fR, do not specify the \fIfile\fR argument.
|
||||
\f(CWgcc\fR will create file names made by replacing \*(L".c\*(R" with \*(L".d\*(R" at
|
||||
When invoking \f(CW\*(C`gcc\*(C'\fR, do not specify the \fIfile\fR argument.
|
||||
\&\f(CW\*(C`gcc\*(C'\fR will create file names made by replacing \*(L".c\*(R" with \*(L".d\*(R" at
|
||||
the end of the input file names.
|
||||
.Sp
|
||||
In Mach, you can use the utility \f(CWmd\fR to merge multiple dependency
|
||||
In Mach, you can use the utility \f(CW\*(C`md\*(C'\fR to merge multiple dependency
|
||||
files into a single dependency file suitable for using with the
|
||||
\fBmake\fR command.
|
||||
.Ip "\fB\-\s-1MMD\s0 \fIfile\fR\fR" 4
|
||||
Like \fB\-\s-1MD\s0\fR except mention only user header files, not system
|
||||
\&\fBmake\fR command.
|
||||
.Ip "\fB\-MMD\fR \fIfile\fR" 4
|
||||
.IX Item "-MMD file"
|
||||
Like \fB\-MD\fR except mention only user header files, not system
|
||||
header files.
|
||||
.Ip "\fB\-H\fR" 4
|
||||
.IX Item "-H"
|
||||
Print the name of each header file used, in addition to other normal
|
||||
activities.
|
||||
.Ip "\fB\-imacros \fIfile\fR\fR" 4
|
||||
.Ip "\fB\-imacros\fR \fIfile\fR" 4
|
||||
.IX Item "-imacros file"
|
||||
Process \fIfile\fR as input, discarding the resulting output, before
|
||||
processing the regular input file. Because the output generated from
|
||||
\fIfile\fR is discarded, the only effect of \fB\-imacros \fIfile\fR\fR
|
||||
\&\fIfile\fR is discarded, the only effect of \fB\-imacros\fR \fIfile\fR
|
||||
is to make the macros defined in \fIfile\fR available for use in the
|
||||
main input.
|
||||
.Ip "\fB\-include \fIfile\fR\fR" 4
|
||||
.Ip "\fB\-include\fR \fIfile\fR" 4
|
||||
.IX Item "-include file"
|
||||
Process \fIfile\fR as input, and include all the resulting output,
|
||||
before processing the regular input file.
|
||||
.Ip "\fB\-idirafter \fIdir\fR\fR" 4
|
||||
.Ip "\fB\-idirafter\fR \fIdir\fR" 4
|
||||
.IX Item "-idirafter dir"
|
||||
Add the directory \fIdir\fR to the second include path. The directories
|
||||
on the second include path are searched when a header file is not found
|
||||
in any of the directories in the main include path (the one that
|
||||
\fB\-I\fR adds to).
|
||||
.Ip "\fB\-iprefix \fIprefix\fR\fR" 4
|
||||
\&\fB\-I\fR adds to).
|
||||
.Ip "\fB\-iprefix\fR \fIprefix\fR" 4
|
||||
.IX Item "-iprefix prefix"
|
||||
Specify \fIprefix\fR as the prefix for subsequent \fB\-iwithprefix\fR
|
||||
options. If the prefix represents a directory, you should include the
|
||||
final \fB/\fR.
|
||||
.Ip "\fB\-iwithprefix \fIdir\fR\fR" 4
|
||||
.Ip "\fB\-iwithprefix\fR \fIdir\fR" 4
|
||||
.IX Item "-iwithprefix dir"
|
||||
Add a directory to the second include path. The directory's name is
|
||||
made by concatenating \fIprefix\fR and \fIdir\fR, where \fIprefix\fR was
|
||||
specified previously with \fB\-iprefix\fR.
|
||||
.Ip "\fB\-isystem \fIdir\fR\fR" 4
|
||||
.Ip "\fB\-isystem\fR \fIdir\fR" 4
|
||||
.IX Item "-isystem dir"
|
||||
Add a directory to the beginning of the second include path, marking it
|
||||
as a system directory, so that it gets the same special treatment as
|
||||
is applied to the standard system directories.
|
||||
.Ip "\fB\-x c\fR" 4
|
||||
.IX Item "-x c"
|
||||
.PD 0
|
||||
.Ip "\fB\-x c++\fR" 4
|
||||
.IX Item "-x c++"
|
||||
.Ip "\fB\-x objective-c\fR" 4
|
||||
.IX Item "-x objective-c"
|
||||
.Ip "\fB\-x assembler-with-cpp\fR" 4
|
||||
.IX Item "-x assembler-with-cpp"
|
||||
.PD
|
||||
Specify the source language: C, \*(C+, Objective-C, or assembly. This has
|
||||
nothing to do with standards conformance or extensions; it merely
|
||||
selects which base syntax to expect. If you give none of these options,
|
||||
@ -546,63 +584,90 @@ extensions for \*(C+ and assembly are also recognized. If cpp does not
|
||||
recognize the extension, it will treat the file as C; this is the most
|
||||
generic mode.
|
||||
.Sp
|
||||
\fBNote:\fR Previous versions of cpp accepted a \fB\-lang\fR option
|
||||
\&\fBNote:\fR Previous versions of cpp accepted a \fB\-lang\fR option
|
||||
which selected both the language and the standards conformance level.
|
||||
This option has been removed, because it conflicts with the \fB\-l\fR
|
||||
option.
|
||||
.Ip "\fB\-std=\fIstandard\fR\fR" 4
|
||||
.Ip "\fB\-std=\fR\fIstandard\fR" 4
|
||||
.IX Item "-std=standard"
|
||||
.PD 0
|
||||
.Ip "\fB\-ansi\fR" 4
|
||||
.IX Item "-ansi"
|
||||
.PD
|
||||
Specify the standard to which the code should conform. Currently cpp
|
||||
only knows about the standards for C; other language standards will be
|
||||
added in the future.
|
||||
.Sp
|
||||
\fIstandard\fR
|
||||
\&\fIstandard\fR
|
||||
may be one of:
|
||||
.RS 4
|
||||
.if n .Ip "\f(CW""iso9899:1990""\fR" 4
|
||||
.el .Ip "\f(CWiso9899:1990\fR" 4
|
||||
.IX Item "iso9899:1990"
|
||||
.PD 0
|
||||
.Sp
|
||||
.Ip "\f(CWiso9899:1990\fR" 4
|
||||
.Ip "\f(CWc89\fR" 4
|
||||
.Ip
|
||||
.if n .Ip "\f(CW""c89""\fR" 4
|
||||
.el .Ip "\f(CWc89\fR" 4
|
||||
.IX Item "c89"
|
||||
.PD
|
||||
The \s-1ISO\s0 C standard from 1990. \fBc89\fR is the customary shorthand for
|
||||
this version of the standard.
|
||||
.Sp
|
||||
The \fB\-ansi\fR option is equivalent to \fB\-std=c89\fR.
|
||||
.Sp
|
||||
.Ip "\f(CWiso9899:199409\fR" 4
|
||||
.if n .Ip "\f(CW""iso9899:199409""\fR" 4
|
||||
.el .Ip "\f(CWiso9899:199409\fR" 4
|
||||
.IX Item "iso9899:199409"
|
||||
The 1990 C standard, as amended in 1994.
|
||||
.Sp
|
||||
.Ip "\f(CWiso9899:1999\fR" 4
|
||||
.Ip "\f(CWc99\fR" 4
|
||||
.Ip "\f(CWiso9899:199x\fR" 4
|
||||
.Ip "\f(CWc9x\fR" 4
|
||||
.Ip
|
||||
.if n .Ip "\f(CW""iso9899:1999""\fR" 4
|
||||
.el .Ip "\f(CWiso9899:1999\fR" 4
|
||||
.IX Item "iso9899:1999"
|
||||
.PD 0
|
||||
.if n .Ip "\f(CW""c99""\fR" 4
|
||||
.el .Ip "\f(CWc99\fR" 4
|
||||
.IX Item "c99"
|
||||
.if n .Ip "\f(CW""iso9899:199x""\fR" 4
|
||||
.el .Ip "\f(CWiso9899:199x\fR" 4
|
||||
.IX Item "iso9899:199x"
|
||||
.if n .Ip "\f(CW""c9x""\fR" 4
|
||||
.el .Ip "\f(CWc9x\fR" 4
|
||||
.IX Item "c9x"
|
||||
.PD
|
||||
The revised \s-1ISO\s0 C standard, published in December 1999. Before
|
||||
publication, this was known as C9X.
|
||||
.Sp
|
||||
.Ip "\f(CWgnu89\fR" 4
|
||||
.if n .Ip "\f(CW""gnu89""\fR" 4
|
||||
.el .Ip "\f(CWgnu89\fR" 4
|
||||
.IX Item "gnu89"
|
||||
The 1990 C standard plus \s-1GNU\s0 extensions. This is the default.
|
||||
.Sp
|
||||
.Ip "\f(CWgnu99\fR" 4
|
||||
.Ip "\f(CWgnu9x\fR" 4
|
||||
The 1999 C standard plus \s-1GNU\s0 extensions.
|
||||
.if n .Ip "\f(CW""gnu99""\fR" 4
|
||||
.el .Ip "\f(CWgnu99\fR" 4
|
||||
.IX Item "gnu99"
|
||||
.PD 0
|
||||
.if n .Ip "\f(CW""gnu9x""\fR" 4
|
||||
.el .Ip "\f(CWgnu9x\fR" 4
|
||||
.IX Item "gnu9x"
|
||||
.PD
|
||||
The 1999 C standard plus \s-1GNU\s0 extensions.
|
||||
.RE
|
||||
.Ip "\fB\-ftabstop=\s-1NUMBER\s0\fR" 4
|
||||
Set the distance between tabstops. This helps the preprocessor
|
||||
.RS 4
|
||||
.RE
|
||||
.Ip "\fB\-ftabstop=NUMBER\fR" 4
|
||||
.IX Item "-ftabstop=NUMBER"
|
||||
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. Values less than 1 or greater than 100 are ignored. The
|
||||
default is 8.
|
||||
.Ip "\fB\-$\fR" 4
|
||||
.IX Item "-$"
|
||||
Forbid the use of \fB$\fR in identifiers. The C standard allows
|
||||
implementations to define extra characters that can appear in
|
||||
identifiers. By default the \s-1GNU\s0 C preprocessor permits \fB$\fR, a
|
||||
common extension.
|
||||
.SH "SEE ALSO"
|
||||
\fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIcpp\fR, \fIgcc\fR, and
|
||||
\fIbinutils\fR.
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIcpp\fR, \fIgcc\fR, and
|
||||
\&\fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
Copyright 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
|
||||
1997, 1998, 1999, 2000
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\" Automatically generated by Pod::Man version 1.1
|
||||
.\" Tue Nov 21 17:46:08 2000
|
||||
.\" Wed Jan 3 20:06:14 2001
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ======================================================================
|
||||
@ -138,7 +138,7 @@
|
||||
.\" ======================================================================
|
||||
.\"
|
||||
.IX Title "GCOV 1"
|
||||
.TH GCOV 1 "gcc-2.97" "2000-11-21" "GNU"
|
||||
.TH GCOV 1 "gcc-2.97" "2001-01-03" "GNU"
|
||||
.UC
|
||||
.SH "NAME"
|
||||
gcov \- coverage testing tool
|
||||
@ -396,7 +396,7 @@ many times the result was 1.
|
||||
\&\fIgcc\fR\|(1) and the Info entry for \fIgcc\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
|
||||
Copyright (c) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
|
Loading…
Reference in New Issue
Block a user