]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2002-05-18 Benjamin Kosnik <bkoz@redhat.com>
authorBenjamin Kosnik <bkoz@redhat.com>
Sat, 18 May 2002 14:37:49 +0000 (14:37 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Sat, 18 May 2002 14:37:49 +0000 (14:37 +0000)
* include/bits/fstream.tcc
(basic_filebuf::_M_allocate_internal_buffer): Remove extraneous
try/catch blocks.
* src/localename.cc (locale::_Impl::_M_install_facet): Same.

* docs/html/install.html: Tweak, add bits about required locales
for the 22_locale tests when using the gnu model.

* testsuite/27_io/istream_sentry.cc: Tweak.

From-SVN: r53583

libstdc++-v3/ChangeLog
libstdc++-v3/docs/html/install.html
libstdc++-v3/include/bits/fstream.tcc
libstdc++-v3/src/localename.cc
libstdc++-v3/testsuite/27_io/istream_sentry.cc

index 8c9169457d64437964a9e012b34c2ce0684ef590..f31037f54c88e217ed4710404e5b7332f4bd7ad1 100644 (file)
@@ -1,3 +1,15 @@
+2002-05-18  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * include/bits/fstream.tcc
+       (basic_filebuf::_M_allocate_internal_buffer): Remove extraneous
+       try/catch blocks.
+       * src/localename.cc (locale::_Impl::_M_install_facet): Same.
+
+       * docs/html/install.html: Tweak, add bits about required locales
+       for the 22_locale tests when using the gnu model.
+
+       * testsuite/27_io/istream_sentry.cc: Tweak.
+
 2002-05-16  Phil Edwards  <pme@gcc.gnu.org>
 
        * docs/html/faq/index.html:  Update not-a-bug list with basic_file.h.
index dce85f02d69784c321a2555e7b583b8c4ba9a478..c2ec0305a9d9688fd54dbc838b95e4541ffc7a56 100644 (file)
 
    <p>As of June 19, 2000, libstdc++ attempts to use tricky and
       space-saving features of the GNU toolchain, enabled with
-      <code>-ffunction-sections -fdata-sections -Wl,--gc-sections</code>.
-      To obtain maximum benefit from this, binutils after this date
-      should also be used (bugs were fixed with C++ exception handling
-      related to this change in libstdc++-v3).  The version of these
-      tools should be <code>2.10.90</code>, and you can get snapshots (as
-      well as releases) of binutils
-      <a href="ftp://sources.redhat.com/pub/binutils">here</a>.
+      <code>-ffunction-sections -fdata-sections
+      -Wl,--gc-sections</code>.  To obtain maximum benefit from this,
+      binutils after this date should also be used (bugs were fixed
+      with C++ exception handling related to this change in
+      libstdc++-v3).  The version of these tools should be
+      <code>2.10.90</code>, or later, and you can get snapshots (as
+      well as releases) of binutils 
+      <a href="ftp://sources.redhat.com/pub/binutils">here</a>. The
+      configure process will automatically detect and use these
+      features if the underlying support is present.
    </p>
 
    <p>If you are using a 3.1-series libstdc++ snapshot, then the
-      requirements are slightly more stringent:  the compiler sources must
-      also be 3.1 or later (for both technical and licensing reasons), and
-      your binutils must be 2.11.95 or later if you want to use symbol
-      versioning in shared libraries.
+      requirements are slightly more stringent: the compiler sources
+      must also be 3.1 or later (for both technical and licensing
+      reasons), and your binutils must be 2.11.95 or later if you want
+      to use symbol versioning in shared libraries. Again, the
+      configure process will automatically detect and use these
+      features if the underlying support is present.
    </p>
  
- <!-- Commented until some system-specific requirements appear.
-   <p>Finally, a few system-specific requirements:
+    <p>Finally, a few system-specific requirements:
       <dl>
-        <dt>Cygwin
-        <dd>If you are using Cygwin to compile libstdc++-v3 on Win32, you'll
-            [snip]
-
+        <dt> linux
+
+        <dd>If you are using gcc 3.1 or later on linux, and are using
+        the gnu locale model (enabled by default for sufficient
+        versions of glibc), the following locales are used and tested
+        in the libstdc++ testsuites: en_HK, en_US, fr_FR, fr_FR@euro,
+        de_DE, de_DE@euro, ja_JP.eucjp, and it_IT. Failure to have the
+        underlying "C" library locale information installed will mean
+        that C++ named locales for the above regions will not work:
+        because of this, the libstdc++ testsuite will not pass the
+        named locale tests. If this isn't an issue, don't worry about
+        it. If named locales are needed, the underlying locale
+        information must be installed. Note that rebuilding libstdc++
+        after locales are installed is not necessary. 
+       
+       <p> To install
+        support for locales, do only one of the following: </p>
+        <p>
+         <li> install all locales
+         <p> <code> export LC_ALL=C </code> </p>
+         <p> <code> rpm -e glibc-common --nodeps </code> </p>
+         <p> <code> rpm -i --define "_install_langs all" 
+         glibc-common-2.2.5-34.i386.rpm </code> </p>
+         <li> install just the necessary locales
+         <p> <code> localedef -i de_DE -f ISO-8859-1 de_DE </code> </p>
+         </p>
       </dl>
    </p>
--->
 
 <hr>
 
index 90850f54f0d70baad7ff4a1da0e5e1d566ffaf8a..5b7e8bf9eaedd04f2100e35966e68e6baf591cd1 100644 (file)
@@ -49,12 +49,7 @@ namespace std
          _M_buf_size = _M_buf_size_opt;
 
          // Allocate internal buffer.
-         try { _M_buf = new char_type[_M_buf_size]; }
-         catch(...) 
-           {
-             delete [] _M_buf;
-             __throw_exception_again;
-           }
+         _M_buf = new char_type[_M_buf_size]; 
          _M_buf_allocated = true;
        }
     }
index 1b40e0c3db666ed4498c98c059ee9cf1c6ee3448..824d9790cef9f5e8b81248a626e2de96e6854a53 100644 (file)
@@ -255,13 +255,7 @@ namespace std
            facet** __old = _M_facets;
            facet** __new;
            const size_t __new_size = __index + 4;
-           try
-             { __new = new facet*[__new_size]; }
-           catch(...) 
-             {
-               delete [] __new;
-               __throw_exception_again;
-             }
+           __new = new facet*[__new_size]; 
            for (size_t __i = 0; __i < _M_facets_size; ++__i)
              __new[__i] = _M_facets[__i];
            for (size_t __i2 = _M_facets_size; __i2 < __new_size; ++__i2)
index 88dcb91df248025f1938c7ae2ab6bc00d7bc2801..8ff446f09fc22dbc53c15868d8ba211943a6bdf2 100644 (file)
@@ -70,7 +70,7 @@ test02()
   double x;
 
   // ios_base::eof == 2
-  while(in >> x)
+  while (in >> x)
     {
       ++i;
       if (i > 3)