-->

Previous | Table of Contents | Next

Page 176


_fmemorize_lookups      _fno_default_inline       _fno_defer_pop

_fno_function_cse       _fno_inline               _fno_peephole

_fomit_frame_pointer    _frerun_cse_after_loop    _fschedule_insns

_fschedule_insns2       _fstrength_reduce         _fthread_jumps

_funroll_all_loops      _funroll_loops            _O _O2

Preprocessor Options

_Aassertion _C _dD _dM _dN _Dmacro[=defn ]_E _H_ idirafter dir _include file _imacros file _iprefix file _

iwithprefix dir _M _MD _MM _MMD _nostdinc _P _Umacro _undef

Assembler Option

_Wa,option

Linker Options

_llibrary _nostartfiles _nostdlib _static _shared _symbolic _ Xlinkernoption _Wl,option _u symbol

Directory Options

_Bprefix _Idir _I_ _Ldir

Target Options

_b machine _V version

Configuration-Dependent Options
M680x0 Options

_m68000_m68020 _m68020_40_m68030_m68040_m68881 _mbitfield _mc68000 _mc68020 _mfpa _mnobitfield _mrtd _mshort

_msoft_float

VAX Options

_mg _mgnu _munix

SPARC Options

_mepilogue _mfpu _mhard_float _mno_fpu _mno_epilogue _msoft_float _msparclite _mv8 _msupersparc _mcypress

Convex Options

_margcount _mc1 _mc2 _mnoargcount

AMD29K Options

_m29000_m29050 _mbw _mdw _mkernel_registers _mlarge _mnbw _mnodw _msmall _mstack_check _muser_registers

M88K Options

_m88000 _m88100 _m88110       _mbig_pic

_mcheck_zero_division         _mhandle_large_shift

_midentify_revision           _mno_check_zero_division

_mno_ocs_debug_info           _mno_ocs_frame_position

_mno_optimize_arg_area        _mno_serialize_volatile

_mno_underscores              _mocs_debug_info

_mocs_frame_position          _moptimize_arg_area

_mserialize_volatile          _mshort_data_num

_msvr3 _msvr4                 _mtrap_large_shift

_muse_div_instruction         _mversion_03.00

_mwarn_passed_structs

Page 177

RS6000 Options

_mfp_in_toc _mno_fop_in_toc

RT Options

_mcall_lib_mul     _mfp_arg_in_fpregs     _mfp_arg_in_gregs

_mfull_fp_blocks     _mhc_struct_return     _min_line_mul

_mminimum_fp_blocks          _mnohc_struct_return

MIPS Options

_mcpu=cpu type _mips2 _mips3               _mint64 _mlong64

_mlonglong128                _mmips_as     _mgas     _mrnames

_mno_rnames                  _mgpopt     _mno_gpopt     _mstats

_mno_stats _mmemcpy _mno_memcpy _mno_mips_tfile

_mmips_tfile                 _msoft_float     _mhard_float     _mabicalls

_mno_abicalls _mhalf_pic _mno_half_pic _G num _nocpp

i386 Options

_m486 _mno_486 _msoft_float _mno_fp_ret_in_387

HPPA Options

_mpa_risc_1_0 _mpa_risc_1_1 _mkernel _mshared_libs _ mno_shared_libs _mlong_calls _mdisable_fpregs _mdisable_ indexing _mtrailing_colon

i960 Options
_mcpu-type

_mnumerics               _msoft_float          _mleaf_procedures

_mno_leaf_procedures     _mtail_call           _mno_tail_call

_mcomplex_addr           _mno_complex_addr     _mcode_align

_mno_code_align          _mic_compat           _mic2.0_compat

_mic3.0_compat           _masm_compat          _mintel_asm

_mstrict_align           _mno_strict_align     _mold_align

_mno_old_align

DEC Alpha Options
_mfp_regs _mno_fp_regs _mno_soft_float _msoft_float

System V Options
_G _Qy _Qn _YP,paths _Ym,dir

Code-Generation Options

_fcall_saved_reg     _fcall_used_

reg    _ffixed_reg _finhibit_

size_directive   _fnonnull_

objects   _fno_common    _fno_ident

_fno_gnu_linker       _fpcc_struct_

return   _fpic   _fPIC   _freg_

struct_    return    _fshared_data _

fshort_enums        _fshort_double _

fvolatile        _fvolatile_global _

fverbose_asm

Page 178

OVERALL OPTIONS

_x language Specify explicitly the language for the following input files (rather than choosing a default based on the filename suffix). This option applies to all following input files until the next _x option. Possible values of language are c, objective_c, c_header, c++, cpp_output, assembler, and assembler_with_cpp.
_x none Turn off any specification of a language, so that subsequent files are handled according to their filename suffixes (as they are if _x has not been used at all).

If you want only some of the four stages (preprocess, compile, assemble, link), you can use _x (or filename suffixes) to tell gcc where to start, and one of the options _c, _S, or _E to say where gcc is to stop. Note that some combinations (for example, _x cpp_output _E) instruct gcc to do nothing at all.

_c Compile or assemble the source files, but do not link. The compiler output is an object file corresponding to each source file.
By default, gcc makes the object filename for a source file by replacing the suffix .c, .i, .s, and so on, with .o. Use _o to select another name.
gcc ignores any unrecognized input files (those that do not require compilation or assembly) with the _c option.
_S Stop after the stage of compilation proper; do not assemble. The output is an assembler code file for each nonassembler input file specified.
By default, gcc makes the assembler filename for a source file by replacing the suffix .c, .i, and so on, with .s. Use _o to select another name. gcc ignores any input files that don't require compilation.
_E Stop after the preprocessing stage; do not run the compiler proper. The output is preprocessed source code, which is sent to the standard output.
gcc ignores input files that don't require preprocessing.
_o file Place output in file file. This applies regardless to whatever sort of output gcc is producing, whether it be an executable file, an object file, an assembler file, or preprocessed C code. Since only one output file can be specified, it does not make sense to use _o when compiling more than one input file, unless you are producing an executable file as output. If you do not specify _o, the default is to put an executable file in a.out, the object file for source.suffix in source.o, its assembler file in source.s, and all preprocessed C source on standard output.
_v Print (on standard error output) the commands executed to run the stages of compilation. Also print the version number of the compiler driver program and of the preprocessor and the compiler proper.
_pipe Use pipes rather than temporary files for communication between the various stages of compilation. This fails to work on some systems where the assembler cannot read from a pipe; but the GNU assembler has no trouble.

LANGUAGE OPTIONS

The following options control the dialect of C that the compiler accepts:

_ansi Support all ANSI standard C programs. This turns off certain features of GNU C that are incompatible with ANSI C, such as the asm, inline, and typeof keywords, and predefined macros such as unix and vax that identify the type of system you are using. It also enables the undesirable and rarely used ANSI trigraph feature, and disallows $ as part of identifiers. The alternate keywords __asm__, __extension__, __inline__, and __typeof__ continue to work despite _ansi. You would not want to use them in an ANSI C program, of course, but it is useful to put them in header files that might be included in compilations done with _ansi. Alternate predefined macros such as __unix__ and __vax__ are also available, with or without _ansi. The _ansi option does not cause non-ANSI programs to be rejected gratuitously. For that, _pedantic is required in addition to _ansi.

Previous | Table of Contents | Next