gcc_update: Add gcc/gcc.1 to generated files.
contrib: * gcc_update: Add gcc/gcc.1 to generated files. * texi2pod.pl: Handle @r and @gccoptlist. Handle @gol. Handle discarding to end of sentence with @xref where the sentence has an interior "." in markup, and handle discarding parentheses around such a sentence. gcc: * Makefile.in (generated-manpages): Add gcc.1 ($(srcdir)/gcc.1): New target. (maintainer-clean): Delete $(srcdir)/gcc.1. * gcc.texi: Add macros @gccoptlist and @gol. * invoke.texi: Include option summary in manpage. Mark up option summary with @gccoptlist and @gol. Use @r in one place where appropriate. * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org. * gcc.1: Generate from invoke.texi. gcc/cp: * g++.1: Change to be ".so man1/gcc.1". From-SVN: r38993
This commit is contained in:
parent
130fadbb36
commit
4bc1997b1a
@ -1,3 +1,11 @@
|
||||
2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||
|
||||
* gcc_update: Add gcc/gcc.1 to generated files.
|
||||
* texi2pod.pl: Handle @r and @gccoptlist. Handle @gol. Handle
|
||||
discarding to end of sentence with @xref where the sentence has an
|
||||
interior "." in markup, and handle discarding parentheses around
|
||||
such a sentence.
|
||||
|
||||
2001-01-11 Bernd Schmidt <bernds@redhat.com>
|
||||
|
||||
* gennews: Add gcc-2.95.3.
|
||||
|
@ -68,6 +68,7 @@ gcc/config.in: gcc/cstamp-h.in
|
||||
gcc/fixinc/fixincl.x: gcc/fixinc/fixincl.tpl gcc/fixinc/inclhack.def
|
||||
gcc/gcov.1: gcc/gcov.texi
|
||||
gcc/cpp.1: gcc/cpp.texi
|
||||
gcc/gcc.1: gcc/invoke.texi
|
||||
# And then, language-specific files
|
||||
# (None at present.)
|
||||
# And libraries, at last
|
||||
|
@ -249,24 +249,30 @@ sub postprocess
|
||||
s/\@value\{([a-zA-Z0-9_-]+)\}/$defs{$1}/g;
|
||||
|
||||
# Formatting commands.
|
||||
# Temporary escape for @r.
|
||||
s/\@r\{([^\}]*)\}/R<$1>/g;
|
||||
s/\@(?:dfn|var|emph|cite|i)\{([^\}]*)\}/I<$1>/g;
|
||||
s/\@(?:code|kbd)\{([^\}]*)\}/C<$1>/g;
|
||||
s/\@(?:samp|strong|key|option|env|command|b)\{([^\}]*)\}/B<$1>/g;
|
||||
s/\@(?:gccoptlist|samp|strong|key|option|env|command|b)\{([^\}]*)\}/B<$1>/g;
|
||||
s/\@sc\{([^\}]*)\}/\U$1/g;
|
||||
s/\@file\{([^\}]*)\}/F<$1>/g;
|
||||
s/\@w\{([^\}]*)\}/S<$1>/g;
|
||||
s/\@(?:dmn|math)\{([^\}]*)\}/$1/g;
|
||||
|
||||
# Handle @r inside bold.
|
||||
1 while s/B<((?:[^<>]*|I<[^<>*]*>)*)R<([^>]*)>/B<$1>${2}B</g;
|
||||
|
||||
# Cross references are thrown away, as are @noindent and @refill.
|
||||
# (@noindent is impossible in .pod, and @refill is unnecessary.)
|
||||
# @* is also impossible in .pod; we discard it and any newline that
|
||||
# follows it.
|
||||
# follows it. Similarly, our macro @gol must be discarded.
|
||||
|
||||
s/\@xref\{(?:[^\}]*)\}[^.]*.//g;
|
||||
s/\(?\@xref\{(?:[^\}]*)\}(?:[^.<]|(?:<[^<>]*>))*\.\)?//g;
|
||||
s/\s+\(\@pxref\{(?:[^\}]*)\}\)//g;
|
||||
s/;\s+\@pxref\{(?:[^\}]*)\}//g;
|
||||
s/\@noindent\s*//g;
|
||||
s/\@refill//g;
|
||||
s/\@gol//g;
|
||||
s/\@\*\s*\n?//g;
|
||||
|
||||
# @uref can take one, two, or three arguments, with different
|
||||
|
@ -1,3 +1,15 @@
|
||||
2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||
|
||||
* Makefile.in (generated-manpages): Add gcc.1
|
||||
($(srcdir)/gcc.1): New target.
|
||||
(maintainer-clean): Delete $(srcdir)/gcc.1.
|
||||
* gcc.texi: Add macros @gccoptlist and @gol.
|
||||
* invoke.texi: Include option summary in manpage. Mark up option
|
||||
summary with @gccoptlist and @gol. Use @r in one place where
|
||||
appropriate.
|
||||
* texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
|
||||
* gcc.1: Generate from invoke.texi.
|
||||
|
||||
2001-01-13 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
|
||||
|
@ -2215,7 +2215,7 @@ cpp.dvi: $(srcdir)/cpp.texi
|
||||
texindex cpp.??
|
||||
TEXINPUTS=${texidir}:$(srcdir):$$TEXINPUTS tex cpp.texi
|
||||
|
||||
generated-manpages: $(srcdir)/gcov.1 $(srcdir)/cpp.1
|
||||
generated-manpages: $(srcdir)/gcov.1 $(srcdir)/cpp.1 $(srcdir)/gcc.1
|
||||
|
||||
$(srcdir)/gcov.1: $(srcdir)/gcov.texi
|
||||
$(TEXI2POD) < $(srcdir)/gcov.texi > gcov.pod
|
||||
@ -2231,6 +2231,13 @@ $(srcdir)/cpp.1: $(srcdir)/cpp.texi
|
||||
(rm -f $(srcdir)/cpp.1.T$$$$ && exit 1)
|
||||
rm -f cpp.pod
|
||||
|
||||
$(srcdir)/gcc.1: $(srcdir)/invoke.texi
|
||||
$(TEXI2POD) < $(srcdir)/invoke.texi > gcc.pod
|
||||
($(POD2MAN) gcc.pod > $(srcdir)/gcc.1.T$$$$ && \
|
||||
mv -f $(srcdir)/gcc.1.T$$$$ $(srcdir)/gcc.1) || \
|
||||
(rm -f $(srcdir)/gcc.1.T$$$$ && exit 1)
|
||||
rm -f gcc.pod
|
||||
|
||||
#
|
||||
# Deletion of files made during compilation.
|
||||
# There are four levels of this:
|
||||
@ -2359,7 +2366,7 @@ maintainer-clean:
|
||||
-rm -f gcc.??s gcc.*aux
|
||||
-rm -f $(srcdir)/cpp.info* $(srcdir)/gcc.info* $(srcdir)/c-tree.info*
|
||||
-rm -f $(srcdir)/cppinternals.info*
|
||||
-rm -f $(srcdir)/gcov.1 $(srcdir)/cpp.1
|
||||
-rm -f $(srcdir)/gcov.1 $(srcdir)/cpp.1 $(srcdir)/gcc.1
|
||||
#
|
||||
# Entry points `install' and `uninstall'.
|
||||
# Also use `install-collect2' to install collect2 when the config files don't.
|
||||
|
@ -1,3 +1,7 @@
|
||||
2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||
|
||||
* g++.1: Change to be ".so man1/gcc.1".
|
||||
|
||||
2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||
|
||||
* Make-lang.in (c++.info, c++.install-info): Build and install g++
|
||||
|
643
gcc/cp/g++.1
643
gcc/cp/g++.1
@ -1,642 +1 @@
|
||||
.\" Copyright (c) 1991, 1992 Free Software Foundation -*-Text-*-
|
||||
.\" See section COPYING for conditions for redistribution
|
||||
.\" FIXME: no info here on predefines. Should there be? extra for C++...
|
||||
.TH G++ 1 "30apr1993" "GNU Tools" "GNU Tools"
|
||||
.de BP
|
||||
.sp
|
||||
.ti \-.2i
|
||||
\(**
|
||||
..
|
||||
.SH NAME
|
||||
g++ \- GNU project C++ Compiler
|
||||
.SH SYNOPSIS
|
||||
.RB g++ " [" \c
|
||||
.IR option " | " filename " ].\|.\|.
|
||||
.SH DESCRIPTION
|
||||
The C and C++ compilers are integrated;
|
||||
.B g++
|
||||
is a script to call
|
||||
.B gcc with options to recognize C++.
|
||||
.B gcc
|
||||
processes input files
|
||||
through one or more of four stages: preprocessing, compilation,
|
||||
assembly, and linking. This man page contains full descriptions for
|
||||
.I only
|
||||
C++ specific aspects of the compiler, though it also contains
|
||||
summaries of some general-purpose options. For a fuller explanation
|
||||
of the compiler, see
|
||||
.BR gcc ( 1 ).
|
||||
|
||||
C++ source files use one of the suffixes `\|\c
|
||||
.B .C\c
|
||||
\&\|', `\|\c
|
||||
.B .cc\c
|
||||
\&\|', `\|\c
|
||||
.B .cxx\c
|
||||
\&\|', `\|\c
|
||||
.B .cpp\c
|
||||
\&\|', or `\|\c
|
||||
.B .c++\c
|
||||
\&\|'; preprocessed C++ files use the suffix `\|\c
|
||||
.B .ii\c
|
||||
\&\|'.
|
||||
.SH OPTIONS
|
||||
There are many command-line options, including options to control
|
||||
details of optimization, warnings, and code generation, which are
|
||||
common to both
|
||||
.B gcc
|
||||
and
|
||||
.B g++\c
|
||||
\&. For full information on all options, see
|
||||
.BR gcc ( 1 ).
|
||||
|
||||
Options must be separate: `\|\c
|
||||
.B \-dr\c
|
||||
\&\|' is quite different from `\|\c
|
||||
.B \-d \-r
|
||||
\&\|'.
|
||||
|
||||
Most `\|\c
|
||||
.B \-f\c
|
||||
\&\|' and `\|\c
|
||||
.B \-W\c
|
||||
\&\|' options have two contrary forms:
|
||||
.BI \-f name
|
||||
and
|
||||
.BI \-fno\- name\c
|
||||
\& (or
|
||||
.BI \-W name
|
||||
and
|
||||
.BI \-Wno\- name\c
|
||||
\&). Only the non-default forms are shown here.
|
||||
|
||||
.TP
|
||||
.B \-c
|
||||
Compile or assemble the source files, but do not link. The compiler
|
||||
output is an object file corresponding to each source file.
|
||||
.TP
|
||||
.BI \-D macro
|
||||
Define macro \c
|
||||
.I macro\c
|
||||
\& with the string `\|\c
|
||||
.B 1\c
|
||||
\&\|' as its definition.
|
||||
.TP
|
||||
.BI \-D macro = defn
|
||||
Define macro \c
|
||||
.I macro\c
|
||||
\& as \c
|
||||
.I defn\c
|
||||
\&.
|
||||
.TP
|
||||
.B \-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.
|
||||
.TP
|
||||
.B \-fall\-virtual
|
||||
Treat all possible member functions as virtual, implicitly. All
|
||||
member functions (except for constructor functions and
|
||||
.B new
|
||||
or
|
||||
.B delete
|
||||
member operators) are treated as virtual functions of the class where
|
||||
they appear.
|
||||
|
||||
This does not mean that all calls to these member functions will be
|
||||
made through the internal table of virtual functions. Under some
|
||||
circumstances, the compiler can determine that a call to a given
|
||||
virtual function can be made directly; in these cases the calls are
|
||||
direct in any case.
|
||||
.TP
|
||||
.B \-fdollars\-in\-identifiers
|
||||
Permit the use of `\|\c
|
||||
.B $\c
|
||||
\&\|' in identifiers.
|
||||
Traditional C allowed the character `\|\c
|
||||
.B $\c
|
||||
\&\|' to form part of identifiers; by default, GNU C also
|
||||
allows this. However, ANSI C forbids `\|\c
|
||||
.B $\c
|
||||
\&\|' in identifiers, and GNU C++ also forbids it by default on most
|
||||
platforms (though on some platforms it's enabled by default for GNU
|
||||
C++ as well).
|
||||
.TP
|
||||
.B \-felide\-constructors
|
||||
Use this option to instruct the compiler to be smarter about when it can
|
||||
elide constructors. Without this flag, GNU C++ and cfront both
|
||||
generate effectively the same code for:
|
||||
.sp
|
||||
.br
|
||||
A\ foo\ ();
|
||||
.br
|
||||
A\ x\ (foo\ ());\ \ \ //\ x\ initialized\ by\ `foo\ ()',\ no\ ctor\ called
|
||||
.br
|
||||
A\ y\ =\ foo\ ();\ \ \ //\ call\ to\ `foo\ ()'\ heads\ to\ temporary,
|
||||
.br
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ //\ y\ is\ initialized\ from\ the\ temporary.
|
||||
.br
|
||||
.sp
|
||||
Note the difference! With this flag, GNU C++ initializes `\|\c
|
||||
.B y\c
|
||||
\&\|' directly
|
||||
from the call to
|
||||
.B foo ()
|
||||
without going through a temporary.
|
||||
.TP
|
||||
.B \-fenum\-int\-equiv
|
||||
Normally GNU C++ allows conversion of
|
||||
.B enum
|
||||
to
|
||||
.B int\c
|
||||
\&, but not the other way around. Use this option if you want GNU C++
|
||||
to allow conversion of
|
||||
.B int
|
||||
to
|
||||
.B enum
|
||||
as well.
|
||||
.TP
|
||||
.B \-fexternal\-templates
|
||||
Produce smaller code for template declarations, by generating only a
|
||||
single copy of each template function where it is defined.
|
||||
To use this option successfully, you must also mark all files that
|
||||
use templates with either `\|\c
|
||||
.B #pragma implementation\c
|
||||
\&\|' (the definition) or
|
||||
`\|\c
|
||||
.B #pragma interface\c
|
||||
\&\|' (declarations).
|
||||
|
||||
When your code is compiled with `\|\c
|
||||
.B \-fexternal\-templates\c
|
||||
\&\|', all
|
||||
template instantiations are external. You must arrange for all
|
||||
necessary instantiations to appear in the implementation file; you can
|
||||
do this with a \c
|
||||
.B typedef\c
|
||||
\& that references each instantiation needed.
|
||||
Conversely, when you compile using the default option
|
||||
`\|\c
|
||||
.B \-fno\-external\-templates\c
|
||||
\&\|', all template instantiations are
|
||||
explicitly internal.
|
||||
.TP
|
||||
.B \-fno\-gnu\-linker
|
||||
Do not output global initializations (such as C++ constructors and
|
||||
destructors) in the form used by the GNU linker (on systems where the GNU
|
||||
linker is the standard method of handling them). Use this option when
|
||||
you want to use a non-GNU linker, which also requires using the
|
||||
.B collect2
|
||||
program to make sure the system linker includes
|
||||
constructors and destructors. (\c
|
||||
.B collect2
|
||||
is included in the GNU CC distribution.) For systems which
|
||||
.I must
|
||||
use
|
||||
.B collect2\c
|
||||
\&, the compiler driver
|
||||
.B gcc
|
||||
is configured to do this automatically.
|
||||
.TP
|
||||
.B \-fmemoize\-lookups
|
||||
.TP
|
||||
.B \-fsave\-memoized
|
||||
These flags are used to get the compiler to compile programs faster
|
||||
using heuristics. They are not on by default since they are only effective
|
||||
about half the time. The other half of the time programs compile more
|
||||
slowly (and take more memory).
|
||||
|
||||
The first time the compiler must build a call to a member function (or
|
||||
reference to a data member), it must (1) determine whether the class
|
||||
implements member functions of that name; (2) resolve which member
|
||||
function to call (which involves figuring out what sorts of type
|
||||
conversions need to be made); and (3) check the visibility of the member
|
||||
function to the caller. All of this adds up to slower compilation.
|
||||
Normally, the second time a call is made to that member function (or
|
||||
reference to that data member), it must go through the same lengthy
|
||||
process again. This means that code like this
|
||||
.sp
|
||||
.br
|
||||
\ \ cout\ <<\ "This\ "\ <<\ p\ <<\ "\ has\ "\ <<\ n\ <<\ "\ legs.\en";
|
||||
.br
|
||||
.sp
|
||||
makes six passes through all three steps. By using a software cache,
|
||||
a ``hit'' significantly reduces this cost. Unfortunately, using the
|
||||
cache introduces another layer of mechanisms which must be implemented,
|
||||
and so incurs its own overhead. `\|\c
|
||||
.B \-fmemoize\-lookups\c
|
||||
\&\|' enables
|
||||
the software cache.
|
||||
|
||||
Because access privileges (visibility) to members and member functions
|
||||
may differ from one function context to the next,
|
||||
.B g++
|
||||
may need to flush the cache. With the `\|\c
|
||||
.B \-fmemoize\-lookups\c
|
||||
\&\|' flag, the cache is flushed after every
|
||||
function that is compiled. The `\|\c
|
||||
\-fsave\-memoized\c
|
||||
\&\|' flag enables the same software cache, but when the compiler
|
||||
determines that the context of the last function compiled would yield
|
||||
the same access privileges of the next function to compile, it
|
||||
preserves the cache.
|
||||
This is most helpful when defining many member functions for the same
|
||||
class: with the exception of member functions which are friends of
|
||||
other classes, each member function has exactly the same access
|
||||
privileges as every other, and the cache need not be flushed.
|
||||
.TP
|
||||
.B \-fno\-default\-inline
|
||||
Do not make member functions inline by default merely because they are
|
||||
defined inside the class scope. Otherwise, when you specify
|
||||
.B \-O\c
|
||||
\&, member functions defined inside class scope are compiled
|
||||
inline by default; i.e., you don't need to add `\|\c
|
||||
.B inline\c
|
||||
\&\|' in front of
|
||||
the member function name.
|
||||
.TP
|
||||
.B \-fno\-strict\-prototype
|
||||
Consider the declaration \c
|
||||
.B int foo ();\c
|
||||
\&. In C++, this means that the
|
||||
function \c
|
||||
.B foo\c
|
||||
\& takes no arguments. In ANSI C, this is declared
|
||||
.B int foo(void);\c
|
||||
\&. With the flag `\|\c
|
||||
.B \-fno\-strict\-prototype\c
|
||||
\&\|',
|
||||
declaring functions with no arguments is equivalent to declaring its
|
||||
argument list to be untyped, i.e., \c
|
||||
.B int foo ();\c
|
||||
\& is equivalent to
|
||||
saying \c
|
||||
.B int foo (...);\c
|
||||
\&.
|
||||
.TP
|
||||
.B \-fnonnull\-objects
|
||||
Normally, GNU C++ makes conservative assumptions about objects reached
|
||||
through references. For example, the compiler must check that `\|\c
|
||||
.B a\c
|
||||
\&\|' is not null in code like the following:
|
||||
.br
|
||||
\ \ \ \ obj\ &a\ =\ g\ ();
|
||||
.br
|
||||
\ \ \ \ a.f\ (2);
|
||||
.br
|
||||
Checking that references of this sort have non-null values requires
|
||||
extra code, however, and it is unnecessary for many programs. You can
|
||||
use `\|\c
|
||||
.B \-fnonnull\-objects\c
|
||||
\&\|' to omit the checks for null, if your program doesn't require the
|
||||
default checking.
|
||||
.TP
|
||||
.B \-fhandle\-signatures
|
||||
.TP
|
||||
.B \-fno\-handle\-signatures
|
||||
These options control the recognition of the \c
|
||||
.B signature\c
|
||||
\& and \c
|
||||
.B sigof\c
|
||||
\& constructs for specifying abstract types. By default, these
|
||||
constructs are not recognized.
|
||||
.TP
|
||||
.B \-fthis\-is\-variable
|
||||
The incorporation of user-defined free store management into C++ has
|
||||
made assignment to \c
|
||||
.B this\c
|
||||
\& an anachronism. Therefore, by default GNU
|
||||
C++ treats the type of \c
|
||||
.B this\c
|
||||
\& in a member function of \c
|
||||
.B class X\c
|
||||
\&
|
||||
to be \c
|
||||
.B X *const\c
|
||||
\&. In other words, it is illegal to assign to
|
||||
\c
|
||||
.B this\c
|
||||
\& within a class member function. However, for backwards
|
||||
compatibility, you can invoke the old behavior by using
|
||||
\&`\|\c
|
||||
.B \-fthis\-is\-variable\c
|
||||
\&\|'.
|
||||
.TP
|
||||
.B \-g
|
||||
Produce debugging information in the operating system's native format
|
||||
(for DBX or SDB or DWARF). GDB also can work with this debugging
|
||||
information. On most systems that use DBX format, `\|\c
|
||||
.B \-g\c
|
||||
\&\|' enables use
|
||||
of extra debugging information that only GDB can use.
|
||||
|
||||
Unlike most other C compilers, GNU CC allows you to use `\|\c
|
||||
.B \-g\c
|
||||
\&\|' with
|
||||
`\|\c
|
||||
.B \-O\c
|
||||
\&\|'. The shortcuts taken by optimized code may occasionally
|
||||
produce surprising results: some variables you declared may not exist
|
||||
at all; flow of control may briefly move where you did not expect it;
|
||||
some statements may not be executed because they compute constant
|
||||
results or their values were already at hand; some statements may
|
||||
execute in different places because they were moved out of loops.
|
||||
|
||||
Nevertheless it proves possible to debug optimized output. This makes
|
||||
it reasonable to use the optimizer for programs that might have bugs.
|
||||
.TP
|
||||
.BI "\-I" "dir"\c
|
||||
\&
|
||||
Append directory \c
|
||||
.I dir\c
|
||||
\& to the list of directories searched for include files.
|
||||
.TP
|
||||
.BI "\-L" "dir"\c
|
||||
\&
|
||||
Add directory \c
|
||||
.I dir\c
|
||||
\& to the list of directories to be searched
|
||||
for `\|\c
|
||||
.B \-l\c
|
||||
\&\|'.
|
||||
.TP
|
||||
.BI \-l library\c
|
||||
\&
|
||||
Use the library named \c
|
||||
.I library\c
|
||||
\& when linking. (C++ programs often require `\|\c
|
||||
\-lg++\c
|
||||
\&\|' for successful linking.)
|
||||
.TP
|
||||
.B \-nostdinc
|
||||
Do not search the standard system directories for header files. Only
|
||||
the directories you have specified with
|
||||
.B \-I
|
||||
options (and the current directory, if appropriate) are searched.
|
||||
.TP
|
||||
.B \-nostdinc++
|
||||
Do not search for header files in the standard directories specific to
|
||||
C++, but do still search the other standard directories. (This option
|
||||
is used when building libg++.)
|
||||
.TP
|
||||
.B \-O
|
||||
Optimize. Optimizing compilation takes somewhat more time, and a lot
|
||||
more memory for a large function.
|
||||
.TP
|
||||
.BI "\-o " file\c
|
||||
\&
|
||||
Place output in file \c
|
||||
.I file\c
|
||||
\&.
|
||||
.TP
|
||||
.B \-S
|
||||
Stop after the stage of compilation proper; do not assemble. The output
|
||||
is an assembler code file for each non-assembler input
|
||||
file specified.
|
||||
.TP
|
||||
.B \-traditional
|
||||
Attempt to support some aspects of traditional C compilers.
|
||||
|
||||
Specifically, for both C and C++ programs:
|
||||
.TP
|
||||
\ \ \ \(bu
|
||||
In the preprocessor, comments convert to nothing at all, rather than
|
||||
to a space. This allows traditional token concatenation.
|
||||
.TP
|
||||
\ \ \ \(bu
|
||||
In the preprocessor, macro arguments are recognized within string
|
||||
constants in a macro definition (and their values are stringified,
|
||||
though without additional quote marks, when they appear in such a
|
||||
context). The preprocessor always considers a string constant to end
|
||||
at a newline.
|
||||
.TP
|
||||
\ \ \ \(bu
|
||||
The preprocessor does not predefine the macro \c
|
||||
.B __STDC__\c
|
||||
\& when you use
|
||||
`\|\c
|
||||
.B \-traditional\c
|
||||
\&\|', but still predefines\c
|
||||
.B __GNUC__\c
|
||||
\& (since the GNU extensions indicated by
|
||||
.B __GNUC__\c
|
||||
\& are not affected by
|
||||
`\|\c
|
||||
.B \-traditional\c
|
||||
\&\|'). If you need to write header files that work
|
||||
differently depending on whether `\|\c
|
||||
.B \-traditional\c
|
||||
\&\|' is in use, by
|
||||
testing both of these predefined macros you can distinguish four
|
||||
situations: GNU C, traditional GNU C, other ANSI C compilers, and
|
||||
other old C compilers.
|
||||
.PP
|
||||
.TP
|
||||
\ \ \ \(bu
|
||||
String ``constants'' are not necessarily constant; they are stored in
|
||||
writable space, and identical looking constants are allocated
|
||||
separately.
|
||||
|
||||
For C++ programs only (not C), `\|\c
|
||||
.B \-traditional\c
|
||||
\&\|' has one additional effect: assignment to
|
||||
.B this
|
||||
is permitted. This is the same as the effect of `\|\c
|
||||
.B \-fthis\-is\-variable\c
|
||||
\&\|'.
|
||||
.TP
|
||||
.BI \-U macro
|
||||
Undefine macro \c
|
||||
.I macro\c
|
||||
\&.
|
||||
.TP
|
||||
.B \-Wall
|
||||
Issue warnings for conditions which pertain to usage that we recommend
|
||||
avoiding and that we believe is easy to avoid, even in conjunction
|
||||
with macros.
|
||||
.TP
|
||||
.B \-Wenum\-clash
|
||||
Warn when converting between different enumeration types.
|
||||
.TP
|
||||
.B \-Woverloaded\-virtual
|
||||
In a derived class, the definitions of virtual functions must match
|
||||
the type signature of a virtual function declared in the base class.
|
||||
Use this option to request warnings when a derived class declares a
|
||||
function that may be an erroneous attempt to define a virtual
|
||||
function: that is, warn when a function with the same name as a
|
||||
virtual function in the base class, but with a type signature that
|
||||
doesn't match any virtual functions from the base class.
|
||||
.TP
|
||||
.B \-Wtemplate\-debugging
|
||||
When using templates in a C++ program, warn if debugging is not yet
|
||||
fully available.
|
||||
.TP
|
||||
.B \-w
|
||||
Inhibit all warning messages.
|
||||
.TP
|
||||
.BI +e N
|
||||
Control how virtual function definitions are used, in a fashion
|
||||
compatible with
|
||||
.B cfront
|
||||
1.x.
|
||||
.PP
|
||||
|
||||
.SH PRAGMAS
|
||||
Two `\|\c
|
||||
.B #pragma\c
|
||||
\&\|' directives are supported for GNU C++, to permit using the same
|
||||
header file for two purposes: as a definition of interfaces to a given
|
||||
object class, and as the full definition of the contents of that object class.
|
||||
.TP
|
||||
.B #pragma interface
|
||||
Use this directive in header files that define object classes, to save
|
||||
space in most of the object files that use those classes. Normally,
|
||||
local copies of certain information (backup copies of inline member
|
||||
functions, debugging information, and the internal tables that
|
||||
implement virtual functions) must be kept in each object file that
|
||||
includes class definitions. You can use this pragma to avoid such
|
||||
duplication. When a header file containing `\|\c
|
||||
.B #pragma interface\c
|
||||
\&\|' is included in a compilation, this auxiliary information
|
||||
will not be generated (unless the main input source file itself uses
|
||||
`\|\c
|
||||
.B #pragma implementation\c
|
||||
\&\|'). Instead, the object files will contain references to be
|
||||
resolved at link time.
|
||||
.tr !"
|
||||
.TP
|
||||
.B #pragma implementation
|
||||
.TP
|
||||
.BI "#pragma implementation !" objects .h!
|
||||
Use this pragma in a main input file, when you want full output from
|
||||
included header files to be generated (and made globally visible).
|
||||
The included header file, in turn, should use `\|\c
|
||||
.B #pragma interface\c
|
||||
\&\|'.
|
||||
Backup copies of inline member functions, debugging information, and
|
||||
the internal tables used to implement virtual functions are all
|
||||
generated in implementation files.
|
||||
|
||||
If you use `\|\c
|
||||
.B #pragma implementation\c
|
||||
\&\|' with no argument, it applies to an include file with the same
|
||||
basename as your source file; for example, in `\|\c
|
||||
.B allclass.cc\c
|
||||
\&\|', `\|\c
|
||||
.B #pragma implementation\c
|
||||
\&\|' by itself is equivalent to `\|\c
|
||||
.B
|
||||
#pragma implementation "allclass.h"\c
|
||||
\&\|'. Use the string argument if you want a single implementation
|
||||
file to include code from multiple header files.
|
||||
|
||||
There is no way to split up the contents of a single header file into
|
||||
multiple implementation files.
|
||||
.SH FILES
|
||||
.ta \w'LIBDIR/g++\-include 'u
|
||||
file.h C header (preprocessor) file
|
||||
.br
|
||||
file.i preprocessed C source file
|
||||
.br
|
||||
file.C C++ source file
|
||||
.br
|
||||
file.cc C++ source file
|
||||
.br
|
||||
file.cxx C++ source file
|
||||
.br
|
||||
file.s assembly language file
|
||||
.br
|
||||
file.o object file
|
||||
.br
|
||||
a.out link edited output
|
||||
.br
|
||||
\fITMPDIR\fR/cc\(** temporary files
|
||||
.br
|
||||
\fILIBDIR\fR/cpp preprocessor
|
||||
.br
|
||||
\fILIBDIR\fR/cc1plus compiler
|
||||
.br
|
||||
\fILIBDIR\fR/collect linker front end needed on some machines
|
||||
.br
|
||||
\fILIBDIR\fR/libgcc.a GCC subroutine library
|
||||
.br
|
||||
/lib/crt[01n].o start-up routine
|
||||
.br
|
||||
\fILIBDIR\fR/ccrt0 additional start-up routine for C++
|
||||
.br
|
||||
/lib/libc.a standard C library, see
|
||||
.IR intro (3)
|
||||
.br
|
||||
/usr/include standard directory for
|
||||
.B #include
|
||||
files
|
||||
.br
|
||||
\fILIBDIR\fR/include standard gcc directory for
|
||||
.B #include
|
||||
files
|
||||
.br
|
||||
\fILIBDIR\fR/g++\-include additional g++ directory for
|
||||
.B #include
|
||||
.sp
|
||||
.I LIBDIR
|
||||
is usually
|
||||
.B /usr/local/lib/\c
|
||||
.IR machine / version .
|
||||
.br
|
||||
.I TMPDIR
|
||||
comes from the environment variable
|
||||
.B TMPDIR
|
||||
(default
|
||||
.B /usr/tmp
|
||||
if available, else
|
||||
.B /tmp\c
|
||||
\&).
|
||||
.SH "SEE ALSO"
|
||||
gcc(1), cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1).
|
||||
.br
|
||||
.RB "`\|" gcc "\|', `\|" cpp \|',
|
||||
.RB `\| as \|', `\| ld \|',
|
||||
and
|
||||
.RB `\| gdb \|'
|
||||
entries in
|
||||
.B info\c
|
||||
\&.
|
||||
.br
|
||||
.I
|
||||
Using and Porting GNU CC (for version 2.0)\c
|
||||
, Richard M. Stallman;
|
||||
.I
|
||||
The C Preprocessor\c
|
||||
, Richard M. Stallman;
|
||||
.I
|
||||
Debugging with GDB: the GNU Source-Level Debugger\c
|
||||
, Richard M. Stallman and Roland H. Pesch;
|
||||
.I
|
||||
Using as: the GNU Assembler\c
|
||||
, Dean Elsner, Jay Fenlason & friends;
|
||||
.I
|
||||
gld: the GNU linker\c
|
||||
, Steve Chamberlain and Roland Pesch.
|
||||
|
||||
.SH BUGS
|
||||
For instructions on how to report bugs, see the GCC manual.
|
||||
|
||||
.SH COPYING
|
||||
Copyright (c) 1991, 1992, 1993 Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
are preserved on all copies.
|
||||
.PP
|
||||
Permission is granted to copy and distribute modified versions of this
|
||||
manual under the conditions for verbatim copying, provided that the
|
||||
entire resulting derived work is distributed under the terms of a
|
||||
permission notice identical to this one.
|
||||
.PP
|
||||
Permission is granted to copy and distribute translations of this
|
||||
manual into another language, under the above conditions for modified
|
||||
versions, except that this permission notice may be included in
|
||||
translations approved by the Free Software Foundation instead of in
|
||||
the original English.
|
||||
.SH AUTHORS
|
||||
See the GNU CC Manual for the contributors to GNU CC.
|
||||
.so man1/gcc.1
|
||||
|
17
gcc/gcc.texi
17
gcc/gcc.texi
@ -46,6 +46,21 @@
|
||||
@macro gcctabopt{body}
|
||||
@code{\body\}
|
||||
@end macro
|
||||
@macro gccoptlist{body}
|
||||
@smallexample
|
||||
\body\
|
||||
@end smallexample
|
||||
@end macro
|
||||
@c Makeinfo handles the above macro OK, TeX needs manual line breaks;
|
||||
@c they get lost at some point in handling the macro. But if @macro is
|
||||
@c used here rather than @alias, it produces double line breaks.
|
||||
@iftex
|
||||
@alias gol = *
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@macro gol
|
||||
@end macro
|
||||
@end ifnottex
|
||||
|
||||
@ifset INTERNALS
|
||||
@ifset USING
|
||||
@ -151,7 +166,7 @@ instead of in the original English.
|
||||
@sp 2
|
||||
@center Richard M. Stallman
|
||||
@sp 3
|
||||
@center Last updated 12 January 2001
|
||||
@center Last updated 13 January 2001
|
||||
@sp 1
|
||||
@c The version number appears five times more in this file.
|
||||
|
||||
|
647
gcc/invoke.texi
647
gcc/invoke.texi
@ -135,6 +135,8 @@ only one of these two forms, whichever one is not the default.
|
||||
* Running Protoize:: Automatically adding or removing function prototypes.
|
||||
@end menu
|
||||
|
||||
@c man begin OPTIONS
|
||||
|
||||
@node Option Summary
|
||||
@section Option Summary
|
||||
|
||||
@ -144,422 +146,435 @@ in the following sections.
|
||||
@table @emph
|
||||
@item Overall Options
|
||||
@xref{Overall Options,,Options Controlling the Kind of Output}.
|
||||
@smallexample
|
||||
-c -S -E -o @var{file} -pipe -pass-exit-codes -x @var{language}
|
||||
-v --target-help --help
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-c -S -E -o @var{file} -pipe -pass-exit-codes -x @var{language} @gol
|
||||
-v --target-help --help}
|
||||
|
||||
@item C Language Options
|
||||
@xref{C Dialect Options,,Options Controlling C Dialect}.
|
||||
@smallexample
|
||||
-ansi -std=@var{standard} -fno-asm -fno-builtin
|
||||
-fhosted -ffreestanding
|
||||
-trigraphs -traditional -traditional-cpp
|
||||
-fallow-single-precision -fcond-mismatch
|
||||
-fsigned-bitfields -fsigned-char
|
||||
-funsigned-bitfields -funsigned-char
|
||||
-fwritable-strings -fshort-wchar
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-ansi -std=@var{standard} -fno-asm -fno-builtin @gol
|
||||
-fhosted -ffreestanding @gol
|
||||
-trigraphs -traditional -traditional-cpp @gol
|
||||
-fallow-single-precision -fcond-mismatch @gol
|
||||
-fsigned-bitfields -fsigned-char @gol
|
||||
-funsigned-bitfields -funsigned-char @gol
|
||||
-fwritable-strings -fshort-wchar}
|
||||
|
||||
@item C++ Language Options
|
||||
@xref{C++ Dialect Options,,Options Controlling C++ Dialect}.
|
||||
@smallexample
|
||||
-fno-access-control -fcheck-new -fconserve-space
|
||||
-fdollars-in-identifiers -fno-elide-constructors
|
||||
-fno-enforce-eh-specs -fexternal-templates
|
||||
-falt-external-templates
|
||||
-ffor-scope -fno-for-scope -fno-gnu-keywords -fhonor-std
|
||||
-fhuge-objects -fno-implicit-templates
|
||||
-fno-implicit-inline-templates
|
||||
-fno-implement-inlines -fms-extensions
|
||||
-fname-mangling-version-@var{n} -fno-operator-names
|
||||
-fno-optional-diags -fpermissive
|
||||
-frepo -fno-rtti -fsquangle -ftemplate-depth-@var{n}
|
||||
-fuse-cxa-atexit -fvtable-thunks -nostdinc++
|
||||
-fno-default-inline -Wctor-dtor-privacy
|
||||
-Wnon-virtual-dtor -Wreorder
|
||||
-Weffc++ -Wno-deprecated
|
||||
-Wno-non-template-friend -Wold-style-cast
|
||||
-Woverloaded-virtual -Wno-pmf-conversions
|
||||
-Wsign-promo -Wsynth
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-fno-access-control -fcheck-new -fconserve-space @gol
|
||||
-fdollars-in-identifiers -fno-elide-constructors @gol
|
||||
-fno-enforce-eh-specs -fexternal-templates @gol
|
||||
-falt-external-templates @gol
|
||||
-ffor-scope -fno-for-scope -fno-gnu-keywords -fhonor-std @gol
|
||||
-fhuge-objects -fno-implicit-templates @gol
|
||||
-fno-implicit-inline-templates @gol
|
||||
-fno-implement-inlines -fms-extensions @gol
|
||||
-fname-mangling-version-@var{n} -fno-operator-names @gol
|
||||
-fno-optional-diags -fpermissive @gol
|
||||
-frepo -fno-rtti -fsquangle -ftemplate-depth-@var{n} @gol
|
||||
-fuse-cxa-atexit -fvtable-thunks -nostdinc++ @gol
|
||||
-fno-default-inline -Wctor-dtor-privacy @gol
|
||||
-Wnon-virtual-dtor -Wreorder @gol
|
||||
-Weffc++ -Wno-deprecated @gol
|
||||
-Wno-non-template-friend -Wold-style-cast @gol
|
||||
-Woverloaded-virtual -Wno-pmf-conversions @gol
|
||||
-Wsign-promo -Wsynth}
|
||||
|
||||
@item Language Independent Options
|
||||
@xref{Language Independent Options,,Options to Control Diagnostic Messages Formatting}.
|
||||
@smallexample
|
||||
-fmessage-length=@var{n}
|
||||
-fdiagnostics-show-location=@r{[}once@r{|}every-line@r{]}
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-fmessage-length=@var{n} @gol
|
||||
-fdiagnostics-show-location=@r{[}once@r{|}every-line@r{]}}
|
||||
|
||||
@item Warning Options
|
||||
@xref{Warning Options,,Options to Request or Suppress Warnings}.
|
||||
@smallexample
|
||||
-fsyntax-only -pedantic -pedantic-errors
|
||||
-w -W -Wall -Waggregate-return
|
||||
-Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment
|
||||
-Wconversion -Wdisabled-optimization -Werror
|
||||
-Wfloat-equal -Wformat -Wformat=2
|
||||
-Wformat-nonliteral -Wformat-security
|
||||
-Wid-clash-@var{len} -Wimplicit -Wimplicit-int
|
||||
-Wimplicit-function-declaration
|
||||
-Werror-implicit-function-declaration
|
||||
-Wimport -Winline
|
||||
-Wlarger-than-@var{len} -Wlong-long
|
||||
-Wmain -Wmissing-declarations
|
||||
-Wmissing-format-attribute -Wmissing-noreturn
|
||||
-Wmultichar -Wno-format-extra-args -Wno-format-y2k
|
||||
-Wno-import -Wpacked -Wpadded
|
||||
-Wparentheses -Wpointer-arith -Wredundant-decls
|
||||
-Wreturn-type -Wsequence-point -Wshadow
|
||||
-Wsign-compare -Wswitch -Wsystem-headers
|
||||
-Wtrigraphs -Wundef -Wuninitialized
|
||||
-Wunknown-pragmas -Wunreachable-code
|
||||
-Wunused -Wunused-function -Wunused-label -Wunused-parameter
|
||||
-Wunused-value -Wunused-variable -Wwrite-strings
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-fsyntax-only -pedantic -pedantic-errors @gol
|
||||
-w -W -Wall -Waggregate-return @gol
|
||||
-Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment @gol
|
||||
-Wconversion -Wdisabled-optimization -Werror @gol
|
||||
-Wfloat-equal -Wformat -Wformat=2 @gol
|
||||
-Wformat-nonliteral -Wformat-security @gol
|
||||
-Wid-clash-@var{len} -Wimplicit -Wimplicit-int @gol
|
||||
-Wimplicit-function-declaration @gol
|
||||
-Werror-implicit-function-declaration @gol
|
||||
-Wimport -Winline @gol
|
||||
-Wlarger-than-@var{len} -Wlong-long @gol
|
||||
-Wmain -Wmissing-declarations @gol
|
||||
-Wmissing-format-attribute -Wmissing-noreturn @gol
|
||||
-Wmultichar -Wno-format-extra-args -Wno-format-y2k @gol
|
||||
-Wno-import -Wpacked -Wpadded @gol
|
||||
-Wparentheses -Wpointer-arith -Wredundant-decls @gol
|
||||
-Wreturn-type -Wsequence-point -Wshadow @gol
|
||||
-Wsign-compare -Wswitch -Wsystem-headers @gol
|
||||
-Wtrigraphs -Wundef -Wuninitialized @gol
|
||||
-Wunknown-pragmas -Wunreachable-code @gol
|
||||
-Wunused -Wunused-function -Wunused-label -Wunused-parameter @gol
|
||||
-Wunused-value -Wunused-variable -Wwrite-strings}
|
||||
|
||||
@item C-only Warning Options
|
||||
@smallexample
|
||||
-Wbad-function-cast -Wmissing-prototypes -Wnested-externs
|
||||
-Wstrict-prototypes -Wtraditional
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-Wbad-function-cast -Wmissing-prototypes -Wnested-externs @gol
|
||||
-Wstrict-prototypes -Wtraditional}
|
||||
|
||||
@item Debugging Options
|
||||
@xref{Debugging Options,,Options for Debugging Your Program or GCC}.
|
||||
@smallexample
|
||||
-a -ax -d@var{letters} -fdump-unnumbered -fdump-translation-unit-@var{file}
|
||||
-fpretend-float -fprofile-arcs -ftest-coverage
|
||||
-g -g@var{level} -gcoff -gdwarf -gdwarf-1 -gdwarf-1+ -gdwarf-2
|
||||
-ggdb -gstabs -gstabs+ -gxcoff -gxcoff+
|
||||
-p -pg -print-file-name=@var{library} -print-libgcc-file-name
|
||||
-print-prog-name=@var{program} -print-search-dirs -Q
|
||||
-save-temps -time
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-a -ax -d@var{letters} -fdump-unnumbered -fdump-translation-unit-@var{file} @gol
|
||||
-fpretend-float -fprofile-arcs -ftest-coverage @gol
|
||||
-g -g@var{level} -gcoff -gdwarf -gdwarf-1 -gdwarf-1+ -gdwarf-2 @gol
|
||||
-ggdb -gstabs -gstabs+ -gxcoff -gxcoff+ @gol
|
||||
-p -pg -print-file-name=@var{library} -print-libgcc-file-name @gol
|
||||
-print-prog-name=@var{program} -print-search-dirs -Q @gol
|
||||
-save-temps -time}
|
||||
|
||||
@item Optimization Options
|
||||
@xref{Optimize Options,,Options that Control Optimization}.
|
||||
@smallexample
|
||||
-falign-functions=@var{n} -falign-jumps=@var{n}
|
||||
-falign-labels=@var{n} -falign-loops=@var{n}
|
||||
-fbranch-probabilities -fcaller-saves
|
||||
-fcse-follow-jumps -fcse-skip-blocks -fdata-sections -fdce
|
||||
-fdelayed-branch -fdelete-null-pointer-checks
|
||||
-fexpensive-optimizations -ffast-math -ffloat-store
|
||||
-fforce-addr -fforce-mem -ffunction-sections -fgcse
|
||||
-finline-functions -finline-limit=@var{n} -fkeep-inline-functions
|
||||
-fkeep-static-consts -fmove-all-movables
|
||||
-fno-default-inline -fno-defer-pop
|
||||
-fno-function-cse -fno-inline -fno-math-errno -fno-peephole
|
||||
-fomit-frame-pointer -foptimize-register-move
|
||||
-foptimize-sibling-calls -freduce-all-givs
|
||||
-fregmove -frename-registers
|
||||
-frerun-cse-after-loop -frerun-loop-opt
|
||||
-fschedule-insns -fschedule-insns2
|
||||
-fsingle-precision-constant -fssa
|
||||
-fstrength-reduce -fstrict-aliasing -fthread-jumps -ftrapv
|
||||
-funroll-all-loops -funroll-loops
|
||||
-O -O0 -O1 -O2 -O3 -Os
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-falign-functions=@var{n} -falign-jumps=@var{n} @gol
|
||||
-falign-labels=@var{n} -falign-loops=@var{n} @gol
|
||||
-fbranch-probabilities -fcaller-saves @gol
|
||||
-fcse-follow-jumps -fcse-skip-blocks -fdata-sections -fdce @gol
|
||||
-fdelayed-branch -fdelete-null-pointer-checks @gol
|
||||
-fexpensive-optimizations -ffast-math -ffloat-store @gol
|
||||
-fforce-addr -fforce-mem -ffunction-sections -fgcse @gol
|
||||
-finline-functions -finline-limit=@var{n} -fkeep-inline-functions @gol
|
||||
-fkeep-static-consts -fmove-all-movables @gol
|
||||
-fno-default-inline -fno-defer-pop @gol
|
||||
-fno-function-cse -fno-inline -fno-math-errno -fno-peephole @gol
|
||||
-fomit-frame-pointer -foptimize-register-move @gol
|
||||
-foptimize-sibling-calls -freduce-all-givs @gol
|
||||
-fregmove -frename-registers @gol
|
||||
-frerun-cse-after-loop -frerun-loop-opt @gol
|
||||
-fschedule-insns -fschedule-insns2 @gol
|
||||
-fsingle-precision-constant -fssa @gol
|
||||
-fstrength-reduce -fstrict-aliasing -fthread-jumps -ftrapv @gol
|
||||
-funroll-all-loops -funroll-loops @gol
|
||||
-O -O0 -O1 -O2 -O3 -Os}
|
||||
|
||||
@item Preprocessor Options
|
||||
@xref{Preprocessor Options,,Options Controlling the Preprocessor}.
|
||||
@smallexample
|
||||
-$ -A@var{question}=@var{answer} -A-@var{question}[=@var{answer}]
|
||||
-C -dD -dI -dM -dN
|
||||
-D@var{macro}@r{[}=@var{defn}@r{]} -E -H
|
||||
-idirafter @var{dir}
|
||||
-include @var{file} -imacros @var{file}
|
||||
-iprefix @var{file} -iwithprefix @var{dir}
|
||||
-iwithprefixbefore @var{dir} -isystem @var{dir} -isystem-c++ @var{dir}
|
||||
-M -MM -MF -MG -MP -MQ -MT -nostdinc -P -remap
|
||||
-trigraphs -undef -U@var{macro} -Wp,@var{option}
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-$ -A@var{question}=@var{answer} -A-@var{question}@r{[}=@var{answer}@r{]} @gol
|
||||
-C -dD -dI -dM -dN @gol
|
||||
-D@var{macro}@r{[}=@var{defn}@r{]} -E -H @gol
|
||||
-idirafter @var{dir} @gol
|
||||
-include @var{file} -imacros @var{file} @gol
|
||||
-iprefix @var{file} -iwithprefix @var{dir} @gol
|
||||
-iwithprefixbefore @var{dir} -isystem @var{dir} -isystem-c++ @var{dir} @gol
|
||||
-M -MM -MF -MG -MP -MQ -MT -nostdinc -P -remap @gol
|
||||
-trigraphs -undef -U@var{macro} -Wp,@var{option}}
|
||||
|
||||
@item Assembler Option
|
||||
@xref{Assembler Options,,Passing Options to the Assembler}.
|
||||
@smallexample
|
||||
-Wa,@var{option}
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-Wa,@var{option}}
|
||||
|
||||
@item Linker Options
|
||||
@xref{Link Options,,Options for Linking}.
|
||||
@smallexample
|
||||
@var{object-file-name} -l@var{library}
|
||||
-nostartfiles -nodefaultlibs -nostdlib
|
||||
-s -static -static-libgcc -shared -shared-libgcc -symbolic
|
||||
-Wl,@var{option} -Xlinker @var{option}
|
||||
-u @var{symbol}
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
@var{object-file-name} -l@var{library} @gol
|
||||
-nostartfiles -nodefaultlibs -nostdlib @gol
|
||||
-s -static -static-libgcc -shared -shared-libgcc -symbolic @gol
|
||||
-Wl,@var{option} -Xlinker @var{option} @gol
|
||||
-u @var{symbol}}
|
||||
|
||||
@item Directory Options
|
||||
@xref{Directory Options,,Options for Directory Search}.
|
||||
@smallexample
|
||||
-B@var{prefix} -I@var{dir} -I- -L@var{dir} -specs=@var{file}
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-B@var{prefix} -I@var{dir} -I- -L@var{dir} -specs=@var{file}}
|
||||
|
||||
@item Target Options
|
||||
@c I wrote this xref this way to avoid overfull hbox. -- rms
|
||||
@xref{Target Options}.
|
||||
@smallexample
|
||||
-b @var{machine} -V @var{version}
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-b @var{machine} -V @var{version}}
|
||||
|
||||
@item Machine Dependent Options
|
||||
@xref{Submodel Options,,Hardware Models and Configurations}.
|
||||
@smallexample
|
||||
@emph{M680x0 Options}
|
||||
-m68000 -m68020 -m68020-40 -m68020-60 -m68030 -m68040
|
||||
-m68060 -mcpu32 -m5200 -m68881 -mbitfield -mc68000 -mc68020
|
||||
-mfpa -mnobitfield -mrtd -mshort -msoft-float -mpcrel
|
||||
-malign-int -mstrict-align
|
||||
@gccoptlist{
|
||||
-m68000 -m68020 -m68020-40 -m68020-60 -m68030 -m68040 @gol
|
||||
-m68060 -mcpu32 -m5200 -m68881 -mbitfield -mc68000 -mc68020 @gol
|
||||
-mfpa -mnobitfield -mrtd -mshort -msoft-float -mpcrel @gol
|
||||
-malign-int -mstrict-align}
|
||||
|
||||
@emph{M68hc1x Options}
|
||||
-m6811 -m6812 -m68hc11 -m68hc12
|
||||
-mauto-incdec -mshort -msoft-reg-count=@var{count}
|
||||
@gccoptlist{
|
||||
-m6811 -m6812 -m68hc11 -m68hc12 @gol
|
||||
-mauto-incdec -mshort -msoft-reg-count=@var{count}}
|
||||
|
||||
@emph{VAX Options}
|
||||
-mg -mgnu -munix
|
||||
@gccoptlist{
|
||||
-mg -mgnu -munix}
|
||||
|
||||
@emph{SPARC Options}
|
||||
-mcpu=@var{cpu type}
|
||||
-mtune=@var{cpu type}
|
||||
-mcmodel=@var{code model}
|
||||
-m32 -m64
|
||||
-mapp-regs -mbroken-saverestore -mcypress
|
||||
-mepilogue -mfaster-structs -mflat
|
||||
-mfpu -mhard-float -mhard-quad-float
|
||||
-mimpure-text -mlive-g0 -mno-app-regs
|
||||
-mno-epilogue -mno-faster-structs -mno-flat -mno-fpu
|
||||
-mno-impure-text -mno-stack-bias -mno-unaligned-doubles
|
||||
-msoft-float -msoft-quad-float -msparclite -mstack-bias
|
||||
-msupersparc -munaligned-doubles -mv8
|
||||
@gccoptlist{
|
||||
-mcpu=@var{cpu type} @gol
|
||||
-mtune=@var{cpu type} @gol
|
||||
-mcmodel=@var{code model} @gol
|
||||
-m32 -m64 @gol
|
||||
-mapp-regs -mbroken-saverestore -mcypress @gol
|
||||
-mepilogue -mfaster-structs -mflat @gol
|
||||
-mfpu -mhard-float -mhard-quad-float @gol
|
||||
-mimpure-text -mlive-g0 -mno-app-regs @gol
|
||||
-mno-epilogue -mno-faster-structs -mno-flat -mno-fpu @gol
|
||||
-mno-impure-text -mno-stack-bias -mno-unaligned-doubles @gol
|
||||
-msoft-float -msoft-quad-float -msparclite -mstack-bias @gol
|
||||
-msupersparc -munaligned-doubles -mv8}
|
||||
|
||||
@emph{Convex Options}
|
||||
-mc1 -mc2 -mc32 -mc34 -mc38
|
||||
-margcount -mnoargcount
|
||||
-mlong32 -mlong64
|
||||
-mvolatile-cache -mvolatile-nocache
|
||||
@gccoptlist{
|
||||
-mc1 -mc2 -mc32 -mc34 -mc38 @gol
|
||||
-margcount -mnoargcount @gol
|
||||
-mlong32 -mlong64 @gol
|
||||
-mvolatile-cache -mvolatile-nocache}
|
||||
|
||||
@emph{AMD29K Options}
|
||||
-m29000 -m29050 -mbw -mnbw -mdw -mndw
|
||||
-mlarge -mnormal -msmall
|
||||
-mkernel-registers -mno-reuse-arg-regs
|
||||
-mno-stack-check -mno-storem-bug
|
||||
-mreuse-arg-regs -msoft-float -mstack-check
|
||||
-mstorem-bug -muser-registers
|
||||
@gccoptlist{
|
||||
-m29000 -m29050 -mbw -mnbw -mdw -mndw @gol
|
||||
-mlarge -mnormal -msmall @gol
|
||||
-mkernel-registers -mno-reuse-arg-regs @gol
|
||||
-mno-stack-check -mno-storem-bug @gol
|
||||
-mreuse-arg-regs -msoft-float -mstack-check @gol
|
||||
-mstorem-bug -muser-registers}
|
||||
|
||||
@emph{ARM Options}
|
||||
-mapcs-frame -mno-apcs-frame
|
||||
-mapcs-26 -mapcs-32
|
||||
-mapcs-stack-check -mno-apcs-stack-check
|
||||
-mapcs-float -mno-apcs-float
|
||||
-mapcs-reentrant -mno-apcs-reentrant
|
||||
-msched-prolog -mno-sched-prolog
|
||||
-mlittle-endian -mbig-endian -mwords-little-endian
|
||||
-malignment-traps -mno-alignment-traps
|
||||
-msoft-float -mhard-float -mfpe
|
||||
-mthumb-interwork -mno-thumb-interwork
|
||||
-mcpu= -march= -mfpe=
|
||||
-mstructure-size-boundary=
|
||||
-mbsd -mxopen -mno-symrename
|
||||
-mabort-on-noreturn
|
||||
-mlong-calls -mno-long-calls
|
||||
-mnop-fun-dllimport -mno-nop-fun-dllimport
|
||||
-msingle-pic-base -mno-single-pic-base
|
||||
-mpic-register=
|
||||
@gccoptlist{
|
||||
-mapcs-frame -mno-apcs-frame @gol
|
||||
-mapcs-26 -mapcs-32 @gol
|
||||
-mapcs-stack-check -mno-apcs-stack-check @gol
|
||||
-mapcs-float -mno-apcs-float @gol
|
||||
-mapcs-reentrant -mno-apcs-reentrant @gol
|
||||
-msched-prolog -mno-sched-prolog @gol
|
||||
-mlittle-endian -mbig-endian -mwords-little-endian @gol
|
||||
-malignment-traps -mno-alignment-traps @gol
|
||||
-msoft-float -mhard-float -mfpe @gol
|
||||
-mthumb-interwork -mno-thumb-interwork @gol
|
||||
-mcpu= -march= -mfpe= @gol
|
||||
-mstructure-size-boundary= @gol
|
||||
-mbsd -mxopen -mno-symrename @gol
|
||||
-mabort-on-noreturn @gol
|
||||
-mlong-calls -mno-long-calls @gol
|
||||
-mnop-fun-dllimport -mno-nop-fun-dllimport @gol
|
||||
-msingle-pic-base -mno-single-pic-base @gol
|
||||
-mpic-register=}
|
||||
|
||||
@emph{Thumb Options}
|
||||
-mtpcs-frame -mno-tpcs-frame
|
||||
-mtpcs-leaf-frame -mno-tpcs-leaf-frame
|
||||
-mlittle-endian -mbig-endian
|
||||
-mthumb-interwork -mno-thumb-interwork
|
||||
-mstructure-size-boundary=
|
||||
-mnop-fun-dllimport -mno-nop-fun-dllimport
|
||||
-mcallee-super-interworking -mno-callee-super-interworking
|
||||
-mcaller-super-interworking -mno-caller-super-interworking
|
||||
-msingle-pic-base -mno-single-pic-base
|
||||
-mpic-register=
|
||||
@gccoptlist{
|
||||
-mtpcs-frame -mno-tpcs-frame @gol
|
||||
-mtpcs-leaf-frame -mno-tpcs-leaf-frame @gol
|
||||
-mlittle-endian -mbig-endian @gol
|
||||
-mthumb-interwork -mno-thumb-interwork @gol
|
||||
-mstructure-size-boundary= @gol
|
||||
-mnop-fun-dllimport -mno-nop-fun-dllimport @gol
|
||||
-mcallee-super-interworking -mno-callee-super-interworking @gol
|
||||
-mcaller-super-interworking -mno-caller-super-interworking @gol
|
||||
-msingle-pic-base -mno-single-pic-base @gol
|
||||
-mpic-register=}
|
||||
|
||||
@emph{MN10200 Options}
|
||||
-mrelax
|
||||
@gccoptlist{
|
||||
-mrelax}
|
||||
|
||||
@emph{MN10300 Options}
|
||||
-mmult-bug
|
||||
-mno-mult-bug
|
||||
-mam33
|
||||
-mno-am33
|
||||
-mrelax
|
||||
@gccoptlist{
|
||||
-mmult-bug @gol
|
||||
-mno-mult-bug @gol
|
||||
-mam33 @gol
|
||||
-mno-am33 @gol
|
||||
-mrelax}
|
||||
|
||||
@emph{M32R/D Options}
|
||||
-mcode-model=@var{model type} -msdata=@var{sdata type}
|
||||
-G @var{num}
|
||||
@gccoptlist{
|
||||
-mcode-model=@var{model type} -msdata=@var{sdata type} @gol
|
||||
-G @var{num}}
|
||||
|
||||
@emph{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-@var{num} -msvr3
|
||||
-msvr4 -mtrap-large-shift -muse-div-instruction
|
||||
-mversion-03.00 -mwarn-passed-structs
|
||||
@gccoptlist{
|
||||
-m88000 -m88100 -m88110 -mbig-pic @gol
|
||||
-mcheck-zero-division -mhandle-large-shift @gol
|
||||
-midentify-revision -mno-check-zero-division @gol
|
||||
-mno-ocs-debug-info -mno-ocs-frame-position @gol
|
||||
-mno-optimize-arg-area -mno-serialize-volatile @gol
|
||||
-mno-underscores -mocs-debug-info @gol
|
||||
-mocs-frame-position -moptimize-arg-area @gol
|
||||
-mserialize-volatile -mshort-data-@var{num} -msvr3 @gol
|
||||
-msvr4 -mtrap-large-shift -muse-div-instruction @gol
|
||||
-mversion-03.00 -mwarn-passed-structs}
|
||||
|
||||
@emph{RS/6000 and PowerPC Options}
|
||||
-mcpu=@var{cpu type}
|
||||
-mtune=@var{cpu type}
|
||||
-mpower -mno-power -mpower2 -mno-power2
|
||||
-mpowerpc -mpowerpc64 -mno-powerpc
|
||||
-mpowerpc-gpopt -mno-powerpc-gpopt
|
||||
-mpowerpc-gfxopt -mno-powerpc-gfxopt
|
||||
-mnew-mnemonics -mold-mnemonics
|
||||
-mfull-toc -mminimal-toc -mno-fop-in-toc -mno-sum-in-toc
|
||||
-m64 -m32 -mxl-call -mno-xl-call -mthreads -mpe
|
||||
-msoft-float -mhard-float -mmultiple -mno-multiple
|
||||
-mstring -mno-string -mupdate -mno-update
|
||||
-mfused-madd -mno-fused-madd -mbit-align -mno-bit-align
|
||||
-mstrict-align -mno-strict-align -mrelocatable
|
||||
-mno-relocatable -mrelocatable-lib -mno-relocatable-lib
|
||||
-mtoc -mno-toc -mlittle -mlittle-endian -mbig -mbig-endian
|
||||
-mcall-aix -mcall-sysv -mprototype -mno-prototype
|
||||
-msim -mmvme -mads -myellowknife -memb -msdata
|
||||
-msdata=@var{opt} -mvxworks -G @var{num}
|
||||
@gccoptlist{
|
||||
-mcpu=@var{cpu type} @gol
|
||||
-mtune=@var{cpu type} @gol
|
||||
-mpower -mno-power -mpower2 -mno-power2 @gol
|
||||
-mpowerpc -mpowerpc64 -mno-powerpc @gol
|
||||
-mpowerpc-gpopt -mno-powerpc-gpopt @gol
|
||||
-mpowerpc-gfxopt -mno-powerpc-gfxopt @gol
|
||||
-mnew-mnemonics -mold-mnemonics @gol
|
||||
-mfull-toc -mminimal-toc -mno-fop-in-toc -mno-sum-in-toc @gol
|
||||
-m64 -m32 -mxl-call -mno-xl-call -mthreads -mpe @gol
|
||||
-msoft-float -mhard-float -mmultiple -mno-multiple @gol
|
||||
-mstring -mno-string -mupdate -mno-update @gol
|
||||
-mfused-madd -mno-fused-madd -mbit-align -mno-bit-align @gol
|
||||
-mstrict-align -mno-strict-align -mrelocatable @gol
|
||||
-mno-relocatable -mrelocatable-lib -mno-relocatable-lib @gol
|
||||
-mtoc -mno-toc -mlittle -mlittle-endian -mbig -mbig-endian @gol
|
||||
-mcall-aix -mcall-sysv -mprototype -mno-prototype @gol
|
||||
-msim -mmvme -mads -myellowknife -memb -msdata @gol
|
||||
-msdata=@var{opt} -mvxworks -G @var{num}}
|
||||
|
||||
@emph{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
|
||||
@gccoptlist{
|
||||
-mcall-lib-mul -mfp-arg-in-fpregs -mfp-arg-in-gregs @gol
|
||||
-mfull-fp-blocks -mhc-struct-return -min-line-mul @gol
|
||||
-mminimum-fp-blocks -mnohc-struct-return}
|
||||
|
||||
@emph{MIPS Options}
|
||||
@gccoptlist{
|
||||
-mabicalls -mcpu=@var{cpu type}
|
||||
-membedded-data -muninit-const-in-rodata
|
||||
-membedded-pic -mfp32 -mfp64 -mgas -mgp32 -mgp64
|
||||
-mgpopt -mhalf-pic -mhard-float -mint64 -mips1
|
||||
-mips2 -mips3 -mips4 -mlong64 -mlong32 -mlong-calls -mmemcpy
|
||||
-mmips-as -mmips-tfile -mno-abicalls
|
||||
-mno-embedded-data -mno-uninit-const-in-rodata -mno-embedded-pic
|
||||
-mno-gpopt -mno-long-calls
|
||||
-mno-memcpy -mno-mips-tfile -mno-rnames -mno-stats
|
||||
-mrnames -msoft-float
|
||||
-m4650 -msingle-float -mmad
|
||||
-mstats -EL -EB -G @var{num} -nocpp
|
||||
-mabi=32 -mabi=n32 -mabi=64 -mabi=eabi
|
||||
-mfix7000 -mno-crt0
|
||||
-membedded-data -muninit-const-in-rodata @gol
|
||||
-membedded-pic -mfp32 -mfp64 -mgas -mgp32 -mgp64 @gol
|
||||
-mgpopt -mhalf-pic -mhard-float -mint64 -mips1 @gol
|
||||
-mips2 -mips3 -mips4 -mlong64 -mlong32 -mlong-calls -mmemcpy @gol
|
||||
-mmips-as -mmips-tfile -mno-abicalls @gol
|
||||
-mno-embedded-data -mno-uninit-const-in-rodata -mno-embedded-pic @gol
|
||||
-mno-gpopt -mno-long-calls @gol
|
||||
-mno-memcpy -mno-mips-tfile -mno-rnames -mno-stats @gol
|
||||
-mrnames -msoft-float @gol
|
||||
-m4650 -msingle-float -mmad @gol
|
||||
-mstats -EL -EB -G @var{num} -nocpp @gol
|
||||
-mabi=32 -mabi=n32 -mabi=64 -mabi=eabi @gol
|
||||
-mfix7000 -mno-crt0}
|
||||
|
||||
@emph{i386 Options}
|
||||
-mcpu=@var{cpu type} -march=@var{cpu type}
|
||||
-mintel-syntax -mieee-fp -mno-fancy-math-387
|
||||
-mno-fp-ret-in-387 -msoft-float -msvr3-shlib
|
||||
-mno-wide-multiply -mrtd -malign-double
|
||||
-mreg-alloc=@var{list} -mregparm=@var{num}
|
||||
-malign-jumps=@var{num} -malign-loops=@var{num}
|
||||
-malign-functions=@var{num} -mpreferred-stack-boundary=@var{num}
|
||||
-mthreads -mno-align-stringops -minline-all-stringops
|
||||
-mpush-args -maccumulate-outgoing-args -m128bit-long-double
|
||||
-m96bit-long-double
|
||||
@gccoptlist{
|
||||
-mcpu=@var{cpu type} -march=@var{cpu type} @gol
|
||||
-mintel-syntax -mieee-fp -mno-fancy-math-387 @gol
|
||||
-mno-fp-ret-in-387 -msoft-float -msvr3-shlib @gol
|
||||
-mno-wide-multiply -mrtd -malign-double @gol
|
||||
-mreg-alloc=@var{list} -mregparm=@var{num} @gol
|
||||
-malign-jumps=@var{num} -malign-loops=@var{num} @gol
|
||||
-malign-functions=@var{num} -mpreferred-stack-boundary=@var{num} @gol
|
||||
-mthreads -mno-align-stringops -minline-all-stringops @gol
|
||||
-mpush-args -maccumulate-outgoing-args -m128bit-long-double @gol
|
||||
-m96bit-long-double}
|
||||
|
||||
@emph{HPPA Options}
|
||||
-march=@var{architecture type}
|
||||
-mbig-switch -mdisable-fpregs -mdisable-indexing
|
||||
-mfast-indirect-calls -mgas -mjump-in-delay
|
||||
-mlong-load-store -mno-big-switch -mno-disable-fpregs
|
||||
-mno-disable-indexing -mno-fast-indirect-calls -mno-gas
|
||||
-mno-jump-in-delay -mno-long-load-store
|
||||
-mno-portable-runtime -mno-soft-float
|
||||
-mno-space-regs -msoft-float -mpa-risc-1-0
|
||||
-mpa-risc-1-1 -mpa-risc-2-0 -mportable-runtime
|
||||
-mschedule=@var{cpu type} -mspace-regs
|
||||
@gccoptlist{
|
||||
-march=@var{architecture type} @gol
|
||||
-mbig-switch -mdisable-fpregs -mdisable-indexing @gol
|
||||
-mfast-indirect-calls -mgas -mjump-in-delay @gol
|
||||
-mlong-load-store -mno-big-switch -mno-disable-fpregs @gol
|
||||
-mno-disable-indexing -mno-fast-indirect-calls -mno-gas @gol
|
||||
-mno-jump-in-delay -mno-long-load-store @gol
|
||||
-mno-portable-runtime -mno-soft-float @gol
|
||||
-mno-space-regs -msoft-float -mpa-risc-1-0 @gol
|
||||
-mpa-risc-1-1 -mpa-risc-2-0 -mportable-runtime @gol
|
||||
-mschedule=@var{cpu type} -mspace-regs}
|
||||
|
||||
@emph{Intel 960 Options}
|
||||
-m@var{cpu type} -masm-compat -mclean-linkage
|
||||
-mcode-align -mcomplex-addr -mleaf-procedures
|
||||
-mic-compat -mic2.0-compat -mic3.0-compat
|
||||
-mintel-asm -mno-clean-linkage -mno-code-align
|
||||
-mno-complex-addr -mno-leaf-procedures
|
||||
-mno-old-align -mno-strict-align -mno-tail-call
|
||||
-mnumerics -mold-align -msoft-float -mstrict-align
|
||||
-mtail-call
|
||||
@gccoptlist{
|
||||
-m@var{cpu type} -masm-compat -mclean-linkage @gol
|
||||
-mcode-align -mcomplex-addr -mleaf-procedures @gol
|
||||
-mic-compat -mic2.0-compat -mic3.0-compat @gol
|
||||
-mintel-asm -mno-clean-linkage -mno-code-align @gol
|
||||
-mno-complex-addr -mno-leaf-procedures @gol
|
||||
-mno-old-align -mno-strict-align -mno-tail-call @gol
|
||||
-mnumerics -mold-align -msoft-float -mstrict-align @gol
|
||||
-mtail-call}
|
||||
|
||||
@emph{DEC Alpha Options}
|
||||
-mfp-regs -mno-fp-regs -mno-soft-float -msoft-float
|
||||
-malpha-as -mgas
|
||||
-mieee -mieee-with-inexact -mieee-conformant
|
||||
-mfp-trap-mode=@var{mode} -mfp-rounding-mode=@var{mode}
|
||||
-mtrap-precision=@var{mode} -mbuild-constants
|
||||
-mcpu=@var{cpu type}
|
||||
-mbwx -mno-bwx -mcix -mno-cix -mmax -mno-max
|
||||
-mmemory-latency=@var{time}
|
||||
@gccoptlist{
|
||||
-mfp-regs -mno-fp-regs -mno-soft-float -msoft-float @gol
|
||||
-malpha-as -mgas @gol
|
||||
-mieee -mieee-with-inexact -mieee-conformant @gol
|
||||
-mfp-trap-mode=@var{mode} -mfp-rounding-mode=@var{mode} @gol
|
||||
-mtrap-precision=@var{mode} -mbuild-constants @gol
|
||||
-mcpu=@var{cpu type} @gol
|
||||
-mbwx -mno-bwx -mcix -mno-cix -mmax -mno-max @gol
|
||||
-mmemory-latency=@var{time}}
|
||||
|
||||
@emph{Clipper Options}
|
||||
-mc300 -mc400
|
||||
@gccoptlist{
|
||||
-mc300 -mc400}
|
||||
|
||||
@emph{H8/300 Options}
|
||||
-mrelax -mh -ms -mint32 -malign-300
|
||||
@gccoptlist{
|
||||
-mrelax -mh -ms -mint32 -malign-300}
|
||||
|
||||
@emph{SH Options}
|
||||
-m1 -m2 -m3 -m3e
|
||||
-m4-nofpu -m4-single-only -m4-single -m4
|
||||
-mb -ml -mdalign -mrelax
|
||||
-mbigtable -mfmovd -mhitachi -mnomacsave
|
||||
-misize -mpadstruct -mspace
|
||||
@gccoptlist{
|
||||
-m1 -m2 -m3 -m3e @gol
|
||||
-m4-nofpu -m4-single-only -m4-single -m4 @gol
|
||||
-mb -ml -mdalign -mrelax @gol
|
||||
-mbigtable -mfmovd -mhitachi -mnomacsave @gol
|
||||
-misize -mpadstruct -mspace @gol
|
||||
-mprefergot
|
||||
-musermode
|
||||
-musermode}
|
||||
|
||||
@emph{System V Options}
|
||||
-Qy -Qn -YP,@var{paths} -Ym,@var{dir}
|
||||
@gccoptlist{
|
||||
-Qy -Qn -YP,@var{paths} -Ym,@var{dir}}
|
||||
|
||||
@emph{ARC Options}
|
||||
-EB -EL
|
||||
-mmangle-cpu -mcpu=@var{cpu} -mtext=@var{text section}
|
||||
-mdata=@var{data section} -mrodata=@var{readonly data section}
|
||||
@gccoptlist{
|
||||
-EB -EL @gol
|
||||
-mmangle-cpu -mcpu=@var{cpu} -mtext=@var{text section} @gol
|
||||
-mdata=@var{data section} -mrodata=@var{readonly data section}}
|
||||
|
||||
@emph{TMS320C3x/C4x Options}
|
||||
-mcpu=@var{cpu} -mbig -msmall -mregparm -mmemparm
|
||||
-mfast-fix -mmpyi -mbk -mti -mdp-isr-reload
|
||||
-mrpts=@var{count} -mrptb -mdb -mloop-unsigned
|
||||
-mparallel-insns -mparallel-mpy -mpreserve-float
|
||||
@gccoptlist{
|
||||
-mcpu=@var{cpu} -mbig -msmall -mregparm -mmemparm @gol
|
||||
-mfast-fix -mmpyi -mbk -mti -mdp-isr-reload @gol
|
||||
-mrpts=@var{count} -mrptb -mdb -mloop-unsigned @gol
|
||||
-mparallel-insns -mparallel-mpy -mpreserve-float}
|
||||
|
||||
@emph{V850 Options}
|
||||
-mlong-calls -mno-long-calls -mep -mno-ep
|
||||
-mprolog-function -mno-prolog-function -mspace
|
||||
-mtda=@var{n} -msda=@var{n} -mzda=@var{n}
|
||||
-mv850 -mbig-switch
|
||||
@gccoptlist{
|
||||
-mlong-calls -mno-long-calls -mep -mno-ep @gol
|
||||
-mprolog-function -mno-prolog-function -mspace @gol
|
||||
-mtda=@var{n} -msda=@var{n} -mzda=@var{n} @gol
|
||||
-mv850 -mbig-switch}
|
||||
|
||||
@emph{NS32K Options}
|
||||
-m32032 -m32332 -m32532 -m32081 -m32381 -mmult-add -mnomult-add
|
||||
-msoft-float -mrtd -mnortd -mregparam -mnoregparam -msb -mnosb
|
||||
-mbitfield -mnobitfield -mhimem -mnohimem
|
||||
@gccoptlist{
|
||||
-m32032 -m32332 -m32532 -m32081 -m32381 -mmult-add -mnomult-add @gol
|
||||
-msoft-float -mrtd -mnortd -mregparam -mnoregparam -msb -mnosb @gol
|
||||
-mbitfield -mnobitfield -mhimem -mnohimem}
|
||||
|
||||
@emph{AVR Options}
|
||||
-mmcu=@var{mcu} -msize -minit-stack=@var{n} -mno-interrupts
|
||||
-mcall-prologues -mno-tablejump -mtiny-stack
|
||||
@gccoptlist{
|
||||
-mmcu=@var{mcu} -msize -minit-stack=@var{n} -mno-interrupts @gol
|
||||
-mcall-prologues -mno-tablejump -mtiny-stack}
|
||||
|
||||
@emph{MCore Options}
|
||||
-mhardlit, -mno-hardlit -mdiv -mno-div -mrelax-immediates
|
||||
-mno-relax-immediates -mwide-bitfields -mno-wide-bitfields
|
||||
-m4byte-functions -mno-4byte-functions -mcallgraph-data
|
||||
-mno-callgraph-data -mslow-bytes -mno-slow-bytes -mno-lsim
|
||||
-mlittle-endian -mbig-endian -m210 -m340 -mstack-increment
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-mhardlit, -mno-hardlit -mdiv -mno-div -mrelax-immediates @gol
|
||||
-mno-relax-immediates -mwide-bitfields -mno-wide-bitfields @gol
|
||||
-m4byte-functions -mno-4byte-functions -mcallgraph-data @gol
|
||||
-mno-callgraph-data -mslow-bytes -mno-slow-bytes -mno-lsim @gol
|
||||
-mlittle-endian -mbig-endian -m210 -m340 -mstack-increment}
|
||||
|
||||
@item Code Generation Options
|
||||
@xref{Code Gen Options,,Options for Code Generation Conventions}.
|
||||
@smallexample
|
||||
-fcall-saved-@var{reg} -fcall-used-@var{reg}
|
||||
-fexceptions -funwind-tables -ffixed-@var{reg}
|
||||
-finhibit-size-directive -finstrument-functions
|
||||
-fcheck-memory-usage -fprefix-function-name
|
||||
-fno-common -fno-ident -fno-gnu-linker
|
||||
-fpcc-struct-return -fpic -fPIC
|
||||
-freg-struct-return -fshared-data -fshort-enums
|
||||
-fshort-double -fvolatile -fvolatile-global -fvolatile-static
|
||||
-fverbose-asm -fpack-struct -fstack-check
|
||||
-fstack-limit-register=@var{reg} -fstack-limit-symbol=@var{sym}
|
||||
-fargument-alias -fargument-noalias
|
||||
-fargument-noalias-global
|
||||
-fleading-underscore
|
||||
@end smallexample
|
||||
@gccoptlist{
|
||||
-fcall-saved-@var{reg} -fcall-used-@var{reg} @gol
|
||||
-fexceptions -funwind-tables -ffixed-@var{reg} @gol
|
||||
-finhibit-size-directive -finstrument-functions @gol
|
||||
-fcheck-memory-usage -fprefix-function-name @gol
|
||||
-fno-common -fno-ident -fno-gnu-linker @gol
|
||||
-fpcc-struct-return -fpic -fPIC @gol
|
||||
-freg-struct-return -fshared-data -fshort-enums @gol
|
||||
-fshort-double -fvolatile -fvolatile-global -fvolatile-static @gol
|
||||
-fverbose-asm -fpack-struct -fstack-check @gol
|
||||
-fstack-limit-register=@var{reg} -fstack-limit-symbol=@var{sym} @gol
|
||||
-fargument-alias -fargument-noalias @gol
|
||||
-fargument-noalias-global @gol
|
||||
-fleading-underscore}
|
||||
@end table
|
||||
|
||||
@menu
|
||||
@ -583,8 +598,6 @@ in the following sections.
|
||||
* Target Options:: Running a cross-compiler, or an old version of GCC.
|
||||
@end menu
|
||||
|
||||
@c man begin OPTIONS
|
||||
|
||||
@node Overall Options
|
||||
@section Options Controlling the Kind of Output
|
||||
|
||||
|
182
gcc/texinfo.tex
182
gcc/texinfo.tex
@ -3,7 +3,7 @@
|
||||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{2000-11-09.08}
|
||||
\def\texinfoversion{2000-12-11.07}
|
||||
%
|
||||
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
|
||||
% Free Software Foundation, Inc.
|
||||
@ -704,20 +704,35 @@ where each line of input produces a line of output.}
|
||||
% if you have multiple lines of stuff to put here, you'll need to
|
||||
% make the vbox yourself of the appropriate size.
|
||||
\ifx#1l%
|
||||
\llap{#2\hskip\inmarginspacing}%
|
||||
\llap{\ignorespaces #2\hskip\inmarginspacing}%
|
||||
\else
|
||||
\rlap{\hskip\hsize\hskip\inmarginspacing#2}%
|
||||
\rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
|
||||
\fi
|
||||
\null
|
||||
}%
|
||||
}}
|
||||
\def\inleftmargin{\doinmargin l}
|
||||
\def\inrightmargin{\doinmargin r}
|
||||
\def\inmargin{% not perfect, but better than nothing.
|
||||
\ifodd\pageno
|
||||
\let\temp=\inleftmargin
|
||||
%
|
||||
% @inmargin{TEXT [, RIGHT-TEXT]}
|
||||
% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
|
||||
% else use TEXT for both).
|
||||
%
|
||||
\def\inmargin#1{\parseinmargin #1,,\finish}
|
||||
\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
|
||||
\setbox0 = \hbox{\ignorespaces #2}%
|
||||
\ifdim\wd0 > 0pt
|
||||
\def\lefttext{#1}% have both texts
|
||||
\def\righttext{#2}%
|
||||
\else
|
||||
\let\temp=\inrightmargin
|
||||
\def\lefttext{#1}% have only one text
|
||||
\def\righttext{#1}%
|
||||
\fi
|
||||
%
|
||||
\ifodd\pageno
|
||||
\def\temp{\inleftmargin\lefttext}%
|
||||
\else
|
||||
\def\temp{\inrightmargin\righttext}%
|
||||
\fi
|
||||
\temp
|
||||
}
|
||||
@ -4304,6 +4319,7 @@ width0pt\relax} \fi
|
||||
\gobble
|
||||
}
|
||||
|
||||
|
||||
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
|
||||
% and narrows the margins.
|
||||
%
|
||||
@ -4326,6 +4342,158 @@ width0pt\relax} \fi
|
||||
}
|
||||
|
||||
|
||||
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
|
||||
% If we want to allow any <char> as delimiter,
|
||||
% we need the curly braces so that makeinfo sees the @verb command, eg:
|
||||
% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org
|
||||
%
|
||||
% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook.
|
||||
%
|
||||
% [Knuth] p. 344; only we need to do '@' too
|
||||
\def\dospecials{%
|
||||
\do\ \do\\\do\@\do\{\do\}\do\$\do\&%
|
||||
\do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~}
|
||||
%
|
||||
% [Knuth] p. 380
|
||||
\def\uncatcodespecials{%
|
||||
\def\do##1{\catcode`##1=12}\dospecials}
|
||||
%
|
||||
% [Knuth] pp. 380,381,391
|
||||
% Disable Spanish ligatures ?` and !` of \tt font
|
||||
\begingroup
|
||||
\catcode`\`=\active\gdef`{\relax\lq}
|
||||
\endgroup
|
||||
%
|
||||
% Setup for the @verb command.
|
||||
%
|
||||
% Eight spaces for a tab
|
||||
\begingroup
|
||||
\catcode`\^^I=\active
|
||||
\gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
|
||||
\endgroup
|
||||
%
|
||||
\def\setupverb{%
|
||||
\tt % easiest (and conventionally used) font for verbatim
|
||||
\def\par{\leavevmode\endgraf}%
|
||||
\catcode`\`=\active
|
||||
\tabeightspaces
|
||||
% Respect line breaks,
|
||||
% print special symbols as themselves, and
|
||||
% make each space count
|
||||
% must do in this order:
|
||||
\obeylines \uncatcodespecials \sepspaces
|
||||
}
|
||||
|
||||
% Setup for the @verbatim environment
|
||||
%
|
||||
% Real tab expansion
|
||||
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
|
||||
%
|
||||
\def\starttabbox{\setbox0=\hbox\bgroup}
|
||||
\begingroup
|
||||
\catcode`\^^I=\active
|
||||
\gdef\tabexpand{%
|
||||
\catcode`\^^I=\active
|
||||
\def^^I{\leavevmode\egroup
|
||||
\dimen0=\wd0 % the width so far, or since the previous tab
|
||||
\divide\dimen0 by\tabw
|
||||
\multiply\dimen0 by\tabw % compute previous multiple of \tabw
|
||||
\advance\dimen0 by\tabw % advance to next multiple of \tabw
|
||||
\wd0=\dimen0 \box0 \starttabbox
|
||||
}%
|
||||
}
|
||||
\endgroup
|
||||
\def\setupverbatim{%
|
||||
% Easiest (and conventionally used) font for verbatim
|
||||
\tt
|
||||
\def\par{\leavevmode\egroup\box0\endgraf}%
|
||||
\catcode`\`=\active
|
||||
\tabexpand
|
||||
% Respect line breaks,
|
||||
% print special symbols as themselves, and
|
||||
% make each space count
|
||||
% must do in this order:
|
||||
\obeylines \uncatcodespecials \sepspaces
|
||||
\everypar{\starttabbox}%
|
||||
}
|
||||
|
||||
% Do the @verb magic: verbatim text is quoted by unique
|
||||
% delimiter characters. Before first delimiter expect a
|
||||
% right brace, after last delimiter expect closing brace:
|
||||
%
|
||||
% \def\doverb'{'<char>#1<char>'}'{#1}
|
||||
%
|
||||
% [Knuth] p. 382; only eat outer {}
|
||||
\begingroup
|
||||
\catcode`[=1\catcode`]=2\catcode`\{=12\catcode`\}=12
|
||||
\gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
|
||||
\endgroup
|
||||
%
|
||||
\def\verb{\begingroup\setupverb\doverb}
|
||||
%
|
||||
%
|
||||
% Do the @verbatim magic: define the macro \doverbatim so that
|
||||
% the (first) argument ends when '@end verbatim' is reached, ie:
|
||||
%
|
||||
% \def\doverbatim#1@end verbatim{#1}
|
||||
%
|
||||
% For Texinfo it's a lot easier than for LaTeX,
|
||||
% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
|
||||
% we need not redefine '\', '{' and '}'
|
||||
%
|
||||
% Inspired by LaTeX's verbatim command set [latex.ltx]
|
||||
%% Include LaTeX hack for completeness -- never know
|
||||
%% \begingroup
|
||||
%% \catcode`|=0 \catcode`[=1
|
||||
%% \catcode`]=2\catcode`\{=12\catcode`\}=12\catcode`\ =\active
|
||||
%% \catcode`\\=12|gdef|doverbatim#1@end verbatim[
|
||||
%% #1|endgroup|def|Everbatim[]|end[verbatim]]
|
||||
%% |endgroup
|
||||
\begingroup
|
||||
\catcode`\ =\active
|
||||
\gdef\doverbatim#1@end verbatim{#1\end{verbatim}}
|
||||
\endgroup
|
||||
%
|
||||
\def\verbatim{%
|
||||
\def\Everbatim{\nonfillfinish\endgroup}%
|
||||
\begingroup
|
||||
\nonfillstart
|
||||
\advance\leftskip by -\defbodyindent
|
||||
\begingroup\setupverbatim\doverbatim
|
||||
}
|
||||
|
||||
% @verbatiminclude FILE - insert text of file in verbatim environment.
|
||||
%
|
||||
% Allow normal characters that we make active in the argument (a file name).
|
||||
\def\verbatiminclude{%
|
||||
\begingroup
|
||||
\catcode`\\=12
|
||||
\catcode`~=12
|
||||
\catcode`^=12
|
||||
\catcode`_=12
|
||||
\catcode`|=12
|
||||
\catcode`<=12
|
||||
\catcode`>=12
|
||||
\catcode`+=12
|
||||
\parsearg\doverbatiminclude
|
||||
}
|
||||
\def\setupverbatiminclude{%
|
||||
\begingroup
|
||||
\nonfillstart
|
||||
\advance\leftskip by -\defbodyindent
|
||||
\begingroup\setupverbatim
|
||||
}
|
||||
%
|
||||
\def\doverbatiminclude#1{%
|
||||
% Restore active chars for included file.
|
||||
\endgroup
|
||||
\begingroup
|
||||
\def\thisfile{#1}%
|
||||
\expandafter\expandafter\setupverbatiminclude\input\thisfile
|
||||
\endgroup\nonfillfinish\endgroup
|
||||
}
|
||||
|
||||
|
||||
\message{defuns,}
|
||||
% @defun etc.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user