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