Mercurial > hg > CbC > CbC_gcc
comparison gcc/doc/invoke.texi @ 36:855418dad1a3
gcc-4.4-20091020
author | e075725 |
---|---|
date | Tue, 22 Dec 2009 21:19:31 +0900 |
parents | a06113de4d67 |
children | 3bfb6c00c1e0 |
comparison
equal
deleted
inserted
replaced
19:58ad6c70ea60 | 36:855418dad1a3 |
---|---|
454 -mtp=@var{name} @gol | 454 -mtp=@var{name} @gol |
455 -mword-relocations @gol | 455 -mword-relocations @gol |
456 -mfix-cortex-m3-ldrd} | 456 -mfix-cortex-m3-ldrd} |
457 | 457 |
458 @emph{AVR Options} | 458 @emph{AVR Options} |
459 @gccoptlist{-mmcu=@var{mcu} -msize -minit-stack=@var{n} -mno-interrupts @gol | 459 @gccoptlist{-mmcu=@var{mcu} -msize -mno-interrupts @gol |
460 -mcall-prologues -mno-tablejump -mtiny-stack -mint8} | 460 -mcall-prologues -mno-tablejump -mtiny-stack -mint8} |
461 | 461 |
462 @emph{Blackfin Options} | 462 @emph{Blackfin Options} |
463 @gccoptlist{-mcpu=@var{cpu}@r{[}-@var{sirevision}@r{]} @gol | 463 @gccoptlist{-mcpu=@var{cpu}@r{[}-@var{sirevision}@r{]} @gol |
464 -msim -momit-leaf-frame-pointer -mno-omit-leaf-frame-pointer @gol | 464 -msim -momit-leaf-frame-pointer -mno-omit-leaf-frame-pointer @gol |
1732 two definitions were merged. | 1732 two definitions were merged. |
1733 | 1733 |
1734 This option is no longer useful on most targets, now that support has | 1734 This option is no longer useful on most targets, now that support has |
1735 been added for putting variables into BSS without making them common. | 1735 been added for putting variables into BSS without making them common. |
1736 | 1736 |
1737 @item -fno-deduce-init-list | |
1738 @opindex fno-deduce-init-list | |
1739 Disable deduction of a template type parameter as | |
1740 std::initializer_list from a brace-enclosed initializer list, i.e. | |
1741 | |
1742 @smallexample | |
1743 template <class T> auto forward(T t) -> decltype (realfn (t)) | |
1744 @{ | |
1745 return realfn (t); | |
1746 @} | |
1747 | |
1748 void f() | |
1749 @{ | |
1750 forward(@{1,2@}); // call forward<std::initializer_list<int>> | |
1751 @} | |
1752 @end smallexample | |
1753 | |
1754 This option is present because this deduction is an extension to the | |
1755 current specification in the C++0x working draft, and there was | |
1756 some concern about potential overload resolution problems. | |
1757 | |
1737 @item -ffriend-injection | 1758 @item -ffriend-injection |
1738 @opindex ffriend-injection | 1759 @opindex ffriend-injection |
1739 Inject friend functions into the enclosing namespace, so that they are | 1760 Inject friend functions into the enclosing namespace, so that they are |
1740 visible outside the scope of the class in which they are declared. | 1761 visible outside the scope of the class in which they are declared. |
1741 Friend functions were documented to work this way in the old Annotated | 1762 Friend functions were documented to work this way in the old Annotated |
6511 | 6532 |
6512 Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. | 6533 Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. |
6513 | 6534 |
6514 @item -fstrict-aliasing | 6535 @item -fstrict-aliasing |
6515 @opindex fstrict-aliasing | 6536 @opindex fstrict-aliasing |
6516 Allows the compiler to assume the strictest aliasing rules applicable to | 6537 Allow the compiler to assume the strictest aliasing rules applicable to |
6517 the language being compiled. For C (and C++), this activates | 6538 the language being compiled. For C (and C++), this activates |
6518 optimizations based on the type of expressions. In particular, an | 6539 optimizations based on the type of expressions. In particular, an |
6519 object of one type is assumed never to reside at the same address as an | 6540 object of one type is assumed never to reside at the same address as an |
6520 object of a different type, unless the types are almost the same. For | 6541 object of a different type, unless the types are almost the same. For |
6521 example, an @code{unsigned int} can alias an @code{int}, but not a | 6542 example, an @code{unsigned int} can alias an @code{int}, but not a |
6528 int i; | 6549 int i; |
6529 double d; | 6550 double d; |
6530 @}; | 6551 @}; |
6531 | 6552 |
6532 int f() @{ | 6553 int f() @{ |
6533 a_union t; | 6554 union a_union t; |
6534 t.d = 3.0; | 6555 t.d = 3.0; |
6535 return t.i; | 6556 return t.i; |
6536 @} | 6557 @} |
6537 @end smallexample | 6558 @end smallexample |
6538 The practice of reading from a different union member than the one most | 6559 The practice of reading from a different union member than the one most |
6541 is accessed through the union type. So, the code above will work as | 6562 is accessed through the union type. So, the code above will work as |
6542 expected. @xref{Structures unions enumerations and bit-fields | 6563 expected. @xref{Structures unions enumerations and bit-fields |
6543 implementation}. However, this code might not: | 6564 implementation}. However, this code might not: |
6544 @smallexample | 6565 @smallexample |
6545 int f() @{ | 6566 int f() @{ |
6546 a_union t; | 6567 union a_union t; |
6547 int* ip; | 6568 int* ip; |
6548 t.d = 3.0; | 6569 t.d = 3.0; |
6549 ip = &t.i; | 6570 ip = &t.i; |
6550 return *ip; | 6571 return *ip; |
6551 @} | 6572 @} |
9274 atmega64, atmega128, at43usb355, at94k). | 9295 atmega64, atmega128, at43usb355, at94k). |
9275 | 9296 |
9276 @item -msize | 9297 @item -msize |
9277 @opindex msize | 9298 @opindex msize |
9278 Output instruction sizes to the asm file. | 9299 Output instruction sizes to the asm file. |
9279 | |
9280 @item -minit-stack=@var{N} | |
9281 @opindex minit-stack | |
9282 Specify the initial stack address, which may be a symbol or numeric value, | |
9283 @samp{__stack} is the default. | |
9284 | 9300 |
9285 @item -mno-interrupts | 9301 @item -mno-interrupts |
9286 @opindex mno-interrupts | 9302 @opindex mno-interrupts |
9287 Generated code is not compatible with hardware interrupts. | 9303 Generated code is not compatible with hardware interrupts. |
9288 Code size will be smaller. | 9304 Code size will be smaller. |