components/gcc3/cpp.1
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 11 Mar 2013 10:38:09 -0700
branchs11-update
changeset 2520 ceec631e74d1
parent 246 0878f7720e3e
permissions -rw-r--r--
Close of build 10.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
246
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     1
.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     2
.\"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     3
.\" Standard preamble:
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     4
.\" ========================================================================
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     5
.de Sh \" Subsection heading
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     6
.br
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     7
.if t .Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     8
.ne 5
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     9
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    10
\fB\\$1\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    11
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    12
..
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    13
.de Sp \" Vertical space (when we can't use .PP)
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    14
.if t .sp .5v
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    15
.if n .sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    16
..
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    17
.de Vb \" Begin verbatim text
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    18
.ft CW
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    19
.nf
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    20
.ne \\$1
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    21
..
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    22
.de Ve \" End verbatim text
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    23
.ft R
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    24
.fi
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    25
..
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    26
.\" Set up some character translations and predefined strings.  \*(-- will
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    27
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    28
.\" double quote, and \*(R" will give a right double quote.  | will give a
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    29
.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    30
.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    31
.\" expand to `' in nroff, nothing in troff, for use with C<>.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    32
.tr \(*W-|\(bv\*(Tr
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    33
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    34
.ie n \{\
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    35
.    ds -- \(*W-
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    36
.    ds PI pi
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    37
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    38
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    39
.    ds L" ""
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    40
.    ds R" ""
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    41
.    ds C` ""
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    42
.    ds C' ""
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    43
'br\}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    44
.el\{\
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    45
.    ds -- \|\(em\|
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    46
.    ds PI \(*p
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    47
.    ds L" ``
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    48
.    ds R" ''
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    49
'br\}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    50
.\"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    51
.\" If the F register is turned on, we'll generate index entries on stderr for
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    52
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    53
.\" entries marked with X<> in POD.  Of course, you'll have to process the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    54
.\" output yourself in some meaningful fashion.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    55
.if \nF \{\
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    56
.    de IX
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    57
.    tm Index:\\$1\t\\n%\t"\\$2"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    58
..
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    59
.    nr % 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    60
.    rr F
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    61
.\}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    62
.\"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    63
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    64
.\" way too many mistakes in technical documents.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    65
.hy 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    66
.if n .na
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    67
.\"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    68
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    69
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    70
.    \" fudge factors for nroff and troff
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    71
.if n \{\
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    72
.    ds #H 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    73
.    ds #V .8m
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    74
.    ds #F .3m
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    75
.    ds #[ \f1
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    76
.    ds #] \fP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    77
.\}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    78
.if t \{\
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    79
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    80
.    ds #V .6m
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    81
.    ds #F 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    82
.    ds #[ \&
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    83
.    ds #] \&
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    84
.\}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    85
.    \" simple accents for nroff and troff
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    86
.if n \{\
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    87
.    ds ' \&
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    88
.    ds ` \&
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    89
.    ds ^ \&
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    90
.    ds , \&
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    91
.    ds ~ ~
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    92
.    ds /
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    93
.\}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    94
.if t \{\
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    95
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    96
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    97
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    98
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    99
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   100
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   101
.\}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   102
.    \" troff and (daisy-wheel) nroff accents
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   103
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   104
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   105
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   106
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   107
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   108
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   109
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   110
.ds ae a\h'-(\w'a'u*4/10)'e
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   111
.ds Ae A\h'-(\w'A'u*4/10)'E
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   112
.    \" corrections for vroff
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   113
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   114
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   115
.    \" for low resolution devices (crt and lpr)
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   116
.if \n(.H>23 .if \n(.V>19 \
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   117
\{\
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   118
.    ds : e
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   119
.    ds 8 ss
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   120
.    ds o a
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   121
.    ds d- d\h'-1'\(ga
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   122
.    ds D- D\h'-1'\(hy
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   123
.    ds th \o'bp'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   124
.    ds Th \o'LP'
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   125
.    ds ae ae
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   126
.    ds Ae AE
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   127
.\}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   128
.rm #[ #] #H #V #F C
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   129
.\" ========================================================================
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   130
.\"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   131
.IX Title "CPP 1"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   132
.TH CPP 1 "2004-11-05" "gcc-3.4.3" "GNU"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   133
.SH "NAME"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   134
cpp \- The C Preprocessor
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   135
.SH "SYNOPSIS"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   136
.IX Header "SYNOPSIS"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   137
cpp [\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR]
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   138
    [\fB\-I\fR\fIdir\fR...] [\fB\-W\fR\fIwarn\fR...]
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   139
    [\fB\-M\fR|\fB\-MM\fR] [\fB\-MG\fR] [\fB\-MF\fR \fIfilename\fR]
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   140
    [\fB\-MP\fR] [\fB\-MQ\fR \fItarget\fR...]
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   141
    [\fB\-MT\fR \fItarget\fR...]
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   142
    [\fB\-P\fR] [\fB\-fno\-working\-directory\fR]
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   143
    [\fB\-x\fR \fIlanguage\fR] [\fB\-std=\fR\fIstandard\fR]
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   144
    \fIinfile\fR \fIoutfile\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   145
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   146
Only the most useful options are listed here; see below for the remainder.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   147
.SH "DESCRIPTION"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   148
.IX Header "DESCRIPTION"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   149
The C preprocessor, often known as \fIcpp\fR, is a \fImacro processor\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   150
that is used automatically by the C compiler to transform your program
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   151
before compilation.  It is called a macro processor because it allows
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   152
you to define \fImacros\fR, which are brief abbreviations for longer
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   153
constructs.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   154
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   155
The C preprocessor is intended to be used only with C, \*(C+, and
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   156
Objective-C source code.  In the past, it has been abused as a general
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   157
text processor.  It will choke on input which does not obey C's lexical
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   158
rules.  For example, apostrophes will be interpreted as the beginning of
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   159
character constants, and cause errors.  Also, you cannot rely on it
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   160
preserving characteristics of the input which are not significant to
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   161
C\-family languages.  If a Makefile is preprocessed, all the hard tabs
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   162
will be removed, and the Makefile will not work.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   163
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   164
Having said that, you can often get away with using cpp on things which
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   165
are not C.  Other Algol-ish programming languages are often safe
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   166
(Pascal, Ada, etc.) So is assembly, with caution.  \fB\-traditional\-cpp\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   167
mode preserves more white space, and is otherwise more permissive.  Many
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   168
of the problems can be avoided by writing C or \*(C+ style comments
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   169
instead of native language comments, and keeping macros simple.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   170
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   171
Wherever possible, you should use a preprocessor geared to the language
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   172
you are writing in.  Modern versions of the \s-1GNU\s0 assembler have macro
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   173
facilities.  Most high level programming languages have their own
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   174
conditional compilation and inclusion mechanism.  If all else fails,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   175
try a true general text processor, such as \s-1GNU\s0 M4.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   176
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   177
C preprocessors vary in some details.  This manual discusses the \s-1GNU\s0 C
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   178
preprocessor, which provides a small superset of the features of \s-1ISO\s0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   179
Standard C.  In its default mode, the \s-1GNU\s0 C preprocessor does not do a
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   180
few things required by the standard.  These are features which are
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   181
rarely, if ever, used, and may cause surprising changes to the meaning
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   182
of a program which does not expect them.  To get strict \s-1ISO\s0 Standard C,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   183
you should use the \fB\-std=c89\fR or \fB\-std=c99\fR options, depending
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   184
on which version of the standard you want.  To get all the mandatory
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   185
diagnostics, you must also use \fB\-pedantic\fR.  
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   186
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   187
This manual describes the behavior of the \s-1ISO\s0 preprocessor.  To
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   188
minimize gratuitous differences, where the \s-1ISO\s0 preprocessor's
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   189
behavior does not conflict with traditional semantics, the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   190
traditional preprocessor should behave the same way.  The various
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   191
differences that do exist are detailed in the section \fBTraditional
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   192
Mode\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   193
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   194
For clarity, unless noted otherwise, references to \fB\s-1CPP\s0\fR in this
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   195
manual refer to \s-1GNU\s0 \s-1CPP\s0.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   196
.SH "OPTIONS"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   197
.IX Header "OPTIONS"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   198
The C preprocessor expects two file names as arguments, \fIinfile\fR and
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   199
\&\fIoutfile\fR.  The preprocessor reads \fIinfile\fR together with any
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   200
other files it specifies with \fB#include\fR.  All the output generated
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   201
by the combined input files is written in \fIoutfile\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   202
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   203
Either \fIinfile\fR or \fIoutfile\fR may be \fB\-\fR, which as
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   204
\&\fIinfile\fR means to read from standard input and as \fIoutfile\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   205
means to write to standard output.  Also, if either file is omitted, it
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   206
means the same as if \fB\-\fR had been specified for that file.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   207
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   208
Unless otherwise noted, or the option ends in \fB=\fR, all options
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   209
which take an argument may have that argument appear either immediately
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   210
after the option, or with a space between option and argument:
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   211
\&\fB\-Ifoo\fR and \fB\-I foo\fR have the same effect.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   212
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   213
Many options have multi-letter names; therefore multiple single-letter
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   214
options may \fInot\fR be grouped: \fB\-dM\fR is very different from
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   215
\&\fB\-d\ \-M\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   216
.IP "\fB\-D\fR \fIname\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   217
.IX Item "-D name"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   218
Predefine \fIname\fR as a macro, with definition \f(CW1\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   219
.IP "\fB\-D\fR \fIname\fR\fB=\fR\fIdefinition\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   220
.IX Item "-D name=definition"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   221
Predefine \fIname\fR as a macro, with definition \fIdefinition\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   222
The contents of \fIdefinition\fR are tokenized and processed as if
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   223
they appeared during translation phase three in a \fB#define\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   224
directive.  In particular, the definition will be truncated by
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   225
embedded newline characters.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   226
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   227
If you are invoking the preprocessor from a shell or shell-like
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   228
program you may need to use the shell's quoting syntax to protect
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   229
characters such as spaces that have a meaning in the shell syntax.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   230
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   231
If you wish to define a function-like macro on the command line, write
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   232
its argument list with surrounding parentheses before the equals sign
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   233
(if any).  Parentheses are meaningful to most shells, so you will need
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   234
to quote the option.  With \fBsh\fR and \fBcsh\fR,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   235
\&\fB\-D'\fR\fIname\fR\fB(\fR\fIargs...\fR\fB)=\fR\fIdefinition\fR\fB'\fR works.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   236
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   237
\&\fB\-D\fR and \fB\-U\fR options are processed in the order they
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   238
are given on the command line.  All \fB\-imacros\fR \fIfile\fR and
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   239
\&\fB\-include\fR \fIfile\fR options are processed after all
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   240
\&\fB\-D\fR and \fB\-U\fR options.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   241
.IP "\fB\-U\fR \fIname\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   242
.IX Item "-U name"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   243
Cancel any previous definition of \fIname\fR, either built in or
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   244
provided with a \fB\-D\fR option.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   245
.IP "\fB\-undef\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   246
.IX Item "-undef"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   247
Do not predefine any system-specific or GCC-specific macros.  The
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   248
standard predefined macros remain defined.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   249
.IP "\fB\-I\fR \fIdir\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   250
.IX Item "-I dir"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   251
Add the directory \fIdir\fR to the list of directories to be searched
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   252
for header files.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   253
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   254
Directories named by \fB\-I\fR are searched before the standard
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   255
system include directories.  If the directory \fIdir\fR is a standard
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   256
system include directory, the option is ignored to ensure that the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   257
default search order for system directories and the special treatment
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   258
of system headers are not defeated
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   259
\&.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   260
.IP "\fB\-o\fR \fIfile\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   261
.IX Item "-o file"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   262
Write output to \fIfile\fR.  This is the same as specifying \fIfile\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   263
as the second non-option argument to \fBcpp\fR.  \fBgcc\fR has a
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   264
different interpretation of a second non-option argument, so you must
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   265
use \fB\-o\fR to specify the output file.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   266
.IP "\fB\-Wall\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   267
.IX Item "-Wall"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   268
Turns on all optional warnings which are desirable for normal code.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   269
At present this is \fB\-Wcomment\fR, \fB\-Wtrigraphs\fR,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   270
\&\fB\-Wmultichar\fR and a warning about integer promotion causing a
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   271
change of sign in \f(CW\*(C`#if\*(C'\fR expressions.  Note that many of the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   272
preprocessor's warnings are on by default and have no options to
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   273
control them.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   274
.IP "\fB\-Wcomment\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   275
.IX Item "-Wcomment"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   276
.PD 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   277
.IP "\fB\-Wcomments\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   278
.IX Item "-Wcomments"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   279
.PD
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   280
Warn whenever a comment-start sequence \fB/*\fR appears in a \fB/*\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   281
comment, or whenever a backslash-newline appears in a \fB//\fR comment.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   282
(Both forms have the same effect.)
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   283
.IP "\fB\-Wtrigraphs\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   284
.IX Item "-Wtrigraphs"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   285
@anchor{Wtrigraphs}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   286
Most trigraphs in comments cannot affect the meaning of the program.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   287
However, a trigraph that would form an escaped newline (\fB??/\fR at
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   288
the end of a line) can, by changing where the comment begins or ends.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   289
Therefore, only trigraphs that would form escaped newlines produce
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   290
warnings inside a comment.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   291
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   292
This option is implied by \fB\-Wall\fR.  If \fB\-Wall\fR is not
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   293
given, this option is still enabled unless trigraphs are enabled.  To
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   294
get trigraph conversion without warnings, but get the other
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   295
\&\fB\-Wall\fR warnings, use \fB\-trigraphs \-Wall \-Wno\-trigraphs\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   296
.IP "\fB\-Wtraditional\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   297
.IX Item "-Wtraditional"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   298
Warn about certain constructs that behave differently in traditional and
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   299
\&\s-1ISO\s0 C.  Also warn about \s-1ISO\s0 C constructs that have no traditional C
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   300
equivalent, and problematic constructs which should be avoided.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   301
.IP "\fB\-Wimport\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   302
.IX Item "-Wimport"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   303
Warn the first time \fB#import\fR is used.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   304
.IP "\fB\-Wundef\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   305
.IX Item "-Wundef"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   306
Warn whenever an identifier which is not a macro is encountered in an
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   307
\&\fB#if\fR directive, outside of \fBdefined\fR.  Such identifiers are
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   308
replaced with zero.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   309
.IP "\fB\-Wunused\-macros\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   310
.IX Item "-Wunused-macros"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   311
Warn about macros defined in the main file that are unused.  A macro
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   312
is \fIused\fR if it is expanded or tested for existence at least once.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   313
The preprocessor will also warn if the macro has not been used at the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   314
time it is redefined or undefined.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   315
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   316
Built-in macros, macros defined on the command line, and macros
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   317
defined in include files are not warned about.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   318
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   319
\&\fBNote:\fR If a macro is actually used, but only used in skipped
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   320
conditional blocks, then \s-1CPP\s0 will report it as unused.  To avoid the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   321
warning in such a case, you might improve the scope of the macro's
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   322
definition by, for example, moving it into the first skipped block.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   323
Alternatively, you could provide a dummy use with something like:
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   324
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   325
.Vb 2
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   326
\&        #if defined the_macro_causing_the_warning
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   327
\&        #endif
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   328
.Ve
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   329
.IP "\fB\-Wendif\-labels\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   330
.IX Item "-Wendif-labels"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   331
Warn whenever an \fB#else\fR or an \fB#endif\fR are followed by text.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   332
This usually happens in code of the form
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   333
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   334
.Vb 5
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   335
\&        #if FOO
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   336
\&        ...
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   337
\&        #else FOO
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   338
\&        ...
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   339
\&        #endif FOO
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   340
.Ve
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   341
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   342
The second and third \f(CW\*(C`FOO\*(C'\fR should be in comments, but often are not
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   343
in older programs.  This warning is on by default.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   344
.IP "\fB\-Werror\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   345
.IX Item "-Werror"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   346
Make all warnings into hard errors.  Source code which triggers warnings
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   347
will be rejected.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   348
.IP "\fB\-Wsystem\-headers\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   349
.IX Item "-Wsystem-headers"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   350
Issue warnings for code in system headers.  These are normally unhelpful
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   351
in finding bugs in your own code, therefore suppressed.  If you are
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   352
responsible for the system library, you may want to see them.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   353
.IP "\fB\-w\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   354
.IX Item "-w"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   355
Suppress all warnings, including those which \s-1GNU\s0 \s-1CPP\s0 issues by default.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   356
.IP "\fB\-pedantic\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   357
.IX Item "-pedantic"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   358
Issue all the mandatory diagnostics listed in the C standard.  Some of
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   359
them are left out by default, since they trigger frequently on harmless
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   360
code.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   361
.IP "\fB\-pedantic\-errors\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   362
.IX Item "-pedantic-errors"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   363
Issue all the mandatory diagnostics, and make all mandatory diagnostics
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   364
into errors.  This includes mandatory diagnostics that \s-1GCC\s0 issues
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   365
without \fB\-pedantic\fR but treats as warnings.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   366
.IP "\fB\-M\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   367
.IX Item "-M"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   368
Instead of outputting the result of preprocessing, output a rule
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   369
suitable for \fBmake\fR describing the dependencies of the main
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   370
source file.  The preprocessor outputs one \fBmake\fR rule containing
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   371
the object file name for that source file, a colon, and the names of all
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   372
the included files, including those coming from \fB\-include\fR or
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   373
\&\fB\-imacros\fR command line options.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   374
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   375
Unless specified explicitly (with \fB\-MT\fR or \fB\-MQ\fR), the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   376
object file name consists of the basename of the source file with any
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   377
suffix replaced with object file suffix.  If there are many included
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   378
files then the rule is split into several lines using \fB\e\fR\-newline.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   379
The rule has no commands.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   380
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   381
This option does not suppress the preprocessor's debug output, such as
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   382
\&\fB\-dM\fR.  To avoid mixing such debug output with the dependency
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   383
rules you should explicitly specify the dependency output file with
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   384
\&\fB\-MF\fR, or use an environment variable like
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   385
\&\fB\s-1DEPENDENCIES_OUTPUT\s0\fR.  Debug output
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   386
will still be sent to the regular output stream as normal.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   387
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   388
Passing \fB\-M\fR to the driver implies \fB\-E\fR, and suppresses
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   389
warnings with an implicit \fB\-w\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   390
.IP "\fB\-MM\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   391
.IX Item "-MM"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   392
Like \fB\-M\fR but do not mention header files that are found in
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   393
system header directories, nor header files that are included,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   394
directly or indirectly, from such a header.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   395
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   396
This implies that the choice of angle brackets or double quotes in an
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   397
\&\fB#include\fR directive does not in itself determine whether that
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   398
header will appear in \fB\-MM\fR dependency output.  This is a
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   399
slight change in semantics from \s-1GCC\s0 versions 3.0 and earlier.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   400
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   401
@anchor{dashMF}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   402
.IP "\fB\-MF\fR \fIfile\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   403
.IX Item "-MF file"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   404
When used with \fB\-M\fR or \fB\-MM\fR, specifies a
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   405
file to write the dependencies to.  If no \fB\-MF\fR switch is given
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   406
the preprocessor sends the rules to the same place it would have sent
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   407
preprocessed output.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   408
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   409
When used with the driver options \fB\-MD\fR or \fB\-MMD\fR,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   410
\&\fB\-MF\fR overrides the default dependency output file.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   411
.IP "\fB\-MG\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   412
.IX Item "-MG"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   413
In conjunction with an option such as \fB\-M\fR requesting
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   414
dependency generation, \fB\-MG\fR assumes missing header files are
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   415
generated files and adds them to the dependency list without raising
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   416
an error.  The dependency filename is taken directly from the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   417
\&\f(CW\*(C`#include\*(C'\fR directive without prepending any path.  \fB\-MG\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   418
also suppresses preprocessed output, as a missing header file renders
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   419
this useless.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   420
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   421
This feature is used in automatic updating of makefiles.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   422
.IP "\fB\-MP\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   423
.IX Item "-MP"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   424
This option instructs \s-1CPP\s0 to add a phony target for each dependency
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   425
other than the main file, causing each to depend on nothing.  These
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   426
dummy rules work around errors \fBmake\fR gives if you remove header
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   427
files without updating the \fIMakefile\fR to match.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   428
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   429
This is typical output:
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   430
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   431
.Vb 1
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   432
\&        test.o: test.c test.h
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   433
.Ve
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   434
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   435
.Vb 1
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   436
\&        test.h:
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   437
.Ve
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   438
.IP "\fB\-MT\fR \fItarget\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   439
.IX Item "-MT target"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   440
Change the target of the rule emitted by dependency generation.  By
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   441
default \s-1CPP\s0 takes the name of the main input file, including any path,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   442
deletes any file suffix such as \fB.c\fR, and appends the platform's
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   443
usual object suffix.  The result is the target.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   444
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   445
An \fB\-MT\fR option will set the target to be exactly the string you
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   446
specify.  If you want multiple targets, you can specify them as a single
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   447
argument to \fB\-MT\fR, or use multiple \fB\-MT\fR options.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   448
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   449
For example, \fB\-MT\ '$(objpfx)foo.o'\fR might give
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   450
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   451
.Vb 1
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   452
\&        $(objpfx)foo.o: foo.c
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   453
.Ve
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   454
.IP "\fB\-MQ\fR \fItarget\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   455
.IX Item "-MQ target"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   456
Same as \fB\-MT\fR, but it quotes any characters which are special to
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   457
Make.  \fB\-MQ\ '$(objpfx)foo.o'\fR gives
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   458
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   459
.Vb 1
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   460
\&        $$(objpfx)foo.o: foo.c
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   461
.Ve
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   462
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   463
The default target is automatically quoted, as if it were given with
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   464
\&\fB\-MQ\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   465
.IP "\fB\-MD\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   466
.IX Item "-MD"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   467
\&\fB\-MD\fR is equivalent to \fB\-M \-MF\fR \fIfile\fR, except that
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   468
\&\fB\-E\fR is not implied.  The driver determines \fIfile\fR based on
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   469
whether an \fB\-o\fR option is given.  If it is, the driver uses its
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   470
argument but with a suffix of \fI.d\fR, otherwise it take the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   471
basename of the input file and applies a \fI.d\fR suffix.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   472
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   473
If \fB\-MD\fR is used in conjunction with \fB\-E\fR, any
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   474
\&\fB\-o\fR switch is understood to specify the dependency output file
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   475
(but \f(CW@pxref\fR{dashMF,,\-MF}), but if used without \fB\-E\fR, each \fB\-o\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   476
is understood to specify a target object file.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   477
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   478
Since \fB\-E\fR is not implied, \fB\-MD\fR can be used to generate
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   479
a dependency output file as a side-effect of the compilation process.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   480
.IP "\fB\-MMD\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   481
.IX Item "-MMD"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   482
Like \fB\-MD\fR except mention only user header files, not system
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   483
\&\-header files.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   484
.IP "\fB\-x c\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   485
.IX Item "-x c"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   486
.PD 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   487
.IP "\fB\-x c++\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   488
.IX Item "-x c++"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   489
.IP "\fB\-x objective-c\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   490
.IX Item "-x objective-c"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   491
.IP "\fB\-x assembler-with-cpp\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   492
.IX Item "-x assembler-with-cpp"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   493
.PD
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   494
Specify the source language: C, \*(C+, Objective\-C, or assembly.  This has
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   495
nothing to do with standards conformance or extensions; it merely
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   496
selects which base syntax to expect.  If you give none of these options,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   497
cpp will deduce the language from the extension of the source file:
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   498
\&\fB.c\fR, \fB.cc\fR, \fB.m\fR, or \fB.S\fR.  Some other common
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   499
extensions for \*(C+ and assembly are also recognized.  If cpp does not
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   500
recognize the extension, it will treat the file as C; this is the most
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   501
generic mode.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   502
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   503
\&\fBNote:\fR Previous versions of cpp accepted a \fB\-lang\fR option
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   504
which selected both the language and the standards conformance level.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   505
This option has been removed, because it conflicts with the \fB\-l\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   506
option.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   507
.IP "\fB\-std=\fR\fIstandard\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   508
.IX Item "-std=standard"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   509
.PD 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   510
.IP "\fB\-ansi\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   511
.IX Item "-ansi"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   512
.PD
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   513
Specify the standard to which the code should conform.  Currently \s-1CPP\s0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   514
knows about C and \*(C+ standards; others may be added in the future.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   515
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   516
\&\fIstandard\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   517
may be one of:
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   518
.RS 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   519
.ie n .IP """iso9899:1990""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   520
.el .IP "\f(CWiso9899:1990\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   521
.IX Item "iso9899:1990"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   522
.PD 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   523
.ie n .IP """c89""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   524
.el .IP "\f(CWc89\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   525
.IX Item "c89"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   526
.PD
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   527
The \s-1ISO\s0 C standard from 1990.  \fBc89\fR is the customary shorthand for
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   528
this version of the standard.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   529
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   530
The \fB\-ansi\fR option is equivalent to \fB\-std=c89\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   531
.ie n .IP """iso9899:199409""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   532
.el .IP "\f(CWiso9899:199409\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   533
.IX Item "iso9899:199409"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   534
The 1990 C standard, as amended in 1994.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   535
.ie n .IP """iso9899:1999""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   536
.el .IP "\f(CWiso9899:1999\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   537
.IX Item "iso9899:1999"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   538
.PD 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   539
.ie n .IP """c99""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   540
.el .IP "\f(CWc99\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   541
.IX Item "c99"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   542
.ie n .IP """iso9899:199x""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   543
.el .IP "\f(CWiso9899:199x\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   544
.IX Item "iso9899:199x"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   545
.ie n .IP """c9x""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   546
.el .IP "\f(CWc9x\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   547
.IX Item "c9x"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   548
.PD
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   549
The revised \s-1ISO\s0 C standard, published in December 1999.  Before
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   550
publication, this was known as C9X.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   551
.ie n .IP """gnu89""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   552
.el .IP "\f(CWgnu89\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   553
.IX Item "gnu89"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   554
The 1990 C standard plus \s-1GNU\s0 extensions.  This is the default.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   555
.ie n .IP """gnu99""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   556
.el .IP "\f(CWgnu99\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   557
.IX Item "gnu99"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   558
.PD 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   559
.ie n .IP """gnu9x""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   560
.el .IP "\f(CWgnu9x\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   561
.IX Item "gnu9x"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   562
.PD
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   563
The 1999 C standard plus \s-1GNU\s0 extensions.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   564
.ie n .IP """c++98""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   565
.el .IP "\f(CWc++98\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   566
.IX Item "c++98"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   567
The 1998 \s-1ISO\s0 \*(C+ standard plus amendments.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   568
.ie n .IP """gnu++98""" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   569
.el .IP "\f(CWgnu++98\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   570
.IX Item "gnu++98"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   571
The same as \fB\-std=c++98\fR plus \s-1GNU\s0 extensions.  This is the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   572
default for \*(C+ code.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   573
.RE
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   574
.RS 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   575
.RE
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   576
.IP "\fB\-I\-\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   577
.IX Item "-I-"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   578
Split the include path.  Any directories specified with \fB\-I\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   579
options before \fB\-I\-\fR are searched only for headers requested with
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   580
\&\f(CW\*(C`#include\ "\f(CIfile\f(CW"\*(C'\fR; they are not searched for
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   581
\&\f(CW\*(C`#include\ <\f(CIfile\f(CW>\*(C'\fR.  If additional directories are
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   582
specified with \fB\-I\fR options after the \fB\-I\-\fR, those
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   583
directories are searched for all \fB#include\fR directives.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   584
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   585
In addition, \fB\-I\-\fR inhibits the use of the directory of the current
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   586
file directory as the first search directory for \f(CW\*(C`#include\ "\f(CIfile\f(CW"\*(C'\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   587
.IP "\fB\-nostdinc\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   588
.IX Item "-nostdinc"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   589
Do not search the standard system directories for header files.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   590
Only the directories you have specified with \fB\-I\fR options
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   591
(and the directory of the current file, if appropriate) are searched.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   592
.IP "\fB\-nostdinc++\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   593
.IX Item "-nostdinc++"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   594
Do not search for header files in the \*(C+\-specific standard directories,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   595
but do still search the other standard directories.  (This option is
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   596
used when building the \*(C+ library.)
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   597
.IP "\fB\-include\fR \fIfile\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   598
.IX Item "-include file"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   599
Process \fIfile\fR as if \f(CW\*(C`#include "file"\*(C'\fR appeared as the first
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   600
line of the primary source file.  However, the first directory searched
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   601
for \fIfile\fR is the preprocessor's working directory \fIinstead of\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   602
the directory containing the main source file.  If not found there, it
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   603
is searched for in the remainder of the \f(CW\*(C`#include "..."\*(C'\fR search
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   604
chain as normal.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   605
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   606
If multiple \fB\-include\fR options are given, the files are included
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   607
in the order they appear on the command line.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   608
.IP "\fB\-imacros\fR \fIfile\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   609
.IX Item "-imacros file"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   610
Exactly like \fB\-include\fR, except that any output produced by
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   611
scanning \fIfile\fR is thrown away.  Macros it defines remain defined.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   612
This allows you to acquire all the macros from a header without also
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   613
processing its declarations.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   614
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   615
All files specified by \fB\-imacros\fR are processed before all files
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   616
specified by \fB\-include\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   617
.IP "\fB\-idirafter\fR \fIdir\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   618
.IX Item "-idirafter dir"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   619
Search \fIdir\fR for header files, but do it \fIafter\fR all
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   620
directories specified with \fB\-I\fR and the standard system directories
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   621
have been exhausted.  \fIdir\fR is treated as a system include directory.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   622
.IP "\fB\-iprefix\fR \fIprefix\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   623
.IX Item "-iprefix prefix"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   624
Specify \fIprefix\fR as the prefix for subsequent \fB\-iwithprefix\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   625
options.  If the prefix represents a directory, you should include the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   626
final \fB/\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   627
.IP "\fB\-iwithprefix\fR \fIdir\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   628
.IX Item "-iwithprefix dir"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   629
.PD 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   630
.IP "\fB\-iwithprefixbefore\fR \fIdir\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   631
.IX Item "-iwithprefixbefore dir"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   632
.PD
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   633
Append \fIdir\fR to the prefix specified previously with
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   634
\&\fB\-iprefix\fR, and add the resulting directory to the include search
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   635
path.  \fB\-iwithprefixbefore\fR puts it in the same place \fB\-I\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   636
would; \fB\-iwithprefix\fR puts it where \fB\-idirafter\fR would.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   637
.IP "\fB\-isystem\fR \fIdir\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   638
.IX Item "-isystem dir"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   639
Search \fIdir\fR for header files, after all directories specified by
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   640
\&\fB\-I\fR but before the standard system directories.  Mark it
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   641
as a system directory, so that it gets the same special treatment as
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   642
is applied to the standard system directories.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   643
.IP "\fB\-fdollars\-in\-identifiers\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   644
.IX Item "-fdollars-in-identifiers"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   645
@anchor{fdollars\-in\-identifiers}
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   646
Accept \fB$\fR in identifiers.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   647
.IP "\fB\-fpreprocessed\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   648
.IX Item "-fpreprocessed"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   649
Indicate to the preprocessor that the input file has already been
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   650
preprocessed.  This suppresses things like macro expansion, trigraph
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   651
conversion, escaped newline splicing, and processing of most directives.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   652
The preprocessor still recognizes and removes comments, so that you can
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   653
pass a file preprocessed with \fB\-C\fR to the compiler without
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   654
problems.  In this mode the integrated preprocessor is little more than
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   655
a tokenizer for the front ends.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   656
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   657
\&\fB\-fpreprocessed\fR is implicit if the input file has one of the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   658
extensions \fB.i\fR, \fB.ii\fR or \fB.mi\fR.  These are the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   659
extensions that \s-1GCC\s0 uses for preprocessed files created by
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   660
\&\fB\-save\-temps\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   661
.IP "\fB\-ftabstop=\fR\fIwidth\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   662
.IX Item "-ftabstop=width"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   663
Set the distance between tab stops.  This helps the preprocessor report
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   664
correct column numbers in warnings or errors, even if tabs appear on the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   665
line.  If the value is less than 1 or greater than 100, the option is
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   666
ignored.  The default is 8.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   667
.IP "\fB\-fexec\-charset=\fR\fIcharset\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   668
.IX Item "-fexec-charset=charset"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   669
Set the execution character set, used for string and character
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   670
constants.  The default is \s-1UTF\-8\s0.  \fIcharset\fR can be any encoding
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   671
supported by the system's \f(CW\*(C`iconv\*(C'\fR library routine.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   672
.IP "\fB\-fwide\-exec\-charset=\fR\fIcharset\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   673
.IX Item "-fwide-exec-charset=charset"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   674
Set the wide execution character set, used for wide string and
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   675
character constants.  The default is \s-1UTF\-32\s0 or \s-1UTF\-16\s0, whichever
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   676
corresponds to the width of \f(CW\*(C`wchar_t\*(C'\fR.  As with
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   677
\&\fB\-ftarget\-charset\fR, \fIcharset\fR can be any encoding supported
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   678
by the system's \f(CW\*(C`iconv\*(C'\fR library routine; however, you will have
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   679
problems with encodings that do not fit exactly in \f(CW\*(C`wchar_t\*(C'\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   680
.IP "\fB\-finput\-charset=\fR\fIcharset\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   681
.IX Item "-finput-charset=charset"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   682
Set the input character set, used for translation from the character
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   683
set of the input file to the source character set used by \s-1GCC\s0. If the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   684
locale does not specify, or \s-1GCC\s0 cannot get this information from the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   685
locale, the default is \s-1UTF\-8\s0. This can be overridden by either the locale
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   686
or this command line option. Currently the command line option takes
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   687
precedence if there's a conflict. \fIcharset\fR can be any encoding
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   688
supported by the system's \f(CW\*(C`iconv\*(C'\fR library routine.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   689
.IP "\fB\-fworking\-directory\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   690
.IX Item "-fworking-directory"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   691
Enable generation of linemarkers in the preprocessor output that will
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   692
let the compiler know the current working directory at the time of
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   693
preprocessing.  When this option is enabled, the preprocessor will
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   694
emit, after the initial linemarker, a second linemarker with the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   695
current working directory followed by two slashes.  \s-1GCC\s0 will use this
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   696
directory, when it's present in the preprocessed input, as the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   697
directory emitted as the current working directory in some debugging
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   698
information formats.  This option is implicitly enabled if debugging
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   699
information is enabled, but this can be inhibited with the negated
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   700
form \fB\-fno\-working\-directory\fR.  If the \fB\-P\fR flag is
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   701
present in the command line, this option has no effect, since no
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   702
\&\f(CW\*(C`#line\*(C'\fR directives are emitted whatsoever.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   703
.IP "\fB\-fno\-show\-column\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   704
.IX Item "-fno-show-column"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   705
Do not print column numbers in diagnostics.  This may be necessary if
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   706
diagnostics are being scanned by a program that does not understand the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   707
column numbers, such as \fBdejagnu\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   708
.IP "\fB\-A\fR \fIpredicate\fR\fB=\fR\fIanswer\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   709
.IX Item "-A predicate=answer"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   710
Make an assertion with the predicate \fIpredicate\fR and answer
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   711
\&\fIanswer\fR.  This form is preferred to the older form \fB\-A\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   712
\&\fIpredicate\fR\fB(\fR\fIanswer\fR\fB)\fR, which is still supported, because
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   713
it does not use shell special characters.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   714
.IP "\fB\-A \-\fR\fIpredicate\fR\fB=\fR\fIanswer\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   715
.IX Item "-A -predicate=answer"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   716
Cancel an assertion with the predicate \fIpredicate\fR and answer
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   717
\&\fIanswer\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   718
.IP "\fB\-dCHARS\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   719
.IX Item "-dCHARS"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   720
\&\fI\s-1CHARS\s0\fR is a sequence of one or more of the following characters,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   721
and must not be preceded by a space.  Other characters are interpreted
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   722
by the compiler proper, or reserved for future versions of \s-1GCC\s0, and so
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   723
are silently ignored.  If you specify characters whose behavior
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   724
conflicts, the result is undefined.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   725
.RS 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   726
.IP "\fBM\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   727
.IX Item "M"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   728
Instead of the normal output, generate a list of \fB#define\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   729
directives for all the macros defined during the execution of the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   730
preprocessor, including predefined macros.  This gives you a way of
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   731
finding out what is predefined in your version of the preprocessor.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   732
Assuming you have no file \fIfoo.h\fR, the command
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   733
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   734
.Vb 1
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   735
\&        touch foo.h; cpp -dM foo.h
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   736
.Ve
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   737
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   738
will show all the predefined macros.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   739
.IP "\fBD\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   740
.IX Item "D"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   741
Like \fBM\fR except in two respects: it does \fInot\fR include the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   742
predefined macros, and it outputs \fIboth\fR the \fB#define\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   743
directives and the result of preprocessing.  Both kinds of output go to
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   744
the standard output file.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   745
.IP "\fBN\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   746
.IX Item "N"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   747
Like \fBD\fR, but emit only the macro names, not their expansions.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   748
.IP "\fBI\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   749
.IX Item "I"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   750
Output \fB#include\fR directives in addition to the result of
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   751
preprocessing.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   752
.RE
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   753
.RS 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   754
.RE
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   755
.IP "\fB\-P\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   756
.IX Item "-P"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   757
Inhibit generation of linemarkers in the output from the preprocessor.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   758
This might be useful when running the preprocessor on something that is
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   759
not C code, and will be sent to a program which might be confused by the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   760
linemarkers.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   761
.IP "\fB\-C\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   762
.IX Item "-C"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   763
Do not discard comments.  All comments are passed through to the output
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   764
file, except for comments in processed directives, which are deleted
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   765
along with the directive.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   766
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   767
You should be prepared for side effects when using \fB\-C\fR; it
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   768
causes the preprocessor to treat comments as tokens in their own right.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   769
For example, comments appearing at the start of what would be a
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   770
directive line have the effect of turning that line into an ordinary
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   771
source line, since the first token on the line is no longer a \fB#\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   772
.IP "\fB\-CC\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   773
.IX Item "-CC"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   774
Do not discard comments, including during macro expansion.  This is
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   775
like \fB\-C\fR, except that comments contained within macros are
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   776
also passed through to the output file where the macro is expanded.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   777
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   778
In addition to the side-effects of the \fB\-C\fR option, the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   779
\&\fB\-CC\fR option causes all \*(C+\-style comments inside a macro
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   780
to be converted to C\-style comments.  This is to prevent later use
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   781
of that macro from inadvertently commenting out the remainder of
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   782
the source line.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   783
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   784
The \fB\-CC\fR option is generally used to support lint comments.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   785
.IP "\fB\-traditional\-cpp\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   786
.IX Item "-traditional-cpp"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   787
Try to imitate the behavior of old-fashioned C preprocessors, as
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   788
opposed to \s-1ISO\s0 C preprocessors.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   789
.IP "\fB\-trigraphs\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   790
.IX Item "-trigraphs"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   791
Process trigraph sequences.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   792
.IP "\fB\-remap\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   793
.IX Item "-remap"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   794
Enable special code to work around file systems which only permit very
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   795
short file names, such as \s-1MS\-DOS\s0.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   796
.IP "\fB\-\-help\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   797
.IX Item "--help"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   798
.PD 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   799
.IP "\fB\-\-target\-help\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   800
.IX Item "--target-help"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   801
.PD
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   802
Print text describing all the command line options instead of
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   803
preprocessing anything.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   804
.IP "\fB\-v\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   805
.IX Item "-v"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   806
Verbose mode.  Print out \s-1GNU\s0 \s-1CPP\s0's version number at the beginning of
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   807
execution, and report the final form of the include path.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   808
.IP "\fB\-H\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   809
.IX Item "-H"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   810
Print the name of each header file used, in addition to other normal
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   811
activities.  Each name is indented to show how deep in the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   812
\&\fB#include\fR stack it is.  Precompiled header files are also
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   813
printed, even if they are found to be invalid; an invalid precompiled
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   814
header file is printed with \fB...x\fR and a valid one with \fB...!\fR .
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   815
.IP "\fB\-version\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   816
.IX Item "-version"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   817
.PD 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   818
.IP "\fB\-\-version\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   819
.IX Item "--version"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   820
.PD
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   821
Print out \s-1GNU\s0 \s-1CPP\s0's version number.  With one dash, proceed to
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   822
preprocess as normal.  With two dashes, exit immediately.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   823
.SH "ENVIRONMENT"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   824
.IX Header "ENVIRONMENT"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   825
This section describes the environment variables that affect how \s-1CPP\s0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   826
operates.  You can use them to specify directories or prefixes to use
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   827
when searching for include files, or to control dependency output.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   828
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   829
Note that you can also specify places to search using options such as
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   830
\&\fB\-I\fR, and control dependency output with options like
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   831
\&\fB\-M\fR.  These take precedence over
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   832
environment variables, which in turn take precedence over the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   833
configuration of \s-1GCC\s0.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   834
.IP "\fB\s-1CPATH\s0\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   835
.IX Item "CPATH"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   836
.PD 0
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   837
.IP "\fBC_INCLUDE_PATH\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   838
.IX Item "C_INCLUDE_PATH"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   839
.IP "\fB\s-1CPLUS_INCLUDE_PATH\s0\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   840
.IX Item "CPLUS_INCLUDE_PATH"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   841
.IP "\fB\s-1OBJC_INCLUDE_PATH\s0\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   842
.IX Item "OBJC_INCLUDE_PATH"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   843
.PD
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   844
Each variable's value is a list of directories separated by a special
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   845
character, much like \fB\s-1PATH\s0\fR, in which to look for header files.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   846
The special character, \f(CW\*(C`PATH_SEPARATOR\*(C'\fR, is target-dependent and
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   847
determined at \s-1GCC\s0 build time.  For Microsoft Windows-based targets it is a
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   848
semicolon, and for almost all other targets it is a colon.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   849
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   850
\&\fB\s-1CPATH\s0\fR specifies a list of directories to be searched as if
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   851
specified with \fB\-I\fR, but after any paths given with \fB\-I\fR
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   852
options on the command line.  This environment variable is used
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   853
regardless of which language is being preprocessed.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   854
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   855
The remaining environment variables apply only when preprocessing the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   856
particular language indicated.  Each specifies a list of directories
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   857
to be searched as if specified with \fB\-isystem\fR, but after any
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   858
paths given with \fB\-isystem\fR options on the command line.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   859
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   860
In all these variables, an empty element instructs the compiler to
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   861
search its current working directory.  Empty elements can appear at the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   862
beginning or end of a path.  For instance, if the value of
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   863
\&\fB\s-1CPATH\s0\fR is \f(CW\*(C`:/special/include\*(C'\fR, that has the same
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   864
effect as \fB\-I.\ \-I/special/include\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   865
.IP "\fB\s-1DEPENDENCIES_OUTPUT\s0\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   866
.IX Item "DEPENDENCIES_OUTPUT"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   867
If this variable is set, its value specifies how to output
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   868
dependencies for Make based on the non-system header files processed
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   869
by the compiler.  System header files are ignored in the dependency
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   870
output.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   871
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   872
The value of \fB\s-1DEPENDENCIES_OUTPUT\s0\fR can be just a file name, in
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   873
which case the Make rules are written to that file, guessing the target
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   874
name from the source file name.  Or the value can have the form
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   875
\&\fIfile\fR\fB \fR\fItarget\fR, in which case the rules are written to
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   876
file \fIfile\fR using \fItarget\fR as the target name.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   877
.Sp
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   878
In other words, this environment variable is equivalent to combining
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   879
the options \fB\-MM\fR and \fB\-MF\fR,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   880
with an optional \fB\-MT\fR switch too.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   881
.IP "\fB\s-1SUNPRO_DEPENDENCIES\s0\fR" 4
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   882
.IX Item "SUNPRO_DEPENDENCIES"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   883
This variable is the same as \fB\s-1DEPENDENCIES_OUTPUT\s0\fR (see above),
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   884
except that system header files are not ignored, so it implies
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   885
\&\fB\-M\fR rather than \fB\-MM\fR.  However, the dependence on the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   886
main input file is omitted.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   887
.SH "SEE ALSO"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   888
.IX Header "SEE ALSO"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   889
\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7),
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   890
\&\fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIcpp\fR, \fIgcc\fR, and
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   891
\&\fIbinutils\fR.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   892
.SH "COPYRIGHT"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   893
.IX Header "COPYRIGHT"
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   894
Copyright (c) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   895
1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   896
Free Software Foundation, Inc.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   897
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   898
Permission is granted to copy, distribute and/or modify this document
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   899
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 or
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   900
any later version published by the Free Software Foundation.  A copy of
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   901
the license is included in the
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   902
man page \fIgfdl\fR\|(7).
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   903
This manual contains no Invariant Sections.  The Front-Cover Texts are
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   904
(a) (see below), and the Back-Cover Texts are (b) (see below).
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   905
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   906
(a) The \s-1FSF\s0's Front-Cover Text is:
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   907
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   908
.Vb 1
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   909
\&     A GNU Manual
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   910
.Ve
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   911
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   912
(b) The \s-1FSF\s0's Back-Cover Text is:
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   913
.PP
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   914
.Vb 3
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   915
\&     You have freedom to copy and modify this GNU Manual, like GNU
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   916
\&     software.  Copies published by the Free Software Foundation raise
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   917
\&     funds for GNU development.
0878f7720e3e 7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   918
.Ve