aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2002-05-13 13:58:00 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2002-05-13 13:58:00 +0000
commit540f5c9b2d578aa5f1d5546eec7c9493b26ac3a5 (patch)
tree33dcb11f77ea15c38b0a56909da70847cdb36831
parenta8b432f4def6548c398a660a2880517f20802fcc (diff)
downloadgcc-540f5c9b2d578aa5f1d5546eec7c9493b26ac3a5.zip
gcc-540f5c9b2d578aa5f1d5546eec7c9493b26ac3a5.tar.gz
gcc-540f5c9b2d578aa5f1d5546eec7c9493b26ac3a5.tar.bz2
2002-05-13 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. From-SVN: r53423
-rw-r--r--libstdc++-v3/ChangeLog12
-rw-r--r--libstdc++-v3/docs/html/install.html61
-rw-r--r--libstdc++-v3/include/bits/fstream.tcc7
-rw-r--r--libstdc++-v3/src/localename.cc8
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_sentry.cc2
5 files changed, 58 insertions, 32 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 8f6065d..5d5f675 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,15 @@
+2002-05-13 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-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* config/os/irix/irix5.2/bits/ctype_inline.h (scan_is, scan_not):
diff --git a/libstdc++-v3/docs/html/install.html b/libstdc++-v3/docs/html/install.html
index dce85f0..c2ec030 100644
--- a/libstdc++-v3/docs/html/install.html
+++ b/libstdc++-v3/docs/html/install.html
@@ -67,32 +67,57 @@
<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>
diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc
index 90850f5..5b7e8bf 100644
--- a/libstdc++-v3/include/bits/fstream.tcc
+++ b/libstdc++-v3/include/bits/fstream.tcc
@@ -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;
}
}
diff --git a/libstdc++-v3/src/localename.cc b/libstdc++-v3/src/localename.cc
index 1b40e0c..824d979 100644
--- a/libstdc++-v3/src/localename.cc
+++ b/libstdc++-v3/src/localename.cc
@@ -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)
diff --git a/libstdc++-v3/testsuite/27_io/istream_sentry.cc b/libstdc++-v3/testsuite/27_io/istream_sentry.cc
index 88dcb91..8ff446f 100644
--- a/libstdc++-v3/testsuite/27_io/istream_sentry.cc
+++ b/libstdc++-v3/testsuite/27_io/istream_sentry.cc
@@ -70,7 +70,7 @@ test02()
double x;
// ios_base::eof == 2
- while(in >> x)
+ while (in >> x)
{
++i;
if (i > 3)