Commit Graph

143 Commits

Author SHA1 Message Date
Gabriel Dos Reis
15f13f01ed * include/bits/basic_string.tcc (operator+): Fix thinko.
From-SVN: r40493
2001-03-15 08:46:23 +00:00
Benjamin Kosnik
69302d8b5e std_streambuf.h: Remove cached locale facets.
2001-03-14  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2020
	* include/bits/std_streambuf.h: Remove cached locale facets.
	(basic_streambuf::_M_buf_fctype): Remove.
	(basic_streambuf::~basic_streambuf): Remove here.
	(basic_streambuf::basic_streambuf): Same.
	(basic_streambuf::imbue): Same.
	* include/bits/fstream.tcc (filebuf::imbue): Remove _M_buf_fctype.
	* include/bits/std_fstream.h (basic_filebuf::_M_fcvt): Remove.
	(basic_filebuf::~basic_filebuf()): Remove here.
	* include/bits/fstream.tcc (basic_filebuf::basic_filebuf): Same.
	(basic_filebuf::imbue): Same.
	* include/bits/localefwd.h (_Count_ones): Remove.
	(locale::_S_num_categories): Just use 6, since this doesn't
	actually change, ever.
	* include/bits/locale_facets.tcc (has_facet): Simplify.
	(use_facet): Same.
	* testsuite/27_io/filebuf.cc (test06): Add tests.

From-SVN: r40472
2001-03-14 20:46:34 +00:00
Benjamin Kosnik
db1d582c81 Fixups for -fno-for-scope
2001-03-12  Benjamin Kosnik  <bkoz@redhat.com>

	Fixups for -fno-for-scope
	* include/bits/locale_facets.tcc (__match_parallel): Fixup.
	* src/valarray-inst.cc (__gslice_to_index): Same.

From-SVN: r40429
2001-03-12 21:42:57 +00:00
Benjamin Kosnik
1877bd890d vector.h: Include std_vector.h.
2001-03-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/backward/vector.h: Include std_vector.h.

From-SVN: r40425
2001-03-12 19:58:04 +00:00
Craig Rodrigues
86c18af9bb hashtable.h: Same.
2001-03-12  Craig Rodrigues  <rodrigc@mediaone.net>

	* include/backward/hashtable.h: Same.
	* include/backward/rope.h: Fix include.

From-SVN: r40418
2001-03-12 18:49:33 +00:00
Benjamin Kosnik
bc4f48d775 istream.tcc (basic_istream<_CharT, [...]): Fix typo.
2001-03-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/istream.tcc (basic_istream<_CharT, _Traits>&
	operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)):
	Fix typo.

From-SVN: r40417
2001-03-12 18:30:29 +00:00
Peter Schmid
8f9995782e stl_hashtable.h: Change type of __n to size_t
2001-03-11  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

        * include/ext/stl_hashtable.h: Change type of __n to size_t
        * include/backward/bvector.h: Include <ext/stl_bvector.h>

From-SVN: r40416
2001-03-12 18:18:34 +00:00
Benjamin Kosnik
0e061da691 [multiple changes]
2001-03-09  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/istream.tcc ( basic_istream<_CharT, _Traits>&
	operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)):
	Use streamsize, not int_type.

2001-03-08  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/streambuf.cc (test06): New test, disabled at the
	moment.

From-SVN: r40358
2001-03-10 01:36:23 +00:00
Benjamin Kosnik
d32c94be18 std_iosfwd.h: Remove string forward decls here.
2001-03-07  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/std_iosfwd.h: Remove string forward decls here.
	* include/bits/stringfwd.h: Add forward decls for char_traits
	specializations.
	* config/c_io_libio.h (wstreamoff): Delete.
	* config/c_io_stdio.h (wstreamoff): Same.
	* include/bits/char_traits.h: Use streamoff not wstreamoff for
	char_traits<wchar_t>::off_type.
	Remove duplicate typedefs.
	* include/bits/fpos.h: Define streampos/wstreampos here.
	* testsuite/27_io/istream_seeks.cc (test04): Explicitly cast int
	values to off_type.
	(test05): Same.
	Changeup output files.
	* testsuite/27_io/istream_unformatted.cc: Change output files.
	* testsuite/27_io/istream_seeks-1.txt: Add.
	* testsuite/27_io/istream_seeks-2.tst: Add.
	* testsuite/27_io/istream_seeks-1.tst: Add.
	* testsuite/27_io/istream_unformatted-2.tst: Delete.
	* testsuite/27_io/istream_unformatted-3.tst: Delete.
	* testsuite/27_io/istream_unformatted-3.txt: Delete.

From-SVN: r40303
2001-03-07 22:22:41 +00:00
Benjamin Kosnik
2077a6c51e istream.tcc (basic_istream<_CharT, [...]): Don't use sentry.
2001-03-06  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2181
	* include/bits/istream.tcc (basic_istream<_CharT, _Traits>::
	operator>>(__istream_type& (*__pf)(__istream_type&)): Don't use
	sentry.
	(basic_istream<_CharT, _Traits>:: operator>>(__ios_type&
	(*__pf)(__ios_type&)): Same.
	(basic_istream<_CharT, _Traits>:: operator>>(ios_base&
	(*__pf)(ios_base&))): Same.
	* testsuite/27_io/istream_extractor_other.cc: Add tests.
	* testsuite/27_io/istream_manip.cc (test01): Fix.

From-SVN: r40281
2001-03-07 02:08:59 +00:00
Nathan Myers
d3688a0232 std_cerrno.h: Don't define errno in std::.
2001-03-06  Nathan Myers  <ncm@cantrip.org>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cerrno.h: Don't define errno in std::.
	* testsuite/17_intro/header_cerrno.cc (test01): New file.
	* testsuite/17_intro/header_cassert.cc (test01): New file.
	* testsuite/17_intro/header_cstddef.cc (test01): New file.
	* testsuite/17_intro/header_csetjmp.cc (test01): New file.
	* testsuite/17_intro/header_cstdarg.cc (test01): New file.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r40270
2001-03-06 23:32:59 +00:00
Scott Snyder
21aaf8bffc std_cmath.h: Move abs(long), div(long,long) from here...
2001-03-05  scott snyder  <snyder@fnal.gov>

	libstdc++/2190
        * include/c_std/bits/std_cmath.h: Move abs(long), div(long,long)
        from here...
        * include/c_std/bits/std_cstdlib.h: ... to here.
	* testsuite/17_intro/header_cstdlib.cc: Add test.

From-SVN: r40254
2001-03-06 02:51:15 +00:00
Phil Edwards
d53d7f6e61 algo.h: Use std not __STD.
2001-03-04  Phil Edwards  <pme@sources.redhat.com>

	http://gcc.gnu.org/ml/libstdc++/2001-03/msg00015.html
	* include/backward/algo.h:  Use std not __STD.  Remove unneeded
	macros and "never happens" code.  Adjust to C++STYLE guidelines.
	* include/backward/algobase.h:  Likewise.
	* include/backward/alloc.h:  Likewise.
	* include/backward/bvector.h:  Likewise.
	* include/backward/deque.h:  Likewise.
	* include/backward/function.h:  Likewise.
	* include/backward/hash_map.h:  Likewise.
	* include/backward/hash_set.h:  Likewise.
	* include/backward/hashtable.h:  Likewise.
	* include/backward/heap.h:  Likewise.
	* include/backward/iterator.h:  Likewise.
	* include/backward/list.h:  Likewise.
	* include/backward/map.h:  Likewise.
	* include/backward/multimap.h:  Likewise.
	* include/backward/multiset.h:  Likewise.
	* include/backward/pair.h:  Likewise.
	* include/backward/rope.h:  Likewise.
	* include/backward/set.h:  Likewise.
	* include/backward/slist.h:  Likewise.
	* include/backward/stack.h:  Likewise.
	* include/backward/strstream:  Likewise.
	* include/backward/tempbuf.h:  Likewise.
	* include/backward/tree.h:  Likewise.
	* include/backward/vector.h:  Likewise.
	* include/bits/basic_ios.h:  Likewise.
	* include/bits/basic_ios.tcc:  Likewise.
	* include/bits/basic_string.h:  Likewise.
	* include/bits/c++config:  Likewise.
	* include/bits/concept_checks.h:  Likewise.
	* include/bits/fpos.h:  Likewise.
	* include/bits/fstream.tcc:  Likewise.
	* include/bits/functexcept.h:  Likewise.
	* include/bits/ios_base.h:  Likewise.
	* include/bits/istream.tcc:  Likewise.
	* include/bits/mask_array.h:  Likewise.
	* include/bits/ostream.tcc:  Likewise.
	* include/bits/pthread_allocimpl.h:  Likewise.
	* include/bits/sbuf_iter.h:  Likewise.
	* include/bits/slice.h:  Likewise.
	* include/bits/slice_array.h:  Likewise.
	* include/bits/sstream.tcc:  Likewise.
	* include/bits/std_bitset.h:  Likewise.
	* include/bits/std_fstream.h:  Likewise.
	* include/bits/std_iomanip.h:  Likewise.
	* include/bits/std_ios.h:  Likewise.
	* include/bits/std_istream.h:  Likewise.
	* include/bits/std_iterator.h:  Likewise.
	* include/bits/std_memory.h:  Likewise.
	* include/bits/std_ostream.h:  Likewise.
	* include/bits/std_sstream.h:  Likewise.
	* include/bits/std_streambuf.h:  Likewise.
	* include/bits/std_string.h:  Likewise.
	* include/bits/std_valarray.h:  Likewise.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_alloc.h:  Likewise.
	* include/bits/stl_construct.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_function.h:  Likewise.
	* include/bits/stl_heap.h:  Likewise.
	* include/bits/stl_iterator.h:  Likewise.
	* include/bits/stl_iterator_base.h:  Likewise.
	* include/bits/stl_list.h:  Likewise.
	* include/bits/stl_map.h:  Likewise.
	* include/bits/stl_multimap.h:  Likewise.
	* include/bits/stl_multiset.h:  Likewise.
	* include/bits/stl_numeric.h:  Likewise.
	* include/bits/stl_pair.h:  Likewise.
	* include/bits/stl_pthread_alloc.h:  Likewise.
	* include/bits/stl_queue.h:  Likewise.
	* include/bits/stl_raw_storage_iter.h:  Likewise.
	* include/bits/stl_relops.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_tempbuf.h:  Likewise.
	* include/bits/stl_threads.h:  Likewise.
	* include/bits/stl_tree.h:  Likewise.
	* include/bits/stl_uninitialized.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/bits/streambuf.tcc:  Likewise.
	* include/bits/type_traits.h:  Likewise.
	* include/bits/valarray_meta.h:  Likewise.
	* include/ext/bvector:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_bvector.h:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.
	* src/complex_io.cc:  Likewise.
	* src/ios.cc:  Likewise.
	* src/locale-inst.cc:  Likewise.
	* src/locale.cc:  Likewise.
	* src/localename.cc:  Likewise.
	* src/misc-inst.cc:  Likewise.
	* src/stdexcept.cc:  Likewise.
	* src/stl-inst.cc:  Likewise.
	* src/strstream.cc:  Likewise.
	* src/valarray-inst.cc:  Likewise.

From-SVN: r40239
2001-03-04 21:34:02 +00:00
Benjamin Kosnik
4cacbdf21f [multiple changes]
2001-03-02  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

        * include/bits/istream.tcc: change type of __extracted to __size_type

2001-03-02  Benjamin Kosnik  <bkoz@redhat.com>

	* src/wstring-inst.cc: New file.
	* src/Makefile.am (EXTRA_LTLIBRARIES): Remove.
	(libinst_wstring_la_SOURCES): Remove.
	(libstdc___la_LIBADD): Remove libinst_wstring_la.
	(sources): Add wstring-inst.cc
	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Remove
	libinst_wstring_la.

From-SVN: r40192
2001-03-02 21:38:26 +00:00
Benjamin Kosnik
e08838ac57 c++config (__GLIBCPP__): Bump number in anticipation of 2.92.
2001-02-28  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2103
	* include/bits/c++config (__GLIBCPP__): Bump number in
	anticipation of 2.92.

	* include/bits/codecvt.h: Fix typo.
	* include/bits/basic_file.h (__basic_file): Don't use _M_wfile for
	stdio model.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Enable wchar_t
	instantiations for stdio model.

From-SVN: r40140
2001-03-01 00:37:18 +00:00
Benjamin Kosnik
c0a26060f6 basic_file.h: Include basic_file_model.h.
2001-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/1886
	* include/bits/basic_file.h: Include basic_file_model.h.
	* config/c_io_libio.cc: Move to...
	* config/basic_file_libio.cc: Here.
	* config/basic_file_libio.h: New file.
	* config/c_io_stdio.cc: Move to...
	* config/basic_file_stdio.cc: Here.
	* config/basic_file_stdio.h: New file.
	* config/c_io_libio.h: Tweak.
	* config/c_io_stdio.h: Tweak.
	* src/Makefile.am (build_headers): Add basic_file_model.h.
	(sources): Add basic_file.cc, remove c++io.cc.
	* src/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add support for
	basic_file_model.h and basic_file.cc.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/27_io/filebuf.cc (test05): Add regression.

From-SVN: r40108
2001-02-28 03:20:36 +00:00
Benjamin Kosnik
9dd3d53c9a std_stdexcept.h (runtime_error): Make string member non-const.
2001-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/std_stdexcept.h (runtime_error): Make string
	member non-const.
	(logic_error): Same.
	* testsuite/19_diagnostics/stdexceptions.cc (test04): Add test.
	(test03): Fix.

From-SVN: r40098
2001-02-27 23:00:35 +00:00
Benjamin Kosnik
0349df29f0 std_stdexcept.h (logic_error::logic_error): Use string object, not reference.
2001-02-26  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/1972
	libstdc++/2089
	* include/bits/std_stdexcept.h (logic_error::logic_error): Use
	string object, not reference.
	(runtime_error::runtime_error): Same.
	* testsuite/19_diagnostics/stdexceptions.cc: New file.

From-SVN: r40079
2001-02-27 04:13:17 +00:00
Phil Edwards
a008643689 Fixes libstdc++/2079
2001-02-26  Phil Edwards  <pme@sources.redhat.com>

	Fixes libstdc++/2079
	* include/backward/iomanip.h:  Expose <ios> manipulators to global
	  namespace.
	* include/backward/iostream.h:  Also expose std::ws.

From-SVN: r40073
2001-02-26 20:33:09 +00:00
Benjamin Kosnik
8ac2677fbb codecvt.h: Use __builtin_alloca.
2001-02-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/codecvt.h: Use __builtin_alloca.
	* include/bits/ostream.tcc: Same.
	* include/bits/fstream.tcc: Same.

From-SVN: r40007
2001-02-23 19:22:04 +00:00
Phil Edwards
12961d6516 iostream.h: Expose std::flush in old headers.
2001-02-23  Phil Edwards  <pme@sources.redhat.com>

	c++/2052
	* include/backward/iostream.h:  Expose std::flush in old headers.

From-SVN: r40000
2001-02-23 17:47:34 +00:00
Benjamin Kosnik
6259cad9af tests_flags.in (CXXFLAGS): Add -rpath to gcc build dir.
2001-02-22  Benjamin Kosnik  <bkoz@redhat.com>

	* tests_flags.in (CXXFLAGS): Add -rpath to gcc build dir.

	* include/bits/codecvt.h: Use alloca instead of __extension__ for
	the time being.
	* include/bits/ostream.tcc: Same.
	* include/bits/std_ostream.h: Same.
	* include/bits/fstream.tcc: Same.
	* include/bits/locale_facets.tcc: Add typename.
	* include/bits/c++config (_GLIBCPP_FULLY_COMPLIANT_HEADERS): Enable.

From-SVN: r39991
2001-02-23 07:12:03 +00:00
Phil Edwards
9cfeea6e4e stl_config.h: Remove file.
2001-02-20  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/stl_config.h:  Remove file.
	* src/Makefile.am (base_headers):  Remove from list.
	* configure:  Regenerate.
	* Makefile.in:  Ditto.
	* libio/Makefile.in:  Ditto.
	* libmath/Makefile.in:  Ditto.
	* libsupc++/Makefile.in:  Ditto.
	* src/Makefile.in:  Ditto.

	* include/bits/c++config:  Move relevant macros to here.
	* include/backward/alloc.h:  Include c++config.h instead.
	* include/backward/function.h:  Ditto.
	* include/backward/heap.h:  Ditto.
	* include/backward/pair.h:  Ditto.
	* include/bits/pthread_allocimpl.h:  Ditto.
	* include/bits/std_functional.h:  Ditto.
	* include/bits/std_iterator.h:  Ditto.
	* include/bits/std_numeric.h:  Ditto.
	* include/bits/std_utility.h:  Ditto.
	* include/bits/stl_algobase.h:  Ditto.
	* include/bits/type_traits.h:  Ditto.
	* src/stl-inst.cc:  Ditto.

From-SVN: r39931
2001-02-20 20:20:48 +00:00
Gabriel Dos Reis
b0a85b861e Add #pragma system_header to header files.
From-SVN: r39896
2001-02-19 18:52:25 +00:00
Greg Bumgardner
f5d3e93f97 std_ostream.h: Replaced usage of _Traits::_S_eos() with _CharT() as per section 17.2.2.1.3.
2001-02-16  Greg Bumgardner <bumgard@roguewave.com>

	libstdc++/1734
        * include/bits/std_ostream.h: Replaced usage of
        _Traits::_S_eos() with _CharT() as per section 17.2.2.1.3.
        * include/bits/char_traits.h: Removed non-standard
        methods that cannot be used elsewhere.

	libstdc++/1885
        * include/bits/basic_ios.h: Uncommented #include of
        bits/basic_ios.tcc

	libstdc++/1897
        * include/bits/codecvt.h: See next...
        * include/bits/fstream.tcc: See next...
        * include/bits/ostream.tcc: Add __extension__
        to variable-length arrays.

	libstdc++/1967
        * include/bits/localefwd.h: Changed int counter type to size_t.

	libstdc++/1968
        * include/bits/std_fstream.h: Added typedef for __ctype_type.

From-SVN: r39802
2001-02-17 17:51:45 +00:00
Benjamin Kosnik
63100912b7 c++config: Revert.
2001-02-15  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Revert.

From-SVN: r39747
2001-02-16 05:39:47 +00:00
Mark Mitchell
bcd0cabb19 istream.tcc: Use ios_base::iostate in place of iostate throughout.
* include/bits/istream.tcc: Use ios_base::iostate in place of
	iostate throughout.  Insert `typename' keyword where necessary.
	* include/bits/ostream.tcc: Insert `typename' keyword where
	necessary.

From-SVN: r39743
2001-02-16 03:35:50 +00:00
Jeffrey Oldham
e4df3e482d c++config (_GLIBCPP_FULLY_COMPLIANT_HEADERS): Define so library is compliant.
2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>

        * include/bits/c++config (_GLIBCPP_FULLY_COMPLIANT_HEADERS):
        Define so library is compliant.

From-SVN: r39741
2001-02-16 02:38:35 +00:00
Benjamin Kosnik
e2c094827c Add support for -fno-exceptions.
2001-02-15  Benjamin Kosnik  <bkoz@redhat.com>

	Add support for -fno-exceptions.
	* include/bits/exception_support.h: Remove.
	* include/bits/basic_string.h: Remove exception_support.
	(string::_M_check): Replace __OUTOFRANGE with __throw_out_of_range.
	(string::at): Same.
	(string::substr): Same.
	* include/bits/basic_string.tcc (string::reserve): Replace
	__LENGTHERROR with __throw_length_error.
	(string::_S_create): Same.
	(string::resize): Same.
	(string::_M_replace): Same.
	(string::replace): Same.
	(string::copy): Replace __OUTOFRANGE with __throw_out_of_range.
	(string::compare): Same.
	* include/bits/stl_vector.h: Remove exception_support.
	* src/Makefile.am (base_headers): Remove here.
	* src/Makefile.in: Regenerate.

	* include/bits/stl_range_errors.h: Remove.
	* include/bits/stl_deque.h: Use __throw_range_error.
	* include/bits/std_deque.h: Include functexcept.h.
	* include/bits/std_vector.h: Same.
	* src/Makefile.am (base_headers): Remove here.
	* src/Makefile.in: Regenerate.
	* include/ext/stl_bvector.h (class __BVECTOR): Use __throw_range_error.
	* include/ext/bvector: Remove stl_range_errors.h

	* include/bits/c++config (_GLIBCPP_USE_EXCEPTIONS): Remove.

	* include/bits/functexcept.h: New file.
	* src/functexcept.cc: New file. Definitions for function-based
	exception routines.
	* src/Makefile.am (sources): Add functexcept.cc.
	* src/Makefile.in: Regenerate.

	* include/bits/stl_config.h (__STL_USE_EXCEPTIONS): Wrap with
	__EXCEPTIONS.

	* include/bits/localefwd.h: Include functexcept.h.
	* include/bits/std_iosfwd.h: Same.

	* include/bits/basic_ios.h: Use __throw_ios_failure instead of
	throw basic_ios::failure.
	* include/bits/fstream.tcc (filebuf::_M_allocate_buffers):
	Use __throw_exception_again.
	(filebuf::_M_filebuf_init): Same.
	* include/bits/streambuf.tcc (__copy_streambufs): Same.
	* include/bits/ostream.tcc (ostream::operator<<): Same.
	* include/bits/istream.tcc (istream::operator>>): Same.
	* include/bits/basic_string.tcc (string::_M_mutate): Same.
	(string::_S_construct): Same.
	(string::_M_clone): Same.
	* include/bits/locale_facets.tcc (use_facet(const locale&)): Use
	__throw_bad_cast.
	(num_put<_CharT, _OutIter>::do_put): Use __throw_exception_again.
	* src/localename.cc (locale::_Imp::_Imp(const _Impl&, size_t): Use
	__throw_exception_again.
	(locale::_Imp::_Imp(string, size_t): Same.
	(locale::_Imp::_M_replace_facet): Use __throw_runtime_error.
	* src/locale.cc (locale::_M_coalesce): Use __throw_exception_again.
	(locale::locale(const char*)): Use __throw_runtime_error.
	(locale::classic): Use __throw_exception_again.
	(locale::_S_normalize_category): Use __throw_runtime_error.

	* src/stdexcept.cc: Remove cruft.

	* libsupc++/exception_defines.h: New file.
	* libsupc++/new_opnt.cc: Include exception_defines.h.
	* libsupc++/vec.cc: Same.
	(__cxa_vec_new2): Use __throw_exception_again.
	(__cxa_vec_new3): Same.
	(__cxa_vec_ctor): Same.
	(__cxa_vec_delete3): Same.
	(__cxa_vec_cctor): Same.
	(__cxa_vec_delete2): Same.
	(__cxa_vec_dtor): Same.
	* libsupc++/exception_support.cc: Include exception_defines.h. Only
	compile exception-handling bits if __EXCEPTIONS is defined.
	Remove old ABI support.
	* libsupc++/new_op.cc (new): Include exception_defines.h. Use
	std::__throw_bad_alloc() instead of throw bad_alloc.
	* libsupc++/Makefile.am: Add exception_defines.h.
	* libsupc++/Makefile.in: Reformat.
	* libsupc++/*: Format.

From-SVN: r39730
2001-02-16 00:44:44 +00:00
Dirk Mueller
f4483e8502 function.h: Do not use rel_ops for older headers either.
2001-02-13  Dirk Mueller <dmuell@gmx.net>
            Phil Edwards  <pme@sources.redhat.com>

	* include/backward/function.h:  Do not use rel_ops for older
	  headers either.
	* include/backward/pair.h:  Likewise.

Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>

From-SVN: r39637
2001-02-13 16:09:05 +00:00
Gabriel Dos Reis
1c7c97cc63 std_valarray.h: #undef _DEFINE_LOGICAL_OPERATOR...
* include/bits/std_valarray.h: #undef _DEFINE_LOGICAL_OPERATOR,
        not _DEFINE_VALARRAY_OPERATOR which is not existent.

From-SVN: r39592
2001-02-11 22:42:36 +00:00
Gabriel Dos Reis
169ef01cf0 valarray_meta.h (_RefFunClos<>_RefRunClos): Fix thinko in member initialisation.
* include/bits/valarray_meta.h (_RefFunClos<>_RefRunClos): Fix
        thinko in member initialisation.

From-SVN: r39591
2001-02-11 22:25:50 +00:00
Gabriel Dos Reis
d2155bfea5 std_valarray.h (valarray<>::shift): Avoid comparaison between signed and unsigned integer types.
* include/bits/std_valarray.h(valarray<>::shift): Avoid
        comparaison between signed and unsigned integer types.
        (valarray<>::cshift): Reformat.

From-SVN: r39590
2001-02-11 22:16:48 +00:00
Gabriel Dos Reis
b80253d7c0 char_traits.h (char_traits<char>::int_type): Change to `int' to match 21.1.3.1/2.
2001-02-11  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/bits/char_traits.h char_traits<char>::int_type: Change
	to `int' to match 21.1.3.1/2.

	* testsuite/21_strings/char_traits-int_type.C: New test.

From-SVN: r39581
2001-02-11 04:43:44 +00:00
Nathan Sidwell
929408ba11 * include/c_shadow/bits/std_cstdlib.h (lldiv_t): Fix typo.
From-SVN: r39565
2001-02-09 14:12:51 +00:00
Benjamin Kosnik
0c952af328 Clean up stdexcept.
2001-02-07  Benjamin Kosnik  <bkoz@redhat.com>

	Clean up stdexcept.
	* include/bits/stringfwd.h: New file.
	* include/bits/stl_string_fwd.h: Remove.
	* include/bits/localefwd.h: Remove declaration for allocator.
	* include/bits/std_iosfwd: Same.
	* include/bits/std_string.h: Include it.
	* include/bits/std_ios.h: Remove include.
	* include/bits/basic_string.h: Tweak.
	* libsupc++/new: Format.
	* src/Makefile.am (base_headers): Add stringfwd.h, remove
	stl_string_fwd.h
	* src/Makefile.in: Regenerate.
	* include/bits/std_stdexcept.h: Rewrite.
	* src/stdexcept.cc: Same.

From-SVN: r39526
2001-02-07 20:26:24 +00:00
Benjamin Kosnik
72ed283692 acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library install locations too.
2001-02-06  Benjamin Kosnik  <bkoz@fillmore.constant.com>

	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library
	install locations too.
	* aclocal.m4: Regeneate.
	* configure.in: Remove USE_LIBDIR.
	* configure: Regenerate.
	* src/Makefile.am (toolexecdir): Simplify, use
	glibcpp_toolexecdir, glibcpp_toolexeclibdir.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Same.
	* libsupc++/Makefile.in: Regenerate.

	* src/Makefile.am: Just remove special rules for locale-inst.cc and
	misc-inst.cc as no longer necessary.

	Follow C++STYLE for naming non-static functions.
	* include/bits/ostream.tcc (_S_pad_char): Not static, rename to
	__pad_char.
	* include/bits/streambuf.tcc: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/locale_facets.tcc (_S_pad_numeric): To __pad_numeric.
	(_S_output_float): To __output_float.
	* include/bits/std_streambuf.h (_S_copy_streambufs): To
	__copy_streambufs.
	* include/bits/locale_facets.tcc (_S_build_float_format): To
	__build_float_format.
	(_S_format): To __output_integer.
	(_S_fill): To __pad.
	* src/locale.cc: Same.
	* src/misc-inst.cc: Fix formatting. Fix signature for wchar_t. Correct
	names.
	* include/bits/locale_facets.tcc (_S_group_digits): To
	__group_digits.
	* src/locale-inst.cc: Fixup names. Add use_facet instantiations
	for collate, numpunct.

From-SVN: r39508
2001-02-07 01:54:21 +00:00
Hyman Rosen
0cc21532eb std_istream.h (op>> signed,unsigned char): Must use reinterpret_cast, not static_cast.
2001-02-06  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/std_istream.h (op>> signed,unsigned char):  Must
	  use reinterpret_cast, not static_cast.

From-SVN: r39493
2001-02-06 15:52:37 +00:00
Benjamin Kosnik
0a1cceea5c locale_facets.h (class moneypunct): Fix typos.
2001-02-05   Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (class moneypunct): Fix typos.

From-SVN: r39483
2001-02-06 07:21:41 +00:00
Mark Mitchell
bf6adbe2c6 locale_facets.tcc: Remove `static' keyword on function definitions.
* include/bits/locale_facets.tcc: Remove `static' keyword on
	function definitions.
	* include/bits/std_streambuf.h: Likewise.
	* src/Makefile.am: Remove use of -fimplicit-templates.
	* src/Makefile.in: Regenerated.
	* src/locale-inst.cc: Explicitly instantiate more functions.
	* src/msic-inst.cc: Likewise.
	* src/string-inst.cc: Likewise.

From-SVN: r39481
2001-02-06 06:36:18 +00:00
Benjamin Kosnik
8089616e6a std_cerrno.h: Correct date format for copyright.
2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cerrno.h: Correct date format for copyright.
	* include/c_std/bits/std_cctype.h: Same.
	* include/c_std/bits/std_cassert.h: Same.
	* include/c_std/bits/std_cstdarg.h: Same.
	* include/c_std/bits/std_cstddef.h: Same.

	* include/c_std/bits/std_cstdio.h: Undefine all names brought into
	namespace std.
	* include/c_std/bits/std_ctime.h: Same.
	* include/c_std/bits/std_clocale.h: Same.
	* include/c_std/bits/std_cmath.h: Same.
	* include/c_std/bits/std_csetjmp.h: Same.
	* include/c_std/bits/std_csignal.h: Same.
	* include/c_std/bits/std_cstring.h: Same.
	* include/c_std/bits/std_cstdlib.h: Same.
	* include/c_std/bits/std_cwchar.h: Same.

From-SVN: r39468
2001-02-05 22:27:40 +00:00
Benjamin Kosnik
be76a59f6a stl_threads.h (struct _STL_mutex_lock): Same.
2001-02-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_threads.h (struct _STL_mutex_lock): Same.
	* include/bits/localefwd.h: More initialization cleanups.

From-SVN: r39428
2001-02-03 08:33:35 +00:00
Jeffrey A Law
073197227c ios_base.h (_S_ios_fmtflags_end): Initialize correctly targets with 16bit ints.
* include/bits/ios_base.h (_S_ios_fmtflags_end): Initialize
        correctly targets with 16bit ints.
        (_S_ios_openmode_end): Similarly.
        (_S_ios_iostate_end): Similarly.
        (_S_ios_Seekdir_end): Similarly.

From-SVN: r39427
2001-02-03 00:24:06 -07:00
Benjamin Kosnik
0214010c60 Preliminary named locales.
2001-01-29  Benjamin Kosnik  <bkoz@redhat.com>

	Preliminary named locales.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro.
	* aclocal.m4: Regenerate.
	* configure.in: Use it.
	* configure: Regerate.
	* src/Makefile.am (sources): Add c++locale.cc.
	(build_headers): Add c++locale.h.
	* src/Makefile.in: Regenerate.
	* config/c_locale_gnu.h: New file.
	* config/c_locale_gnu.cc: New file. Non-inline member functions
	for named locales, gnu-specific.
	* config/c_locale_generic.h: New file.
	* config/c_locale_generic.cc: New file. Non-inline member
	functions for named locales, generic version.
	* docs/html/configopts.html: Add documentation on new options.

	* include/bits/locale_facets.h (class _Messages): Remove.
	(class _Moneypunct): Remove.
	* src/locale-inst.cc: Remove.

	* include/bits/locale_facets.h (class _Collate): Remove.
	* src/locale-inst.cc (std): Remove.
	* src/locale.cc: And here.

	* include/bits/localefwd.h (locale::_M_coalesce): New
	function. Correctly put together multi-name locales.
	(_Impl(const _Impl&, category, size_t)): Remove.

	* include/bits/localefwd.h (locale::_Impl): Remove _M_construct_*
	member functions.
	(_M_normalize_category_names): Remove.
	(_M_replace_categories): Fix.

	* src/localename.cc (locale::_Impl::_M_construct_collate): Remove.
	(locale::_Impl::_M_construct_ctype): Remove.
	(locale::_Impl::_M_construct_monetary): Remove.
	(locale::_Impl::_M_construct_numeric): Remove.
	(locale::_Impl::_M_construct_time): Remove.
	(locale::_Impl::_M_construct_messages): Remove.

	* include/bits/locale_facets.h (_Bad_use_facet): Remove.
	(_Use_facet_failure_handle): Remove.
	* src/locale.cc: Remove definitions.
	* src/locale-inst.cc: And here.

	* testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests.

	* src/localename.cc (locale::facet::_S_create_c_locale): Properly
	create and error-check underlying locale object.
	(locale::facet::_S_destroy_c_locale): Add, take care of properly
	tearing down underlying locale object.
	* include/bits/localefwd.h (locale::facet): Declare.
	* testsuite/22_locale/members.cc: Don't test "fr_FR" locale for
	correctness, as glibc apparently has incorrect info in it. Test
	with it when it works again.....

	* include/bits/localefwd.h (locale::_Impl::__vec_string):
	Remove. Number of categories is fixed at six, so just simplify and
	make this an array of strings.
	(locale::_Impl::_M_has_name): Remove.
	(locale::_Impl::_M_name): Remove.
	(locale::_Impl::_M_category_names): Turns into...
	(locale::_Impl::_M_names): ...this.
	(locale::_Impl::_M_has_same_name()): New function.
	* src/localename.cc (locale::_Impl::~_Impl()): Remove here.
	(locale::_Impl::_Impl(size_t __refs, string __str)): Simplify
	signature.
	* src/locale.cc (locale::name()): Construct mangled name
	accurately reflecting combined locale categories.

	* src/locale.cc (locale::classic()): Don't initialize here.
	* src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t
	__refs, bool __has_name, string __str): Do it here.

	* include/bits/localefwd.h: _S_categories_num to
	_S_num_categories. _S_facets_num to _S_num_facets.
	(locale:🆔:id()): Explicitly set _M_index to zero.
	* src/locale.cc: Same.

	* src/locale.cc: (locale::locale(const char*)): Construct named
	locales uniquely.

	* src/locale.cc: Remove numpunct_byname ctors.
	* testsuite/22_locale/numpunct_byname.cc: New file.
	* testsuite/22_locale/numpunct.cc: New file.

	* include/bits/localefwd.h (class locale): Change data members to
	protected, from private.
	(_Impl::_M_get_c_locale): Add member function.
	(locale::facet::_M_get_global_impl()): Add member function.
	* include/bits/locale_facets.h (numpunct::_M_init): Change to take
	a __c_locale pointer.
	(numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for
	named locales.
	* testsuite/22_locale/members.cc: New file, test name and combine.

	* include/bits/locale_facets.h (class numpunct): Remove class
	_Punct and _Numpunct. Rewrite class numpunct to be correct for
	named locales.
	* include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add.
	* src/localename.cc (_Impl::~_Impl()): Call __frelocale.
	(_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale.
	* src/locale-inst.cc: Remove _Numpunct, _Punct instantiations.
	* testsuite/22_locale/numpunct_char_members.cc: New file.

From-SVN: r39347
2001-01-30 09:18:51 +00:00
Phil Edwards
69d211dd50 std_iterator.h: Do not include stl_relops.h.
2001-01-25  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/std_iterator.h:  Do not include stl_relops.h.
	* include/bits/std_numeric.h:  Ditto.
	* include/bits/stl_algobase.h:  Ditto.
	* include/bits/stl_relops.h:  Add comment warning about problems.

From-SVN: r39267
2001-01-25 15:35:10 +00:00
Benjamin Kosnik
d34786e3fe ios_base.h (ios_base::failure): Tighten up throw specs.
2001-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/1605
	* include/bits/ios_base.h (ios_base::failure): Tighten up throw specs.
	* src/ios.cc (ios_base::failure): Make definitions match.
        * libsupc++/typeinfo (class bad_typeid): Add throw specs.
        (class bad_cast): Same.
        * libsupc++/exception (class exception): Add throw specs.
        * libsupc++/exception_support.cc (set_terminate): Add throw specs.
        (set_unexpected): Same.
        (uncaught_exception): Same.
        (what): Same.

	* docs/html/17_intro/C++STYLE (classname): Fix.

From-SVN: r39087
2001-01-17 07:44:57 +00:00
Benjamin Kosnik
13187a454d C++STYLE (classname): Add more existing and stylish patterns.
2001-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/C++STYLE (classname): Add more existing
	and stylish patterns.

	libstdc++/944
	* include/bits/istream.tcc (istream::sentry::sentry()): Set
	failbit if the state of the stream is not good.
	* testsuite/27_io/istream_sentry.cc (test02): Add test.
	* testsuite/27_io/istream_manip.cc (test01): Modify.

	libstdc++/1019
	reported by Paolo Carlini <pcarlini@unitus.it>
	* include/bits/istream.tcc (operator>>(istream&, string&)): Fix.
	* testsuite/21_strings/inserters_extractors.cc (test08): Add test.

	libstdc++/1057
	* include/bits/std_streambuf.h (setp): Set _M_buf_size correctly.
	* include/bits/streambuf.tcc (xsputn): Remove outside if clause.
	(xsgetn): Same. Simplify.
	* testsuite/27_io/streambuf.cc (test04): Add testcases.

	reported by Larry Evans <jcampbell3@prodigy.net>
	* include/bits/streambuf.tcc (streambuf::xsputn): Just check for
	equality with eof on returned value from overflow.

From-SVN: r39059
2001-01-16 07:55:26 +00:00
Benjamin Kosnik
976448273e basic_string.h (_S_find(const _CharT* __beg, const _CharT* __end, _CharT __c): Remove.
2001-01-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_string.h (_S_find(const _CharT* __beg, const
	_CharT* __end, _CharT __c): Remove.
	* include/bits/basic_string.tcc: Substitute traits::find for _S_find.
	* include/bits/char_traits.h: Tweak.

From-SVN: r38961
2001-01-12 21:24:15 +00:00
Joseph Myers
57043d914e std_cstdio.h: Undef printf.
2001-01-11   Joseph S. Myers  <jsm28@cam.ac.uk>

	* include/c_std/bits/std_cstdio.h: Undef printf.

From-SVN: r38917
2001-01-11 18:16:16 +00:00
Peter Schmid
90e420bd60 std_complex.h: Fix a typo.
2001-01-10  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

         * include/bits/std_complex.h: Fix a typo.

From-SVN: r38878
2001-01-10 20:55:03 +00:00