Annotation of researchv10dc/cmd/gcc/gcc.1, revision 1.1

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