diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2002-05-13 13:58:00 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2002-05-13 13:58:00 +0000 |
commit | 540f5c9b2d578aa5f1d5546eec7c9493b26ac3a5 (patch) | |
tree | 33dcb11f77ea15c38b0a56909da70847cdb36831 | |
parent | a8b432f4def6548c398a660a2880517f20802fcc (diff) | |
download | gcc-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/ChangeLog | 12 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/install.html | 61 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/fstream.tcc | 7 | ||||
-rw-r--r-- | libstdc++-v3/src/localename.cc | 8 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/27_io/istream_sentry.cc | 2 |
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) |