PATCH: Remove non-working switches
Mark Mitchell
mark@codesourcery.com
Mon Jun 11 14:23:00 GMT 2001
This patch removes some undocumented, and non-working, command-line
options:
-feliminate-dwarf2-dups
-fbounded-pointers
-fbounds-check
In addition, it updates the documentation for -fhonor-std.
(Parenthetically, I think we should consider removing -fno-honor-std
in our next release. It's really hard to imagine how you could use
this option sanely, now that the run-time is in `std', and we would
reduce the overall complexity of the system by a little bit.)
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com
2001-06-11 Mark Mitchell <mark@codesourcery.com>
* toplev.c (lang_independent_f_options): Remove
-feliminate-dwarf2-dups, -fbounded-pointers, and -fbounds-check.
* doc/c-tree.texi: Update information about flag_honor_std.
* doc/install.texi: Note that binutils is required on HPUX 11.
* doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
now the default.
2001-06-11 Mark Mitchell <mark@codesourcery.com>
* lang-options.h: Emit documentation for -fno-honor-std, not
-fhonor-std.
Index: gcc/toplev.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/toplev.c,v
retrieving revision 1.420.2.28
diff -c -p -r1.420.2.28 toplev.c
*** toplev.c 2001/06/10 00:30:43 1.420.2.28
--- toplev.c 2001/06/11 20:51:23
*************** static const param_info lang_independent
*** 972,979 ****
lang_independent_options f_options[] =
{
- {"eliminate-dwarf2-dups", &flag_eliminate_dwarf2_dups, 1,
- N_("Perform DWARF2 duplicate elimination") },
{"float-store", &flag_float_store, 1,
N_("Do not store floats in registers") },
{"volatile", &flag_volatile, 1,
--- 972,977 ----
*************** lang_independent_options f_options[] =
*** 1139,1148 ****
N_("Enables guessing of branch probabilities") },
{"math-errno", &flag_errno_math, 1,
N_("Set errno after built-in math functions") },
- {"bounded-pointers", &flag_bounded_pointers, 1,
- N_("Compile pointers as triples: value, base & end") },
- {"bounds-check", &flag_bounds_check, 1,
- N_("Generate code to check bounds before dereferencing pointers and arrays") },
{"single-precision-constant", &flag_single_precision_constant, 1,
N_("Convert floating point constant to single precision constant") },
{"time-report", &time_report, 1,
--- 1137,1142 ----
Index: gcc/cp/lang-options.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/lang-options.h,v
retrieving revision 1.37.4.2
diff -c -p -r1.37.4.2 lang-options.h
*** lang-options.h 2001/05/26 05:45:48 1.37.4.2
--- lang-options.h 2001/06/11 20:51:24
*************** DEFINE_LANG_NAME ("C++")
*** 64,72 ****
N_("Do not recognise GNU defined keywords") },
{ "-fhandle-exceptions", "" },
{ "-fno-handle-exceptions", "" },
! { "-fhonor-std",
! N_("Treat the namespace `std' as a normal namespace") },
! { "-fno-honor-std", "" },
{ "-fhuge-objects",
N_("Enable support for huge objects") },
{ "-fno-huge-objects", "" },
--- 64,72 ----
N_("Do not recognise GNU defined keywords") },
{ "-fhandle-exceptions", "" },
{ "-fno-handle-exceptions", "" },
! { "-fhonor-std", "" },
! { "-fno-honor-std",
! N_("Do not treat the namespace `std' as a normal namespace") },
{ "-fhuge-objects",
N_("Enable support for huge objects") },
{ "-fno-huge-objects", "" },
Index: gcc/doc/c-tree.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/c-tree.texi,v
retrieving revision 1.3.2.2
diff -c -p -r1.3.2.2 c-tree.texi
*** c-tree.texi 2001/06/11 12:03:01 1.3.2.2
--- c-tree.texi 2001/06/11 20:51:24
*************** representation, the global namespace is
*** 619,634 ****
namespace. Thus, in what follows, we describe namespaces generally,
rather than the global namespace in particular.
! The @code{::std} namespace, however, @emph{is} special, unless
! @code{flag_honor_std} is set. This variable is set by the use
! @option{-fhonor-std} (or an option that implies it, like
! @option{-fnew-abi}), when invoking G++. When @code{flag_honor_std} is
! set, the @code{std} namespace is just like any other namespace. When
@code{flag_honor_std} is not set, however, the @code{::std} namespace is
treated as a synonym for the global namespace, thereby allowing users to
write code that will work with compilers that put the standard library
! in the @code{::std} namespace, even though the library supplied with G++
! does not do so, as of GCC 2.95. The @code{std} namespace is represented
by the variable @code{std_node}. Although @code{std_node} is a
@code{NAMESPACE_DECL}, it does not have all the fields required of a
real namespace, and the macros and functions described here do not work,
--- 619,631 ----
namespace. Thus, in what follows, we describe namespaces generally,
rather than the global namespace in particular.
! The @code{::std} namespace, however, @emph{is} special when
! @code{flag_honor_std} is not set. When @code{flag_honor_std} is set,
! the @code{std} namespace is just like any other namespace. When
@code{flag_honor_std} is not set, however, the @code{::std} namespace is
treated as a synonym for the global namespace, thereby allowing users to
write code that will work with compilers that put the standard library
! in the @code{::std} namespace. The @code{std} namespace is represented
by the variable @code{std_node}. Although @code{std_node} is a
@code{NAMESPACE_DECL}, it does not have all the fields required of a
real namespace, and the macros and functions described here do not work,
Index: gcc/doc/install.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/install.texi,v
retrieving revision 1.1.2.18
diff -c -p -r1.1.2.18 install.texi
*** install.texi 2001/06/11 07:28:37 1.1.2.18
--- install.texi 2001/06/11 20:51:28
*************** bootstrap}.
*** 1726,1735 ****
@end html
@heading @anchor{hppa*-hp-hpux11}hppa*-hp-hpux11
! GCC 2.95.2 does not support HP-UX 11, and it cannot generate 64-bit
! object files. Current (as of late 2000) snapshots and GCC 3.0 do support
! HP-UX 11.
!
@html
</p>
--- 1726,1733 ----
@end html
@heading @anchor{hppa*-hp-hpux11}hppa*-hp-hpux11
! GCC 3.0 supports HP-UX 11. You must use GNU binutils 2.11 or above on
! this platform.
@html
</p>
Index: gcc/doc/invoke.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/invoke.texi,v
retrieving revision 1.3.2.7
diff -c -p -r1.3.2.7 invoke.texi
*** invoke.texi 2001/06/11 00:58:01 1.3.2.7
--- invoke.texi 2001/06/11 20:51:31
*************** in the following sections.
*** 174,180 ****
-fno-elide-constructors @gol
-fno-enforce-eh-specs -fexternal-templates @gol
-falt-external-templates @gol
! -ffor-scope -fno-for-scope -fno-gnu-keywords -fhonor-std @gol
-fno-implicit-templates @gol
-fno-implicit-inline-templates @gol
-fno-implement-inlines -fms-extensions @gol
--- 174,180 ----
-fno-elide-constructors @gol
-fno-enforce-eh-specs -fexternal-templates @gol
-falt-external-templates @gol
! -ffor-scope -fno-for-scope -fno-gnu-keywords -fno-honor-std @gol
-fno-implicit-templates @gol
-fno-implicit-inline-templates @gol
-fno-implement-inlines -fms-extensions @gol
*************** Do not recognize @code{typeof} as a keyw
*** 1351,1363 ****
word as an identifier. You can use the keyword @code{__typeof__} instead.
@samp{-ansi} implies @samp{-fno-gnu-keywords}.
! @item -fhonor-std
! @opindex fhonor-std
! Treat the @code{namespace std} as a namespace, instead of ignoring
! it. For compatibility with earlier versions of g++, the compiler will,
! by default, ignore @code{namespace-declarations},
! @code{using-declarations}, @code{using-directives}, and
! @code{namespace-names}, if they involve @code{std}.
@item -fno-implicit-templates
@opindex fno-implicit-templates
--- 1351,1368 ----
word as an identifier. You can use the keyword @code{__typeof__} instead.
@samp{-ansi} implies @samp{-fno-gnu-keywords}.
! @item -fno-honor-std
! @opindex fno-honor-std
! Ignore @code{namespace std}, instead of treating it as a real namespace.
! With this switch, the compiler will ignore
! @code{namespace-declarations}, @code{using-declarations},
! @code{using-directives}, and @code{namespace-names}, if they involve
! @code{std}.
!
! This option is only useful if you have manually compiled the C++
! run-time library with the same switch. Otherwise, your programs will
! not link. The use of this option is not recommended, and the option may
! be removed from a future version of G++.
@item -fno-implicit-templates
@opindex fno-implicit-templates
More information about the Gcc-patches
mailing list