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