c-tree.texi: Update information about flag_honor_std.
authorMark Mitchell <mark@codesourcery.com>
Mon, 11 Jun 2001 21:29:39 +0000 (21:29 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Mon, 11 Jun 2001 21:29:39 +0000 (21:29 +0000)
* 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.

* config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
variable-sized types.

* lang-options.h: Emit documentation for -fno-honor-std, not
-fhonor-std.

From-SVN: r43226

gcc/ChangeLog
gcc/config/mips/abi64.h
gcc/cp/ChangeLog
gcc/cp/lang-options.h
gcc/doc/c-tree.texi
gcc/doc/install.texi
gcc/doc/invoke.texi

index 340322f..a382d51 100644 (file)
@@ -1,3 +1,13 @@
+2001-06-11  Mark Mitchell  <mark@codesourcery.com>
+
+       * 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.
+
+       * config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
+       variable-sized types.
+
 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * doc/md.texi: Use TeX dashes and quotes.
index 835f853..5be5f51 100644 (file)
@@ -86,12 +86,17 @@ Boston, MA 02111-1307, USA.  */
              || GET_MODE_CLASS (MODE) == MODE_INT)))                   \
       ? downward : upward))
 
+/* Under the old (i.e., 32 and O64 ABIs) all BLKmode objects are
+   returned in memory.  Under the new (N32 and 64-bit MIPS ABIs) small
+   structures are returned in a register.  Objects with varying size
+   must still be returned in memory, of course.  */
 #undef RETURN_IN_MEMORY
-#define RETURN_IN_MEMORY(TYPE)                                         \
-  ((mips_abi == ABI_32 || mips_abi == ABI_O64)                         \
-   ? TYPE_MODE (TYPE) == BLKmode                                       \
-   : (int_size_in_bytes (TYPE)                                         \
-      > (2 * UNITS_PER_WORD)))
+#define RETURN_IN_MEMORY(TYPE)                                          \
+  ((mips_abi == ABI_32 || mips_abi == ABI_O64)                          \
+   ? TYPE_MODE (TYPE) == BLKmode                                        \
+   : ((int_size_in_bytes (TYPE)                                                 \
+       > (2 * UNITS_PER_WORD))                                                  \
+      || (int_size_in_bytes (TYPE) == -1)))
 
 #ifdef ANSI_PROTOTYPES
 union tree_node;
index 02fb550..8d84da6 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-11  Mark Mitchell  <mark@codesourcery.com>
+
+       * lang-options.h: Emit documentation for -fno-honor-std, not
+       -fhonor-std.
+
 2001-06-10  Alexandre Oliva  <aoliva@redhat.com>
 
        * typeck.c (get_member_function_from_ptrfunc) [vbit_in_delta]:
index d023248..172461a 100644 (file)
@@ -64,9 +64,9 @@ DEFINE_LANG_NAME ("C++")
     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", "" },
+  { "-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 7fe7b4c..d5a786b 100644 (file)
@@ -619,16 +619,13 @@ representation, the global namespace is no different from any other
 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
+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, even though the library supplied with G++
-does not do so, as of GCC 2.95.  The @code{std} namespace is represented
+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 4670851..3c491cc 100644 (file)
@@ -33,7 +33,7 @@
 @settitle Installing GCC: Binaries
 @end ifset
 
-@comment $Id: install.texi,v 1.17 2001/06/11 01:03:11 aoliva Exp $
+@comment $Id: install.texi,v 1.18 2001/06/11 07:26:33 jsm28 Exp $
 @c Copyright (C) 2001 Free Software Foundation, Inc.
 @c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com
 
@@ -1726,10 +1726,8 @@ bootstrap}.
 @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.
-
+GCC 3.0 supports HP-UX 11.  You must use GNU binutils 2.11 or above on
+this platform.
 
 @html
 </p>
index 04e0f32..eeecbee 100644 (file)
@@ -174,7 +174,7 @@ in the following sections.
 -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
+-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
@@ -1355,13 +1355,18 @@ Do not recognize @code{typeof} as a keyword, so that code can use this
 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-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