Commit Graph

2698 Commits

Author SHA1 Message Date
Joachim Kuebart
e55096f0ce pool_allocator.cc (__pool_alloc_base::_M_allocate_chunk): Deal properly with exceptions thrown by ::operator new(size_t).
2004-10-11  Joachim Kuebart  <kuebart@mathematik.uni-ulm.de>
	    Paolo Carlini  <pcarlini@suse.de>

	* src/pool_allocator.cc (__pool_alloc_base::_M_allocate_chunk):
	Deal properly with exceptions thrown by ::operator new(size_t).
	* testsuite/ext/pool_allocator/allocate_chunk.cc: New.

	* include/ext/pool_allocator.h: Include <cstdlib>.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r88872
2004-10-11 08:19:35 +00:00
Benjamin Kosnik
382c6e2df8 functexcept.h: Add guards.
2004-10-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/functexcept.h: Add guards.

	* acinclude.m4 (GLIBCXX_ENABLE_THREADS): Tweak test.
	* configure: Regenerate.

From-SVN: r88857
2004-10-10 21:54:41 +00:00
Paolo Carlini
a780ad2f43 monetary_members.cc (_S_construct_pattern): Give __ret a default value, thus avoiding spurious warnings.
2004-10-10  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/monetary_members.cc (_S_construct_pattern):
	Give __ret a default value, thus avoiding spurious warnings.

	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
	words or linux.words, otherwise exit.
	* testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.

From-SVN: r88848
2004-10-10 17:55:23 +00:00
Paolo Carlini
dafa8871d1 std_memory.h (__get_temporary_buffer): Don't use INT_MAX...
2004-10-09  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_memory.h (__get_temporary_buffer): Don't use
	INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
	platforms too.
	* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
	line numbers.

From-SVN: r88814
2004-10-09 08:23:02 +00:00
Benjamin Kosnik
c3e7f18406 acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
2004-10-08  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
	* acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New.
	* configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT.
	* configure: Regenerate.
	* src/mt_allocator.cc (__pool::~__pool): Make conditional on
	_GLIBCXX_USE___CXA_ATEXIT macro.
	* docs/html/ext/mt_allocator.html: Add note about deallocation.
	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks
	with _GLIBCXX_USE___CXA_ATEXIT.
	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.

From-SVN: r88809
2004-10-09 02:30:10 +00:00
Phil Edwards
ebd9dfc96d libstdc++.exp: Update list of undefined functions.
2004-10-07  Phil Edwards  <phil@codesourcery.com>

	* testsuite/lib/libstdc++.exp:  Update list of undefined functions.

From-SVN: r88716
2004-10-07 23:20:42 +00:00
Paolo Carlini
4681bebd90 list.tcc (operator=): Avoid iterator postincrement.
2004-10-07  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/list.tcc (operator=): Avoid iterator postincrement.
	* include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.

From-SVN: r88715
2004-10-07 22:44:30 +00:00
Benjamin Kosnik
3febde356c tr1: New.
2004-10-07  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1: New.
	* include/tr1/array: New.
	* include/Makefile.am (tr1_headers): New.
	(stamp-tr1): New.
	(install-headers): New.
	(allstamped): Add stamp-tr1.

	* include/ext/array_allocator.h: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* testsuite/ext/array_allocator/1.cc: New.
	* testsuite/ext/array_allocator/2.cc: New.

From-SVN: r88711
2004-10-07 22:06:23 +00:00
Richard Earnshaw
446e877825 * testsuite/lib/libstdc++.exp (libstdc++_exit): New proc.
From-SVN: r88710
2004-10-07 22:00:29 +00:00
Roger Sayle
03d3f46d57 re PR libstdc++/17850 (bootstrap failure - libstdc++ uses strtold when undeclared)
PR libstdc++/17850
	* configure.ac: Newlib does not provide strtold.
	* configure: Regenerate.

From-SVN: r88691
2004-10-07 15:52:26 +00:00
Benjamin Kosnik
e3f78d9b11 acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
	(GLIBCXX_CONFIGURE_TESTSUITE): Use it.
	* configure: Regenerated.
	* testsuite/Makefile.am (CLEANFILES): Add TEST for
	check-performance executables.
	(stamp_thread): New.
	(all-local): Use it.
	* testsuite/Makefile.in: Regenerate.
	* scripts/create_testsuite_files: Filter thread tests.

	* testsuite/thread/pthread1.cc: Remove macro conditionals: this
	file will only be run by thread enabled configurations.
	* testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
	* testsuite/thread/pthread6.cc: Same.
	* testsuite/thread/pthread5.cc: Same.
	* testsuite/thread/pthread4.cc: Same.
	* testsuite/thread/pthread3.cc: Same.
	* testsuite/thread/pthread2.cc: Same.

	* testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
	* testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
	* testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here.
	* testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
	* testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.

From-SVN: r88628
2004-10-06 22:12:34 +00:00
Benjamin Kosnik
8470634361 re PR libstdc++/17780 (std::allocator vs. static init)
2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/17780
	* src/mt_allocator.cc (__pool<true>::_M_reserve_block): Revert
	to old locking order.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r88611
2004-10-06 16:31:19 +00:00
Paolo Carlini
dbb8bfe8c5 [multiple changes]
2004-10-06  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_sstream.h (_M_sync): When the caller is
	setbuf, don't trust _M_string.capacity() to be the size of
	the buffer area, use _M_string.size() in this case.
	* testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: New.
	* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.

	* include/bits/sstream.tcc (overflow): Avoid calling string::assign
	unnecessarily when the current _M_string is empty.

2004-10-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (__reverse(bidirectional_iterator_tag)):
	Avoid iterator postincrement.
	(__rotate): Likewise.

	* include/bits/stl_algo.h: Minor formatting tweaks.

2004-10-06  Christopher Jefferson <caj@cs.york.ac.uk>

	* include/bits/stl_algo.h (__reverse(random_access_iterator_tag)):
	Avoid iterator postincrement; fix swapping middle element with
	itself on odd-length inputs.

From-SVN: r88593
2004-10-06 09:06:59 +00:00
Benjamin Kosnik
12cde21b12 re PR libstdc++/17780 (std::allocator vs. static init)
2004-10-05  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/17780
	* include/ext/mt_allocator.h (__pool_base::_Tune): Add default
	options as compile-time constant enums.
	(__pool_base::_Tune::is_default): New.
	(__pool_base::_Block_address): New.
	(__pool_base): Rearrange data members.
	(__pool::_M_reserve_memory): To _M_reserve_block.
	(__pool::_M_reclaim_memory): To _M_reclaim_block.
	(__pool::_Bin_record): Add _Block_address data member.
	(__pool<false>): Add _M_thread_freelist_initial.
	(__pool::~__pool): Declare.
	(__common_pool_policy): Move static data member to...
	(__common_pool_policy::_S_get_pool): ...here, make static local.
	(__per_type_pool_policy): Move static data member to...
	(__per_type_pool_policy::_S_get_pool): ...here, make static local.
	(__mt_alloc::__mt_alloc): Call __policy_type::_S_get_pool.
	Remove static member definitions. Use define for __default_policy.
	* src/mt_allocator.cc: Same.
	* config/linker-map.gnu: Don't export _S_get_pool. Renames.
	* testsuite/ext/new_allocator: New.
	* testsuite/ext/new_allocator/instantiate.cc: New.
	* testsuite/ext/new_allocator/check_new.cc: New.
	* testsuite/ext/new_allocator/deallocate_global.cc: New.
	* testsuite/ext/new_allocator/deallocate_local.cc: New.
	* testsuite/ext/mt_allocator/instantiate.cc: Instantiate all
	template arguments.
	* testsuite/ext/mt_allocator/deallocate_global-1.cc: New.
	* testsuite/ext/mt_allocator/deallocate_global-2.cc: New.
	* testsuite/ext/mt_allocator/deallocate_global-3.cc: New.
	* testsuite/ext/mt_allocator/deallocate_global-4.cc: New.
	* testsuite/ext/mt_allocator/deallocate_local-1.cc: New.
	* testsuite/ext/mt_allocator/deallocate_local-2.cc: New.
	* testsuite/ext/mt_allocator/deallocate_local-3.cc: New.
	* testsuite/ext/mt_allocator/deallocate_local-4.cc: New.
	* testsuite/ext/mt_allocator/deallocate.cc: New.
	* testsuite/ext/malloc_allocator/deallocate.cc: New.
	* testsuite/ext/malloc_allocator/deallocate_global.cc: New.
	* testsuite/ext/malloc_allocator/deallocate_local.cc: New.

From-SVN: r88589
2004-10-06 04:22:42 +00:00
Ulrich Weigand
29cb3c21e8 configure.host (abi_baseline_pair): Define for s390-*-linux* and s390x-*-linux*.
* configure.host (abi_baseline_pair): Define for s390-*-linux* and
	s390x-*-linux*.
	* config/abi/s390-linux-gnu/baseline_symbols.txt: Add missing symbols.
	* config/abi/s390x-linux-gnu/baseline_symbols.txt: New file.

From-SVN: r88553
2004-10-05 13:45:38 +00:00
Christopher Jefferson
575665ff64 stl_algobase.h (iter_swap): delegate to swap via __iter_swap when iterator's value_types are equal.
2004-10-05  Christopher Jefferson  <caj@cs.york.ac.uk>

	* include/bits/stl_algobase.h (iter_swap): delegate to swap via
	__iter_swap when iterator's value_types are equal.
	(struct __iter_swap): New.

From-SVN: r88549
2004-10-05 10:28:17 +00:00
Benjamin Kosnik
0e98ac6223 configure.ac (libtool_VERSION): To 6:3:0.
2004-10-04  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.ac (libtool_VERSION): To 6:3:0.
	* configure: Regnerate.
	* testsuite/testsuite_abi.cc (check_version): Add 3.4.3.

From-SVN: r88545
2004-10-05 05:02:58 +00:00
Roger Sayle
cfd51eaf34 re PR libstdc++/17505 (<cmath> calls acosf(), ceilf(), and other functions missing from system libraries)
PR libstdc++/17505
	* config/linker-map.gnu: Synchronize the current list of stub
	functions from libmath.

Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>

From-SVN: r88540
2004-10-05 02:30:48 +00:00
Roger Sayle
e6fecd0132 c_locale.cc (__convert_to_v): Use _GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
* config/locale/generic/c_locale.cc (__convert_to_v): Use
	_GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
	Likewise, use _GLIBCXX_HAVE_STRTOLD instead of _GLIBCXX_USE_C99
	to check for presence of strtold.

From-SVN: r88472
2004-10-04 00:19:57 +00:00
Paolo Carlini
11aaf40c8c stl_list.h: Trivial formatting fixes.
2004-10-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_list.h: Trivial formatting fixes.
	* include/bits/stl_tree.h: Likewise.

From-SVN: r88451
2004-10-03 15:50:32 +00:00
Paolo Carlini
9d7bc6de21 sstream.tcc (seekpos): In case of success, just return __sp.
2004-10-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/sstream.tcc (seekpos): In case of success, just
	return __sp.

From-SVN: r88443
2004-10-03 11:33:53 +00:00
Paolo Carlini
abccc4f66c sstream.tcc (pbackfail): Implement correctly 27.7.1.3/2, bullet 2...
2004-10-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/sstream.tcc (pbackfail): Implement correctly
	27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
	write in the buffer.
	* testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
	* testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.

From-SVN: r88407
2004-10-01 21:01:29 +00:00
Paolo Carlini
f67b6b7a9e sstream.tcc (seekpos): Minor rearrangement of two conditionals consistently with seekoff.
2004-10-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/sstream.tcc (seekpos): Minor rearrangement of two
	conditionals consistently with seekoff.
	* include/std/std_sstream.h (setbuf): Avoid a string temporary.
	(_M_sync): Simplify a bit, clean-up comment.

From-SVN: r88389
2004-10-01 09:22:49 +00:00
Paolo Carlini
9c9e97bdb4 PR libstdc++/10975 (DR 453)
2004-09-30  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/10975 (DR 453)
	* include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
	and __off == 0.
	* docs/html/ext/howto.html: Add an entry for DR 453.
	* testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
	* testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
	move to...
	* testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
	* testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
	move to...
	* testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.

From-SVN: r88341
2004-09-30 17:23:10 +00:00
Paolo Carlini
983de0da66 std_sstream.h (basic_stringbuf(ios_base::openmode)): Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
2004-09-29  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
	Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
	(str()): Slightly tweak, protect from pptr() == 0.
	(_M_update_egptr()): Likewise.
	* include/bits/sstream.tcc (ssekoff, seekpos): In order to check
	for an empty buffer use __beg instead of _M_string.capacity().
	* testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
	* testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.

	* testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
	* testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
	* testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.

2004-09-29  Paolo Carlini  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_io.h (class constraint_buf): New, extended
	and templatized version of constraint_filebuf; add typedefs for
	streambuf/stringbuf/filebuf and wchar_t counterparts.

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

From-SVN: r88307
2004-09-29 21:14:43 +00:00
Paolo Carlini
1165dc50e8 [multiple changes]
2004-09-28  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/16612
	* include/bits/basic_string.h (_M_dispose, _M_refcopy,
	basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
	don't deal with _S_empty_rep.
	* include/bits/basic_string.tcc (_S_construct, _M_destroy,
	_M_leak_hard, _M_mutate): Likewise.
	* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
	* acconfig.h: Add corresponding undef.
	* configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
	* docs/html/configopts.html: Document --enable-fully-dynamic-string.
	* configure: Regenerate.
	* config.h.in: Likewise.

2004-09-28  Benjamin Kosnik  <bkoz@redhat.com>
            Paolo Carlini  <pcarlini@suse.de>

	* testsuite/21_strings/basic_string/operations/char/1.cc: New.
	* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
	* testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
	* testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
	New.

2004-09-28  Paolo Carlini  <pcarlini@suse.de>

	* README: Remove obsolete entry about include/c_shadow.

From-SVN: r88225
2004-09-28 08:58:35 +00:00
H.J. Lu
c03c696f6b re PR libstdc++/17469 (Testsuite in libstdc++ overrides LD_LIBRARY_PATH)
2004-09-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR libstdc++/17469
	* testsuite/lib/libstdc++.exp: Don't use global ld_library_path.

From-SVN: r88054
2004-09-24 09:51:09 -07:00
Paolo Carlini
17c08c32de localename.cc (locale::locale(const char*)): Minor tweaks: rename a variable, move an assignment.
2004-09-24  Paolo Carlini  <pcarlini@suse.de>

	* src/localename.cc (locale::locale(const char*)): Minor tweaks:
	rename a variable, move an assignment.
	(locale::_Impl::_Impl(const char*, size_t)): Likewise, minor tweak.

From-SVN: r88043
2004-09-24 15:26:35 +00:00
Paul Brook
049930c8dd 1-in.cc: XFAIL more arm simulator targets.
* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL more arm
	simulator targets.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Ditto.
	* testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Ditto.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Ditto.
	* testsuite/ext/stdio_filebuf/char/10063-3.cc: Ditto.

From-SVN: r88003
2004-09-24 02:04:39 +00:00
Zack Weinberg
2cfe82fe43 decl.c (grokfndecl): If ::main is found not to return int, correct it after issuing a diagnostic.
gcc/cp:
	* decl.c (grokfndecl): If ::main is found not to return int,
	correct it after issuing a diagnostic.
	(grokdeclarator): If the incoming type was error_mark_node, do
	not complain about declaring something with no type.
	(start_function): Change check for ::main not returning int to
	an assertion, as grokfndecl now catches this when the user did it.
	* init.c (perform_member_init, sort_mem_initializers)
	(emit_mem_initializers): Make most diagnostics be issued on
	the line of current_function_decl, not whatever the current
	input line is.
	* parser.c (cp_lexer_peek_token_emit_debug_info): Surround
	definition and declaration with #ifdef ENABLE_CHECKING.
	Avoid unnecessary use of fprintf.
	(cp_lexer_print_token, cp_lexer_debug_stream): Adjust stub
	definitions to avoid warnings.
	(cp_lexer_new_main): Add assertion that first token is not a
	padding token.
	(cp_lexer_new_from_token_array): Fold into ...
	(cp_lexer_new_from_tokens): ... here.  Add assertion that
	first token is not a padding token.
	(cp_lexer_set_source_position_from_token): Move nearer to callers.
	Remove unused lexer argument.
	(cp_lexer_peek_token): Just print debugging report (if enabled)
	and return lexer->next_token.
	(cp_lexer_skip_purged_tokens): Delete.
	(cp_lexer_next_token_is, cp_lexer_next_token_is_not): Make
	inline, simplify bodies.
	(cp_lexer_peek_nth_token): Add debugging report a la
	cp_lexer_peek_token.
	(cp_lexer_consume_token): Correct commentary.  Advance over
	purged tokens here.  Set current source position here, from
	token to be returned.  Avoid unnecessary use of fprintf.
	(cp_lexer_purge_token): Advance next_token pointer over this and
	subsequent purged tokens.
	(cp_parser_error): Adjust source position to that of the
	peeked token.
	(cp_parser_push_lexer_for_tokens, cp_parser_pop_lexer): New functions.
	(cp_parser_string_literal): Remove some excessive cleverness.
	(cp_parser_enum_specifier): Call start_enum before consuming
	the opening brace.
	(cp_parser_member_declaration): Make the "extra semicolon"
	diagnostic consistently-worded with the other place this is
	diagnosed.  Explicitly set the diagnostic location to the
	location of the offending semicolon.
	(cp_parser_enclosed_template_argument_list): Use %</%> quoting
	in diagnostics.  Do not use cp_parser_require.  Set location
	of diagnostics about improper use of '>>' to location of
	offending token.
	(cp_parser_late_parsing_for_member):
	Use cp_parser_push_lexer_for_tokens and cp_parser_pop_lexer.
	(cp_parser_late_parsing_default_args): Likewise.  Manually
	move some logic outside the loop.

gcc/testsuite:
	* g++.dg/ext/complit1.C
	* g++.dg/other/error2.C
	* g++.dg/other/nontype-1.C
	* g++.dg/parse/crash11.C
	* g++.dg/parse/crash12.C
	* g++.dg/parse/error15.C
	* g++.dg/parse/error4.C
	* g++.dg/parse/tmpl-outside1.C
	* g++.dg/parse/too-many-tmpl-args1.C
	* g++.dg/template/dependent-expr3.C
	* g++.dg/template/error10.C
	* g++.dg/template/instantiate1.C
	* g++.dg/template/vtable2.C
	* g++.dg/warn/Wshadow-1.C
	* g++.dg/warn/weak1.C
	* g++.old-deja/g++.brendan/crash16.C
	* g++.old-deja/g++.brendan/crash18.C
	* g++.old-deja/g++.brendan/crash48.C
	* g++.old-deja/g++.brendan/crash49.C
	* g++.old-deja/g++.brendan/crash55.C
	* g++.old-deja/g++.brendan/crash56.C
	* g++.old-deja/g++.brendan/crash8.C
	* g++.old-deja/g++.brendan/enum11.C
	* g++.old-deja/g++.brendan/enum8.C
	* g++.old-deja/g++.brendan/enum9.C
	* g++.old-deja/g++.brendan/friend3.C
	* g++.old-deja/g++.brendan/misc14.C
	* g++.old-deja/g++.bugs/900402_02.C
	* g++.old-deja/g++.bugs/900404_03.C
	* g++.old-deja/g++.bugs/900404_04.C
	* g++.old-deja/g++.bugs/900428_03.C
	* g++.old-deja/g++.jason/crash4.C
	* g++.old-deja/g++.jason/overload21.C
	* g++.old-deja/g++.jason/redecl1.C
	* g++.old-deja/g++.jason/report.C
	* g++.old-deja/g++.jason/rfg10.C
	* g++.old-deja/g++.jason/template30.C
	* g++.old-deja/g++.law/arm12.C
	* g++.old-deja/g++.law/ctors5.C
	* g++.old-deja/g++.law/cvt20.C
	* g++.old-deja/g++.law/init10.C
	* g++.old-deja/g++.law/init8.C
	* g++.old-deja/g++.law/visibility17.C
	* g++.old-deja/g++.law/visibility7.C
	* g++.old-deja/g++.mike/net8.C
	* g++.old-deja/g++.mike/p646.C
	* g++.old-deja/g++.mike/p700.C
	* g++.old-deja/g++.mike/p701.C
	* g++.old-deja/g++.mike/p811.C
	* g++.old-deja/g++.ns/template13.C
	* g++.old-deja/g++.other/array3.C
	* g++.old-deja/g++.other/crash25.C
	* g++.old-deja/g++.other/dtor3.C
	* g++.old-deja/g++.other/dtor4.C
	* g++.old-deja/g++.other/main1.C
	* g++.old-deja/g++.other/warn7.C
	* g++.old-deja/g++.pt/crash11.C
	* g++.old-deja/g++.pt/crash36.C
	* g++.old-deja/g++.pt/spec22.C
	* g++.old-deja/g++.pt/spec9.C
	* g++.old-deja/g++.pt/ttp52.C
	* g++.old-deja/g++.robertl/eb103.C
	* g++.old-deja/g++.robertl/eb121.C
	* g++.old-deja/g++.robertl/eb22.C
	* g++.old-deja/g++.robertl/eb8.C:
	Update locations and/or regexps of dg-error markers.
	Remove markers for some bogus messages that are no longer issued.

libstdc++-v3:
	* testsuite/20_util/memory/auto_ptr/assign_neg.cc
	* testsuite/23_containers/map/operators/1_neg.cc
	* testsuite/23_containers/set/operators/1_neg.cc:
	Update locations and/or regexps of dg-error markers.

From-SVN: r87985
2004-09-23 21:27:25 +00:00
P.J. Darcy
512baaea75 gthr-tpf.h: New file.
2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>

gcc/ChangeLog:

	* gthr-tpf.h: New file.
	* config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
	* gthr.h: Use gthr-tpf.h on TPF OS.

libstdc++-v3/ChangeLog:

	* include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
	Add rule to build ${host_builddir}/gthr-tpf.h.
	* include/Makefile.in: Regenerate.

From-SVN: r87982
2004-09-23 20:57:25 +00:00
Paolo Carlini
e5a067e81a boost_concept_check.h (struct _SequenceConcept): Remove wrong requirement, i.e., not present in Table 67.
2004-09-23  Paolo Carlini  <pcarlini@suse.de>
	    Magnus Fromreide  <magfr@lysator.liu.se>

	* include/bits/boost_concept_check.h (struct _SequenceConcept):
	Remove wrong requirement, i.e., not present in Table 67.

Co-Authored-By: Magnus Fromreide <magfr@lysator.liu.se>

From-SVN: r87937
2004-09-23 09:13:29 +00:00
Paolo Carlini
dd5d134bc9 PR libstdc++/12882 (cont)
2004-09-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12882 (cont)
	* acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
	* configure: Regenerate.
	* config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
	_GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
	trivial showmanyc for large files too.

From-SVN: r87797
2004-09-21 09:06:08 +00:00
Jonathan Wakely
a5fbe527f4 stl_algo.h (remove): Remove too restrictive concept-check.
2004-09-17  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/bits/stl_algo.h (remove): Remove too restrictive
	concept-check.

From-SVN: r87650
2004-09-17 14:11:59 +00:00
Paolo Carlini
c93af6f23d fstream.tcc (xsgetn): Slightly tweak conditional, as per Nathan's original suggestion.
2004-09-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
	as per Nathan's original suggestion.

From-SVN: r87647
2004-09-17 14:01:18 +00:00
Paolo Carlini
3641bd5534 tune-1.cc: Use VERIFY, clean up a bit.
2004-09-17  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
	up a bit.
	* testsuite/ext/mt_allocator/tune-2.cc: Likewise.
	* testsuite/ext/mt_allocator/tune-3.cc: Likewise.
	* testsuite/ext/mt_allocator/tune-4.cc: Likewise.

From-SVN: r87638
2004-09-17 11:18:27 +00:00
Paolo Carlini
ee19761de7 basic_file_stdio.cc (__basic_file<>::close)): Don't call unnecessarily sync, that is fflush...
2004-09-17  Paolo Carlini  <pcarlini@suse.de>
	    Andrea Arcangeli  <andrea@suse.de>

	* config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
	call unnecessarily sync, that is fflush: the library, since 3.4.0
	does not use buffered fread/fwrite.
	* include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.

Co-Authored-By: Andrea Arcangeli <andrea@suse.de>

From-SVN: r87636
2004-09-17 08:42:07 +00:00
Mark Mitchell
511bbc8f91 cxxabi_tweaks.h (__cxa_cdtor_return_type): Define.
* config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
	Define.
	* config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
	Define.
	* libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
	(__cxa_vec_new): Use it.
	(__cxa_vec_new2): Likewise.
	(__cxa_vec_new3): Likewise.
	(__cxa_vec_cdtor): Likewise.
	(__cxa_vec_cctor): Likeiwse.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_cleanup): Likewise.
	(__cxa_vec_delete2): Likewise.
	(__cxa_vec_delete3): Likewise.
	* libsupc++/vec.cc (__cxa_vec_new): Likewise.
	(__cxa_vec_new2): Likewise.
	(__cxa_vec_new3): Likewise.
	(__cxa_vec_cdtor): Likewise.
	(__cxa_vec_cctor): Likeiwse.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_cleanup): Likewise.
	(__cxa_vec_delete2): Likewise.
	(__cxa_vec_delete3): Likewise.
	(__aeabi_vec_ctor_nocookie_nodtor): New function.
	(__aeabi_vec_ctor_cookie_nodtor): Likewise.
	(__aeabi_vec_cctor_nocookie_nodtor): Likewise.
	(__aeabi_vec_new_cookie_noctor): Likewise.
	(__aeabi_vec_new_nocookie): Likewise.
	(__aeabi_vec_new_cookie_nodtor): Likewise.
	(__aeabi_vec_new_cookie): Likewise.
	(__aeabi_vec_dtor): Likewise.
	(__aeabi_vec_dtor_cookie): Likewise.
	(__aeabi_vec_delete): Likewise.
	(__aeabi_vec_delete3): Likewise.
	(__aeabi_vec_delete3_nodtor): Likewise.
	(__aeabi_atexit): Likewise.

	* testsuite/g++.old-deja/g++.abi/cxa_vec.C: Adjust for ARM
	EABI.

From-SVN: r87585
2004-09-16 03:41:19 +00:00
Nathan Myers
d176806941 fstream.tcc (xsgetn): Slightly tweak the recent fix for 11722...
2004-09-14  Nathan Myers  <ncm@cantrip.org>

	* include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
	for 11722: copy can replace move; the common case is __avail == 0.

From-SVN: r87501
2004-09-14 19:11:46 +00:00
Paolo Carlini
67dd4a9377 cpp_type_traits.h: Rename __is_trivially_copyable to __is_scalar...
2004-09-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
	to __is_scalar, more clear and consistent with "tr1" naming.
	* include/bits/stl_algobase.h: Update consistently throughout.

From-SVN: r87497
2004-09-14 18:35:21 +00:00
Paolo Carlini
c56e3d82fc re PR libstdc++/11722 ([3.4 only] Unbuffered filebuf::sgetn is slow)
2004-09-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11722
	* include/std/std_fstream.h (xsgetn): Declare only.
	* include/bits/fstream.tcc (xsgetn): Define, optimize for the
	always_noconv() case: when __n > __buflen, copy the available
	buffer and issue a direct read.
	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.

	* include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
	conditional.

From-SVN: r87453
2004-09-13 22:21:34 +00:00
Hans-Peter Nilsson
90c609e51a libstdc++.exp: Use gcc wrapper.exp and call libstdc++_maybe_build_wrapper instead of using...
* testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
	libstdc++_maybe_build_wrapper instead of using local code.

From-SVN: r87452
2004-09-13 22:03:02 +00:00
Benjamin Kosnik
c3462823c6 linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
2004-09-08  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.

From-SVN: r87186
2004-09-08 13:54:18 +00:00
Jan Beulich
61fec9ffac configure.in: Remove target-libstdc++-v3 from noconfigdirs for *-*-netware...
/
        * configure.in: Remove target-libstdc++-v3 from noconfigdirs for
        *-*-netware, but add target-libmudflap.
        Consolidate *-*-netware targets (of which really only i?86 exists)
        into a single entry.
        * configure: Likewise.
gcc/
        * config.gcc: Resurrect NetWare as a target. Handle special case of
        Novell linker to be used (specified through --with-ld=) and threading
        model of either Posix (default) or NKS.
        * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
        of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
        * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
        * config/i386/netware.c, config/i386/netware.h: New.
        * config/i386/nwld.c, config/i386/nwld.h: New.
        * config/i386/netware-crt0.c: New.
        * config/i386/netware-libgcc.c: New.
        * config/i386/netware-libgcc.def: New.
        * config/i386/netware-libgcc.exp: New.
        * config/i386/t-netware, config/i386/t-nwld: New.
        * gthr-nks.h: New.
        * doc/install.texi: Document NKS threading model.
gcc/cp/
        * g++spec.c (MATH_LIBRARY_PROFILE): Default to MATH_LIBRARY rather
        than "-lm".
gcc/testsuite/
        * g++.dg/abi/bitfield5.C: Use -mno-ms-bitfields.
        * g++.old-deja/g++.jason/thunk2.C: xfail for NetWare.
        * g++.old-deja/g++.law/profile1.C: xfail for NetWare.
        * g++.old-deja/g++.other/store-expr1.C: xfail for NetWare.
        * gcc.c-torture/compile/20001109-1.c: xfail for NetWare.
        * gcc.c-torture/compile/20001109-2.c: xfail for NetWare.
        * gcc.c-torture/execute/multi-ix.c: Use __builtin_bzero rather than
        the non-portable bzero.
        * gcc.dg/20010912-1.c: xfail for NetWare.
        * gcc.dg/20020426-2.c: xfail for NetWare.
        * gcc.dg/20021014-1.c: xfail for NetWare.
        * gcc.dg/20021018-1.c: xfail for NetWare.
        * gcc.dg/20030213-1.c: xfail for NetWare.
        * gcc.dg/20030225-1.c: xfail for NetWare.
        * gcc.dg/20030708-1.c: xfail for NetWare.
        * gcc.dg/builtins-config.h: Also exclude NetWare.
        * gcc.dg/format/format.h: Define restrict only if not already defined.
        * gcc.dg/nest.c: xfail for NetWare.
        * gcc.dg/special/gcsec-1.c: Don't pass -static for NetWare.
        * lib/target-supports.exp (check_visibility_available): Exclude
        NetWare.
fixincludes/
        * inclhack.def: Suppress exception_structure and math_exception
        for NetWare headers.
        * fixincl.x: Regenerate.
libstdc++-v3/
        * crossconfig.m4: Add NetWare as a target.
        * configure: Regenerate.

From-SVN: r87040
2004-09-03 11:10:08 -07:00
Mark Mitchell
40a1c5cb5e bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
* config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
	(TARGET_OS_CPP_BUILTINS): Likewise.
	* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
	TARGET_BPABI_CPP_BUILTINS.

	* g++.dg/abi/arm_rtti1.C: New test.

	* libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
	defined.

[[Split portion of a mixed commit.]]

From-SVN: r87018.2
2004-09-03 00:43:59 +00:00
Benjamin Kosnik
98599ff8ba re PR libstdc++/16715 (std::basic_iostream is instantiated when used, even though instantiations are already contained in libstdc++)
2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
            Simon Richter  <Simon.Richter@hogyros.de>

	PR libstdc++/16715
	* include/bits/istream.tcc: Add extern template for iostream
	char and wchar_t instantiations.

Co-Authored-By: Simon Richter <Simon.Richter@hogyros.de>

From-SVN: r86980
2004-09-02 18:58:34 +00:00
Benjamin Kosnik
35dc4c015a re PR libstdc++/17259 (One more _S_leaf incorrectly qualified with _RopeRep:: in ropeimpl.h)
2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
            Leland Wang  <llwang@infor.org>

	PR libstdc++/17259
	* include/ext/ropeimpl.h (rope::_S_compare): Use
	_Rope_constants::_S_leaf.

Co-Authored-By: Leland Wang <llwang@infor.org>

From-SVN: r86973
2004-09-02 18:22:20 +00:00
Benjamin Kosnik
c0e01ad29c re PR libstdc++/16848 (code in /ext/demangle.h appears broken)
2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/16848
	* include/Makefile.am (ext_headers): Remove demangle.h.
	* include/Makefile.in: Regenerate.
	* include/ext/demangle.h: Remove.

From-SVN: r86968
2004-09-02 16:56:29 +00:00
Benjamin Kosnik
8bfd0a46ea re PR libstdc++/16614 (Excessive resource usage in __mt_alloc)
2004-09-01  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/16614
	* include/ext/mt_allocator.h (__mt_base): Not type dependent,
	split into..
	(__pool): New, specialize.
	(__common_pool): New, static bits here.
	(__per_type_pool): New, and here.
	(__mt_alloc_base): New.
	(__mt_alloc): Add template parameter, inherit from it.
	* src/allocator.cc: Split this...
	* src/allocator-inst.cc: And this...
	* src/pool_allocator.cc: ...into this.
	* src/mt_allocator.cc: ... and this. Add definitions for
	__mt_base.
	* src/Makefile.am (sources): Split allocator.cc to
	pool_allocator.cc and mt_allocator.cc.
	* src/Makefile.in: Regenerate.
	* config/linker-map.gnu: Add symbols.
	* docs/html/ext/mt_allocator.html: Document new design.
	* testsuite/ext/mt_allocator/tune-1.cc: New.
	* testsuite/ext/mt_allocator/tune-2.cc: New.
	* testsuite/ext/mt_allocator/tune-3.cc: New.
	* testsuite/ext/mt_allocator/tune-4.cc: New.

	* testsuite/testsuite_allocator.h (__gnu_test::check_new): New.
	* testsuite/ext/allocators.cc: Use check_new, split into...
	* testsuite/ext/mt_allocator/check_new.cc: this.
	* testsuite/ext/pool_allocator/check_new.cc: this.
	* testsuite/ext/malloc_allocator/check_new.cc: this.
	* testsuite/ext/debug_allocator/check_new.cc: this.
	* testsuite/ext/mt_allocator/instantiate.cc: this.
	* testsuite/ext/pool_allocator/instantiate.cc: this.
	* testsuite/ext/malloc_allocator/instantiate.cc: this.
	* testsuite/ext/debug_allocator/instantiate.cc: this.

From-SVN: r86936
2004-09-01 22:17:00 +00:00
Phil Edwards
00fd31d1d2 install.html: Update locales list (from Paolo).
2004-08-30  Phil Edwards  <phil@codesourcery.com>

	* docs/html/install.html:  Update locales list (from Paolo).
	Remove other redundant information and point to the GCC install
	documentation.

From-SVN: r86800
2004-08-30 21:18:09 +00:00