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.