comparison gcc/doc/gcc.1 @ 47:3bfb6c00c1e0

update it from 4.4.2 to 4.4.3.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Sun, 07 Feb 2010 17:44:34 +0900
parents 58ad6c70ea60
children
comparison
equal deleted inserted replaced
46:b85a337e5837 47:3bfb6c00c1e0
130 .\} 130 .\}
131 .rm #[ #] #H #V #F C 131 .rm #[ #] #H #V #F C
132 .\" ======================================================================== 132 .\" ========================================================================
133 .\" 133 .\"
134 .IX Title "GCC 1" 134 .IX Title "GCC 1"
135 .TH GCC 1 "2009-07-22" "gcc-4.4.1" "GNU" 135 .TH GCC 1 "2010-01-21" "gcc-4.4.3" "GNU"
136 .\" For nroff, turn off justification. Always turn off hyphenation; it makes 136 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
137 .\" way too many mistakes in technical documents. 137 .\" way too many mistakes in technical documents.
138 .if n .ad l 138 .if n .ad l
139 .nh 139 .nh
140 .SH "NAME" 140 .SH "NAME"
466 \&\-mtp=\fR\fIname\fR 466 \&\-mtp=\fR\fIname\fR
467 \&\fB\-mword\-relocations 467 \&\fB\-mword\-relocations
468 \&\-mfix\-cortex\-m3\-ldrd\fR 468 \&\-mfix\-cortex\-m3\-ldrd\fR
469 .Sp 469 .Sp
470 \&\fI\s-1AVR\s0 Options\fR 470 \&\fI\s-1AVR\s0 Options\fR
471 \&\fB\-mmcu=\fR\fImcu\fR \fB\-msize \-minit\-stack=\fR\fIn\fR \fB\-mno\-interrupts 471 \&\fB\-mmcu=\fR\fImcu\fR \fB\-msize \-mno\-interrupts
472 \&\-mcall\-prologues \-mno\-tablejump \-mtiny\-stack \-mint8\fR 472 \&\-mcall\-prologues \-mno\-tablejump \-mtiny\-stack \-mint8\fR
473 .Sp 473 .Sp
474 \&\fIBlackfin Options\fR 474 \&\fIBlackfin Options\fR
475 \&\fB\-mcpu=\fR\fIcpu\fR[\fB\-\fR\fIsirevision\fR] 475 \&\fB\-mcpu=\fR\fIcpu\fR[\fB\-\fR\fIsirevision\fR]
476 \&\fB\-msim \-momit\-leaf\-frame\-pointer \-mno\-omit\-leaf\-frame\-pointer 476 \&\fB\-msim \-momit\-leaf\-frame\-pointer \-mno\-omit\-leaf\-frame\-pointer
1690 completed, you may have an object that is being destroyed twice because 1690 completed, you may have an object that is being destroyed twice because
1691 two definitions were merged. 1691 two definitions were merged.
1692 .Sp 1692 .Sp
1693 This option is no longer useful on most targets, now that support has 1693 This option is no longer useful on most targets, now that support has
1694 been added for putting variables into \s-1BSS\s0 without making them common. 1694 been added for putting variables into \s-1BSS\s0 without making them common.
1695 .IP "\fB\-fno\-deduce\-init\-list\fR" 4
1696 .IX Item "-fno-deduce-init-list"
1697 Disable deduction of a template type parameter as
1698 std::initializer_list from a brace-enclosed initializer list, i.e.
1699 .Sp
1700 .Vb 4
1701 \& template <class T> auto forward(T t) \-> decltype (realfn (t))
1702 \& {
1703 \& return realfn (t);
1704 \& }
1705 \&
1706 \& void f()
1707 \& {
1708 \& forward({1,2}); // call forward<std::initializer_list<int>>
1709 \& }
1710 .Ve
1711 .Sp
1712 This option is present because this deduction is an extension to the
1713 current specification in the \*(C+0x working draft, and there was
1714 some concern about potential overload resolution problems.
1695 .IP "\fB\-ffriend\-injection\fR" 4 1715 .IP "\fB\-ffriend\-injection\fR" 4
1696 .IX Item "-ffriend-injection" 1716 .IX Item "-ffriend-injection"
1697 Inject friend functions into the enclosing namespace, so that they are 1717 Inject friend functions into the enclosing namespace, so that they are
1698 visible outside the scope of the class in which they are declared. 1718 visible outside the scope of the class in which they are declared.
1699 Friend functions were documented to work this way in the old Annotated 1719 Friend functions were documented to work this way in the old Annotated
5855 \&\fB\-fprofile\-arcs\fR for details. 5875 \&\fB\-fprofile\-arcs\fR for details.
5856 .Sp 5876 .Sp
5857 Enabled at levels \fB\-O2\fR, \fB\-O3\fR, \fB\-Os\fR. 5877 Enabled at levels \fB\-O2\fR, \fB\-O3\fR, \fB\-Os\fR.
5858 .IP "\fB\-fstrict\-aliasing\fR" 4 5878 .IP "\fB\-fstrict\-aliasing\fR" 4
5859 .IX Item "-fstrict-aliasing" 5879 .IX Item "-fstrict-aliasing"
5860 Allows the compiler to assume the strictest aliasing rules applicable to 5880 Allow the compiler to assume the strictest aliasing rules applicable to
5861 the language being compiled. For C (and \*(C+), this activates 5881 the language being compiled. For C (and \*(C+), this activates
5862 optimizations based on the type of expressions. In particular, an 5882 optimizations based on the type of expressions. In particular, an
5863 object of one type is assumed never to reside at the same address as an 5883 object of one type is assumed never to reside at the same address as an
5864 object of a different type, unless the types are almost the same. For 5884 object of a different type, unless the types are almost the same. For
5865 example, an \f(CW\*(C`unsigned int\*(C'\fR can alias an \f(CW\*(C`int\*(C'\fR, but not a 5885 example, an \f(CW\*(C`unsigned int\*(C'\fR can alias an \f(CW\*(C`int\*(C'\fR, but not a
5873 \& int i; 5893 \& int i;
5874 \& double d; 5894 \& double d;
5875 \& }; 5895 \& };
5876 \& 5896 \&
5877 \& int f() { 5897 \& int f() {
5878 \& a_union t; 5898 \& union a_union t;
5879 \& t.d = 3.0; 5899 \& t.d = 3.0;
5880 \& return t.i; 5900 \& return t.i;
5881 \& } 5901 \& }
5882 .Ve 5902 .Ve
5883 .Sp 5903 .Sp
5887 is accessed through the union type. So, the code above will work as 5907 is accessed through the union type. So, the code above will work as
5888 expected. However, this code might not: 5908 expected. However, this code might not:
5889 .Sp 5909 .Sp
5890 .Vb 7 5910 .Vb 7
5891 \& int f() { 5911 \& int f() {
5892 \& a_union t; 5912 \& union a_union t;
5893 \& int* ip; 5913 \& int* ip;
5894 \& t.d = 3.0; 5914 \& t.d = 3.0;
5895 \& ip = &t.i; 5915 \& ip = &t.i;
5896 \& return *ip; 5916 \& return *ip;
5897 \& } 5917 \& }
7098 .PP 7118 .PP
7099 If you use the \fB\-E\fR option, nothing is done except preprocessing. 7119 If you use the \fB\-E\fR option, nothing is done except preprocessing.
7100 Some of these options make sense only together with \fB\-E\fR because 7120 Some of these options make sense only together with \fB\-E\fR because
7101 they cause the preprocessor output to be unsuitable for actual 7121 they cause the preprocessor output to be unsuitable for actual
7102 compilation. 7122 compilation.
7103 .Sp 7123 .IP "\fB\-Wp,\fR\fIoption\fR" 4
7104 .RS 4 7124 .IX Item "-Wp,option"
7105 You can use \fB\-Wp,\fR\fIoption\fR to bypass the compiler driver 7125 You can use \fB\-Wp,\fR\fIoption\fR to bypass the compiler driver
7106 and pass \fIoption\fR directly through to the preprocessor. If 7126 and pass \fIoption\fR directly through to the preprocessor. If
7107 \&\fIoption\fR contains commas, it is split into multiple options at the 7127 \&\fIoption\fR contains commas, it is split into multiple options at the
7108 commas. However, many options are modified, translated or interpreted 7128 commas. However, many options are modified, translated or interpreted
7109 by the compiler driver before being passed to the preprocessor, and 7129 by the compiler driver before being passed to the preprocessor, and
7110 \&\fB\-Wp\fR forcibly bypasses this phase. The preprocessor's direct 7130 \&\fB\-Wp\fR forcibly bypasses this phase. The preprocessor's direct
7111 interface is undocumented and subject to change, so whenever possible 7131 interface is undocumented and subject to change, so whenever possible
7112 you should avoid using \fB\-Wp\fR and let the driver handle the 7132 you should avoid using \fB\-Wp\fR and let the driver handle the
7113 options instead. 7133 options instead.
7114 .Sp 7134 .IP "\fB\-Xpreprocessor\fR \fIoption\fR" 4
7115 \&\fB\-Xpreprocessor\fR \fIoption\fR 7135 .IX Item "-Xpreprocessor option"
7116 .Sp
7117 Pass \fIoption\fR as an option to the preprocessor. You can use this to 7136 Pass \fIoption\fR as an option to the preprocessor. You can use this to
7118 supply system-specific preprocessor options which \s-1GCC\s0 does not know how to 7137 supply system-specific preprocessor options which \s-1GCC\s0 does not know how to
7119 recognize. 7138 recognize.
7120 .Sp 7139 .Sp
7121 If you want to pass an option that takes an argument, you must use 7140 If you want to pass an option that takes an argument, you must use
7122 \&\fB\-Xpreprocessor\fR twice, once for the option and once for the argument. 7141 \&\fB\-Xpreprocessor\fR twice, once for the option and once for the argument.
7123 .RE
7124 .IP "\fB\-D\fR \fIname\fR" 4 7142 .IP "\fB\-D\fR \fIname\fR" 4
7125 .IX Item "-D name" 7143 .IX Item "-D name"
7126 Predefine \fIname\fR as a macro, with definition \f(CW1\fR. 7144 Predefine \fIname\fR as a macro, with definition \f(CW1\fR.
7127 .IP "\fB\-D\fR \fIname\fR\fB=\fR\fIdefinition\fR" 4 7145 .IP "\fB\-D\fR \fIname\fR\fB=\fR\fIdefinition\fR" 4
7128 .IX Item "-D name=definition" 7146 .IX Item "-D name=definition"
8540 memory space (\s-1MCU\s0 types: atmega16, atmega161, atmega163, atmega32, atmega323, 8558 memory space (\s-1MCU\s0 types: atmega16, atmega161, atmega163, atmega32, atmega323,
8541 atmega64, atmega128, at43usb355, at94k). 8559 atmega64, atmega128, at43usb355, at94k).
8542 .IP "\fB\-msize\fR" 4 8560 .IP "\fB\-msize\fR" 4
8543 .IX Item "-msize" 8561 .IX Item "-msize"
8544 Output instruction sizes to the asm file. 8562 Output instruction sizes to the asm file.
8545 .IP "\fB\-minit\-stack=\fR\fIN\fR" 4
8546 .IX Item "-minit-stack=N"
8547 Specify the initial stack address, which may be a symbol or numeric value,
8548 \&\fB_\|_stack\fR is the default.
8549 .IP "\fB\-mno\-interrupts\fR" 4 8563 .IP "\fB\-mno\-interrupts\fR" 4
8550 .IX Item "-mno-interrupts" 8564 .IX Item "-mno-interrupts"
8551 Generated code is not compatible with hardware interrupts. 8565 Generated code is not compatible with hardware interrupts.
8552 Code size will be smaller. 8566 Code size will be smaller.
8553 .IP "\fB\-mcall\-prologues\fR" 4 8567 .IP "\fB\-mcall\-prologues\fR" 4
15341 .Vb 3 15355 .Vb 3
15342 \& You have freedom to copy and modify this GNU Manual, like GNU 15356 \& You have freedom to copy and modify this GNU Manual, like GNU
15343 \& software. Copies published by the Free Software Foundation raise 15357 \& software. Copies published by the Free Software Foundation raise
15344 \& funds for GNU development. 15358 \& funds for GNU development.
15345 .Ve 15359 .Ve
15346 .SH "POD ERRORS"
15347 .IX Header "POD ERRORS"
15348 Hey! \fBThe above document had some coding errors, which are explained below:\fR
15349 .IP "Around line 8714:" 4
15350 .IX Item "Around line 8714:"
15351 You can't have =items (as at line 8727) unless the first thing after the =over is an =item