xref: /freebsd/usr.bin/c99/c99.1 (revision 20a95cd6fc7b52daa224c3d30b8cf263b9292abd)
198c59a0aSTim J. Robbins.\"
298c59a0aSTim J. Robbins.\" Copyright (c) 1997 Joerg Wunsch
398c59a0aSTim J. Robbins.\"
498c59a0aSTim J. Robbins.\" All rights reserved.
598c59a0aSTim J. Robbins.\"
698c59a0aSTim J. Robbins.\" Redistribution and use in source and binary forms, with or without
798c59a0aSTim J. Robbins.\" modification, are permitted provided that the following conditions
898c59a0aSTim J. Robbins.\" are met:
998c59a0aSTim J. Robbins.\" 1. Redistributions of source code must retain the above copyright
1098c59a0aSTim J. Robbins.\"    notice, this list of conditions and the following disclaimer.
1198c59a0aSTim J. Robbins.\" 2. Redistributions in binary form must reproduce the above copyright
1298c59a0aSTim J. Robbins.\"    notice, this list of conditions and the following disclaimer in the
1398c59a0aSTim J. Robbins.\"    documentation and/or other materials provided with the distribution.
1498c59a0aSTim J. Robbins.\"
1598c59a0aSTim J. Robbins.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
1698c59a0aSTim J. Robbins.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
1798c59a0aSTim J. Robbins.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
1898c59a0aSTim J. Robbins.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
1998c59a0aSTim J. Robbins.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
2098c59a0aSTim J. Robbins.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2198c59a0aSTim J. Robbins.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2298c59a0aSTim J. Robbins.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2398c59a0aSTim J. Robbins.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
2498c59a0aSTim J. Robbins.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2598c59a0aSTim J. Robbins.\"
26bdf35139SRuslan Ermilov.\" From FreeBSD: src/usr.bin/c89/c89.1,v 1.11 2007/03/10 07:10:01 ru Exp
2798c59a0aSTim J. Robbins.\" $FreeBSD$
2898c59a0aSTim J. Robbins.\"
29096dbab9SGabor Kovesdan.Dd June 17, 2010
3098c59a0aSTim J. Robbins.Dt C99 1
31aa12cea2SUlrich Spörlein.Os
3298c59a0aSTim J. Robbins.Sh NAME
3398c59a0aSTim J. Robbins.Nm c99
3498c59a0aSTim J. Robbins.Nd standard C language compiler
3598c59a0aSTim J. Robbins.Sh SYNOPSIS
3698c59a0aSTim J. Robbins.Nm
3798c59a0aSTim J. Robbins.Op Fl cEgs
38f682f10cSRuslan Ermilov.Oo Fl D Ar name Ns Oo = Ns Ar value Oc Oc ...
39f682f10cSRuslan Ermilov.Oo Fl I Ar directory Oc ...
40f682f10cSRuslan Ermilov.Oo Fl L Ar directory Oc ...
4198c59a0aSTim J. Robbins.Op Fl o Ar outfile
4298c59a0aSTim J. Robbins.Op Fl O Ar optlevel
43f682f10cSRuslan Ermilov.Oo Fl U Ar name Oc ...
4498c59a0aSTim J. Robbins.Ar operand ...
4598c59a0aSTim J. Robbins.Sh DESCRIPTION
4698c59a0aSTim J. RobbinsThis is the name of the C language compiler as required by the
4798c59a0aSTim J. Robbins.St -p1003.1-2001
4898c59a0aSTim J. Robbinsstandard.
4998c59a0aSTim J. Robbins.Pp
5098c59a0aSTim J. RobbinsThe
5198c59a0aSTim J. Robbins.Nm
5298c59a0aSTim J. Robbinscompiler accepts the following options:
5398c59a0aSTim J. Robbins.Bl -tag -width indent
5498c59a0aSTim J. Robbins.It Fl c
5598c59a0aSTim J. RobbinsSuppress the link-edit phase of the compilation, and do not remove any
5698c59a0aSTim J. Robbinsobject files that are produced.
5798c59a0aSTim J. Robbins.It Fl D Ar name Ns Op = Ns Ar value
5898c59a0aSTim J. RobbinsDefine name as if by a C-language
5998c59a0aSTim J. Robbins.Ic #define
60f0fab604SRuslan Ermilovdirective.
61f0fab604SRuslan ErmilovIf no
6298c59a0aSTim J. Robbins.Dq = Ns Ar value
6398c59a0aSTim J. Robbinsis given, a value of 1 will be used.
6498c59a0aSTim J. RobbinsNote that in order to request a
6598c59a0aSTim J. Robbinstranslation as specified by
66f0fab604SRuslan Ermilov.St -p1003.1-2001 ,
6798c59a0aSTim J. Robbinsyou need to define
6898c59a0aSTim J. Robbins.Dv _POSIX_C_SOURCE=200112L
69f0fab604SRuslan Ermiloveither in the source or using this option.
70f0fab604SRuslan ErmilovThe
7198c59a0aSTim J. Robbins.Fl D
7298c59a0aSTim J. Robbinsoption has lower precedence than the
7398c59a0aSTim J. Robbins.Fl U
74f0fab604SRuslan Ermilovoption.
75f0fab604SRuslan ErmilovThat is, if
7698c59a0aSTim J. Robbins.Ar name
7798c59a0aSTim J. Robbinsis used in both a
7898c59a0aSTim J. Robbins.Fl U
7998c59a0aSTim J. Robbinsand a
8098c59a0aSTim J. Robbins.Fl D
8198c59a0aSTim J. Robbinsoption,
8298c59a0aSTim J. Robbins.Ar name
83f0fab604SRuslan Ermilovwill be undefined regardless of the order of the options.
84f0fab604SRuslan ErmilovThe
8598c59a0aSTim J. Robbins.Fl D
8698c59a0aSTim J. Robbinsoption may be specified more than once.
8798c59a0aSTim J. Robbins.It Fl E
8898c59a0aSTim J. RobbinsCopy C-language source files to the standard output, expanding all
8998c59a0aSTim J. Robbinspreprocessor directives; no compilation will be performed.
9098c59a0aSTim J. Robbins.It Fl g
9198c59a0aSTim J. RobbinsProduce symbolic information in the object or executable files.
9298c59a0aSTim J. Robbins.It Fl I Ar directory
9398c59a0aSTim J. RobbinsChange the algorithm for searching for headers whose names are not
9498c59a0aSTim J. Robbinsabsolute pathnames to look in the directory named by the
9598c59a0aSTim J. Robbins.Ar directory
96f0fab604SRuslan Ermilovpathname before looking in the usual places.
97f0fab604SRuslan ErmilovThus, headers whose
98f0fab604SRuslan Ermilovnames are enclosed in double-quotes
99*20a95cd6SUlrich Spörlein.Pq Qq
100f0fab604SRuslan Ermilovwill be searched for first
10198c59a0aSTim J. Robbinsin the directory of the file with the
10298c59a0aSTim J. Robbins.Ic #include
10398c59a0aSTim J. Robbinsline, then in
10498c59a0aSTim J. Robbinsdirectories named in
10598c59a0aSTim J. Robbins.Fl I
106f0fab604SRuslan Ermilovoptions, and last in the usual places.
107f0fab604SRuslan ErmilovFor headers whose names are enclosed in angle brackets
108*20a95cd6SUlrich Spörlein.Pq Aq ,
109f0fab604SRuslan Ermilovthe header
11098c59a0aSTim J. Robbinswill be searched for only in directories named in
11198c59a0aSTim J. Robbins.Fl I
112f0fab604SRuslan Ermilovoptions and then in the usual places.
113f0fab604SRuslan ErmilovDirectories named in
11498c59a0aSTim J. Robbins.Fl I
115f0fab604SRuslan Ermilovoptions shall be searched in the order specified.
116f0fab604SRuslan ErmilovThe
11798c59a0aSTim J. Robbins.Fl I
11898c59a0aSTim J. Robbinsoption may be specified more than once.
11998c59a0aSTim J. Robbins.It Fl L Ar directory
12098c59a0aSTim J. RobbinsChange the algorithm of searching for the libraries named in the
12198c59a0aSTim J. Robbins.Fl l
12298c59a0aSTim J. Robbinsobjects to look in the directory named by the
12398c59a0aSTim J. Robbins.Ar directory
124f0fab604SRuslan Ermilovpathname before looking in the usual places.
125f0fab604SRuslan ErmilovDirectories named in
12698c59a0aSTim J. Robbins.Fl L
127f0fab604SRuslan Ermilovoptions will be searched in the order specified.
128f0fab604SRuslan ErmilovThe
12998c59a0aSTim J. Robbins.Fl L
13098c59a0aSTim J. Robbinsoption may be specified more than once.
13198c59a0aSTim J. Robbins.It Fl o Ar outfile
13298c59a0aSTim J. RobbinsUse the pathname
13398c59a0aSTim J. Robbins.Ar outfile ,
13498c59a0aSTim J. Robbinsinstead of the default
13598c59a0aSTim J. Robbins.Pa a.out ,
13698c59a0aSTim J. Robbinsfor the executable file produced.
13798c59a0aSTim J. Robbins.It Fl O Ar optlevel
13898c59a0aSTim J. RobbinsIf
13998c59a0aSTim J. Robbins.Ar optlevel
140f0fab604SRuslan Ermilovis zero, disable all optimizations.
141f0fab604SRuslan ErmilovOtherwise, enable optimizations at the specified level.
14298c59a0aSTim J. Robbins.It Fl s
14398c59a0aSTim J. RobbinsProduce object and/or executable files from which symbolic and other
14498c59a0aSTim J. Robbinsinformation not required for proper execution has been removed
14598c59a0aSTim J. Robbins(stripped).
14698c59a0aSTim J. Robbins.It Fl U Ar name
14798c59a0aSTim J. RobbinsRemove any initial definition of
14898c59a0aSTim J. Robbins.Ar name .
14998c59a0aSTim J. RobbinsThe
15098c59a0aSTim J. Robbins.Fl U
15198c59a0aSTim J. Robbinsoption may be specified more than once.
15298c59a0aSTim J. Robbins.El
15398c59a0aSTim J. Robbins.Pp
15498c59a0aSTim J. RobbinsAn operand is either in the form of a pathname or the form
15598c59a0aSTim J. Robbins.Fl l
156f0fab604SRuslan Ermilovlibrary.
157f0fab604SRuslan ErmilovAt least one operand of the pathname form needs to be specified.
158f0fab604SRuslan ErmilovSupported operands are of the form:
159f0fab604SRuslan Ermilov.Bl -tag -offset indent -width ".Fl l Ar library"
16098c59a0aSTim J. Robbins.It Ar file Ns Pa .c
161f0fab604SRuslan ErmilovA C-language source file to be compiled and optionally linked.
162f0fab604SRuslan ErmilovThe operand must be of this form if the
16398c59a0aSTim J. Robbins.Fl c
16498c59a0aSTim J. Robbinsoption is used.
16598c59a0aSTim J. Robbins.It Ar file Ns Pa .a
16698c59a0aSTim J. RobbinsA library of object files, as produced by
16798c59a0aSTim J. Robbins.Xr ar 1 ,
16898c59a0aSTim J. Robbinspassed directly to the link editor.
16998c59a0aSTim J. Robbins.It Ar file Ns Pa .o
17098c59a0aSTim J. RobbinsAn object file produced by
17198c59a0aSTim J. Robbins.Nm Fl c ,
17298c59a0aSTim J. Robbinsand passed directly to the link editor.
17398c59a0aSTim J. Robbins.It Fl l Ar library
17498c59a0aSTim J. RobbinsSearch the library named
17598c59a0aSTim J. Robbins.Pa lib Ns Ar library Ns Pa .a .
17698c59a0aSTim J. RobbinsA library will be searched when its name is encountered, so the
17798c59a0aSTim J. Robbinsplacement of a
17898c59a0aSTim J. Robbins.Fl l
17998c59a0aSTim J. Robbinsoperand is significant.
18098c59a0aSTim J. Robbins.El
18198c59a0aSTim J. Robbins.Sh SEE ALSO
18298c59a0aSTim J. Robbins.Xr ar 1 ,
18398c59a0aSTim J. Robbins.Xr c89 1 ,
184096dbab9SGabor Kovesdan.Xr cc 1 ,
185096dbab9SGabor Kovesdan.Xr c99 7
18698c59a0aSTim J. Robbins.Sh STANDARDS
18798c59a0aSTim J. RobbinsThe
18898c59a0aSTim J. Robbins.Nm
18998c59a0aSTim J. Robbinsutility interface conforms to
19098c59a0aSTim J. Robbins.St -p1003.1-2001 .
19198c59a0aSTim J. RobbinsSince it is a wrapper around
19298c59a0aSTim J. Robbins.Tn GCC ,
193f0fab604SRuslan Ermilovit is limited to the
194f0fab604SRuslan Ermilov.Tn C99
195f0fab604SRuslan Ermilovfeatures that
196f0fab604SRuslan Ermilov.Tn GCC
197f0fab604SRuslan Ermilovactually implements.
19898c59a0aSTim J. RobbinsSee
199096dbab9SGabor Kovesdan.Pa http://gcc.gnu.org/gcc-4.2/c99status.html .
200