Mercurial > hg > CbC > CbC_gcc
comparison gcc/doc/g++.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 |