Commit Graph

644 Commits

Author SHA1 Message Date
Paolo Carlini 2ad0022889 stdio_filebuf.h (stdio_filebuf::stdio_filebuf(...), ...): _M_buf_size_opt == 0 means only...
2003-04-12  Paolo Carlini  <pcarlini at unitus dot it>

	* include/ext/stdio_filebuf.h
	(stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
	stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
	_M_buf_size_opt == 0 means only "not to use an allocated buffer"
	since a stack-based buffer is used for small values of the size_t
	parameter.
	* include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
	If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
	* testsuite/ext/stdio_filebuf_2.cc: New testfile.

From-SVN: r65513
2003-04-12 16:07:51 +00:00
Paolo Carlini dfc7d89965 re PR libstdc++/9320 (Incorrect usage of traits_type::int_type in stdio_filebuf)
2003-02-11  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9320
	* include/ext/stdio_filebuf.h
	(stdio_filebuf(int, std::ios_base::openmode, bool, int_type),
	stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)):
	Change to take a __size parameter of type size_t, not
	of type (template parameter dependent) int_type.
	* src/ios.cc (ios_base::Init::_S_ios_create): Change type of
	size vars to size_t.
	* testsuite/ext/stdio_filebuf.cc: Add.

From-SVN: r62691
2003-02-11 10:43:49 +00:00
Mark Mitchell 8fbc5ae723 cp-tree.h (lang_type_class): Remove is_partial_instantiation.
* cp-tree.h (lang_type_class): Remove is_partial_instantiation.
	(PARTIAL_INSTANTIATION_P): Remove.
	(IMPLICIT_TYPENAME_P): Likewise.
	(IMPLICIT_TYPENAME_TYPE_DECL_P): Likewise.
	(build_typename_type): Remove declaration.
	(parmlist_is_exprlist): Likewise.
	* decl.c (build_typename_type): Make it static, remove third
	parameter.
	(push_class_binding): Don't do implicit typename stuff.
	(make_typename_type): Likewise.
	(lookup_name_real): Likewise.
	(grokdeclarator): Don't try to convert declarations into
	initializations.  Don't do implicit typename stuff.
	(parmlist_is_exprlist): Remove.
	(xref_basetypes): Simplify.
	* decl2.c (grokfield): Don't try to convert declarations into
	initializations.
	(build_anon_union_vars): Do this while processing templates, too.
	(finish_anon_union): Likewise.
	* error.c (dump_type): Remove implicit typename handling.
	* parser.c (cp_parser_diagnose_invalid_type_name): New method.
	(cp_parser_primary_expression): Correct handling of names not
	found by unqualified name lookup in templates.
	(cp_parser_nested_name_specifier_opt): Avoid checking dependency
	of types when possible.
	(cp_parser_simple_declaration): Complain intelligently about some
	invalid declarations.
	(cp_parser_member_declaration): Likewise.
	(cp_parser_constructor_declarator_p): Don't check when we're in a
	function scope.
	* pt.c (instantiate_class_template): Remove
	PARTIAL_INSTANTIATION_P gunk.
	* search.c (lookup_field_r): Don't build implicit typenames.
	(marked_pushdecls_p): Don't enter dependent base types.
	(unmarked_pushdecls_p): Likewise.
	* semantics.c (begin_class_definition): Remove implicit typename
	stuff.

	* config/locale/gnu/messages_members.h: Use this-> to refer to
	unqualified members of base clasess.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
	* include/bits/codecvt.h: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/bits/istream.tcc: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/sstream.tcc: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/ext/stdio_filebuf.h: Likewise.
	* include/ext/stl_rope.h: Likewise.
	* include/std/std_fstream.h: Likewise.
	* include/std/std_sstream.h: Likewise.

Co-Authored-By: Jeffrey Oldham <oldham@codesourcery.com>

From-SVN: r61403
2003-01-16 20:30:50 +00:00
Loren J. Rittle ad17a52a21 stl_rope.h (rope<>): Qualify dependent names with `typename'.
libstdc++/7922
	* include/ext/stl_rope.h (rope<>): Qualify dependent names
	with `typename'.

From-SVN: r57222
2002-09-17 01:56:06 +00:00
Benjamin Kosnik 6e52332ec7 re PR libstdc++/7445 (poor performance of std::locale::classic() in multi-threaded applications)
2002-08-15  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/stdio_filebuf.h (stdio_filebuf): Explicitly set
	_M_buf_size_opt to zero when unbuffering.
	* include/bits/fstream.tcc (filebuf::showmanyc): Simplify.
	Consistency checks for _M_buf_size_opt.

	Revert PR libstdc++/7445
	* src/locale.cc (locale::classic): Revert.

	* docs/html/17_intro/TODO: Add.

From-SVN: r56365
2002-08-15 22:25:39 +00:00
Steev Wilcox ec4d88f907 re PR libstdc++/7057 (Operator== on hashtables doesn't appear to work correctly (patch included))
2002-07-03  Steev Wilcox  <steev@paradigmds.com>

	PR libstdc++/7057
	* include/ext/stl_hashtable.h: Fix.
	* testsuite/ext/hash_map.cc: New.

From-SVN: r55229
2002-07-04 00:28:03 +00:00
Phil Edwards fc7f0a806c configopts.html, [...]: Tweaks.
2002-07-02  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/configopts.html, docs/html/install.html:  Tweaks.
	* include/ext/algorithm, include/ext/hash_map, include/ext/hash_set,
	include/ext/iterator, include/ext/numeric, include/ext/rb_tree,
	include/ext/slist, include/ext/stl_rope.h:  Add doxygen hooks.

From-SVN: r55172
2002-07-02 06:17:36 +00:00
Phil Edwards 83144cfcfa Makefile.am: Add new files.
2002-06-12  Phil Edwards  <pme@gcc.gnu.org>

	* include/Makefile.am:  Add new files.
	* include/Makefile.in:  Regenerate.

	* include/bits/stl_deque.h, include/bits/stl_list.h,
	include/bits/stl_vector.h:  Clean up, reformat.  Move definitions...
	* include/bits/deque.tcc, include/bits/list.tcc,
	include/bits/vector.tcc:  ...to here.  New files.

	* include/ext/stl_hashtable.h:  Inclide correct full headers.
	* include/std/std_deque.h:  Include .tcc files for now.
	* include/std/std_list.h:  Likewise.
	* include/std/std_vector.h:  Likewise.

From-SVN: r54562
2002-06-12 22:07:53 +00:00
Phil Edwards 844f9ba6ad stdio_filebuf.h: Add header guards.
2002-05-21  Phil Edwards  <pme@gcc.gnu.org>

	* include/ext/stdio_filebuf.h:  Add header guards.  Doxygenate.

From-SVN: r53699
2002-05-21 20:53:36 +00:00
Benjamin Kosnik 5cdd50a591 stdio_filebuf.h: New file.
2002-04-30  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/stdio_filebuf.h: New file.
	* include/ext/enc_filebuf.h: New file.
	* config/io/basic_file_stdio.h (__basic_file::sys_open): Add fd ctor.
	* config/io/basic_file_stdio.cc: Same.
	* include/bits/fstream.tcc (filebuf::_M_allocate_internal_buffer):
	Remove _M_unbuf hacks.
	(filebuf::_M_destroy_internal_buffer): Same.
	(filebuf::filebuf(cfile, openmode, int_type): Remove definition.
	(filebuf::fd): Remove.
	* include/std/std_fstream.h (filebuf::_M_unbuf): Remove.
	(filebuf::filebuf(__c_file*, openmode, int_type)): Remove.
	(filebuf::fd): Remove.
	* src/ios.cc (ios_base::_S_ios_create): Change to use specialized
	filebufs.
	(ios_base::_S_ios_destroy): Same.
	* src/misc-inst.cc (file_filebuf<char>): Add instantiation.
	* include/Makefile.am (ext_headers): Add ext_filebuf.h,
	stdio_filebuf.h.  * include/Makefile.in: Regenerate.

From-SVN: r52961
2002-04-30 19:04:43 +00:00
Paolo Carlini 32c8d10081 [multiple changes]
2002-04-28  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/ext/stl_hashtable.h: Import __iterator_category

2002-04-28  Paolo Carlini  <pcarlini@unitus.it>
            Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* testsuite/ext/hash_set.cc: New testfile.

From-SVN: r52843
2002-04-28 16:21:32 +00:00
Phil Edwards ffe94f8380 Makefile.am (doxygen, [...]): Tweak targets.
2002-01-28  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am (doxygen, doxygen-maint, doxygen-man):  Tweak targets.
	* Makefile.in:  Regenerate.

	* docs/doxygen/run_doxygen:  Update, mostly for man pages.
	* docs/doxygen/Intro.3:  Update.
	* docs/doxygen/TODO:  Update.
	* docs/doxygen/doxygroups.cc:  Add namespace hook for __gnu_cxx.
	* docs/doxygen/mainpage.doxy:  Update.
	* docs/doxygen/user.cfg.in:  Update for header rename.  Also
	regenerate comments and variables with 1.2.12.
	* docs/doxygen/maint.cfg.in:  Remove file.

	* include/bits/stl_relops.h:  Doxygenate.
	* include/bits/stl_tempbuf.h (std::_Temporary_buffer):  Likewise.

	* include/c_std/std_cassert.h, include/c_std/std_cctype.h,
	include/c_std/std_cerrno.h, include/c_std/std_cfloat.h,
	include/c_std/std_ciso646.h, include/c_std/std_climits.h,
	include/c_std/std_clocale.h, include/c_std/std_cmath.h,
	include/c_std/std_csetjmp.h, include/c_std/std_csignal.h,
	include/c_std/std_cstdarg.h, include/c_std/std_cstddef.h,
	include/c_std/std_cstdio.h, include/c_std/std_cstdlib.h,
	include/c_std/std_cstring.h, include/c_std/std_ctime.h,
	include/c_std/std_cwchar.h, include/c_std/std_cwctype.h,
	include/ext/algorithm, include/ext/functional, include/ext/hash_map,
	include/ext/hash_set, include/ext/iterator, include/ext/memory,
	include/ext/numeric, include/ext/rb_tree, include/ext/rope,
	include/ext/ropeimpl.h, include/ext/slist, include/ext/stl_hash_fun.h,
	include/ext/stl_hashtable.h, include/ext/stl_rope.h,
	include/std/std_algorithm.h, include/std/std_bitset.h,
	include/std/std_complex.h, include/std/std_deque.h,
	include/std/std_fstream.h, include/std/std_functional.h,
	include/std/std_iomanip.h, include/std/std_ios.h,
	include/std/std_iosfwd.h, include/std/std_iostream.h,
	include/std/std_istream.h, include/std/std_iterator.h,
	include/std/std_limits.h, include/std/std_list.h,
	include/std/std_locale.h, include/std/std_map.h,
	include/std/std_memory.h, include/std/std_numeric.h,
	include/std/std_ostream.h, include/std/std_queue.h,
	include/std/std_set.h, include/std/std_sstream.h,
	include/std/std_stack.h, include/std/std_stdexcept.h,
	include/std/std_streambuf.h, include/std/std_string.h,
	include/std/std_utility.h, include/std/std_valarray.h,
	include/std/std_vector.h:  Add/correct @file doxygen hook.

	* include/ext/memory:  Doxygenate most of rest of file.
	* libsupc++/exception:  Doxygen output formatting.
	* libsupc++/new:  Say which header it is.

	* testsuite/lib/libstdc++-v3-dg.exp:  Fix spacing.
	* docs/html/19_diagnostics/howto.html:  Describe concept-checks switch.
	* docs/html/23_containers/howto.html:  Describe O(n) list::size().
	* docs/html/27_io/howto.html:  Also link to Langer and Kreft text.

From-SVN: r49300
2002-01-28 22:13:12 +00:00
Phil Edwards 6b20f9b59a stl_tempbuf.h (_Temporary_buffer): Add doxygen hook.
2002-01-24  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/stl_tempbuf.h (_Temporary_buffer):  Add doxygen hook.
	* include/bits/stl_algo.h:  Include stl_tempbuf.h.
	* include/ext/memory:  Do not include stl_tempbuf.h.
	(temporary_buffer):  Add doxygen hook.
	(__get_temporary_buffer, get_temporary_buffer,
	return_temporary_buffer):  Move back to std:: header...
	* include/std/std_memory.h:  ...here.  Do not include stl_tempbuf.h.
	* include/ext/rope:  Do not include stl_tempbuf.h.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/std/std_algorithm.h:  Likewise.
	* testsuite/20_util/temporary_buffer.cc:  New file.

From-SVN: r49199
2002-01-25 04:14:40 +00:00
Benjamin Kosnik 54c1bf7801 Makefile.am (std_headers): Remove cXXX from list.
2002-01-04  Benjamin  Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (std_headers): Remove cXXX from list.
	(c_base_srcdir): No bits subdirectory.
	(c_base_builddir): Same.
	(c_base_headers): Adjust names, add ciso646.
	(bits_headers): Remove std_xxx.h headers.
	* include/Makefile.in: Regenerate.

	* include/ext/iterator: Adjust includes.
	* include/ext/ropeimpl.h: Same.
	* include/ext/stl_hash_fun.h: Same.
	* include/ext/algorithm: Same.

	* include/backward/bvector.h: Adjust includes.
	* include/backward/vector.h: Same.
	* include/backward/strstream: Same.
	* include/backward/streambuf.h: Same.
	* include/backward/stack.h: Same.
	* include/backward/set.h: Same.
	* include/backward/queue.h: Same.
	* include/backward/multiset.h: Same.
	* include/backward/multimap.h: Same.
	* include/backward/map.h: Same.
	* include/backward/list.h: Same.
	* include/backward/iterator.h: Same.
	* include/backward/iostream.h: Same.
	* include/backward/iomanip.h: Same.
	* include/backward/fstream.h: Same.
	* include/backward/deque.h: Same.
	* include/backward/complex.h: Same.

	* include/bits/std_algorithm.h: Move to...
	* include/std/algorithm: ...here.
	* include/bits/std_iosfwd.h, std_locale.h, std_stack.h,
	std_bitset.h, std_ios.h, std_map.h, std_stdexcept.h,
	std_complex.h, std_iostream.h, std_memory.h, std_streambuf.h,
	std_deque.h, std_istream.h, std_numeric.h, std_string.h,
	std_fstream.h, std_ostream.h, std_utility.h, std_iterator.h,
	std_queue.h, std_valarray.h, std_functional.h, std_limits.h,
	std_set.h, std_vector.h, std_iomanip.h, std_list.h, std_sstream.h:
	Same.

	* include/c_std/bits/std_cassert.h: Move to...
	* include/c_std/cassert: Here.
	* include/c_std/std_cctype.h, std_cerrno.h, std_cfloat.h,
	std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h,
	std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h,
	std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h,
	std_cwctype.h: Same.
	* include/c_std/cmath: Adjust cmath.tcc include.
	* include/c_std/cstdlib: Adjust includes.
	* include/c_std/cwchar: Same.
	* include/c_std/ctime: Same.
	* include/c_std/cstring: Same.
	* include/c_std/cstdio: Same.
	* include/c_std/bits: Remove directory.

	* include/c/bits/std_cassert.h: Move to...
	* include/c/cassert: Here.
	* include/c/std_cctype.h, std_cerrno.h, std_cfloat.h,
	std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h,
	std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h,
	std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h,
	std_cwctype.h: Same.
	* include/c/bits: Remove directory.

	* include/std/cwctype: Remove.
	* include/std/cwchar: Remove.
	* include/std/ctime: Remove.
	* include/std/cstring: Remove.
	* include/std/cstdlib: Remove.
	* include/std/cstdio: Remove.
	* include/std/cstddef: Remove.
	* include/std/cstdarg: Remove.
	* include/std/csignal: Remove.
	* include/std/csetjmp: Remove.
	* include/std/cmath: Remove.
	* include/std/clocale: Remove.
	* include/std/climits: Remove.
	* include/std/ciso646: Remove.
	* include/std/cfloat: Remove.
	* include/std/cerrno: Remove.
	* include/std/cctype: Remove.
	* include/std/cassert: Remove.

	* include/bits/fpos.h: Adjust includes, removing <bits/std_xxx.h>
	files and subsituting <.xxx>
	* include/bits/valarray_array.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/stl_alloc.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/pthread_allocimpl.h: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/localefwd.h: Same.
	* include/bits/locale_facets.tcc: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/basic_file.h: Same.
	* include/std/bitset: Same.
	* include/std/complex: Same.
	* include/std/fstream: Same.
	* include/std/functional: Same.
	* include/std/ios: Same.
	* include/std/iostream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.
	* include/std/streambuf: Same.
	* include/std/string: Same.
	* include/std/iterator: Same.
	* include/std/valarray: Same.

	* src/ios.cc: Adjust includes.
	* src/valarray-inst.cc: Same.
	* src/string-inst.cc: Same.
	* src/stl-inst.cc: Same.
	* src/stdexcept.cc: Same.
	* src/misc-inst.cc: Same.
	* src/localename.cc: Same.
	* src/locale-inst.cc: Same.
	* src/locale.cc: Same.
	* src/limits.cc: Same.
	* src/concept-inst.cc: Same.
	* src/complex_io.cc: Same.
	* src/codecvt.cc: Same.
	* src/bitset.cc: Same.
	* src/cmath.cc: Same.

From-SVN: r48544
2002-01-04 21:27:36 +00:00
Paolo Carlini 3b007b5d6b stl_tree.h (rb_tree): Move to...
2002-01-04  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_tree.h (rb_tree):  Move to...
	* include/ext/rb_tree:  ...here, new file.
        * include/Makefile.am (ext_headers):  Add new file.
        * include/Makefile.in:  Regenerate.
        * include/bits/stl_tempbuf.h (get_temporary_buffer + helper,
	return_temporary_buffer, struct temporary_buffer):  Move to...
        * include/ext/memory:  ...here.
        * testsuite/ext/headers.cc:  Include <ext/rb_tree>.
	* include/backward/tempbuf.h:  Include <ext/memory>, tweak.
	* include/backward/tree.h:  Include <ext/rb_tree), tweak.

From-SVN: r48538
2002-01-04 17:02:28 +00:00
Paolo Carlini 01b0d4b85a stl_numeric.h (power + helpers, iota): Move to...
2002-01-02  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_numeric.h (power + helpers, iota):  Move to...
	* include/ext/numeric:  ...here, new file.
        * include/bits/stl_function.h (identity_element, unary_compose,
	binary_compose, compose1, compose2, identity, select1st,
	select2nd, project1st + helper, project2nd + helper,
	constant_void_fun + helper, constant_unary_fun + helper,
	costant_binary_fun + helper, constant0, constant1, constant2,
	subtractive_rng, mem_fun1, mem_fun1_ref):  Move to...
        * include/ext/functional:  ...here, new file.
        * include/Makefile.am (ext_headers):  Add new files.
        * include/Makefile.in:  Regenerate.
        * testsuite/ext/headers.cc:  Include <ext/numeric> and
	<ext/functional>.
	* include/backward/algo.h:  Include <ext/numeric>, tweak.
	* include/backward/function.h:  Include <ext/functional>, tweak.
        * include/ext/ropeimpl.h:  Include <ext/numeric>.

From-SVN: r48519
2002-01-03 19:02:18 +00:00
Paolo Carlini f53d0ff143 stl_algobase.h (copy_n + helpers, [...]): Move to...
2002-01-02  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_algobase.h (copy_n + helpers,
	lexicographical_compare_3way + helpers):  Move to...
	* include/ext/algorithm:  ...here.
        * include/bits/stl_uninitialized.h (uninitialized_copy_n +
        helpers):  Move to...
        * include/ext/memory:  ...here, new file.
        * include/Makefile.am (ext_headers):  Add new file.
        * include/Makefile.in:  Regenerate.
        * testsuite/ext/headers.cc:  Include <ext/memory>.
	* include/backward/algobase.h:  Include <ext/memory> and
	<ext/algorithm>, tweak.
        * include/ext/ropeimpl.h:  Include <ext/memory>, tweak.
	* include/ext/stl_rope.h:  Include <ext/memory>, tweak.

From-SVN: r48467
2002-01-02 12:16:56 +00:00
Paolo Carlini 6d66e50d52 iterator: Add #include <bits/std_iterator.h>, tweak.
2001-12-31  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/iterator:  Add #include <bits/std_iterator.h>, tweak.
	* testsuite/ext/headers.cc:  Add <ext/iterator>.

From-SVN: r48430
2001-12-31 19:30:24 +00:00
Paolo Carlini 36955a954f algo.h: Add two more using declarations.
2001-12-31  Paolo Carlini  <pcarlini@unitus.it>

	* include/backward/algo.h:  Add two more using declarations.
	* include/backward/iterator.h:  Include <ext/iterator>,
	add using declaration.
	* include/ext/algorithm:  Add #pragma GCC system_header.

From-SVN: r48429
2001-12-31 18:03:47 +00:00
Phil Edwards 3d90ff9352 stl_bvector.h: Change calls to 3-argument distance() into standard 2-argument version.
2001-12-31  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/stl_bvector.h:  Change calls to 3-argument distance()
	into standard 2-argument version.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_tempbuf.h:  Likewise.
	* include/bits/stl_tree.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/bits/stl_iterator_base_funcs.h:  Move distance() extension...
	* include/ext/iterator:  to here.  New file.
	* include/Makefile.am (ext_headers):  Add new file, alphabatize.
	* include/Makefile.in:  Regenerate.

From-SVN: r48428
2001-12-31 16:16:17 +00:00
Paolo Carlini 63fea34ee3 slist: Move into __gnu_cxx, tweak, add using declarations.
2001-12-31  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/slist:  Move into __gnu_cxx,
	tweak, add using declarations.

From-SVN: r48423
2001-12-31 10:26:01 +00:00
Paolo Carlini e538847e1c hash_map: Move into __gnu_cxx, tweak, add using declarations.
2001-12-31  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/hash_map:  Move into __gnu_cxx,
	tweak, add using declarations.
	* include/ext/hash_set:  Ditto.
	* include/ext/ropeimpl.h:  Ditto.
	* include/ext/stl_hash_fun.h:  Ditto.
	* include/ext/stl_hashtable.h:  Ditto.
	* include/ext/stl_rope.h:  Ditto.
	* src/ext-inst.cc: Tweak.
	* testsuite/ext/rope.cc: Tweak.

From-SVN: r48422
2001-12-31 10:22:00 +00:00
Paolo Carlini 2c1bc4ebc9 stl_algo.h (count returning void, [...]): Move to...
2001-12-28  Paolo Carlini  <pcarlini@unitus.it>

        * include/bits/stl_algo.h (count returning void,
        count_if returning void, __random_sample, random_sample,
        random_sample_n, __is_heap, is_heap, is_sorted):  Move to...
        * include/ext/algorithm:  ...here, new file.
	* include/Makefile.am (ext_headers):  Add new file.
        * include/Makefile.in:  Regenerate.
	* testsuite/ext/headers.cc:  Include <ext/algorithm>.

From-SVN: r48350
2001-12-28 18:46:54 +00:00
Paolo Carlini 05b8581146 stl_rope.h (_Rope_iterator): Add local typedef to fix implicit typename problems.
2001-12-21  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/stl_rope.h (_Rope_iterator):
	Add local typedef to fix implicit typename problems.

From-SVN: r48242
2001-12-21 13:08:35 +00:00
Phil Edwards 82b61df521 Intro.3: New 'Allocators' module.
2001-12-19  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/Intro.3:  New 'Allocators' module.
	* docs/doxygen/TODO:  Update.
	* docs/doxygen/doxygroups.cc:  Update.
	* docs/doxygen/run_doxygen:  Update.

	* include/bits/stl_alloc.h:  Tweak doxygen hooks in comments.
	* include/bits/std_memory.h:  Doxygenate.
	* include/bits/stl_iterator_base_types.h:  Likewise.
	* include/bits/stl_raw_storage_iter.h:  Likewise.
	* include/bits/stl_tempbuf.h:  Likewise.
	(get_temporary_buffer):  Remove unused nonstandard overload.
	* include/bits/stl_uninitialized.h:  Likewise.

	* include/bits/stl_iterator_base_types.h (input_iterator,
	output_iterator, forward_iterator, bidirectional_iterator,
	random_access_iterator):  Move old names...
	* include/backward/iterator.h:  ...to here.
	* include/bits/stl_bvector.h:  Update.
	* include/ext/stl_rope.h:  Update.

From-SVN: r48185
2001-12-19 21:57:43 +00:00
Paolo Carlini 897bb55fe3 ropeimpl.h (rope::_S_leaf_concat_char_iter, [...]): Adjust implicit typename.
2001-12-12  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/ropeimpl.h (rope::_S_leaf_concat_char_iter,
	_S_destr_leaf_concat_char_iter, _S_tree_concat, _S_concat_char_iter,
	_S_destr_concat_char_iter, _S_concat, _S_substring, _S_balance)
	: Adjust implicit typename.
	* include/ext/stl_rope.h (_Rope_iterator::operator=, rope::npos):
	Adjust implicit typename.
	* testsuite/27_io/streambuf.cc: Adjust implicit typename.

From-SVN: r47958
2001-12-13 00:41:03 +00:00
Phil Edwards 9d6a24bd51 std_bitset.h: Use GLIBCPP in multiple-inclusion guard.
2001-12-06  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/std_bitset.h:  Use GLIBCPP in multiple-inclusion guard.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_bvector.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_function.h:  Likewise.
	* include/bits/stl_iterator.h:  Likewise.
	* include/bits/stl_iterator_base_funcs.h:  Likewise.
	* include/bits/stl_iterator_base_types.h:  Likewise.
	* include/bits/stl_list.h:  Likewise.
	* include/bits/stl_multimap.h:  Likewise.
	* include/bits/stl_multiset.h:  Likewise.
	* include/bits/stl_pair.h:  Likewise.
	* include/bits/stl_queue.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_tempbuf.h:  Likewise.
	* include/bits/stl_tree.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.

	* include/bits/stl_alloc.h:  Use our own multiple inclusion guards.
	Doxygenate more comments.  Correct historical artifacts in comments.
	(alloc, single_alloc):  Uglify non-standard names.
	(__default_alloc_template::_NFREELISTS):  Calculate from other
	parameters.
	(__default_alloc_template::_S_free_list):  Remove SunPro workaround.
	(__default_alloc_template::_Lock):  Mark as "unused".
	* include/backward/alloc.h:  Update.
	* include/bits/stl_bvector.h:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.

From-SVN: r47729
2001-12-06 20:29:31 +00:00
Loren J. Rittle bd8fd826dd howto.html: Update commentary.
* docs/html/ext/howto.html: Update commentary.
	* include/bits/c++config: Update threading configuration comment.
	(__STL_GTHREADS): Remove macro definition.
	(__STL_THREADS): Likewise.
	* include/bits/stl_threads.h: Leave only the configuration
	path which had been guarded by __STL_GTHREADS.  Remove all
	guards related to __STL_GTHREADS, __STL_SGI_THREADS,
	__STL_PTHREADS, __STL_UITHREADS and __STL_WIN32THREADS.
	* include/bits/stl_alloc.h: Leave only the configuration path
	which had been guarded by __STL_THREADS.  Remove configuration
	path and guards for __STL_SGI_THREADS.
	(__NODE_ALLOCATOR_THREADS): Remove macro definition.  Unroll its use.
	(__NODE_ALLOCATOR_LOCK): Likewise.
	(__NODE_ALLOCATOR_UNLOCK): Likewise.
	(_NOTHREADS): Remove guards related to macro.
	* include/ext/stl_rope.h: Remove configuration path and guards
	for __STL_SGI_THREADS.
	* src/stl-inst.cc: Remove use of __NODE_ALLOCATOR_THREADS.

From-SVN: r47557
2001-12-03 19:11:01 +00:00
Joseph Myers c5504edb75 ChangeLog, [...]: Fix spelling errors.
* ChangeLog, docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,
	docs/doxygen/doxygroups.cc, docs/doxygen/Intro.3,
	docs/html/17_intro/BUGS, docs/html/17_intro/C++STYLE,
	docs/html/17_intro/CHECKLIST, docs/html/17_intro/DESIGN,
	docs/html/17_intro/howto.html, docs/html/17_intro/porting.html,
	docs/html/17_intro/porting.texi, docs/html/18_support/howto.html,
	docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
	docs/html/21_strings/howto.html,
	docs/html/23_containers/howto.html,
	docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
	docs/html/27_io/binary_iostreams_kuehl.txt,
	docs/html/ext/sgiexts.html, docs/html/faq/index.html,
	docs/html/faq/index.txt, testsuite/24_iterators/iterator.cc,
	include/bits/basic_file.h, include/bits/locale_facets.h,
	include/bits/locale_facets.tcc, include/bits/std_sstream.h,
	include/ext/ropeimpl.h, include/ext/stl_rope.h,
	libsupc++/tinfo.cc, libsupc++/cxxabi.h, libsupc++/typeinfo,
	libsupc++/eh_throw.cc, acinclude.m4, aclocal.m4, configure,
	configure.target, ChangeLog-2000: Fix spelling errors.

From-SVN: r47291
2001-11-23 16:29:02 +00:00
Phil Edwards 1b4a6975f7 Intro.3: More notes.
2001-11-19  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/Intro.3:  More notes.
	* docs/doxygen/style.css:  Update to default style from Doxygen 1.2.10.
	* include/bits/stl_algobase.h:  Add doxygen hooks for functions.
	* include/ext/hash_map:  Add @file hook.
	* include/ext/hash_set:  Likewise.
	* include/ext/rope:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.

	* docs/html/17_intro/license.html:  Remove "experimental" sentence.
	* docs/html/19_diagnostics/howto.html:  Document new verbose
	terminate handler.
	* testsuite/27_io/filebuf.cc:  Fix comment, move tweakable parameter
	to more visible (closer to description) position.

	* libsupc++/eh_type.cc:  Formatting tweak.
	* libsupc++/exception:  Likewise.
	* src/vterminate.cc:  Likewise.

	* docs/html/17_intro/porting.html:  Regenerate.
	* docs/html/faq/index.txt:  Regenerate.

From-SVN: r47193
2001-11-20 00:51:37 +00:00
Phil Edwards 4d16bdbbf6 re PR libstdc++/3666 (Invalid concept-checking code.)
2001-11-01  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4:  Fix spacing.
	(GLIBCPP_ENABLE_CONCEPT_CHECKS):  New macro.
	* configure.in:  Call here.
	* acconfig.h:  Add _GLIBCPP_CONCEPT_CHECKS.
	* include/bits/boost_concept_check.h:  Fix headers.
	(__function_requires):  Make inline.
	* include/bits/c++config (_GLIBCPP_CONCEPT_CHECKS):  Remove.
	* aclocal.m4:  Regenerate.
	* config.h.in:  Regenerate.
	* configure:  Regenerate.

	Move trailing ';' inside macro, PR libstdc++/3666.
	* include/bits/concept_check.h:  Add semicolon.
	* include/bits/stl_algo.h:  Remove semicolon.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_heap.h:  Likewise.
	* include/bits/stl_iterator_base_funcs.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_queue.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/slist:  Likewise.

	* src/concept-inst.cc:  New file with explicit instantiations.
	* src/Makefile.am (sources):  Add here, with special build rules.
	* src/Makefile.in:  Regenerate.

From-SVN: r46697
2001-11-01 15:46:48 +00:00
Benjamin Kosnik 322821b9ad Make -fno-exceptions work.
2001-10-23  Benjamin Kosnik  <bkoz@redhat.com>

	Make -fno-exceptions work.
	* config/locale/c_locale_gnu.cc: Use functexcept.
	* include/bits/c++config (__stl_assert): Remove.
	(__STL_USE_EXCEPTIONS): Same.
	(__STL_TRY): Same.
	(__STL_CATCH_ALL): Same.
	(__STL_THROW): Same.
	(__STL_RETHROW): Same.
	(__STL_NOTHROW): Same.
	(__STL_UNWIND): Same.
	* include/bits/pthread_allocimpl.h: Fix.
	* include/bits/std_bitset.h: Same.
	* include/bits/std_list.h: Same.
	* include/bits/std_memory.h: Same.
	* include/bits/std_queue.h: Same.
	* include/bits/stl_alloc.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/stl_tree.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/ext/ropeimpl.h: Same.
	* include/ext/slist: Same.
	* include/ext/stl_hashtable.h: Same.
	* include/ext/stl_rope.h: Same.
	* libsupc++/new_op.cc: Include cstdlib.
	* libsupc++/eh_personality.cc: Add exception_defines include. Use
	__throw_exception_again, tweak.
	* libsupc++/eh_aux_runtime.cc: Include stdlib for abort.
	* libsupc++/vec.cc: Tweak.
	* src/functexcept.cc: Remove unused arguments.
	* testsuite/23_containers/bitset_members.cc: Tweak.

From-SVN: r46455
2001-10-24 02:37:56 +00:00
Jeffrey Oldham 98aff0b52e ropeimpl.h (_Rope_RopeRep::_M_free_c_string): Replace destroy by _Destroy.
2001-07-04  Jeffrey Oldham  <oldham@codesourcery.com>

	* include/ext/ropeimpl.h (_Rope_RopeRep::_M_free_c_string):
	Replace destroy by _Destroy.
	(_Rope_RopeRep::_S_free_string): Likewise.
	(rope::c_str()): Likewise.
	* include/ext/slist (_Slist_base::_M_erase_after>): Likewise.
	(_Slist_base::_M_erase_after): Likewise.
	(slist::_M_create_node): Replace construct by _Construct.
	(slist::pop_front): Replace destroy by _Destroy.
	* include/ext/stl_hashtable.h (hashtable::_M_new_node): Replace
	construct by _Construct.
	(hashtable::_M_delete_node): Replace destroy by _Destroy.
	* include/ext/stl_rope.h (rope::rope): Replace construct by
	_Construct.
	(rope::copy): Replace destroy by _Destroy.

From-SVN: r43764
2001-07-04 18:12:08 +00:00
Phil Edwards 42526146aa algo.h: Add "GPL plus runtime exception" comment block, this time for real.
2001-06-27  Phil Edwards  <pme@sources.redhat.com>

	* include/backward/algo.h:  Add "GPL plus runtime exception" comment
	block, this time for real.
	* include/backward/algobase.h:  Likewise.
	* include/backward/alloc.h:  Likewise.
	* include/backward/bvector.h:  Likewise.
	* include/backward/defalloc.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/pthread_allocimpl.h:  Likewise.
	* include/bits/std_algorithm.h:  Likewise.
	* include/bits/std_bitset.h:  Likewise.
	* include/bits/std_deque.h:  Likewise.
	* include/bits/std_functional.h:  Likewise.
	* include/bits/std_iterator.h:  Likewise.
	* include/bits/std_list.h:  Likewise.
	* include/bits/std_map.h:  Likewise.
	* include/bits/std_memory.h:  Likewise.
	* include/bits/std_numeric.h:  Likewise.
	* include/bits/std_queue.h:  Likewise.
	* include/bits/std_set.h:  Likewise.
	* include/bits/std_stack.h:  Likewise.
	* include/bits/std_utility.h:  Likewise.
	* include/bits/std_vector.h:  Likewise.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_alloc.h:  Likewise.
	* include/bits/stl_bvector.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_funcs.h:  Likewise.
	* include/bits/stl_iterator_base_types.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/type_traits.h:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/rope:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.
	* src/bitset.cc:  Likewise.
	* src/strstream.cc:  Likewise.

From-SVN: r43613
2001-06-27 17:09:53 +00:00
Phil Edwards 41104fd541 *: Revert comment/license change from yesterday for all except libsupc++/unwind-cxx.h.
2001-06-22  Phil Edwards  <pme@sources.redhat.com>

	* include/*:  Revert comment/license change from yesterday for all
	except libsupc++/unwind-cxx.h.
	* src/bitset.cc:  Likewise.
	* src/strstream.cc:  Likewise.

From-SVN: r43513
2001-06-22 19:53:32 +00:00
Phil Edwards daa19534a9 algo.h: Add "GPL plus runtime exception" comment.
2001-06-21  Phil Edwards  <pme@sources.redhat.com>

	* include/backward/algo.h:  Add "GPL plus runtime exception" comment.
	* include/backward/algobase.h:  Likewise.
	* include/backward/alloc.h:  Likewise.
	* include/backward/bvector.h:  Likewise.
	* include/backward/defalloc.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/pthread_allocimpl.h:  Likewise.
	* include/bits/std_algorithm.h:  Likewise.
	* include/bits/std_bitset.h:  Likewise.
	* include/bits/std_deque.h:  Likewise.
	* include/bits/std_functional.h:  Likewise.
	* include/bits/std_iterator.h:  Likewise.
	* include/bits/std_list.h:  Likewise.
	* include/bits/std_map.h:  Likewise.
	* include/bits/std_memory.h:  Likewise.
	* include/bits/std_numeric.h:  Likewise.
	* include/bits/std_queue.h:  Likewise.
	* include/bits/std_set.h:  Likewise.
	* include/bits/std_stack.h:  Likewise.
	* include/bits/std_utility.h:  Likewise.
	* include/bits/std_vector.h:  Likewise.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_alloc.h:  Likewise.
	* include/bits/stl_bvector.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_funcs.h:  Likewise.
	* include/bits/stl_iterator_base_types.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/type_traits.h:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/rope:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.
	* libsupc++/unwind-cxx.h:  Likewise.
	* src/bitset.cc:  Likewise.
	* src/strstream.cc:  Likewise.

From-SVN: r43496
2001-06-21 23:03:00 +00:00
Peter Schmid 673af03ae5 slist: Include required header files.
2001-04-24  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

        * include/ext/slist: Include required header files.

From-SVN: r41512
2001-04-23 23:17:20 +00:00
Phil Edwards 62bb0c97fd boost_concept_check.h: Uglify, fork from Boost.
2001-04-13  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/boost_concept_check.h:  Uglify, fork from Boost.
	* include/bits/concept_check.h:  Uglify.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_heap.h:  Likewise.
	* include/bits/stl_iterator_base_funcs.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_queue.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/slist:  Likewise.

From-SVN: r41333
2001-04-13 09:03:18 +00:00
Phil Edwards 30a20a1ee0 New concept checking implementation.
2001-04-02  Phil Edwards  <pme@sources.redhat.com>

	New concept checking implementation.
	* docs/html/19_diagnostics/howto.html:  Document.
	* docs/html/17_intro/concept_check.diff:  New file, for reference.
	* include/bits/boost_concept_check.h:  New file from Boost.
	* include/bits/c++config:  Update comments.

	* include/bits/concept_check.h:  New file.
	* include/bits/concept_checks.h:  Removed.
	* include/bits/container_concepts.h:  Removed.
	* include/bits/sequence_concepts.h:  Removed.
	* include/bits/stl_iterator_base.h:  Removed; split into...
	* include/bits/stl_iterator_base_funcs.h:  ...this new file...
	* include/bits/stl_iterator_base_types.h:  ...and this new file.

	* include/bits/sbuf_iter.h:  Update to use new implementation.
	* include/bits/std_iterator.h:  Likewise.
	* include/bits/std_memory.h:  Likewise.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_construct.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_heap.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_queue.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_uninitialized.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.

	* src/Makefile.am (base_headers):  Update list of headers.
	* Makefile.in:  Regenerated.
	* src/Makefile.in:  Regenerated.
	* libio/Makefile.in:  Regenerated.
	* libmath/Makefile.in:  Regenerated.
	* libsupc++/Makefile.in:  Regenerated.
	* testsuite/Makefile.in:  Regenerated.

	* docs/html/install.html:  Update contact information.
	* docs/html/17_intro/howto.html:  Ditto.
	* docs/html/18_support/howto.html:  Ditto.
	* docs/html/20_util/howto.html:  Ditto.
	* docs/html/21_strings/howto.html:  Ditto.
	* docs/html/22_locale/howto.html:  Ditto.
	* docs/html/23_containers/howto.html:  Ditto.
	* docs/html/24_iterators/howto.html:  Ditto.
	* docs/html/25_algorithms/howto.html:  Ditto.
	* docs/html/26_numerics/howto.html:  Ditto.
	* docs/html/27_io/howto.html:  Ditto.
	* docs/html/faq/index.html:  Ditto, plus info on new checking code.
	* docs/html/ext/howto.html:  Ditto, plus info on new checking code.
	* docs/html/faq/index.txt:  Regenerated.

From-SVN: r41031
2001-04-03 00:26:58 +00:00
Benjamin Kosnik 9b7e0d0005 [multiple changes]
2001-03-31  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.target: Remove duplicate aix entry.

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

	* include/ext/stl_bvector.h: Move to...
	* include/bits/stl_vector.h: ...here.
	* include/ext/bvector: Move to...
	* include/backward/bvector.h: ...here.
	* include/bits/std_vector.h: Change stl_bvector include.
	* include/bits/std_queue.h: Remove bvector include.
	* include/ext/tree: Insert using rb_tree, move to...
	* include/backward/tree.h: ...here.
	* include/backward/hash_map.h: Include ext/hash_map.
	* include/backward/hash_set.h: Include ext/hash_set.
	* include/backward/queue.h: New file.
	* include/backward/stack.h: Edit.
	* include/backward/algo.h: Same.
	* include/backward/algobase.h: Same.
	* include/backward/alloc.h: Same.
	* include/backward/function.h: Same.
	* include/backward/iomanip.h: Same.
	* include/backward/istream.h: Same.
	* include/backward/iterator.h: Same.
	* include/backward/list.h: Same.
	* include/backward/map.h: Same.
	* include/backward/multimap.h: Same.
	* include/backward/multiset.h: Same.
	* include/backward/ostream.h: Same.
	* include/backward/pair.h: Same
	* include/backward/rope.h: Same.
	* include/backward/set.h: Same.
	* include/backward/stream.h: Same.
	* include/backward/strstream.h: Same.
	* include/backward/tempbuf.h: Same.
	* src/Makefile.am (ext_headers): Edit.
	* src/Makefile.in: Regenerate.
	* testsuite/ext/headers.cc (main): Fix.
	* mkcheck.in: Fix.

From-SVN: r40979
2001-03-31 20:15:43 +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
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 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
Benjamin Kosnik 725dc051ca include: New directory.
2000-10-05  Benjamin Kosnik  <bkoz@cygnus.com>

	* include: New directory.
	* include/backward: New directory.
	* include/bits: New directory.
	* include/ext: New directory.
	* include/std: New directory.
	* include/*/*: Populate.

	* src/complex.cc: Adjust include of mathconf.

	* mkc++config (BASE_H): Add include.

	* src/Makefile.am: Support for topleve sources include directory.
	(INCLUDES): Add LIBMATH_INCLUDE.
	* src/Makefile.in: Regenerate.
	* math/Makefile.am (INCLUDES): Append /include.
	* math/Makefile.in: Regenerate.
	* libio/Makefile.am (INCLUDES): Add glibcpp_includedir.
	* libio/Makefile.in: Regenerate.

From-SVN: r36723
2000-10-05 11:27:02 +00:00