Annotation of researchv10dc/man/mana/gcc.1, revision 1.1

1.1     ! root        1: .\     " ======================
        !             2: .\     " This version is 1.22
        !             3: .\     " ======================
        !             4: .TH GCC 1 "17 May 1988" "Version 1.22"
        !             5: .SH NAME
        !             6: gcc \- GNU project C Compiler
        !             7: .SH SYNOPSIS
        !             8: .B gcc
        !             9: [ option ] ... file ...
        !            10: .SH DESCRIPTION
        !            11: The
        !            12: .I GNU\ C\ compiler
        !            13: uses a command syntax much like the Unix C compiler. The 
        !            14: .I gcc
        !            15: program accepts options and file names as operands. Multiple
        !            16: single-letter options may
        !            17: .I not
        !            18: be grouped: `\fB\-dr\fR'
        !            19: is very different from `\fB\-d\ \-r\fR'.
        !            20: When you invoke
        !            21: .I GNU\ CC
        !            22: \, it normally does preprocessing, compilation,
        !            23: assembly and linking. File names which end in `\fB.c\fR'
        !            24: are taken as C
        !            25: source to be preprocessed and compiled; compiler output files plus any
        !            26: input files with names ending in `\fB.s\fR'
        !            27: are assembled; then the
        !            28: resulting object files, plus any other input files, are linked together to
        !            29: produce an executable.
        !            30: Command options allow you to stop this process at an intermediate stage.
        !            31: For example, the `\fB\-c\fR'
        !            32: option says not to run the linker.
        !            33: Then the output consists of object files output by the assembler.
        !            34: Other command options are passed on to one stage.
        !            35: Some options control the preprocessor and others the compiler itself.
        !            36: .SH OPTIONS
        !            37: Here are the options to control the overall compilation process,
        !            38: including those that say whether to link, whether to assemble, and so on.
        !            39: .TP
        !            40: .BI \-o "\ \ file"
        !            41: Place linker output in file \fIfile\fR.
        !            42: This applies regardless to whatever sort of output is being produced,
        !            43: whether it be an executable file, an object file, an assembler file or
        !            44: preprocessed C code.
        !            45: If `\fB\-o\fR'
        !            46: is not specified, the default is to put an executable file
        !            47: in `a.out', the object file `\fIsource\fB.c\fR' in `\fIsource\fB.o\fR',
        !            48: an assembler file in `\fIsource\fB.s\fR',
        !            49: and preprocessed C on standard output.
        !            50: .TP
        !            51: .B \-c
        !            52: Compile or assemble the source files, but do not link.
        !            53: Produce object files with names made by replacing `\fB\.c\fR'
        !            54: or `\fB\.s\fR'
        !            55: with `\fB\.o\fR'
        !            56: at the end of the input file names.
        !            57: Do nothing at all for object files specified as input.
        !            58: .TP
        !            59: .B \-S
        !            60: Compile into assembler code but do not assemble.
        !            61: The assembler output file name is made by replacing `\fB\.c\fR'
        !            62: with `\fB\.s\fR'
        !            63: at the end of the input file name.
        !            64: Do nothing at all for assembler source files or object files specified
        !            65: as input.
        !            66: .TP
        !            67: .B \-E
        !            68: Run only the C preprocessor.
        !            69: Preprocess all the C source files specified
        !            70: and output the results to standard output.
        !            71: .TP
        !            72: .B \-v
        !            73: Compiler driver program prints the commands it executes as it runs
        !            74: the preprocessor, compiler proper, assembler and linker.
        !            75: Some of these are directed to print their own version numbers.
        !            76: .TP
        !            77: .BI \-B "prefix"
        !            78: Compiler driver program tries \fIprefix\fR as a prefix for each program
        !            79: it tries to run. These programs are `\fBcpp\fR', `\fBcc1\fR',
        !            80: `\fBas\fR' and `\fBld\fR'.
        !            81: For each subprogram to be run, the compiler driver first tries
        !            82: the `\fB\-B\fR' prefix, if any.
        !            83: If that name is not found, or if `\fB\-B\fR' was not specified,
        !            84: the driver tries two standard prefixes,
        !            85: which are `\fB/usr/lib/gcc-\fR' and `\fB/usr/local/lib/gcc-\fR'.
        !            86: If neither of those results in a file name that is found,
        !            87: the unmodified program name is searched for using the directories
        !            88: specified in your `\fBPATH\fR' environment variable.
        !            89: The run-time support file `\fBgnulib\fR' is also searched for using
        !            90: the `\fB\-B\fR' prefix, if needed.
        !            91: If it is not found there, the two standard prefixes above are tried,
        !            92: and that is all. 
        !            93: The file is left out of the link if it is not found by those means.
        !            94: Most of the time, on most machines, you can do without it.
        !            95: .PP
        !            96: These options control the C preprocessor,
        !            97: which is run on each C source file before actual compilation.
        !            98: If you use the `\fB\-E\fR' option, nothing is done except C preprocessing.
        !            99: Some of these options make sense only together with `\fB\-E\fR'
        !           100: because they request preprocessor output that is not suitable
        !           101: for actual compilation.
        !           102: .TP
        !           103: .B \-C
        !           104: Tell the preprocessor not to discard comments. Used with the `\fB\-E\fR'
        !           105: option.
        !           106: .TP
        !           107: .BI \-I "dir"
        !           108: Search directory 
        !           109: .I dir
        !           110: for include files.
        !           111: .TP
        !           112: .B \-I\-
        !           113: Any directories specified with `\fB\-I\fR' options before the `\fB\-I\-\fR'
        !           114: option are searched only for the case of `\fB#include "\fIfile\fB"\fR';
        !           115: they are not searched for `\fB#include <\fIfile\fB>\fR'.
        !           116: If additional directories are specified with `\fB\-I\fR' options after
        !           117: the `\fB\-I\-\fR', these directories are searched for all '\fB#include\fR'
        !           118: directives. (Ordinally \fIall\fR '\fB\-I\fR' directories are used this
        !           119: way.)
        !           120: In addition, the `\fB\-I\-\fR' option inhibits the use of the current
        !           121: directory as the first search directory for `\fB#include "\fIfile\fB"\fR'.
        !           122: Therefore, the current directory is searched only if it is requested
        !           123: explicitly with `\fB\-I.\fR'.
        !           124: Specifying both `\fB\-I\-\fR' and `\fB\-I.\fR' allows you to control precisely
        !           125: which directories are searched before the current one and which are
        !           126: searched after.
        !           127: .TP
        !           128: .B \-nostdinc
        !           129: Do not search the standard system directories for header files.
        !           130: Only the directories you have specified with `\fB\-I\fR' options
        !           131: (and the current directory, if appropriate) are searched.
        !           132: Between `\fB\-nostdinc\fR' and `\fB\-I-\fR', you can eliminate all
        !           133: directories from the search path except those you specify.
        !           134: .TP
        !           135: .B \-M
        !           136: Tell the preprocessor to output a rule suitable for \fBmake\fR
        !           137: describing the dependencies of each source file.
        !           138: For each source file, the preprocessor outputs one \fBmake\fR-rule
        !           139: whose target is the object file name for that source file and
        !           140: whose dependencies are all the files `\fB#include\fR'd in it.
        !           141: This rule may be a single line or may be continued `\fB\\\fR'-newline
        !           142: if it is long.`\fB\-M\fR' implies `\fB\-E\fR'.
        !           143: .TP
        !           144: .B \-MM
        !           145: Like `\fB\-M\fR' but the output mentions only the user-header files included
        !           146: with `\fB#include "\fIfile\fB"\fR'.
        !           147: System header files included with `\fB#include <\fIfile\fB>\fR'
        !           148: are omitted.`\fB\-MM\fR' implies `\fB\-E\fR'.
        !           149: .TP
        !           150: .BI \-D "macro"
        !           151: Define macro \fImacro\fR
        !           152: with the empty string as its definition.
        !           153: .TP
        !           154: .B \-D\fImacro=defn\fR
        !           155: Define macro \fImacro\fR as \fIdefn\fR.
        !           156: .TP
        !           157: .BI \-U "macro"
        !           158: Undefine macro \fImacro\fR.
        !           159: .TP
        !           160: .B \-T
        !           161: Support ANSI C trigraphs.
        !           162: You don't want to know about this brain-damage.
        !           163: The `\fB\-ansi\fR' option also has this effect.
        !           164: .PP
        !           165: These options control the details of C compilation itself.
        !           166: .TP
        !           167: .B \-ansi
        !           168: Support all ANSI standard C programs.
        !           169: This turns off certain features of GNU C that are incompatible with
        !           170: ANSI C, such as the \fBasm\fR, \fBinline\fR and \fBtypeof\fR keywords, and
        !           171: predefined macros such as \fBunix\fR and \fBvax\fR that identify
        !           172: the type of system you are using.
        !           173: It also enables the undesirable and rarely used ANSI trigraph feature.
        !           174: The `\fB\-ansi\fR' option does not cause non-ANSI programs to be rejected
        !           175: gratuitously.
        !           176: For that, `\fB\-pedantic\fR' is required in addition to `\fB\-ansi\fR'.
        !           177: The macro \fB__STRICT_ANSI__\fR
        !           178: is predefined when the `-ansi' option is used.
        !           179: Some header files may notice this macro and refrain from declaring
        !           180: certain functions or defining certain macros that the ANSI standard
        !           181: doesn't call for; this is to avoid interfering with any programs
        !           182: that might use these names for other things.
        !           183: .TP
        !           184: .B \-traditional
        !           185: Attempt to support some aspects of traditional C compilers.
        !           186: Specifically:
        !           187: .br
        !           188: \(** All \fBextern\fR declarations take effect globally even if 
        !           189: they are written inside of a function definition.
        !           190: This includes implicit declarations of functions.
        !           191: .br    
        !           192: \(** The keywords \fBtypeof\fR, \fBinline\fR, \fBsigned\fR, \fBconst\fR
        !           193: and \fBvolatile\fR are not recognized.
        !           194: .br    
        !           195: \(** Comparisons between pointers and integers are always allowed.
        !           196: .br
        !           197: \(** Integer types \fBunsigned short\fR and \fBunsigned char\fR
        !           198: promote to \fBunsigned int\fR.
        !           199: .br
        !           200: \(** In the preprocessor, comments convert to nothing at all,
        !           201: rather than to a space.
        !           202: This allows traditional token concatenation.
        !           203: .br
        !           204: \(** In the preprocessor, single and double quote characters are
        !           205: ignored when scanning macro definitions, so that macro arguments
        !           206: can be replaced even within a string or character constant.
        !           207: Quote characters are also ignored when skipping text inside
        !           208: a failing conditional directive.
        !           209: .TP
        !           210: .B \-pedantic
        !           211: Issue all the warnings demanded by strict ANSI standard C;
        !           212: reject all programs that use forbidden extensions.
        !           213: Valid ANSI standard C programs should compile properly with or
        !           214: without this option (though a rare few will require `\fB\-ansi\fR'.
        !           215: However, without this option, certain GNU extensions and
        !           216: traditional C features are supported as well.
        !           217: With this option, they are rejected.
        !           218: There is no reason to \fIuse\fR
        !           219: this option; it exists only to satisfy pedants.
        !           220: .TP
        !           221: .B \-O
        !           222: Optimize.  Optimizing compilation takes somewhat more time, and a lot
        !           223: more memory for a large function.
        !           224: Without `\fB\-O\fR', the compiler's goal is to reduce the cost of
        !           225: compilation and to make debugging produce the expected results.
        !           226: Statements are independent: if you stop the program with a breakpoint
        !           227: between statements, you can then assign a new value to any variable or
        !           228: change the program counter to any other statement in the function and
        !           229: get exactly the results you would expect from the source code.
        !           230: Without `\fB\-O\fR', only variables declared \fBregister\fR
        !           231: are allocated in registers.
        !           232: The resulting compiled code is
        !           233: a little worse than produced by PCC without `\fB\-O\fR'.
        !           234: With `\fB\-O\fR', the compiler tries to reduce code size and execution time.
        !           235: Some of the `\fB\-f\fR' options described below turn specific
        !           236: kinds of optimization on or off.
        !           237: .TP
        !           238: .B \-g
        !           239: Produce debugging information in DBX format.
        !           240: Unlike most other C compilers,
        !           241: GNU CC allows you to use `\fB\-g\fR' with `\fB\-O\fR'.
        !           242: The shortcuts taken by optimized code may occasionally
        !           243: produce surprising results: some variables you declared may not exist
        !           244: at all; flow of control may briefly move where you did not expect it;
        !           245: some statements may not be executed because they compute constant
        !           246: results or their values were already at hand; some statements may
        !           247: execute in different places because they were moved out of loops.
        !           248: Nevertheless it proves possible to debug optimized output.
        !           249: This makes it reasonable to use the optimizer for programs that might
        !           250: have bugs.
        !           251: .TP
        !           252: .B \-gg
        !           253: Produce debugging information in GDB(GNU Debugger)'s own format.
        !           254: This requires the GNU assembler and linker
        !           255: in order to work.
        !           256: .TP
        !           257: .B \-w
        !           258: Inhibit all warning messages.
        !           259: .TP
        !           260: .B \-W
        !           261: Print extra warning messages for these events:
        !           262: .br
        !           263: \(** An automatic variable is used without first being initialized.
        !           264: These warnings are possible only in optimizing compilation, because 
        !           265: they require data flow information that is computed only when
        !           266: optimizing. 
        !           267: They occur only for variables that are candidates for register
        !           268: allocation. Therefore, they do not occur for a variable that is
        !           269: declared
        !           270: .B volatile,
        !           271: or whose address is taken, or whose size is other than 
        !           272: 1,2,4 or 8 bytes. Also, they do not occur for structures,
        !           273: unions or arrays, even when they are in registers.
        !           274: Note that there may be no warning about a variable that is used
        !           275: only to compute a value that itself is never used, because such
        !           276: computations may be deleted by the flow analysis pass before the
        !           277: warnings are printed.
        !           278: These warnings are made optional because GNU CC is not smart
        !           279: enough to see all the reasons why the code might be correct
        !           280: despite appearing to have an error.
        !           281: .br
        !           282: \(** A nonvolantile automatic variable might be changed
        !           283: by a call to \fBlongjmp\fR.
        !           284: These warnings as well are possible only in optimizing compilation.
        !           285: The compiler sees only the calls to \fBsetjmp\fR.
        !           286: It cannot know where \fBlongjmp\fR
        !           287: will be called; in fact, a signal handler could call it at any point
        !           288: in the code. As a result, you may get a warning even when there is
        !           289: in fact no problem because \fBlongjmp\fR
        !           290: cannot in fact be called at the place which would cause a problem.
        !           291: .br
        !           292: \(** A function can return either with or without a value.
        !           293: (Falling off the end of the function body is considered returning
        !           294: without a value.)
        !           295: Spurious warning can occur because GNU CC does not realize that
        !           296: certain functions (including \fBabort\fR
        !           297: and \fBlongjmp\fR) will never return.
        !           298: .TP
        !           299: .B \-Wimplicit
        !           300: Warn whenever a function is implicitly declared.
        !           301: .TP
        !           302: .B \-Wreturn-type
        !           303: Warn whenever a function is defined with a return-type that
        !           304: defaults to \fBint\fR. Also warn about any \fBreturn\fR
        !           305: statement with no return-value in a function whose return-type
        !           306: is not \fBvoid\fR.
        !           307: .TP
        !           308: .B \-Wcomment
        !           309: Warn whenever a comment-start sequence `/*' appears in a comment.
        !           310: .TP
        !           311: .B \-p
        !           312: Generate extra code to write profile information suitable for the
        !           313: analysis program \fBprof\fR.
        !           314: .TP
        !           315: .B \-pg
        !           316: Generate extra code to write profile information suitable for the
        !           317: analysis program \fBgprof\fR.
        !           318: .TP
        !           319: .BI \-l "library"
        !           320: Search a standard list of directories for a library named \fIlibrary\fR,
        !           321: which is actually a file named `\fBlib\fIlibrary\fB.a\fR'.
        !           322: The linker uses this file as if it had been specified precisely by name.
        !           323: The directories searched include several standard system directories
        !           324: plus any that you specify with `\fB\-L\fR'.
        !           325: Normally the files found this way are library files - archive files whose
        !           326: members are object files. The linker handles an archive file by through
        !           327: it for members which define symbols that have so far been referenced
        !           328: but not defined. But if the file that is found is an ordinary
        !           329: object file, it is linked in the usual fashion. 
        !           330: The only difference between an `\fB\-l\fR' option and the full file name of
        !           331: the file that is found is syntactic and the fact that several directories
        !           332: are searched.
        !           333: .TP
        !           334: .BI \-L "dir"
        !           335: Add directory \fIdir\fR to the list of directories to be searched
        !           336: for `\fB\-l\fR'.
        !           337: .TP
        !           338: .B \-nostdlib
        !           339: Don't use the standard system libraries and startup files when
        !           340: linking. Only the files you specify (plus `\fBgnulib\fR')
        !           341: will be passed to the linker.
        !           342: .TP
        !           343: .BI \-m "machinespec"
        !           344: Machine-dependent option specifying something about the type of target machine.
        !           345: These options are defined by the macro \fBTARGET_SWITCHES\fR
        !           346: in the machine description. The default for the options is also
        !           347: defined by that macro, which enables you to change the defaults.
        !           348: .IP
        !           349: These are the `\fB\-m\fR' options defined in the 68000 machine description:
        !           350: .TP 10
        !           351: .B \ \ \ \ \ \ \ \ \-m68020
        !           352: Generate output for a 68020 (rather than a 68000).
        !           353: This is the default if you use the unmodified sources.
        !           354: .TP 10
        !           355: .B \ \ \ \ \ \ \ \ \-m68000
        !           356: Generate output for a 68000 (rather than a 68020).
        !           357: .TP 10
        !           358: .B \ \ \ \ \ \ \ \ \-m68881
        !           359: Generate output containing 68881 instructions for floating point.
        !           360: This is the default if you use the unmodified sources.
        !           361: .TP 10
        !           362: .B \ \ \ \ \ \ \ \ \-msoft-float
        !           363: Generate output containing library calls for floating point.
        !           364: .TP 10
        !           365: .B \ \ \ \ \ \ \ \ \-mshort
        !           366: Consider type \fBint\fR to be 16 bits wide, like \fBshort int\fR.
        !           367: .TP 10
        !           368: .B \ \ \ \ \ \ \ \ \-mnobitfield
        !           369: Do not use the bit-field instructions. 
        !           370: .B '\-m68000'
        !           371: implies
        !           372: .B '\-mnobitfield'.
        !           373: .TP 10
        !           374: .B \ \ \ \ \ \ \ \ \-mbitfield
        !           375: Do use the bit-field instructions. 
        !           376: .B '\-m68020'
        !           377: implies
        !           378: .B '\-mbitfield'.
        !           379: This is the default if you use the unmodified sources.
        !           380: .TP 10
        !           381: .B \ \ \ \ \ \ \ \ \-mrtd
        !           382: Use a different function-calling convention, in which functions that
        !           383: take a fixed number of arguments return with the \fBrtd\fR
        !           384: instruction, which pops their arguments while returning.  This saves
        !           385: one instruction in the caller since there is no need to pop the
        !           386: arguments there.
        !           387: This calling convention is incompatible with the one normally used on
        !           388: Unix, so you cannot use it if you need to call libraries compiled with
        !           389: the Unix compiler.
        !           390: Also, you must provide function prototypes for all functions that take
        !           391: variable numbers of arguments (including \fBprintf\fR); otherwise
        !           392: incorrect code will be generated for calls to those functions.
        !           393: In addition, seriously incorrect code will result if you call a
        !           394: function with too many arguments.  (Normally, extra arguments are
        !           395: harmlessly ignored.)
        !           396: The \fBrtd\fR
        !           397: instruction is supported by the 68010 and 68020
        !           398: processors, but not by the 68000.
        !           399: .IP
        !           400: These are the `\fB\-m\fR' options defined in the VAX machine description:
        !           401: .TP 10
        !           402: .B \ \ \ \ \ \ \ \ \-munix
        !           403: Do not output certain jump instructions (
        !           404: .B aobleq
        !           405: and so on) that the Unix assembler
        !           406: for the VAX cannot handle across long ranges. 
        !           407: .TP 10
        !           408: .B \ \ \ \ \ \ \ \ \-mgnu
        !           409: Do output those jump instructions, on the assumption
        !           410: that you will assemble with the GNU assembler.
        !           411: .TP 5
        !           412: .BI \-f "flag"
        !           413: Specify machine-independent flags. These are the flags:
        !           414: .TP 10
        !           415: .B \ \ \ \ \ \ \ \ \-ffloat-store
        !           416: Do not store floating-point variables in registers.
        !           417: This prevents undesirable excess precision on machines such as the 68000
        !           418: where the floating registers (of the 68881) keep more precision
        !           419: than a \fBdouble\fR is supposed to have.
        !           420: For most programs, the excess precision does only good, but a few
        !           421: programs rely on the precise definition of IEEE floating point.
        !           422: Use `
        !           423: .B \-ffloat-store'
        !           424: for such programs.
        !           425: .TP 10
        !           426: .B \ \ \ \ \ \ \ \ \-frno-asm
        !           427: Do not recognize \fBasm\fR, \fBinline\fR or \fBtypeof\fR
        !           428: as a keyword. These words may then be used as identifiers.
        !           429: .TP 10
        !           430: .B \ \ \ \ \ \ \ \ \-fno-defer-pop
        !           431: Always pop the arguments to each function call as soon as that
        !           432: function returns.
        !           433: Normally the compiler (when optimizing) lets arguments accumulate on the
        !           434: stack for several function calls and pops them all at once.
        !           435: .TP 10
        !           436: .B \ \ \ \ \ \ \ \ \-fcombine-regs
        !           437: Allow the combine pass to combine an instruction that copies one
        !           438: register into another.
        !           439: This might or might not produce better code when used in addition to `
        !           440: .B \-O'.
        !           441: .TP 10
        !           442: .B \ \ \ \ \ \ \ \ \-fforce-mem
        !           443: Force memory operands to be copied into registers before doing
        !           444: arithmetic on them.
        !           445: This may produce better code by making all
        !           446: memory references potential common subexpressions.
        !           447: When they are not common subexpressions,
        !           448: instruction combination should eliminate the separate register-load.
        !           449: .TP 10
        !           450: .B \ \ \ \ \ \ \ \ \-fforce-addr
        !           451: Force memory address constants to be copied into registers before
        !           452: doing arithmetic on them.
        !           453: This may produce better code just as `
        !           454: .B \-fforce-mem'
        !           455: may.
        !           456: .TP 10
        !           457: .B \ \ \ \ \ \ \ \ \-fomit-frame-pointer
        !           458: Don't keep the frame pointer in a register for functions that don't
        !           459: need one.  This avoids the instructions to save, set up and restore
        !           460: frame pointers; it also makes an extra register available in many
        !           461: functions. \fBIt\ also\ makes\ debugging\ impossible.\fR
        !           462: On some machines, such as the VAX, this flag has no effect,
        !           463: because the standard calling sequence automatically handles
        !           464: the frame pointer and nothing is saved by pretending it doesn't exist.
        !           465: The machine-description macro \fBFRAME_POINTER_REQUIRED\fR
        !           466: controls whether a target machine supports this flag.
        !           467: .TP 10
        !           468: .B \ \ \ \ \ \ \ \ \-finline-functions
        !           469: Integrate all simple functions into their callers.
        !           470: The compiler heuristically decides which functions are simple enough
        !           471: to be worth integrating in this way.
        !           472: If all calls to a given function are integrated, and the function
        !           473: is declared \fBstatic\fR,
        !           474: then the function is normally not output as assembler code in its
        !           475: own right.
        !           476: .TP 10
        !           477: .B \ \ \ \ \ \ \ \ \-fkeep-inline-functions
        !           478: Even if all calls to a given function are integrated, and the
        !           479: function is declared \fBstatic\fR,
        !           480: nevertheless output a separate run-time callable version of
        !           481: the function.
        !           482: .TP 10
        !           483: .B \ \ \ \ \ \ \ \ \-fwritable-strings
        !           484: Store string constants in the writable data segment and don't uniquize them.
        !           485: This is for compatibility with old programs which assume
        !           486: they can write into string constants.  Writing into string constants
        !           487: is a very bad idea; ``constants'' should be constant.
        !           488: .TP 10
        !           489: .B \ \ \ \ \ \ \ \ \-fno-function-cse
        !           490: Do not put function addresses in registers; make each instruction that
        !           491: calls a constant function contain the function's address explicitly.
        !           492: This option results in less efficient code, but some strange hacks
        !           493: that alter the assembler output may be confused by the optimizations
        !           494: performed when this option is not used.
        !           495: .TP 10
        !           496: .B \ \ \ \ \ \ \ \ \-fvolatile
        !           497: Consider all memory references through pointers to be volatile.
        !           498: .TP 10
        !           499: .B \ \ \ \ \ \ \ \ \-funsigned-char
        !           500: Let the type \fBchar\f be the unsigned, like \fBunsigned char\fR.
        !           501: Each kind of machine has a default for what \fBchar\fR
        !           502: should be. It is either like \fBunsigned char\fR
        !           503: by default of like \fBsigned char\fR
        !           504: by default. (Actually, at present, the default is always signed.)
        !           505: The type \fBchar\fR
        !           506: is always a distinct type from either \fBsigned char\fR
        !           507: or \fBunsigned char\fR,
        !           508: even though its behavior is always just like one of those two.
        !           509: .TP 10
        !           510: .B \ \ \ \ \ \ \ \ \-fsigned-char
        !           511: Let the type \fBchar\fR be the same as \fBsigned char\fR.
        !           512: .TP 10
        !           513: .B \ \ \ \ \ \ \ \ \-ffixed-\fIreg\fR
        !           514: Treat the register named \fIreg\fR as a fixed register; generated
        !           515: code should never refer to it (except perhaps as a stack pointer,
        !           516: frame pointer or in some other fixed role). \fIreg\fR
        !           517: must be the name of a register.
        !           518: The register names accepted are machine-specific and are defined in
        !           519: the \fBREGISTER_NAMES\fR
        !           520: macro in the machine description macro file.
        !           521: .TP 10
        !           522: .B \ \ \ \ \ \ \ \ \-fcall-used-\fIreg\fR
        !           523: Treat the register named \fIreg\fR
        !           524: as an allocatable register that is clobberred by function calls.
        !           525: It may be allocated for temporaries or variables
        !           526: that do not live across a call.
        !           527: Functions compiled this way will not save and restore the
        !           528: register \fIreg\fR.
        !           529: Use of this flag for a register that has a fixed pervasive role
        !           530: in the machine's execution model, such as the stack pointer or
        !           531: frame pointer, will produce disastrous results.
        !           532: .TP 10
        !           533: .B \ \ \ \ \ \ \ \ \-fcall-saved-\fIreg\fR
        !           534: Treat the register named \fIreg\fR
        !           535: as an allocatable register saved by functions.
        !           536: It may be allocated even for temporaries or
        !           537: variables that live across a call.  Functions compiled this way
        !           538: will save and restore the register \fIreg\fR if they use it.
        !           539: Use of this flag for a register that has a fixed pervasive role
        !           540: in the machine's execution model, such as the stack pointer or
        !           541: frame pointer, will produce disastrous results.
        !           542: A different sort of disaster will result from the use of this
        !           543: flag for a register in which function values are may be returned.
        !           544: .TP
        !           545: .BI \-d "letters"
        !           546: Says to make debugging dumps at times specified by \fIletters\fR.
        !           547: Here are the possible letters:
        !           548: .TP 10
        !           549: .B \ \ \ \ \ \ \ \ r
        !           550: Dump after RTL generation.
        !           551: .TP 10
        !           552: .B \ \ \ \ \ \ \ \ j
        !           553: Dump after first jump optimization.
        !           554: .TP 10
        !           555: .B \ \ \ \ \ \ \ \ J
        !           556: Dump after last jump optimization.
        !           557: .TP 10
        !           558: .B \ \ \ \ \ \ \ \ s
        !           559: Dump after CSE (including the jump optimization that sometimes
        !           560: follows CSE).
        !           561: .TP 10
        !           562: .B \ \ \ \ \ \ \ \ L
        !           563: Dump after loop optimization.
        !           564: .TP 10
        !           565: .B \ \ \ \ \ \ \ \ f
        !           566: Dump after flow analysis.
        !           567: .TP 10
        !           568: .B \ \ \ \ \ \ \ \ c
        !           569: Dump after instruction combination.
        !           570: .TP 10
        !           571: .B \ \ \ \ \ \ \ \ l
        !           572: Dump after local register allocation.
        !           573: .TP 10
        !           574: .B \ \ \ \ \ \ \ \ g
        !           575: Dump after global register allocation.
        !           576: .TP 10
        !           577: .B \ \ \ \ \ \ \ \ m
        !           578: Print statistics on memory usage, at the end of the run.
        !           579: .SH FILES
        !           580: .ta \w'/usr/local/lib/gcc-gnulib 'u
        !           581: file.c input file
        !           582: .br
        !           583: file.o object file
        !           584: .br
        !           585: a.out  loaded output
        !           586: .br
        !           587: /tmp/cc?       temporary
        !           588: .br
        !           589: /usr/local/lib/gcc-cpp preprocessor
        !           590: .br
        !           591: /usr/local/lib/gcc-cc1 compiler
        !           592: .br
        !           593: /usr/local/lib/gcc-gnulib      library need by GCC on some machines
        !           594: .br
        !           595: /lib/crt0.o    runtime startoff
        !           596: .br
        !           597: /lib/libc.a    standard library, see
        !           598: .IR intro (3)
        !           599: .br
        !           600: /usr/include   standard directory for `#include' files
        !           601: .br
        !           602: .SH "SEE ALSO"
        !           603: B. W. Kernighan and D. M. Ritchie,
        !           604: .I The C Programming Language,
        !           605: Prentice-Hall,
        !           606: 1978
        !           607: .br
        !           608: B. W. Kernighan,
        !           609: .I
        !           610: Programming in C
        !           611: .br
        !           612: D. M. Ritchie,
        !           613: .I
        !           614: C Reference Manual
        !           615: .br
        !           616: adb(1), ld(1), dbx(1), as(1)
        !           617: .SH BUGS
        !           618: Bugs should be reported to [email protected]. Bugs tend actually to be
        !           619: fixed if they can be isolated, so it is in your interest to report them
        !           620: in such a way that they can be easily reproduced according to get newer version.
        !           621: .SH COPYING
        !           622: Copyright (C) 1988 Richard M. Stallman.
        !           623: .br
        !           624: Permission is granted to make and distribute verbatim copies of
        !           625: this manual provided the copyright notice and this permission notice
        !           626: are preserved on all copies.
        !           627: .br
        !           628: Permission is granted to copy and distribute modified versions of this
        !           629: manual under the conditions for verbatim copying, provided also that the
        !           630: section entitled "GNU CC General Public License" is included exactly as
        !           631: in the original, and provided that the entire resulting derived work is
        !           632: distributed under the terms of a permission notice identical to this one.
        !           633: .br
        !           634: Permission is granted to copy and distribute translations of this manual
        !           635: into another language, under the above conditions for modified versions,
        !           636: except that the section entitled "GNU CC General Public License" may be
        !           637: included in a translation approved by the author instead of in the original
        !           638: English.
        !           639: .SH AUTHORS
        !           640: Richard M. Stallman

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.