Deleted Added
full compact
invoke.texi (259890) invoke.texi (260074)
1@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2@c 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
3@c This is part of the GCC manual.
4@c For copying conditions, see the file gcc.texi.
5
6@ignore
7@c man begin INCLUDE
8@include gcc-vers.texi

--- 153 unchanged lines hidden (view full) ---

162
163@item C Language Options
164@xref{C Dialect Options,,Options Controlling C Dialect}.
165@gccoptlist{-ansi -std=@var{standard} -fgnu89-inline @gol
166-aux-info @var{filename} @gol
167-fno-asm -fno-builtin -fno-builtin-@var{function} @gol
168-fhosted -ffreestanding -fopenmp -fms-extensions @gol
169-trigraphs -no-integrated-cpp -traditional -traditional-cpp @gol
1@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2@c 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
3@c This is part of the GCC manual.
4@c For copying conditions, see the file gcc.texi.
5
6@ignore
7@c man begin INCLUDE
8@include gcc-vers.texi

--- 153 unchanged lines hidden (view full) ---

162
163@item C Language Options
164@xref{C Dialect Options,,Options Controlling C Dialect}.
165@gccoptlist{-ansi -std=@var{standard} -fgnu89-inline @gol
166-aux-info @var{filename} @gol
167-fno-asm -fno-builtin -fno-builtin-@var{function} @gol
168-fhosted -ffreestanding -fopenmp -fms-extensions @gol
169-trigraphs -no-integrated-cpp -traditional -traditional-cpp @gol
170-fallow-single-precision -fcond-mismatch @gol
170-fallow-single-precision -fcond-mismatch -flax-vector-conversions @gol
171-fsigned-bitfields -fsigned-char @gol
172@c APPLE LOCAL -Wnewline-eof 2001-08-23 --sts **
173-Wnewline-eof (Apple compatible) @gol
174-funsigned-bitfields -funsigned-char}
175
176@item C++ Language Options
177@xref{C++ Dialect Options,,Options Controlling C++ Dialect}.
178@gccoptlist{-fabi-version=@var{n} -fno-access-control -fcheck-new @gol

--- 4 unchanged lines hidden (view full) ---

183-fno-implicit-templates @gol
184-fno-implicit-inline-templates @gol
185-fno-implement-inlines -fms-extensions @gol
186-fno-nonansi-builtins -fno-operator-names @gol
187-fno-optional-diags -fpermissive @gol
188-frepo -fno-rtti -fstats -ftemplate-depth-@var{n} @gol
189-fno-threadsafe-statics -fuse-cxa-atexit -fno-weak -nostdinc++ @gol
190-fno-default-inline -fvisibility-inlines-hidden @gol
171-fsigned-bitfields -fsigned-char @gol
172@c APPLE LOCAL -Wnewline-eof 2001-08-23 --sts **
173-Wnewline-eof (Apple compatible) @gol
174-funsigned-bitfields -funsigned-char}
175
176@item C++ Language Options
177@xref{C++ Dialect Options,,Options Controlling C++ Dialect}.
178@gccoptlist{-fabi-version=@var{n} -fno-access-control -fcheck-new @gol

--- 4 unchanged lines hidden (view full) ---

183-fno-implicit-templates @gol
184-fno-implicit-inline-templates @gol
185-fno-implement-inlines -fms-extensions @gol
186-fno-nonansi-builtins -fno-operator-names @gol
187-fno-optional-diags -fpermissive @gol
188-frepo -fno-rtti -fstats -ftemplate-depth-@var{n} @gol
189-fno-threadsafe-statics -fuse-cxa-atexit -fno-weak -nostdinc++ @gol
190-fno-default-inline -fvisibility-inlines-hidden @gol
191-fvisibility-ms-compat @gol
191-Wabi -Wctor-dtor-privacy @gol
192-Wnon-virtual-dtor -Wreorder @gol
193-Weffc++ -Wno-deprecated -Wstrict-null-sentinel @gol
194-Wno-non-template-friend -Wold-style-cast @gol
195-Woverloaded-virtual -Wno-pmf-conversions @gol
196-Wsign-promo}
197
198@item Language Independent Options

--- 1135 unchanged lines hidden (view full) ---

1334CPP manual for details.
1335
1336@item -fcond-mismatch
1337@opindex fcond-mismatch
1338Allow conditional expressions with mismatched types in the second and
1339third arguments. The value of such an expression is void. This option
1340is not supported for C++.
1341
192-Wabi -Wctor-dtor-privacy @gol
193-Wnon-virtual-dtor -Wreorder @gol
194-Weffc++ -Wno-deprecated -Wstrict-null-sentinel @gol
195-Wno-non-template-friend -Wold-style-cast @gol
196-Woverloaded-virtual -Wno-pmf-conversions @gol
197-Wsign-promo}
198
199@item Language Independent Options

--- 1135 unchanged lines hidden (view full) ---

1335CPP manual for details.
1336
1337@item -fcond-mismatch
1338@opindex fcond-mismatch
1339Allow conditional expressions with mismatched types in the second and
1340third arguments. The value of such an expression is void. This option
1341is not supported for C++.
1342
1343@item -flax-vector-conversions
1344@opindex flax-vector-conversions
1345Allow implicit conversions between vectors with differing numbers of
1346elements and/or incompatible element types. This option should not be
1347used for new code.
1348
1342@item -funsigned-char
1343@opindex funsigned-char
1344Let the type @code{char} be unsigned, like @code{unsigned char}.
1345
1346Each kind of machine has a default for what @code{char} should
1347be. It is either like @code{unsigned char} by default or like
1348@code{signed char} by default.
1349

--- 267 unchanged lines hidden (view full) ---

1617compare pointers to a particular inline method, you might mark it as
1618having default visibility. Marking the enclosing class with explicit
1619visibility will have no effect.
1620
1621Explicitly instantiated inline methods are unaffected by this option
1622as their linkage might otherwise cross a shared library boundary.
1623@xref{Template Instantiation}.
1624
1349@item -funsigned-char
1350@opindex funsigned-char
1351Let the type @code{char} be unsigned, like @code{unsigned char}.
1352
1353Each kind of machine has a default for what @code{char} should
1354be. It is either like @code{unsigned char} by default or like
1355@code{signed char} by default.
1356

--- 267 unchanged lines hidden (view full) ---

1624compare pointers to a particular inline method, you might mark it as
1625having default visibility. Marking the enclosing class with explicit
1626visibility will have no effect.
1627
1628Explicitly instantiated inline methods are unaffected by this option
1629as their linkage might otherwise cross a shared library boundary.
1630@xref{Template Instantiation}.
1631
1632@item -fvisibility-ms-compat
1633@opindex fvisibility-ms-compat
1634This flag attempts to use visibility settings to make GCC's C++
1635linkage model compatible with that of Microsoft Visual Studio.
1636
1637The flag makes these changes to GCC's linkage model:
1638
1639@enumerate
1640@item
1641It sets the default visibility to @code{hidden}, like
1642@option{-fvisibility=hidden}.
1643
1644@item
1645Types, but not their members, are not hidden by default.
1646
1647@item
1648The One Definition Rule is relaxed for types without explicit
1649visibility specifications which are defined in more than one different
1650shared object: those declarations are permitted if they would have
1651been permitted when this option was not used.
1652@end enumerate
1653
1654In new code it is better to use @option{-fvisibility=hidden} and
1655export those classes which are intended to be externally visible.
1656Unfortunately it is possible for code to rely, perhaps accidentally,
1657on the Visual Studio behaviour.
1658
1659Among the consequences of these changes are that static data members
1660of the same type with the same name but defined in different shared
1661objects will be different, so changing one will not change the other;
1662and that pointers to function members defined in different shared
1663objects may not compare equal. When this flag is given, it is a
1664violation of the ODR to define types with the same name differently.
1665
1625@item -fno-weak
1626@opindex fno-weak
1627Do not use weak symbol support, even if it is provided by the linker.
1628By default, G++ will use weak symbols if they are available. This
1629option exists only for testing, and should not be used by end-users;
1630it will result in inferior code and has no benefits. This option may
1631be removed in a future release of G++.
1632

--- 12375 unchanged lines hidden ---
1666@item -fno-weak
1667@opindex fno-weak
1668Do not use weak symbol support, even if it is provided by the linker.
1669By default, G++ will use weak symbols if they are available. This
1670option exists only for testing, and should not be used by end-users;
1671it will result in inferior code and has no benefits. This option may
1672be removed in a future release of G++.
1673

--- 12375 unchanged lines hidden ---