Commit Graph

6871 Commits

Author SHA1 Message Date
François Dumont
68478bb473 debug.cc: Fix parameter indexes in __msg_valid_range2 message.
2010-10-24  François Dumont  <francois.cppdevs@free.fr>

	* src/debug.cc: Fix parameter indexes in __msg_valid_range2 message.
	Replace 'before begin' decription in 'before-begin' for consistency
	with 'paste-the-end'.

From-SVN: r165899
2010-10-24 10:39:11 +00:00
Paolo Carlini
e1d4e035fa re PR libstdc++/45866 ([C++0x] std::ratio_add, ratio_sub, ratio_multiply, ratio_divide do not have num and den members.)
2010-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45866
	* include/std/ratio (ratio<>::type): Add.
	(ratio_add<>::num, ratio_add<>::den,
	ratio_subtract<>::num, ratio_subtract<>::den,
	ratio_multiply<>::num, ratio_multiply<>::den,
	ratio_divide<>::num, ratio_divide<>::den): Likewise.
	* testsuite/20_util/ratio/operations/45866.cc: New.

From-SVN: r165649
2010-10-18 17:28:15 +00:00
Paolo Carlini
efb7b45650 forward_list.h (forward_list<>::erase_after): Return an iterator.
2010-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::erase_after): Return
	an iterator.
	(_M_erase_after): Return _Fwd_list_node_base*.
	* include/bits/forward_list.tcc: Likewise.
	* include/debug/forward_list: Likewise.
	* testsuite/23_containers/forward_list/modifiers/3.cc: Update
	and extend.
	* testsuite/util/exception/safety.h (erase_base<forward_list<>>):
	Adjust.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r165590
2010-10-17 17:34:38 +00:00
Paolo Carlini
88c87359fa re PR libstdc++/43554 (profile-mode version of forward_list missing)
2010-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/43554
	* include/profile/forward_list: New file.
	* include/std/forward_list: Include <profile/forward_list>.
	* include/Makefile.am: Add.
	* testsuite/23_containers/forward_list/capacity/1.cc: Adjust.
	* include/Makefile.in: Regenerate.

From-SVN: r165587
2010-10-17 14:49:11 +00:00
Paolo Carlini
e74bf53a08 functional (function<>::operator==, operator!=): Remove, per LWG 1240.
2010-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/functional (function<>::operator==, operator!=):
	Remove, per LWG 1240.
	* testsuite/20_util/function/cmp/cmp_neg.cc: Adjust dg-* directives.

From-SVN: r165514
2010-10-15 17:14:57 +00:00
Jonathan Wakely
405de314b8 re PR libstdc++/45990 (28_regex/07_traits/char/isctype.cc XPASSes on Solaris 2/IRIX 6)
PR libstdc++/45990
	* include/bits/regex.h (regex_traits::isctype): DR 1337.

From-SVN: r165438
2010-10-13 23:52:25 +01:00
Paolo Carlini
879b9073c8 random.h (discrete_distribution<>::param_type:: param_type()): Default construct the vectors.
2010-10-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (discrete_distribution<>::param_type::
	param_type()): Default construct the vectors.
	(discrete_distribution<>::param_type::probabilities): Adjust.
	(discrete_distribution<>::probabilities): Likewise.
	(discrete_distribution<>::max): Likewise.
	(piecewise_constant_distribution<>::param_type::
	param_type()): Default construct the vectors.
	(piecewise_constant_distribution<>::param_type::intervals): Adjust.
	(piecewise_constant_distribution<>::param_type::densities): Likewise.
	(piecewise_constant_distribution<>::intervals): Likewise.
	(piecewise_constant_distribution<>::densities): Likewise.
	(piecewise_constant_distribution<>::min): Likewise.
	(piecewise_constant_distribution<>::max): Likewise.
	(piecewise_linear_distribution<>::param_type::
	param_type()): Default construct the vectors.
	(piecewise_linear_distribution<>::param_type::intervals): Adjust.
	(piecewise_linear_distribution<>::param_type::densities): Likewise.
	(piecewise_linear_distribution<>::intervals): Likewise.
	(piecewise_linear_distribution<>::densities): Likewise.
	(piecewise_linear_distribution<>::min): Likewise.
	(piecewise_linear_distribution<>::max): Likewise.
	* include/bits/random.tcc (discrete_distribution<>::param_type::
	_M_initialize): Deal quickly with raw _M_prob equivalent to
	a default constructed param_type, just clear the vector.
	(discrete_distribution<>::operator()): Early return 0 for a
	default constructed distribution.
	(piecewise_constant_distribution<>::param_type::_M_initialize):
	Likewise for _M_int and _M_den.
	(piecewise_constant_distribution<>::operator()): Early return
	for a default constructed distribution.
	(piecewise_linear_distribution<>::param_type::_M_initialize):
	Likewise.
	(piecewise_linear_distribution<>::operator()): Early return
	for a default constructed distribution.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	call-default.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/call-default.cc: Likewise.

From-SVN: r165427
2010-10-13 16:31:17 +00:00
Paolo Carlini
ce9555cb82 random.h (discrete_distribution<>::param_type): Disable move operations.
2010-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (discrete_distribution<>::param_type):
	Disable move operations.
	(piecewise_constant_distribution<>::param_type): Likewise.
	(piecewise_linear_distribution<>::param_type): Likewise.

	* include/bits/random.h (discrete_distribution<>::param_type::
	param_type()): Simplify, don't use _M_initialize.
	(piecewise_constant_distribution<>::param_type::param_type()):
	Likewise.
	(piecewise_linear_distribution<>::param_type::param_type()):
	Likewise.

From-SVN: r165391
2010-10-12 18:38:42 +00:00
Paolo Carlini
d3a7350497 random.tcc (piecewise_linear_distribution<>:: operator()): Don't crash when the dist is default-constructed.
2010-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (piecewise_linear_distribution<>::
	operator()): Don't crash when the dist is default-constructed.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/call-default.cc: New.

From-SVN: r165379
2010-10-12 13:35:22 +00:00
Paolo Carlini
a0a2a39912 [multiple changes]
2010-10-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/23_containers/bitset/cons/2.cc: Tweak.

2010-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::bitset(const _CharT*,
	typename std::basic_string<>::size_type, _CharT, _CharT)):
	Implement new proposed resolution for DR 1325.
	* include/debug/bitset: Likewise.
	* include/profile/bitset: Likewise.
	* testsuite/23_containers/bitset/cons/dr1325-1.cc: New.
	* testsuite/23_containers/bitset/cons/dr1325-2.cc: Likewise.

From-SVN: r165338
2010-10-11 22:32:01 +00:00
Benjamin Kosnik
63835102f4 api.xml: Add link to 4.5 generated docs.
2010-10-11  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/api.xml: Add link to 4.5 generated docs.

From-SVN: r165332
2010-10-11 21:28:17 +00:00
Paolo Carlini
0fd76d8e4c future (_Result_alloc): Derive from _Alloc, exploit the Empty Base Optimization.
2010-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/future (_Result_alloc): Derive from _Alloc,
	exploit the Empty Base Optimization.

From-SVN: r165194
2010-10-08 20:30:44 +00:00
Jonathan Wakely
708f539dd1 re PR libstdc++/45403 (python pretty printer for std::string requires GDB 7.1)
PR libstdc++/45403
	* python/libstdcxx/v6/printers.py: Check for lazy_string support.

From-SVN: r165163
2010-10-08 12:31:56 +01:00
Paolo Carlini
135a0d0ac5 future (uses_allocator<packaged_task<>,>): Add; minor formatting tweaks.
2010-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/future (uses_allocator<packaged_task<>,>): Add;
	minor formatting tweaks.

From-SVN: r165151
2010-10-08 09:22:16 +00:00
Jonathan Wakely
d3ec3e15d3 future: Enable allocator support.
* include/std/future: Enable allocator support.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: Expect PASS.
	* testsuite/30_threads/promise/cons/alloc.cc: Expect PASS.

From-SVN: r165147
2010-10-08 02:06:27 +01:00
Jonathan Wakely
1b3fad8156 re PR libstdc++/45893 ([C++0x] [DR 817] Finish updating std::bind to rvalue refs)
2010-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45893
	* include/std/functional (bind): Implement DR 817 and add support
	for volatile-qualified call wrappers.
	* include/std/mutex (call_once): Implement DR 891.
	* include/std/thread (thread::thread): Implement DR 929.
	* include/std/future: Optimise use of std::bind.
	* testsuite/20_util/bind/cv_quals.cc: Test volatile-qualification.
	* testsuite/20_util/bind/move.cc: New.

From-SVN: r165144
2010-10-08 01:44:12 +01:00
Hans-Peter Nilsson
599fdf0ca5 re PR libstdc++/45841 (r164529 cris-elf libstdc++ 27_io/basic_filebuf/seekoff/char/2-io.cc)
PR libstdc++/45841
	* testsuite/lib/libstdc++.exp (check_v3_target_fileio): Rewrite to
	use an actual testsuite file and machinery, not ".".  Specifically
	check that incorrectly seeking backwards from 0 yields an error,
	and that reading, seeking backwards and reading again works.

From-SVN: r165136
2010-10-07 21:46:51 +00:00
Hans-Peter Nilsson
38851a969d conformance.exp: Apply check_v3_target_fileio as a gate for tests in subdirectories matching the...
* testsuite/libstdc++-dg/conformance.exp: Apply
	check_v3_target_fileio as a gate for tests in
	subdirectories matching the substring _filebuf.

From-SVN: r165135
2010-10-07 21:44:36 +00:00
Paolo Carlini
a4a7631d2b locale_facets_nonio.tcc (time_get<>:: _M_extract_via_format): Tighten somewhat error checking.
2010-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/locale_facets_nonio.tcc (time_get<>::
	_M_extract_via_format): Tighten somewhat error checking.
	* testsuite/22_locale/time_get/get_time/char/6.cc: New.
	* testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.

From-SVN: r165094
2010-10-07 11:23:07 +00:00
Jonathan Wakely
b607a144ea re PR libstdc++/45924 ([C++0x] bind<R>(x)(y, z) fails)
2010-10-07  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45924
	* include/std/functional (_Bind_result::operator()): Do not expand
	template parameter pack in forward call.
	* testsuite/20_util/bind/45924.cc: New.

From-SVN: r165075
2010-10-07 01:19:18 +01:00
Jonathan Wakely
b32c4963b9 re PR libstdc++/45924 ([C++0x] bind<R>(x)(y, z) fails)
PR libstdc++/45924
	* include/std/functional (_Bind_result::operator()): Do not expand
	template parameter pack in forward call.
	* testsuite/20_util/bind/45924.cc: New.

From-SVN: r165072
2010-10-07 01:17:24 +01:00
Paolo Carlini
8cfaf4c938 functional (struct _Weak_result_type_impl): Add specializazions for cv-qualified function types...
2010-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/functional (struct _Weak_result_type_impl): Add
	specializazions for cv-qualified function types, for variadic
	function types and pointers and references to function types,
	and for pointers to member function types.
	(struct _Reference_wrapper_base): Add specializations for
	cv-qualified unary and binary function types.
	* testsuite/20_util/reference_wrapper/result_type.cc: New.
	* testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.

From-SVN: r165056
2010-10-06 17:17:16 +00:00
Rainer Orth
db0d4b71b5 re PR libstdc++/45863 (FAIL: libstdc++-abi/abi_check)
PR libstdc++/45863
	* scripts/extract_symvers: Restore revision 164879.
	Only use pvs on SunOS.

From-SVN: r165055
2010-10-06 17:01:11 +00:00
David Krauss
47b90d6b32 re PR libstdc++/45841 (r164529 cris-elf libstdc++ 27_io/basic_filebuf/seekoff/char/2-io.cc)
2010-10-05  David Krauss  <potswa@mac.com>

	PR libstdc++/45841
	* include/bits/fstream.h (basic_filebuf::underflow): Overflow
	success does not preclude returning failure.
	(basic_filebuf::pbackfail): Likewise.
	(basic_filebuf::xsputn): Fix indentation problem.
	(basic_filebuf::xsgetn): Likewise. Also, add similar overflow
	call to enable optimized case from write mode.
	* testsuite/27_io/basic_filebuf/underflow/char/45841.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.

From-SVN: r165009
2010-10-06 00:17:28 +00:00
Jonathan Wakely
94a9600ce3 locale_facets_nonio.h (time_get::get_time): Doc typo.
2010-10-05  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/locale_facets_nonio.h (time_get::get_time): Doc typo.
	(time_get::get_date): Likewise.

From-SVN: r165002
2010-10-05 21:58:59 +01:00
Jonathan Wakely
c6f3b5880e 2010-10-05 Jonathan Wakely <jwakely.gcc@gmail.com>
* Remove svn conflict marker in ChangeLog.

From-SVN: r165001
2010-10-05 21:43:04 +01:00
Paolo Carlini
033b71cea1 type_traits (_GLIBCXX_HAS_NESTED_TYPE): Add.
2010-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (_GLIBCXX_HAS_NESTED_TYPE): Add.
	* include/std/functional (_Has_result_type_helper,
	_Has_result_type): Remove; use the above to define __has_result_type.
	* include/bits/stl_iterator_base_types.h: Use the above to define
	__has_iterator_category.
	* include/bits/allocator.h (__has_allocator_type): Use the above.
	* include/bits/cpp_type_traits.h (__has_iterator_category,
	__is_iterator): Remove.

From-SVN: r164993
2010-10-05 15:53:35 +00:00
Sebastian Huber
79d34420f6 re PR libstdc++/44647 (std::nothrow and std::bad_alloc are coupled)
2010-10-05  Sebastian Huber  <sebastian.huber@embedded-brains.de>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/44647
	* libsupc++/Makefile.am (sources): Add bad_alloc.cc.
	* libsupc++/new_handler.cc (bad_alloc): Move to ...
	* libsupc++/bad_alloc.cc (bad_alloc): ... here, new file.
	* libsupc++/Makefile.in: Regenerate.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r164973
2010-10-05 09:41:57 +00:00
Paolo Carlini
6703f185d4 functional (function<>::swap): Use std::swap.
2010-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/functional (function<>::swap): Use std::swap.
	* include/tr1/functional (function<>::swap): Likewise.

From-SVN: r164952
2010-10-04 17:28:24 +00:00
Andreas Schwab
b453ace381 acinclude.m4 (GLIBCXX_ENABLE): Properly quote argument to AC_HELP_STRING.
* acinclude.m4 (GLIBCXX_ENABLE): Properly quote argument to
AC_HELP_STRING.  Double quote expansion of _g_help.
(GLIBCXX_ENABLE_LIBSTDCXX_TIME): Double quote third argument of
GLIBCXX_ENABLE.
(GLIBCXX_ENABLE_CHEADERS): Likewise.
(GLIBCXX_ENABLE_CLOCALE): Likewise.
(GLIBCXX_ENABLE_ALLOCATOR): Likewise.
(GLIBCXX_ENABLE_CSTDIO): Likewise.
(GLIBCXX_ENABLE_SYMVERS): Likewise.
* configure: Regenerate.

From-SVN: r164927
2010-10-04 08:49:59 +00:00
H.J. Lu
128dbdd219 Revert the pvs change.
2010-10-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR libstdc++/45863
	* scripts/extract_symvers: Revert the pvs change.

From-SVN: r164913
2010-10-02 17:31:06 -07:00
Benjamin Kosnik
bf718682e1 extract_symvers: Add support for tracking TLS symbols.
2010-10-01  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/extract_symvers: Add support for tracking TLS symbols.
	* testsuite/util/testsuite_abi.h (symbol::category): Add tls type.
	* testsuite/util/testsuite_abi.cc: Set symbol type to tls when
	appropriate, collect size info.

From-SVN: r164892
2010-10-01 17:10:38 +00:00
Rainer Orth
33f4936701 extract_symvers: Use pvs if present.
* scripts/extract_symvers: Use pvs if present.
	* config/abi/post/solaris2.8/baseline_symbols.txt: New file.
	* config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
	* configure.host (i?86-*-solaris2*): Remove.
	(sparc*-*-solaris2*): Remove.
	(*-*-solaris2.[89]): Use solaris2.8 baseline.
	(*-*-solaris2.1[0-9]): Use solaris2.10 baseline.
	* testsuite/Makefile.am (new-abi-baseline): Add missing /.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r164879
2010-10-01 11:58:21 +00:00
Michael Eager
809201325a Check in support for Xilinx MicroBlaze processor.
From-SVN: r164756
2010-09-30 18:21:57 +00:00
Paolo Carlini
b8b4301eec [multiple changes]
2010-09-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/Makefile.am: Add debug/forward_list.
	* include/Makefile.in: Regenerate.

	* testsuite/util/testsuite_container_traits.h (traits_base):
	Add has_erase_after and hash_insert_after typedefs.
	(traits<forward_list<>>): Adjust.
	* testsuite/util/exception/safety.h (erase_point, erase_range,
	insert_point): Deal correctly with forward_list.
	* include/Makefile.am: Add.

2010-09-29  François Dumont  <francois.cppdevs@free.fr>

	* src/debug.cc: Add forward_list specific debug messages.
	* include/debug/forward_list: New.
	* include/debug/formatter.h: Add debug message ids and before begin
	iterator state.
	* include/debug/macros.h (__glibcxx_check_insert_after,
	__glibcxx_check_insert_range_after, __glibcxx_check_erase_after,
	__glibcxx_check_erase_range_after): Add.
	* include/debug/safe_iterator.h (_BeforeBeginHelper): Add.
	(_Safe_iterator<>::_M_before_dereferenceable,
	_Safe_iterator<>::_M_is_before_begin): Add.
	(_Safe_iterator<>::_M_dereferenceable, _Safe_iterator<>::_M_is_end,
	_Safe_iterator<>::_M_incrementable): Adjust.
	* include/std/forward_list: Include debug/forward when _GLIBCXX_DEBUG
	defined.
	* include/bits/forward_list.h, forward_list.tcc: Put in std::__norm
	when debug mode is active.
	* testsuite/23_containers/forward_list/capacity/1.cc: Fix to compile
	even in debug mode.
	* testsuite/23_containers/forward_list/debug/erase_after1.cc,
	erase_after2.cc, erase_after3.cc, erase_after4.cc, erase_after5.cc,
	insert_after1.cc,erase_after6.cc, erase_after7.cc, insert_after2.cc,
	erase_after8.cc, insert_after3.cc, erase_after9.cc: New.

From-SVN: r164717
2010-09-29 11:56:34 +00:00
DJ Delorie
3f984eefb1 hash_bytes.cc (_Hash_bytes): Replace "clength" with "len" for "unusual sizeof(size_t)" case.
* libsupc++/hash_bytes.cc (_Hash_bytes): Replace "clength" with
"len" for "unusual sizeof(size_t)" case.

From-SVN: r164714
2010-09-28 22:00:09 -04:00
Matt Austern
2e9c3ef354 chi2_quality.cc: New.
2010-09-28  Matt Austern  <austern@google.com>

	* testsuite/20_util/hash/chi2_quality.cc: New.
	* testsuite/20_util/hash/quality.cc: Likewise.

From-SVN: r164682
2010-09-28 10:35:53 +00:00
Paolo Carlini
aa2b7414b0 allocator.h (allocator_arg_t, [...]): Add.
2010-09-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/allocator.h (allocator_arg_t, allocator_arg,
	uses_allocator): Add.
	* testsuite/20_util/uses_allocator/value.cc: New.
	* testsuite/20_util/uses_allocator/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/uses_allocator/requirements/
	explicit_instantiation.cc: Likewise.
	* include/bits/stl_queue.h (uses_allocator<queue>,
	uses_allocator<priority_queue>): Add.
	* include/bits/stl_stack.h (uses_allocator<stack>): Likewise.

	* include/bits/stl_pair.h (piecewise_construct): Add.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
	line number.

From-SVN: r164654
2010-09-27 17:27:43 +00:00
Paolo Carlini
f3961bdf99 cmath (__pow_helper): Remove.
2010-09-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_std/cmath (__pow_helper): Remove.
	(__cmath_power): Remove declaration.
	* include/c_global/cmath: Likewise.
	* include/std/complex (__complex_pow_unsigned): Add.
	(pow(const complex<_Tp>&, int)): Use the latter.
	* include/c_std/cmath.tcc: Remove file.
	* include/c_global/cmath.tcc: Likewise.
	* acinclude.m4: Adjust.
	* include/Makefile.am: Likewise.
	* configure: Regenerate.
	* include/Makefile.in: Likewise.

From-SVN: r164645
2010-09-27 09:27:05 +00:00
Paolo Carlini
c98ca4c79c 2010-09-22 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in last ChangeLog entry.

From-SVN: r164530
2010-09-22 19:46:06 +00:00
David Krauss
3531cf5ef3 re PR libstdc++/45628 (std::fstream::tellg invalidates I/O buffer)
2010-09-22  David Krauss  <potswa@mac.com>

	PR libstdc++/45628
	* include/bits/fstream.tcc (basic_filebuf::underflow): Add state
	transition to avoid modality requiring seekoff(0,ios::cur).
	(basic_filebuf::pbackfail): Likewise.
	(basic_filebuf::overflow): Likewise.
	(basic_filebuf::_M_seek): Avoid minor unnecessary conversion.
	(basic_filebuf::seekoff): Remove code to _M_get_ext_pos; make
	(0, ios::cur) a special case preserving buffer contents.
	(basic_filebuf::_M_get_ext_pos): New function to obtain status
	about codecvt extern_t buffer for overflow and seekoff.
	* include/std/fstream (basic_filebuf::_M_get_ext_pos): Likewise.
	* config/abi/pre/gnu.ver: Export new symbols.
	* testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: New,
	verifies that seekoff(0, ios::cur) preserves buffers.
	* testsuite/27_io/basic_filebuf/seekoff/char/45628-2.cc: Likewise.
	for codecvt case. More lenient as it may still flush put area.
	* testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Modify to
	check that seekoff is not required between read and write.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: Remove.
	* testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: Likewise.
	* testsuite/util/testsuite_character.h (codecvt::do_length): Comply
	with 22.2.1.5.2/10 "Returns ... the LARGEST value in the range..."

From-SVN: r164529
2010-09-22 19:40:43 +00:00
Paolo Carlini
5d64ee190c functional_hash.h (__hash_base): Add.
2010-09-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (__hash_base): Add.
	(hash): Derive from __hash_base instead.
	* include/debug/bitset (hash): Likewise.
	* include/debug/vector (hash): Likewise.
	* include/std/system_error (hash): Likewise.
	* include/std/thread (hash): Likewise.
	* include/std/bitset (hash): Likewise.
	* include/profile/bitset (hash): Likewise.
	* include/profile/vector (hash): Likewise.
	* include/bits/basic_string.h (hash): Likewise.
	* include/bits/stl_bvector.h (hash): Likewise.
	* include/std/typeindex (hash): Do not derive from unary_function,
	add result_type and argument_type typedefs; trim includes.

From-SVN: r164528
2010-09-22 17:50:36 +00:00
Paolo Carlini
bafa9791ac typeindex: New.
2010-09-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/typeindex: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* include/precompiled/stdc++.h: Add.
	* testsuite/20_util/typeindex/comparison_operators.cc: New.
	* testsuite/20_util/typeindex/hash.cc: Likewise.
	* testsuite/20_util/typeindex/hash_code.cc: Likewise.
	* testsuite/20_util/typeindex/name.cc: Likewise.

	* testsuite/18_support/type_info/hash_code.cc: Tweak.

From-SVN: r164521
2010-09-22 12:04:08 +00:00
Paolo Carlini
33da99cb9c hash_bytes.cc: Move...
2010-09-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/hash_bytes.cc: Move...
	* libsupc++/hash_bytes.cc: ... here.
	* src/Makefile.am: Adjust.
	* libsupc++/Makefile.am: Likewise.
	* config/abi/pre/gnu.ver: Likewise.
	* libsupc++/typeinfo (type_info::hash_code): Add in C++0x mode.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Likewise.
	* testsuite/18_support/type_info/hash_code.cc: New.

From-SVN: r164510
2010-09-22 08:19:08 +00:00
Ralf Wildenhues
8d03ad011a re PR libstdc++/45711 (Building with "--enable-libstdcxx-debug" fails during install)
Fix PR libstdc++/45711.

libstdc++-v3/:
	PR libstdc++/45711
	* src/Makefile.am (stamp-debug): Also adjust possibly-relative
	file names in MKDIR_P, and, for consistency, also top_build_prefix.
	* src/Makefile.in: Regenerate.

From-SVN: r164451
2010-09-20 19:33:12 +00:00
Ralf Wildenhues
6e687a9ad7 Uglify C++ headers some more.
libstdc++-v3/:
	* include/ext/throw_allocator.h
	(hash<__gnu_cxx::throw_value_limit>::operator()): Uglify local.
	(hash<__gnu_cxx::throw_value_random>::operator()): Likewise.
	* include/parallel/set_operations.h (__symmetric_difference_func):
	Uglify remaining arguments to __count, __first_empty, _M_invoke.
	(__difference_func): Likewise for __count.
	* include/profile/impl/profiler_node.h
	(__object_info_base::__write): Uglify parameter.

From-SVN: r164411
2010-09-19 09:44:24 +00:00
Paolo Carlini
61e60481d0 hash_bytes.cc: Compile load_bytes and shift_mix only when __SIZEOF_SIZE_T__ == 8.
2010-09-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/hash_bytes.cc: Compile load_bytes and shift_mix only when
	__SIZEOF_SIZE_T__ == 8.

From-SVN: r164410
2010-09-19 08:52:50 +00:00
Luc Hermitte
fc99f7809e re PR libstdc++/45713 (sizeof std::bitset<ULONG_MAX> == 1)
2010-09-17  Luc Hermitte  <hermitte@free.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45713
	* include/std/bitset: Fix _GLIBCXX_BITSET_WORDS macro.
	* testsuite/23_containers/bitset/45713.cc: New.
	    

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r164388
2010-09-18 01:29:31 +00:00
Paolo Carlini
5ee996a2c6 stl_raw_storage_iter.h (raw_storage_iterator<>:: operator=(const _Tp&)): Use std::__addressof.
2010-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_raw_storage_iter.h (raw_storage_iterator<>::
	operator=(const _Tp&)): Use std::__addressof.

From-SVN: r164343
2010-09-16 17:09:10 +00:00
Paolo Carlini
b5fbd147fe system_error (system_error::system_error(error_code), [...]): Fix for what() to return the NBTS recommended in the Note in 19.5.6.2/14.
2010-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/system_error (system_error::system_error(error_code),
	system_error(error_code, const string&), system_error(int, const
	error_category&), system_error(int, const error_category&,
	const string&)): Fix for what() to return the NBTS recommended in
	the Note in 19.5.6.2/14.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Adjust.
	* testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-3.cc: Likewise.

	* testsuite/19_diagnostics/system_error/what-4.cc: Tidy includes.

From-SVN: r164339
2010-09-16 14:55:37 +00:00
Paolo Carlini
f941c3e212 complex (complex<float>::operator=(float), [...]): Simplify a tad...
2010-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (complex<float>::operator=(float),
	complex<float>::operator+=(float),
	complex<float>::operator-=(float),
	complex<double>::operator=(double),
	complex<double>::operator+=(double),
	complex<double>::operator-=(double),
	complex<long double>::operator=(long double),
	complex<long double>::operator+=(long double),
	complex<long double>::operator-=(long double)): Simplify a tad,
	just forward to the underlying __complex__ T operators, as
	operator*= and operator/= already do.

	* include/std/complex (complex<float>, complex<double>,
	complex<long double>): Simplify spelling of return types, just
	say complex, instead of complex<float>, complex<double>,
	complex<long double>, respectively.

From-SVN: r164337
2010-09-16 12:39:13 +00:00
François Dumont
619b56bce2 libstdc++.exp, ([check_v3_target_namedlocale]): Clean temporary source file once compiled.
2010-09-15  François Dumont  <francois.cppdevs@free.fr>

	* testsuite/lib/libstdc++.exp,([check_v3_target_namedlocale]):
	Clean temporary source file once compiled.

From-SVN: r164316
2010-09-15 20:54:48 +00:00
Paolo Carlini
9c69a45888 [multiple changes]
2010-09-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/xml/manual/prerequisites.xml: Update "C" library locale
	information prerequisites.

2010-09-15  François Dumont  <francois.cppdevs@free.fr>

	* testsuite/lib/libstdc++.exp, dg-options.exp
	([check_v3_target_namedlocale]): Take the name of the required locale.
	* testsuite/27_io/objects/wchar_t/9520.cc, 11.cc, 13.cc, 10.cc, 12.cc:
	Specify locale name to check.
	* testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc, 13007-1.cc,
	13007-2.cc: Likewise.
	* testsuite/27_io/basic_streambuf/imbue/char/9322.cc, 13007-1.cc,
	13007-2.cc: Likewise.
	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc, 2.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc, 9322.cc,
	13582-2.cc, 2.cc, 13582-3.cc, 12868.cc, 14975-2.cc, 13007.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc, 13171-4.cc,
	9322.cc, 13582-2.cc, 2.cc, 14975-1.cc, 13007.cc, 13171-1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc,
	11305-2.cc, 11305-3.cc, 11305-4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc, 1.cc, 2.cc,
	3.cc, 11389-1.cc, 4.cc, 11389-2.cc, 5.cc, 11389-3.cc, 11389-4.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
	* testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
	* testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc, 2.cc, 3.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/1.cc, 2.cc, 3.cc, 9780-3.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/facet/2.cc: Likewise.
	* testsuite/22_locale/collate/hash/wchar_t/2.cc, wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate/hash/char/2.cc, wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate/compare/wchar_t/1.cc, 2.cc, 3.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate/compare/char/1.cc, 2.cc, 3.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate/transform/wchar_t/2.cc, 3.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate/transform/char/2.cc, 3.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/cons/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/to/char/wrapped_locale.cc, wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/scan/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/widen/wchar_t/2.cc, 3.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/widen/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/wchar_t/3.cc, wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/2.cc,wrapped_locale.cc,
	wrapped_env.cc: Likewise
	* testsuite/22_locale/ctype/is/char/2.cc, wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc, 3.cc, 4.cc, 6.cc,
	7.cc, 8.cc, wrapped_env.cc, wrapped_locale.cc, 17038.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/2.cc, 3.cc, 4.cc, 6.cc,
	9780-1.cc, 7.cc, 8.cc, wrapped_env.cc, wrapped_locale.cc, 17038.cc:
	Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc, 2.cc, 3.cc, 4.cc,
	wrapped_env.cc, 10.cc, 11528.cc, wrapped_locale.cc, 11.cc, 12.cc,
	13.cc, 15.cc, 16.cc, 17.cc, 18.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/1.cc, 2.cc, 3.cc, 4.cc,
	wrapped_env.cc, 10.cc, 11528.cc, wrapped_locale.cc, 11.cc, 12.cc,
	13.cc, 15.cc, 16.cc, 17.cc, 18.cc: Likewise
	* testsuite/22_locale/num_put/put/wchar_t/1.cc, 3.cc, 5.cc,
	wrapped_env.cc, 20914.cc, wrapped_locale.cc, 20909.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/1.cc, 3.cc, 5.cc, 9780-2.cc,
	wrapped_env.cc, 20914.cc, wrapped_locale.cc, 20909.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc, wrapped_locale.cc,
	3.cc, 4.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	testsuite/22_locale/codecvt/length/wchar_t/2.cc, wrapped_locale.cc,
	3.cc, 4.cc, 7.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/length/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc,
	wrapped_locale.cc, 3.cc, 4.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc, wrapped_locale.cc,
	3.cc, 4.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/2.cc, wrapped_locale.cc, 3.cc,
	4.cc, 7.cc, 8.cc, 9.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/in/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc,
	wrapped_locale.cc, 3.cc, 4.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/2.cc, wrapped_locale.cc,
	3.cc, 4.cc, 7.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/out/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/2.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/2.cc, 38081-1.cc,
	wrapped_locale.cc, 38081-2.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc, 26701.cc,
	2.cc, wrapped_locale.cc, 4.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/12750.cc, 26701.cc,
	2.cc, wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc, 2.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/1.cc, 2.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc, 3.cc, 5.cc, 6.cc, 9.cc,
	wrapped_env.cc, wrapped_locale.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/1.cc, 3.cc, 5.cc, 6.cc, 9.cc,
	wrapped_env.cc, wrapped_locale.cc: Likewise.
	* testsuite/22_locale/locale/cons/38368.cc, 2.cc, 4.cc, 5.cc, 7.cc,
	12658_thread-1.cc, 12658_thread-2.cc, 40184.cc, 29217.cc, 38365.cc:
	Likewise.
	* testsuite/22_locale/locale/global_locale_objects/14071.cc, 2.cc:
	Likewise.
	* testsuite/22_locale/moneypunct/40712.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/wchar_t/2.cc,
	wrapped_locale.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/char/2.cc, wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
	* testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
	* testsuite/22_locale/messages/members/char/1.cc, 2.cc,
	wrapped_locale.cc, 3.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/numpunct/members/wchar_t/2.cc, wrapped_locale.cc,
	wrapped_env.cc: Likewise.
	* testsuite/22_locale/numpunct/members/char/2.cc, wrapped_locale.cc,
	3.cc, wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.

From-SVN: r164300
2010-09-15 10:46:39 +00:00
Paolo Carlini
a5d39cb4a7 [multiple changes]
2010-09-14  Matt Austern  <austern@google.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/performance/21_strings/hash.cc: New.

2010-09-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/performance/21_strings/string_append.cc: Rename to...
	* testsuite/performance/21_strings/append-1.cc: ... this.
	* testsuite/performance/21_strings/string_append_2.cc: Rename to...
	* testsuite/performance/21_strings/append-2.cc: ... this.
	* testsuite/performance/21_strings/string_cons_input_iterator.cc:
	Rename to...
	* testsuite/performance/21_strings/cons_input_iterator.cc: ... this.
	* testsuite/performance/21_strings/string_copy_cons_and_dest.cc:
	Rename to...
	* testsuite/performance/21_strings/copy_cons_and_dest.cc: ... this.
	* testsuite/performance/21_strings/string_find.cc: Rename to...
	* testsuite/performance/21_strings/find.cc: ... this.

From-SVN: r164278
2010-09-14 10:27:36 +00:00
Benjamin Kosnik
14694348f1 api.xml: Add title.
2010-09-13  Benjamin Kosnik  <bkoz@redhat.com>

	    * doc/xml/api.xml: Add title.
	    * doc/xml/manual/spine.xml: Same.
	    * doc/xml/spine.xml: Same.

From-SVN: r164254
2010-09-13 18:31:17 +00:00
Matt Austern
e7f72940d2 hash_bytes.cc: New file...
2010-09-13  Matt Austern  <austern@google.com>

	* src/hash_bytes.cc: New file, exports _Hash_bytes (a Murmur hash),
	and _Fnv_hash_bytes (based on a FNV algorithm).
	* src/compatibility-c++0x.cc (hash<string>::operator(),
	hash<const string&>::operator(), hash<wstring>::operator(),
	hash<const wstring&>::operator(), hash<error_code>::operator()):
	Adjust, use _Hash_bytes.
	* include/std/system_error (hash<error_code>::operator()): Likewise.
	* include/std/thread (hash<thread::id>operator()): Likewise.
	* include/std/bitset (hash<bitset>operator()): Likewise.
	* include/bits/basic_string.h (hash<string>::operator(),
	hash<wstring>::operator(), hash<u16string>::operator(),
	hash<u32string>::operator()): Adjust.
	* include/bits/vector.tcc (hash<vector<bool>>::operator()): Adjust.
	* include/bits/functional_hash.h (_Hash_bytes, _Fnv_hash_bytes):
	Declare.
	(struct _Hash_impl, struct _Fnv_hash_impl): Add, use _Hash_bytes
	and _Fnv_hash_bytes, respectively.
	(hash<float>::operator(), hash<double>::operator()): Adjust.
	* config/abi/pre/gnu.ver: Add exports.
	* src/Makefile.am: Add.
	* src/Makefile.in: Regenerate.

From-SVN: r164253
2010-09-13 18:23:56 +00:00
Paolo Carlini
ac42c96090 forward_list.h (forward_list<>::resize(size_type, value_type)): Fix signature, per LWG 1340.
2010-09-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::resize(size_type,
	value_type)): Fix signature, per LWG 1340.
	* include/bits/forward_list.tcc: Adjust definition.

From-SVN: r164249
2010-09-13 16:30:47 +00:00
Paolo Carlini
fe09341996 4.cc: New.
2010-09-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/27_io/basic_filebuf/seekoff/char/4.cc: New.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.

From-SVN: r164248
2010-09-13 15:12:31 +00:00
Paolo Carlini
2dd3121f9e hash-string-aux.cc: Remove.
2010-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/hash-string-aux.cc: Remove. Move contents...
	* src/hash_tr1.cc: ... here.
	* src/compatibility-c++0x.cc: ... and here.

From-SVN: r164178
2010-09-10 14:07:55 +00:00
Paolo Carlini
06f29237d7 re PR libstdc++/45613 (bits/random.h misses include guards)
2010-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45613
	* include/bits/random.tcc: Add missing include guards.
	* include/bits/random.h: Likewise.
	* include/tr1/random.tcc: Likewise.

From-SVN: r164074
2010-09-09 11:23:39 +00:00
Paolo Carlini
61356c15ac cxxabi.h: Uglify nothrow to __nothrow__; fix a few inconsistent uglifications everywhere.
2010-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* libsupc++/cxxabi.h: Uglify nothrow to __nothrow__; fix a few
	inconsistent uglifications everywhere.

From-SVN: r164073
2010-09-09 10:46:04 +00:00
Paolo Carlini
ccef29e831 re PR libstdc++/45549 (merge is_iterator into iterator_traits)
2010-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
	    Marc Glisse  <marc.glisse@normalesup.org>

	PR libstdc++/45549
	* include/bits/cpp_type_traits.h (__is_iterator_helper): Rename to
	__has_iterator_category.
	(__is_iterator): Adjust.
	* include/bits/stl_iterator_base_types.h (__iterator_traits): Add
	in C++0x mode, use the latter.
	(iterator_traits): In C++0x mode, derive from the latter.
	* include/bits/stl_iterator_base_funcs.h (next, prev): Remove
	enable_if on the return type.

Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>

From-SVN: r163977
2010-09-07 22:30:33 +00:00
Paolo Carlini
b7c3f5eb21 re PR libstdc++/45398 ([C++0x] Missing atomic<_Tp*>::store definition)
2010-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45398
	* include/std/atomic (atomic<_TP*>::store): Define.

	* include/std/atomic (atomic<_TP*>::load, exchange): Define inline.

From-SVN: r163950
2010-09-07 14:05:23 +00:00
Jason Merrill
6d105d8db8 abi.exp: Add "libstdc++-abi/" to abi_check FAIL message.
* testsuite/libstdc++-abi/abi.exp: Add "libstdc++-abi/" to
	abi_check FAIL message.

From-SVN: r163916
2010-09-06 09:55:40 -04:00
Paolo Carlini
9c7f808d0b re PR libstdc++/45347 (concurrence.h: In constructor '__gnu_cxx::__cond::__cond()': /home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:276:29: warning: missing initializer for member '__pthread_cond_t::__bloc)
2010-09-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45347
	* include/ext/concurrence.h: Add #pragma GCC system_header.

From-SVN: r163848
2010-09-03 23:19:18 +00:00
François Dumont
d78301422a libstdc++.exp ([check_v3_target_debug_mode]): Fix so that it really detects when debug mode is activated.
2010-09-03  François Dumont <francois.cppdevs@free.fr>

        * testsuite/lib/libstdc++.exp ([check_v3_target_debug_mode]): Fix so
        that it really detects when debug mode is activated.
        * testsuite/util/debug/construct_neg.h, insert_neg.h, assign_neg.h:
        Remove, content moved...
        * testsuite/util/debug/checks.h: ... here. Modify checks to take the
	type of the container to test rather than an intermediate container
        type traits helper.
	* testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Update to
	use dg-require-debug-mode when necessary and use new check functions.
	* testsuite/23_containers/unordered_map/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/unordered_map/debug/construct4_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct4_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc: 
	Likewise.
	* testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert4_neg.cc: Likewise.

	* testsuite/23_containers/unordered_map/debug/cont_traits.h: Remove.
	* testsuite/23_containers/unordered_map/debug/debug_cont_traits.h:
	Likewise.
	* testsuite/23_containers/multimap/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/multimap/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/set/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/set/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_multimap/debug/cont_traits.h:
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/
	debug_cont_traits.h: Likewise.
	* testsuite/23_containers/vector/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/vector/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_set/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_set/debug/debug_cont_traits.h:
	Likewise.
	* testsuite/23_containers/deque/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/deque/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/multiset/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/multiset/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/list/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/list/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_multiset/debug/cont_traits.h: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/
	debug_cont_traits.h: Likewise.
	* testsuite/23_containers/map/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/map/debug/debug_cont_traits.h: Likewise.

	* testsuite/21_strings/basic_string/element_access/char: Tidy.
	* testsuite/21_strings/basic_string/element_access/wchar_t: Likewise.

From-SVN: r163837
2010-09-03 18:10:46 +00:00
Paolo Carlini
6f0546801a re PR libstdc++/40974 (cannot build gcc-4.4.1: fenv_t has not been declared)
2010-09-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40974
	* include/Makefile.am: Add -nostdinc++ to PCHFLAGS.
	* include/Makefile.in: Regenerate.

From-SVN: r163777
2010-09-02 14:13:00 +00:00
Christopher Yeleighton
1ed78d6c3d re PR libstdc++/45488 (lower_bound doesn't really require the iterator parameters to be default constructible)
2010-09-01  Christopher Yeleighton  <giecrilj@stegny.2a.pl>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45488
	* include/bits/stl_algobase.h (lower_bound): Clean-up a tad, move
	two variables inside the main loop.
	* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range):
	Likewise.

From-SVN: r163747
2010-09-01 22:58:15 +00:00
Christopher Yeleighton
5ad97fcf61 re PR libstdc++/45488 (lower_bound doesn't really require the iterator parameters to be default constructible)
2010-09-01  Christopher Yeleighton  <giecrilj@stegny.2a.pl>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45488
	* include/bits/stl_algobase.h (lower_bound): Clean-up a tad, move
	two variables inside the main loop.
	* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range):
	Likewise.

From-SVN: r163746
2010-09-01 22:58:05 +00:00
Paolo Carlini
18dbb85903 re PR libstdc++/44480 ([C++0x] Linear performance of begin() in unordered associative containers)
2010-08-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44480
	* include/bits/hashtable.h (_Hashtable<>::_M_begin_bucket_index):
	Add, caching the index of the first non-empty bucket.
	(begin, cbegin): Use it.
	(_Hashtable<>::_Hashtable(_InputIterator, _InputIterator, ...),
	_Hashtable(const _Hashtable&), _Hashtable(_Hashtable&&),
	swap(_Hashtable&), clear): Adjust.
	(_M_insert_bucket, _M_insert, erase(const_iterator),
	erase(const key_type&), _M_rehash): Update it.

	* include/bits/hashtable.h (_Hashtable<>::_M_erase): Remove.
	(erase(const_iterator)): Inline the latter.

From-SVN: r163686
2010-08-31 17:39:51 +00:00
Paolo Carlini
ba6a601c1a remove_freed.cc: Fix test01 return type to void.
2010-08-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/forward_list/operations/remove_freed.cc:
	Fix test01 return type to void.
	* testsuite/util/exception/safety.h: Avoid -Wall -m32 warnings.
	* testsuite/util/replacement_memory_operators.h: Likewise.

From-SVN: r163684
2010-08-31 17:24:39 +00:00
Paolo Carlini
1f5ca1a15c [multiple changes]
2010-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/bitset/invalidation: Move...
	* testsuite/23_containers/bitset/debug/invalidation: ... here.
	* testsuite/23_containers/deque/invalidation: Move...
	* testsuite/23_containers/deque/debug/invalidation: ... here.
	* testsuite/23_containers/list/invalidation: Move...
	* testsuite/23_containers/list/debug/invalidation: ... here.
	* testsuite/23_containers/map/invalidation: Move...
	* testsuite/23_containers/map/debug/invalidation: ... here.
	* testsuite/23_containers/multimap/invalidation: Move...
	* testsuite/23_containers/multimap/debug/invalidation: ... here.
	* testsuite/23_containers/set/invalidation: Move...
	* testsuite/23_containers/set/debug/invalidation: ... here.
	* testsuite/23_containers/multiset/invalidation: Move...
	* testsuite/23_containers/multiset/debug/invalidation: ... here.
	* testsuite/23_containers/vector/invalidation: Move...
	* testsuite/23_containers/vector/debug/invalidation: ... here.

2010-08-29  François Dumont  <francois.cppdevs@free.fr>

        * include/bits/stl_algobase.h (_Iter_base):  Move...
        * include/bits/stl_iterator_base_types.h: ...here.
        * include/debug/functions.h (__check_valid_range, __check_string,
	__check_sorted): Fix to not depend on _GLIBCXX_DEBUG; include
	formatter.h and use formatting macros for a consistent debug result.
        * include/debug/formatter.h (__check_singular): Declare; do not
	include debug.h.
        * include/debug/debug.h: Do not include formatter.h.
        * include/debug/safe_iterator.h (_Safe_iterator::_Base_Iterator)
        rename to iterator_type.
	(__gnu_debug::__base): Add.
        * include/debug/set.h: Use everywhere __gnu_debug::__base once
	iterator range valided.
        * include/debug/unordered_map: Likewise.
        * include/debug/multiset.h: Likewise.
        * include/debug/vector: Likewise.
        * include/debug/unordered_set: Likewise.
        * include/debug/deque: Likewise.
        * include/debug/map.h: Likewise.
        * include/debug/string: Likewise.
        * include/debug/list: Likewise.
        * include/debug/multimap.h: Likewise.
        * testsuite/23_containers/util/debug/assign_neg.h: New test cases on
        debug checks performed on container assign operation.
        * testsuite/23_containers/util/debug/construct_neg.h: New test cases
        on debug checks on constructors.
        * testsuite/23_containers/util/debug/insert_neg.h: New test cases on
        debug checks performed on container insert operations.
        * testsuite/23_containers/unordered_map/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: New.
        * testsuite/23_containers/multimap/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/set/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_multimap/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_set/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/multiset/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_multiset/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/map/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/vector/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/deque/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
	list_construct1.cc: New, validate performance impact of the patch
	on the debug mode.
        * testsuite/performance/23_containers/range_construct/
	list_construct2.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
	vector_construct.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
	deque_construct.cc: Likewise.

From-SVN: r163628
2010-08-29 17:39:00 +00:00
Benjamin Kosnik
ee1e5e63ec stl_iterator_base_types.h: Fix doxygen warning.
2010-08-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_iterator_base_types.h: Fix doxygen warning.

From-SVN: r163592
2010-08-27 18:16:05 +00:00
Ralf Wildenhues
75bc9e5e0d Fix misquoting in stdint.m4.
config/:
	PR target/45084
	* stdint.m4 (GCC_HEADER_STDINT): Use m4 quotes for arguments
	of AC_MSG_ERROR.

libdecnumber/:
	* configure: Regenerate.

libgfortran/:
	* configure: Regenerate.

libgomp/:
	* configure: Regenerate.

libstdc++-v3/:
	* configure: Regenerate.

From-SVN: r163441
2010-08-21 12:18:02 +00:00
Kostya Serebryany
3ff91293eb re PR libstdc++/45276 (Need to document _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE)
2010-08-18  Kostya Serebryany <kcc@google.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45276
	* doc/xml/manual/debug.xml ([debug.races]): Add.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r163342
2010-08-18 15:21:56 +00:00
Paolo Carlini
a85615d28a re PR libstdc++/45300 (in cstdio/cstdlib keyword restrict is used instead of __restrict)
2010-08-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45300
	* include/c_std/cwchar: Replace 'restrict' -> '__restrict'.
	* include/c_global/cwchar: Likewise.

From-SVN: r163304
2010-08-17 13:15:41 +00:00
Paolo Carlini
f2871ffddb re PR libstdc++/45300 (in cstdio/cstdlib keyword restrict is used instead of __restrict)
2010-08-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45300
	* include/c_std/cstdlib: Replace 'restrict' -> '__restrict'.
	* include/c_std/cstdio: Likewise.
	* include/c_global/cstdlib: Likewise.
	* include/c_global/cstdio: Likewise.

From-SVN: r163283
2010-08-16 19:01:35 +00:00
Chris Moller
7bf7b578b7 printers.py (StdVectorPrinter): Added stuff to handle pretty-printing of std::vector<bool>.
2010-08-16  Chris Moller  <cmoller@redhat.com>

	http://sourceware.org/bugzilla/show_bug.cgi?id=11874
	* python/libstdcxx/v6/printers.py (StdVectorPrinter): Added stuff
	to handle pretty-printing of std::vector<bool>.

From-SVN: r163282
2010-08-16 18:48:27 +00:00
Jonathan Wakely
73571bf1e2 re PR libstdc++/45283 (performance/30_threads/future/polling.cc fails at compile time)
2010-08-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45283
	* testsuite/performance/30_threads/future/polling.cc: Replace calls to
	shared_future::is_ready.

From-SVN: r163250
2010-08-14 21:00:55 +01:00
Paolo Carlini
417e896ead hashtable.h (_Hashtable<>::operator=(const _Hashtable&)): Move inline.
2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::operator=(const
	_Hashtable&)): Move inline.
	(operator=(_Hashtable&&)): Define.
	* include/bits/unordered_map.h (unordered_map(unordered_map&&),
	unordered_map(const unordered_map&), unordered_multimap
	(unordered_multimap&&), unordered_multimap(const unordered_multimap&),
	__unordered_map(__unordered_map&&), __unordered_map(const
	__unordered_map&), __unordered_multimap(__unordered_multimap&&),
	__unordered_multimap(const __unordered_multimap&)): Do not define,
	leave implicit.
	* include/bits/unordered_set.h (unordered_set(unordered_set&&),
	unordered_set(const unordered_set&), unordered_multiset
	(unordered_multiset&&), unordered_multiset(const unordered_multiset&),
	__unordered_set(__unordered_set&&), __unordered_set(const
	__unordered_set&), __unordered_multiset(__unordered_multiset&&),
	__unordered_multiset(const __unordered_multiset&)): Likewise.

	* include/bits/unordered_map.h (__unordered_map(initializer_list<>),
	__unordered_map<>::operator=(initializer_list<>),
	__unordered_multimap(initializer_list<>), __unordered_multimap<>::
	operator=(initializer_list<>)): Add.
	* include/bits/unordered_set.h (__unordered_set(initializer_list<>),
	__unordered_set<>::operator=(initializer_list<>),
	__unordered_multiset(initializer_list<>), __unordered_multiset<>::
	operator=(initializer_list<>)): Likewise.

	* include/bits/unordered_map.h (__unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(initializer_list<>,
	size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
	Fix __n default to 0.
	* include/bits/unordered_set.h (__unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(initializer_list<>,
	size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
	Likewise.
	* include/debug/unordered_map (unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(initializer_list<>,
	size_type __n), unordered_map(_InputIterator, _InputIterator,
	size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
	Likewise.
	* include/debug/unordered_set (unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(initializer_list<>,
	size_type __n), unordered_set(_InputIterator, _InputIterator,
	size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
	Likewise.
	* include/profile/unordered_map (unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(initializer_list<>,
	size_type __n), unordered_map(_InputIterator, _InputIterator,
	size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
	Likewise.
	* include/profile/unordered_set (unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(initializer_list<>,
	size_type __n), unordered_set(_InputIterator, _InputIterator,
	size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
	Likewise.

From-SVN: r163236
2010-08-14 01:00:23 +00:00
Paolo Carlini
10260b86aa re PR libstdc++/45281 (performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc fails at compile time)
2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45281
	* include/bits/stl_queue.h (queue(queue&&), operator=(queue&&),
	priority_queue(priority_queue&&), operator=(priority_queue&&)):
	Remove, per CH 15.

From-SVN: r163231
2010-08-14 00:09:21 +00:00
Paolo Carlini
7d74619b73 dr1189.cc: Move to...
2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/unordered_map/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_map/hash_policy/dr1189.cc:
	... here.
	* testsuite/23_containers/unordered_set/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_set/hash_policy/dr1189.cc:
	... here.
	* testsuite/23_containers/unordered_multimap/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc:
	... here.
	* testsuite/23_containers/unordered_multiset/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc:
	... here.

	* testsuite/23_containers/unordered_set/hash_policy/26132.cc: New.

From-SVN: r163224
2010-08-13 13:08:09 +00:00
Paolo Carlini
8c61f40011 ios_init.cc (ios_base::Init::~Init): Add back semicolon at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros...
2010-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/ios_init.cc (ios_base::Init::~Init): Add back semicolon
	at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros,
	removed by mistake.
	* include/tr1_impl/boost_sp_counted_base.h: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/c++config: Adjust comment.

From-SVN: r163223
2010-08-13 11:48:34 +00:00
Kostya Serebryany
be335b18a9 c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE, [...]): Add.
2010-08-12  Kostya Serebryany <kcc@google.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE,
	_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER): Add.
	* src/ios_init.cc (ios_base::Init::~Init): Decorate with the
	latter.
	* include/tr1_impl/boost_sp_counted_base.h: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
	line number.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
	* testsuite/ext/profile/mutex_extensions.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r163210
2010-08-12 22:56:59 +00:00
Paolo Carlini
afb767b41f hashtable.h (_Hashtable<>::erase(const key_type&)): Use std::__addressof.
2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::erase(const key_type&)):
	Use std::__addressof.

	* include/bits/forward_list.tcc (forward_list<>::remove): Deal
	correctly with &__tmp->_M_value == &__val.
	* testsuite/23_containers/forward_list/operations/remove_freed.cc:
	New.

From-SVN: r163178
2010-08-11 23:59:35 +00:00
Paolo Carlini
633e8e192b stl_algo.h (shuffle): Change signature consistently with random_shuffle (US 121).
2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (shuffle): Change signature consistently
	with random_shuffle (US 121).
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r163102
2010-08-11 17:10:04 +00:00
Paolo Carlini
4c7aaebf4d move.h (forward): Reinstate the N2835 version.
2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (forward): Reinstate the N2835 version.

From-SVN: r163101
2010-08-11 16:55:33 +00:00
Paolo Carlini
3abeaf8f89 re PR libstdc++/42925 ([GB 99] Not possible to compare unique_ptr with 0)
2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42925
	* include/bits/unique_ptr.h (operator==(const unique_ptr<>&,
	nullptr_t), operator==(nullptr_t, const unique_ptr<>&),
	operator!=(const unique_ptr<>&, nullptr_t),
	operator!=(nullptr_t, const unique_ptr<>&)): Add.
	* include/bits/shared_ptr_base.h (operator==(const __shared_ptr<>&,
	nullptr_t), operator==(nullptr_t, const __shared_ptr<>&),
	operator!=(const __shared_ptr<>&, nullptr_t),
	operator!=(nullptr_t, const __shared_ptr<>&)): Likewise.
	* include/bits/shared_ptr.h (operator==(const shared_ptr<>&,
	nullptr_t), operator==(nullptr_t, const shared_ptr<>&),
	operator!=(const shared_ptr<>&, nullptr_t),
	operator!=(nullptr_t, const shared_ptr<>&)): Likewise.
	* testsuite/20_util/unique_ptr/comparison/42925.cc: New.
	* testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
	dg-error line numbers.

From-SVN: r163094
2010-08-11 08:49:47 +00:00
Paolo Carlini
8fe286ea6d unique_ptr.h: Replace _Tp_Deleter -> _Dp, and _Up_Deleter -> _Ep.
2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/unique_ptr.h: Replace _Tp_Deleter -> _Dp, and
	_Up_Deleter -> _Ep.

From-SVN: r163092
2010-08-11 07:42:02 +00:00
Paolo Carlini
c1510a4900 shared_ptr_base.h: Remove a few now redundant __glibcxx_function_requires(_ConvertibleConcept...).
2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr_base.h: Remove a few now redundant
	__glibcxx_function_requires(_ConvertibleConcept...).
	* testsuite/20_util/shared_ptr/cons/43820.cc: Adjust dg-error
	line number.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

From-SVN: r163075
2010-08-10 16:54:09 +00:00
Paolo Carlini
fabe484df4 1.cc: Avoid -Wall warnings.
2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/ext/stdio_sync_filebuf/char/1.cc: Avoid -Wall
	warnings.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.

From-SVN: r163056
2010-08-10 11:28:23 +00:00
Paolo Carlini
813c6cdf63 range_access.cc: Avoid -Wall warnings.
2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/array/range_access.cc: Avoid -Wall
	warnings.

From-SVN: r163054
2010-08-10 10:28:47 +00:00
Paolo Carlini
5aadb69b90 cons_overflow_neg.cc: Avoid -Wall warnings.
2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Avoid -Wall
	warnings.

	* include/bits/shared_ptr.h (shared_ptr<>::shared_ptr
	(const shared_ptr<>&), shared_ptr(shared_ptr<>&&), weak_ptr<>::
	weak_ptr(const weak_ptr<>&), weak_ptr(const shared_ptr<>&)):
	Constrain appropriately via std::is_convertible, etc.
	* include/bits/shared_ptr_base.h: Likewise.
	* include/bits/unique_ptr.h (default_delete<>::
	default_delete(const default_delete<>&),
	unique_ptr<>::unique_ptr(unique_ptr<>&&), operator=(unique_ptr<>&&)):
	Likewise.

	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/20_util/shared_ptr/cons/43820.cc: Likewise.

	* include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(auto_ptr<>&&)):
	Add.
	* include/std/memory: Adjust includes order.
	* testsuite/20_util/unique_ptr/cons/auto_ptr.cc: New.
	* testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Minor tweaks.

From-SVN: r163053
2010-08-10 10:08:56 +00:00
Paolo Carlini
0a5c2065bd re PR libstdc++/45228 ([C++0x] Can't copy-construct "tuple<int,int,int>" from "const tuple<int,int,int>" rvalue)
2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45228
	* include/std/tuple (tuple<typename... _Elements>): Constrain
	converting constructors and assignment operators with
	sizeof...(_UElements) == sizeof...(_Elements).
	(tuple(tuple<_UElements...>&): Remove.
	(tuple<typename _T1>): Add.
	* testsuite/20_util/tuple/cons/45228.cc: New.
	* testsuite/20_util/tuple/cons/converting.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
	dg-error line number.

	* include/std/tuple (_Tuple_impl<>::_Tuple_impl(const _Tuple_impl&)):
	Defaulted.

	* include/std/tuple (tuple<typename _T1, typename _T2>
	::operator=(pair<_U1, _U2>&&)): Use forward.

From-SVN: r163049
2010-08-10 07:17:44 +00:00
Paolo Carlini
71234632dd re PR libstdc++/44963 ([DR 1334] Ambiguous function overload using __gnu_cxx::crope with std::back_inserter in c++0x mode)
2010-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44963
	* include/bits/stl_iterator.h (insert_iterator<>::
	operator=(const typename _Container::value_type&,
	back_insert_iterator<>::
	operator=(const typename _Container::value_type&),
	front_insert_iterator<>::
	operator=(const typename _Container::value_type&))): Add
	in C++0x mode.
	* testsuite/ext/rope/44963.cc: New.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
	dg-error line number.

From-SVN: r163001
2010-08-08 14:54:51 +00:00
Paolo Carlini
77fd1c1d44 cmath: Implement US 136.
2010-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath: Implement US 136.
	* include/tr1_impl/cmath: Do not bring fpclassify, etc from namespace
	std, define namespace tr1.
	* testsuite/26_numerics/headers/cmath/
	c99_classification_macros_c++0x.cc: New.

From-SVN: r162995
2010-08-08 10:07:16 +00:00
David Malcolm
cd6b2fa0e7 hook.in: Rename variable dir to dir_.
libstdc++-v3/
	* python/hook.in: Rename variable dir to dir_.

Co-Authored-By: Jan Kratochvil <jan.kratochvil@redhat.com>

From-SVN: r162962
2010-08-06 20:43:04 +00:00
Jason Merrill
b2edc92147 * include/std/thread: Add deleted thread(thread&).
From-SVN: r162954
2010-08-06 15:41:23 -04:00
Paolo Carlini
00e9a94486 tuple (pack_arguments): Rename to forward_as_tuple and simplify, per US 98 and US 99.
2010-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (pack_arguments): Rename to forward_as_tuple
	and simplify, per US 98 and US 99.
	* testsuite/20_util/tuple/creation_functions/pack_arguments.cc:
	Rename to...
	* testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
	... this, adjust.
	* testsuite/20_util/pair/piecewise.cc: Adjust.

From-SVN: r162948
2010-08-06 14:46:08 +00:00
Paolo Carlini
c2653d8fc2 tuple (begin, end): Remove per GB 87.
2010-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (begin, end): Remove per GB 87.
	* testsuite/20_util/tuple/range_access.cc: Remove.

From-SVN: r162942
2010-08-06 11:28:50 +00:00
Paolo Carlini
cd6b4a4bca ratio (ratio_less): Improve, use ratio_divide to avoid more overflows.
2010-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/ratio (ratio_less): Improve, use ratio_divide to avoid
	more overflows.
	* testsuite/20_util/ratio/comparisons/comp1.cc: Extend.
	* testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.

From-SVN: r162941
2010-08-06 08:58:27 +00:00
Paolo Carlini
9316258dcb utility (begin, end): Remove per GB 85.
2010-08-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/utility (begin, end): Remove per GB 85.
	* testsuite/20_util/pair/range_access.cc: Remove.

	* include/std/functional (function<>::function()): Remove explicit,
	per JP 3.

From-SVN: r162900
2010-08-05 08:45:26 +00:00
Paolo Carlini
5f1fd3469f move.h (forward): Update to N3092.
2010-08-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (forward): Update to N3092.
	(identity): Remove (US 92 is NAD).
	* include/debug/set.h: Fix move constructor to simply use move.
	* include/debug/unordered_map: Likewise.
	* include/debug/multiset.h: Likewise.
	* include/debug/vector: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/string: Likewise.
	* include/debug/list: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/profile/set.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/multiset.h: Likewise.
	* include/profile/unordered_set: Likewise.
	* include/profile/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/list: Likewise.
	* include/profile/multimap.h: Likewise.
	* include/ext/vstring.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/unordered_set.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* testsuite/20_util/identity/value.cc: Remove
	* testsuite/20_util/identity/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/identity/requirements/explicit_instantiation.cc:
	Likewise.

From-SVN: r162898
2010-08-05 07:34:08 +00:00
Paolo Carlini
9b04fa9118 acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix messages.
2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix
	messages.
	* configure: Regenerate.

From-SVN: r162580
2010-07-27 17:41:47 +00:00
Paolo Carlini
f67a9881a8 [multiple changes]
2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/vstring_util.h: Include bits/range_access.h.
	* testsuite/ext/vstring/range_access.cc: New test.

2010-07-27  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/range_access.h: New.
	* include/Makefile.in: Add bits/range_access.h.
	* include/Makefile.am: Regenerate.
	* include/std/array: Include bits/range_access.h.
	* include/std/deque: Ditto.
	* include/std/forward_list: Ditto.
	* include/std/iterator: Ditto.
	* include/std/list: Ditto.
	* include/std/map: Ditto.
	* include/std/regex: Ditto.
	* include/std/set: Ditto.
	* include/std/string: Ditto.
	* include/std/unordered_map: Ditto.
	* include/std/unordered_set: Ditto.
	* include/std/vector: Ditto.
	* include/std/valarray: Add begin() and end().
	* libsupc++/initializer_list: Ditto.
	* include/tr1_impl/utility: Add begin() and end().
	* include/std/tuple: Ditto.
	* testsuite/24_iterators/headers/iterator/range_access.cc: New test.
	* testsuite/24_iterators/range_access.cc: Ditto.
	* testsuite/28_regex/range_access.cc: Ditto.
	* testsuite/18_support/initializer_list/range_access.cc: Ditto.
	* testsuite/21_strings/basic_string/range_access.cc: Ditto.
	* testsuite/26_numerics/valarray/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_map/range_access.cc: Ditto.
	* testsuite/23_containers/multimap/range_access.cc: Ditto.
	* testsuite/23_containers/set/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_multimap/range_access.cc: Ditto.
	* testsuite/23_containers/forward_list/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_set/range_access.cc: Ditto.
	* testsuite/23_containers/vector/range_access.cc: Ditto.
	* testsuite/23_containers/deque/range_access.cc: Ditto.
	* testsuite/23_containers/multiset/range_access.cc: Ditto.
	* testsuite/23_containers/list/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_multiset/range_access.cc: Ditto.
	* testsuite/23_containers/map/range_access.cc: Ditto.
	* testsuite/23_containers/array/range_access.cc: Ditto.
	* testsuite/20_util/tuple/range_access.cc: Ditto.
	* testsuite/20_util/pair/range_access.cc: Ditto.

From-SVN: r162578
2010-07-27 17:27:06 +00:00
Paolo Carlini
ddc9c40d20 acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): Remove.
2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>
	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): Remove.
	([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Add, actually
	compute the constants via AC_COMPUTE_INT.
	* configure.ac: Call the latter.
	* include/bits/ios_base.h: Adjust.
	* include/bits/char_traits.h: Likewise.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
	line number.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
	* config.h.in: Regenerate.
	* configure: Likewise.

2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/io/c_io_stdio.h: Do not include <cstddef>.

Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

From-SVN: r162562
2010-07-27 10:36:50 +00:00
Rainer Orth
b57c6b13e0 14220.cc: XFAIL on Solaris 9/x86, 32-bit Solaris 10/x86 and 64-bit Solaris 10/SPARC.
* testsuite/22_locale/num_put/put/char/14220.cc: XFAIL on Solaris
	9/x86, 32-bit Solaris 10/x86 and 64-bit Solaris 10/SPARC.
	* testsuite/22_locale/num_put/put/wchar_t/14220.cc: XFAIL on
	Solaris 9/x86 and 32-bit Solaris 10/x86.

	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Only XFAIL on Solaris 8 and 9.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
	Likewise.

	* testsuite/ext/enc_filebuf/char/13598.cc: XFAIL before Solaris 11.

From-SVN: r162545
2010-07-26 20:54:57 +00:00
Jonathan Wakely
20b84bef2b re PR libstdc++/45060 (Wreorder warning in bits/hashtable.h)
2010-07-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45060
	* include/bits/hashtable.h (_Hashtable::_Hashtable(_Hashtable&&)):
	Reorder mem-initializers.

From-SVN: r162515
2010-07-25 17:44:38 +01:00
Benjamin Kosnik
c6a21af2ff DocBook 4.5 to 5.0 transition.
2010-07-22  Benjamin Kosnik  <bkoz@redhat.com>

	DocBook 4.5 to 5.0 transition.
	* doc/xml/authors.xml: Update markup to DocBook 5.0.
	* doc/xml/faq.xml: Same.
	* doc/xml/api.xml: Same.
	* doc/xml/class.txml
	* doc/xml/gnu/gpl-3.0.xml: Same.
	* doc/xml/gnu/fdl-1.2.xml: Same.
	* doc/xml/gnu/fdl-1.3.xml: Same.
	* doc/xml/gnu/gpl-2.0.xml: Same.
	* doc/xml/chapter.txml: Same.
	* doc/xml/manual/mt_allocator.xml: Same.
	* doc/xml/manual/allocator.xml: Same.
	* doc/xml/manual/ctype.xml: Same.
	* doc/xml/manual/numerics.xml: Same.
	* doc/xml/manual/codecvt.xml: Same.
	* doc/xml/manual/backwards_compatibility.xml: Same.
	* doc/xml/manual/concurrency.xml: Same.
	* doc/xml/manual/intro.xml: Same.
	* doc/xml/manual/abi.xml: Same.
	* doc/xml/manual/shared_ptr.xml: Same.
	* doc/xml/manual/status_cxxtr1.xml: Same.
	* doc/xml/manual/auto_ptr.xml: Same.
	* doc/xml/manual/internals.xml: Same.
	* doc/xml/manual/atomics.xml: Same.
	* doc/xml/manual/parallel_mode.xml: Same.
	* doc/xml/manual/status_cxx1998.xml: Same.
	* doc/xml/manual/profile_mode.xml: Same.
	* doc/xml/manual/containers.xml: Same.
	* doc/xml/manual/io.xml: Same.
	* doc/xml/manual/concurrency_extensions.xml: Same.
	* doc/xml/manual/appendix_porting.xml: Same.
	* doc/xml/manual/utilities.xml: Same.
	* doc/xml/manual/support.xml: Same.
	* doc/xml/manual/bitmap_allocator.xml: Same.
	* doc/xml/manual/configure.xml: Same.
	* doc/xml/manual/build_hacking.xml: Same.
	* doc/xml/manual/evolution.xml: Same.
	* doc/xml/manual/using.xml: Same.
	* doc/xml/manual/using_exceptions.xml: Same.
	* doc/xml/manual/debug.xml: Same.
	* doc/xml/manual/localization.xml: Same.
	* doc/xml/manual/strings.xml: Same.
	* doc/xml/manual/debug_mode.xml: Same.
	* doc/xml/manual/locale.xml: Same.
	* doc/xml/manual/extensions.xml: Same.
	* doc/xml/manual/appendix_contributing.xml: Same.
	* doc/xml/manual/prerequisites.xml: Same.
	* doc/xml/manual/messages.xml: Same.
	* doc/xml/manual/diagnostics.xml: Same.
	* doc/xml/manual/algorithms.xml: Same.
	* doc/xml/manual/appendix_free.xml: Same.
	* doc/xml/manual/iterators.xml: Same.
	* doc/xml/manual/spine.xml: Same.
	* doc/xml/manual/status_cxxtr24733.xml: Same.
	* doc/xml/manual/status_cxx200x.xml: Same.
	* doc/xml/manual/test.xml: Same.
	* doc/xml/book.txml: Same.
	* doc/xml/spine.xml: Same.
	* doc/Makefile.am: Same.
	* doc/Makefile.in: Regenerate.

From-SVN: r162433
2010-07-22 22:58:15 +00:00
Benjamin Kosnik
7d8cafcde8 appendix_contributing.xml: Update for new reality.
2010-07-19  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/appendix_contributing.xml: Update for new reality.
	* doc/Makefile.am (doc-xml): New default rule for XML output.
	(doc-xml-single-doxygen): Standardize output names.
	* doc/Makefile.in: Regenerate.

	* doc/doxygen/user.cfg.in: Tweak.

From-SVN: r162361
2010-07-21 02:02:42 +00:00
Paolo Carlini
93f1d8555d [multiple changes]
2010-07-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* libsupc++/unwind-cxx.h: Minor formatting / stylistic tweaks.

2010-07-20  Mikael Pettersson  <mikpe@it.uu.se>

	PR libstdc++/44902
	* libsupc++/unwind-cxx.h (__cxa_type_match): Correct prototype.
	(__cxa_begin_cleanup): Likewise.

From-SVN: r162328
2010-07-20 09:44:01 +00:00
Benjamin Kosnik
547f963b5a Makefile.am (doc-texinfo): New rule.
2010-07-19  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/Makefile.am (doc-texinfo): New rule.
	(doc-texinfo-docbook): New rule.
	(DB2TEXI_FLAGS): New.
	(doc-xml-single-docbook): Just the manual, not the set. Tweak flags.
	* doc/Makefile.in: Regenerate.

From-SVN: r162327
2010-07-20 06:43:02 +00:00
Jonathan Wakely
e79fa1eb9b shared_ptr.xml: Update.
2010-07-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/shared_ptr.xml: Update.
	* doc/html/*: Regenerate.

From-SVN: r162193
2010-07-14 21:11:09 +01:00
Benjamin Kosnik
5bca11c4ef Makefile.am: Edit pdf rules.
2010-07-13  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/Makefile.am: Edit pdf rules.
	(doc-man, doc-pdf, doc-html): Expand default rules.
	* doc/Makefile.in: Regenerate.
	* doc/doxygen/user.cfg.in: Update to Doxygen 1.7.1.

From-SVN: r162151
2010-07-13 20:19:38 +00:00
Paolo Carlini
8e7d962aa5 type_traits (is_convertible): Use SFINAE.
2010-07-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (is_convertible): Use SFINAE.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r162056
2010-07-11 09:13:26 +00:00
Jonathan Wakely
2dd0f799c4 re PR libstdc++/44875 (libstdc++ status documentation fails to mention missing c++0x io members)
2010-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/44875
	* doc/xml/manual/status_cxx200x.xml: Corrections to status.
	* doc/html/*: Regenerate.

From-SVN: r161989
2010-07-09 10:44:14 +01:00
Benjamin Kosnik
5ab3a5af25 stl_heap.h: Update markup.
2010-07-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_heap.h: Update markup.
	* include/bits/move.h: Same.
	* include/bits/algorithmfwd.h: Same.
	* include/bits/regex.h: Same.
	* include/bits/random.h: Same.
	* doc/doxygen/doxygroups.cc: Same.
	* doc/doxygen/user.cfg.in: Remove include/tr1_impl/regex from
	input file list.
	* doc/Makefile.am (doc-pdf-doxygen): Add comment, put generated
	pdf in location consistent with docbook pdf generation.
	* doc/Makefile.in: Regenerate.

From-SVN: r161970
2010-07-08 17:48:12 +00:00
Jonathan Wakely
604b91240e status_cxx200x.xml: Add some missing features.
2010-07-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/status_cxx200x.xml: Add some missing features.
	* doc/html/*: Regenerate.

From-SVN: r161892
2010-07-06 23:14:58 +01:00
Jonathan Wakely
21ffc3f709 regex_compiler.h: Fix filename in doxygen comment.
2010-07-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/regex_compiler.h: Fix filename in doxygen comment.
	* include/bits/regex_constants.h: Likewise.
	* include/bits/regex_error.h: Likewise.
	* include/bits/regex_grep_matcher.h: Likewise.
	* include/bits/regex_grep_matcher.tcc: Likewise.
	* include/bits/regex_nfa.tcc: Likewise.

From-SVN: r161773
2010-07-03 13:35:03 +01:00
Rainer Orth
8198d54181 acinclude.m4 (symvers_renaming): Define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT instead of...
2010-07-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* acinclude.m4 (symvers_renaming): Define
	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT instead of
	_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
	Fix syntax error.
	* config.h.in: Regenerate.
	* configure: Regenerate.

From-SVN: r161706
2010-07-02 12:09:29 +00:00
Matthias Klose
d1f736a2d7 - Revert two chunks from libstdc++-v3/python/libstdcxx/v6/printers.py,
left over from testing.

From-SVN: r161702
2010-07-02 10:55:51 +00:00
Rainer Orth
1e0859a29e Missed in last commit.
From-SVN: r161701
2010-07-02 10:26:12 +00:00
Rainer Orth
c18dc5ccea gc++filt.m4: New file.
config:
	* gc++filt.m4: New file.

	contrib:
	* make_sunver.pl: New file.

	libstdc++v3:
	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle sun style.
	Require GCC_PROG_GNU_CXXFILT.
	(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define
	unless targetting solaris2*.
	Include ../config/gc++filt.m4.
	* configure.host (i?86-*-solaris2*): Set abi_baseline_pair.
	(sparc-*-solaris2*): Likewise.
	* src/Makefile.am [ENABLE_SYMVERS_SUN] (version_dep, version_arg):
	New variables.
	(libstdc++-symbols.ver-sun): New target.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* python/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* src/atomic.cc: Only define/use _GLIBCXX_ASM_SYMVER if
	_GLIBCXX_HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
	* src/compatibility.cc: Likewise.
	* testsuite/Makefile.am (baseline_subdir): Define.
	(baseline_symbols): Use it.
	(new-abi-baseline): Likewise.
	* testsuite/Makefile.in: Regenerate.

	* config/abi/pre/gnu.ver (GLIBCXX_3.4.5): Enclose duplicates in
	#ifdef HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
	(GLIBCXX_3.4.6): Likewise.

	* doc/xml/manual/configure.xml (--enable-symvers): Document sun
	style.

	* doc/xml/manual/abi.xml: Fix grammar.
	(Symbol versioning on the libstdc++.so binary): Fix mapfile path.
	(Incremental bumping of a library pre-defined macro): Fix
	c++config path.
	(Incremental bumping of a library pre-defined macro,
	_GLIBCPP_VERSION): Likewise.
	(Matching each specific C++ compiler release to a specific set of
	C++ include files): Fix acinclude.m4 path.
	(Prerequisites): Allow for Sun linker on Solaris 2.5+.
	Use proper link to Configuring.
	Fix acinclude.m4 path.
	(Checking Active): Allow for additional symbol versioning styles.
	Provide Solaris 2 example with pvs -r.
	(Bibliography): Update Linker and Libraries Guide, C++ Migration
	Guide entries.

	gcc:
	* doc/install.texi (Prerequisites): Document Perl requirement on
	Solaris 2.
	(Specific, *-*-solaris2*): Document GNU c++filt requirement.

From-SVN: r161696
2010-07-02 10:05:49 +00:00
Jason Merrill
d758e847c4 Enable implicitly declared move constructor/operator= (N3053).
gcc/cp/
	* class.c (add_implicitly_declared_members): A class with no
	explicitly declared copy or move constructor gets both declared
	implicitly, and similarly for operator=.
	(check_bases): A type with no copy ctor does not inhibit
	a const copy ctor in a derived class.
	(check_field_decl): Likewise.
	(check_bases_and_members): A nonexistent copy ctor/op= is non-trivial.
	* tree.c (type_has_nontrivial_copy_init): Adjust semantics.
	(trivially_copyable_p): Likewise.
	* call.c (convert_like_real): Use type_has_nontrivial_copy_init.
	* class.c (finish_struct_bits): Likewise.
	* tree.c (build_target_expr_with_type): Likewise.
	* typeck2.c (store_init_value): Likewise.
libstdc++-v3/
	* include/bits/unordered_map.h: Explicitly default copy constructors.
	* include/bits/unordered_set.h: Likewise.

From-SVN: r161582
2010-06-29 20:51:44 -04:00
Jason Merrill
9a71b305bf * decl2.c (mark_used): Adjust error for use of deleted function.
From-SVN: r161580
2010-06-29 20:51:13 -04:00
Paolo Carlini
6ff7e96435 re PR libstdc++/44708 (Enabling -std=c++0x results in ambiguous function overload in <ext/algorithm> header)
2010-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44708
	* include/ext/algorithm (copy_n): Qualify __copy_n call with
	__gnu_cxx::
	* testsuite/ext/rope/44708.cc: New.

From-SVN: r161524
2010-06-29 10:03:36 +00:00
Paolo Carlini
d860c8424c regex_compiler.h: Trivial formatting / stylistic fixes.
2010-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/regex_compiler.h: Trivial formatting / stylistic fixes.
	* include/bits/regex_grep_matcher.tcc: Likewise.
	* include/bits/regex_cursor.h: Likewise.
	* include/bits/regex.h: Likewise.

From-SVN: r161462
2010-06-27 09:29:25 +00:00
Paolo Carlini
820d2ff720 [multiple changes]
2010-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_hooks.h: Cast fn to bool.

2010-06-26  Kees Cook  <kees.cook@canonical.com>

	* testsuite/27_io/ios_base/sync_with_stdio/1.cc: Verify freopen.
	* testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-2.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-4.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/11.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/10.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-5.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/char/12048-2.cc: Likewise.
	* testsuite/27_io/objects/char/12048-4.cc: Likewise.
	* testsuite/27_io/objects/char/9.cc: Likewise.
	* testsuite/27_io/objects/char/12048-1.cc: Likewise.
	* testsuite/27_io/objects/char/12048-3.cc: Likewise.
	* testsuite/27_io/objects/char/12048-5.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
	* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Verify fgets.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Verify
	fwrite.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.

From-SVN: r161441
2010-06-26 20:11:20 +00:00
Jonathan Wakely
e7e1f45779 faq.xml: Fix typo.
2010-06-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/faq.xml: Fix typo.
	* doc/html/faq.xml: Likewise.

From-SVN: r161420
2010-06-26 00:18:08 +01:00
Paolo Carlini
6769da2ed7 2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
Reformat last ChangeLog entry.

From-SVN: r161419
2010-06-25 23:04:11 +00:00
Stephen M. Webb
849cab7b75 Initial regex implementation.
2010-06-25  Stephen M. Webb  <stephen.webb@bregmasoft.ca>

  Initial regex implementation.

  * include/std/regex: Modified to use bits/regex_* headers.
  * include/bits/regex_compiler.h: New file.
  * include/bits/regex_constants.h: New file.
  * include/bits/regex_cursor.h: New file.
  * include/bits/regex_error.h: New file.
  * include/bits/regex_grep_matcher.h: New file.
  * include/bits/regex_grep_matcher.tcc: New file.
  * include/bits/regex.h: New file.
  * include/bits/regex_nfa.h: New file.
  * include/bits/regex_nfa.tcc: New file.
  * include/Makefile.am: Added above new files.
  * include/Makefile.in: Regenerated.
  * testsuite/28_regex/02_definitions: New file.
  * testsuite/28_regex/03_requirements: New file.
  * testsuite/28_regex/03_requirements/typedefs.cc: New file.
  * testsuite/28_regex/04_header: New file.
  * testsuite/28_regex/04_header/regex: New file.
  * testsuite/28_regex/04_header/regex/std_c++0x_neg.cc: New file.
  * testsuite/28_regex/05_constants: New file.
  * testsuite/28_regex/05_constants/error_type.cc: New file.
  * testsuite/28_regex/05_constants/match_flag_type.cc: New file.
  * testsuite/28_regex/05_constants/syntax_option_type.cc: New file.
  * testsuite/28_regex/06_exception_type: New file.
  * testsuite/28_regex/06_exception_type/regex_error.cc: New file.
  * testsuite/28_regex/07_traits: New file.
  * testsuite/28_regex/07_traits/char: New file.
  * testsuite/28_regex/07_traits/char/ctor.cc: New file.
  * testsuite/28_regex/07_traits/char/isctype.cc: New file.
  * testsuite/28_regex/07_traits/char/length.cc: New file.
  * testsuite/28_regex/07_traits/char/lookup_classname.cc: New file.
  * testsuite/28_regex/07_traits/char/lookup_collatename.cc: New file.
  * testsuite/28_regex/07_traits/char/transform.cc: New file.
  * testsuite/28_regex/07_traits/char/transform_primary.cc: New file.
  * testsuite/28_regex/07_traits/char/translate.cc: New file.
  * testsuite/28_regex/07_traits/char/translate_nocase.cc: New file.
  * testsuite/28_regex/07_traits/char/value.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t: New file.
  * testsuite/28_regex/07_traits/wchar_t/ctor.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/length.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/transform.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/translate.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/value.cc: New file.
  * testsuite/28_regex/08_basic_regex: New file.
  * testsuite/28_regex/08_basic_regex/assign: New file.
  * testsuite/28_regex/08_basic_regex/assign/char: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/moveable.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/pstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/string.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/string_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/default.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/copy_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/move_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/string_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/regex.cc: New file.
  * testsuite/28_regex/09_sub_match: New file.
  * testsuite/28_regex/09_sub_match/cast_char.cc: New file.
  * testsuite/28_regex/09_sub_match/cast_wchar_t.cc: New file.
  * testsuite/28_regex/09_sub_match/length.cc: New file.
  * testsuite/28_regex/09_sub_match/typedefs.cc: New file.
  * testsuite/28_regex/10_match_results: New file.
  * testsuite/28_regex/10_match_results/ctors: New file.
  * testsuite/28_regex/10_match_results/ctors/char: New file.
  * testsuite/28_regex/10_match_results/ctors/char/default.cc: New file.
  * testsuite/28_regex/10_match_results/ctors/wchar_t: New file.
  * testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/10_match_results/typedefs.cc: New file.
  * testsuite/28_regex/11_algorithms: New file.
  * testsuite/28_regex/11_algorithms/02_match: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc: New file.
  * testsuite/28_regex/12_iterators: New file.
  * testsuite/28_regex/12_iterators/regex_iterator: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/char: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc: New file.
  * testsuite/28_regex/13_ecmascript: New file.

From-SVN: r161410
2010-06-25 19:27:16 +00:00
Paolo Carlini
c14420e173 profiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.
2010-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_list_to_slist.h: Remove spurious
	semicolon; prefer pre-increment.
	* include/profile/impl/profiler_container_size.h: Use everywhere
	qualified std::size_t.
	* include/profile/impl/profiler_trace.h (__trace_base<>::
	__collect_warnings): Tidy loop.
	* include/profile/impl/profiler_vector_to_list.h: Minor formatting
	changes.

From-SVN: r161390
2010-06-25 17:06:06 +00:00
Paolo Carlini
47d660fbcc profiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.
2010-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_list_to_slist.h: Remove spurious
	semicolon; prefer pre-increment.
	* include/profile/impl/profiler_container_size.h: Use everywhere
	qualified std::size_t.
	* include/profile/impl/profiler_trace.h (__trace_base<>::
	__collect_warnings): Tidy loop.
	* include/profile/impl/profiler_vector_to_list.h: Minor formatting
	changes.

From-SVN: r161373
2010-06-25 11:37:54 +00:00
Paolo Carlini
0b032f38aa profiler_trace.h: Uglify it to __it, use everywhere std::size_t instead of size_t.
2010-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_trace.h: Uglify it to __it, use
	everywhere std::size_t instead of size_t.

From-SVN: r161368
2010-06-25 09:43:18 +00:00
Paolo Carlini
9ab1f9c70e profiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting tweaks.
2010-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_trace.h (__trace_base<>::
	__trace_base()): Move inline, simplify; formatting tweaks.
	* include/profile/impl/profiler_hash_func.h: Formatting tweaks.

From-SVN: r161334
2010-06-24 18:52:42 +00:00
Paolo Carlini
3f04c1b4bd profiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting tweaks.
2010-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_trace.h (__trace_base<>::
	__trace_base()): Move inline, simplify; formatting tweaks.
	* include/profile/impl/profiler_hash_func.h: Formatting tweaks.

From-SVN: r161333
2010-06-24 18:52:31 +00:00
Paolo Carlini
c7d42abb94 profiler_trace.h (__warning_data:: __warning_message): Change to std::string...
2010-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_trace.h (__warning_data::
	__warning_message): Change to std::string; clean-up includes,
	qualify size_t, fprintf, etc, with std everywhere.
	(struct __warn::operator()): Adjust.
	* include/profile/impl/profiler_list_to_slist.h
	(__list2slist_info::__advice): Change to return a std::string;
	clean-up includes, qualify size_t, fprintf, etc, with std.
	* include/profile/impl/profiler_container_size.h
	(__container_size_info::__advice): Likewise.
	* include/profile/impl/profiler_hash_func.h (__hashfunc_info::
	__advice): Likewise.
	* include/profile/impl/profiler_list_to_vector.h
	(__list2vector_info::__advice): Likewise.
	* include/profile/impl/profiler_vector_to_list.h
	(__vector2list_info::__advice): Likewise.
	* include/profile/impl/profiler_map_to_unordered_map.h
	(__map2umap_info::__advice): Likewise.
	* include/profile/impl/profiler.h: Likewise.
	* include/profile/impl/profiler_hashtable_size.h: Likewise.
	* include/profile/impl/profiler_node.h: Likewise.
	* include/profile/impl/profiler_vector_size.h: Likewise.

	* include/profile/iterator_tracker.h: Formatting and stylistic
	tweaks.
	* include/profile/base.h: Likewise.
	* include/profile/map.h: Likewise.

From-SVN: r161325
2010-06-24 16:17:55 +00:00
Paolo Carlini
6b8cdb0ac2 stl_tree.h (erase(iterator), [...]): Remove inline specifier.
2010-06-23  Paolo Carlini <paolo.carlini@oracle.com>

	* include/bits/stl_tree.h (erase(iterator), erase(const_iterator)):
	Remove inline specifier.

From-SVN: r161267
2010-06-23 09:50:42 +00:00
Paolo Carlini
b0af13eadd profiler_list_to_slist.h: Fix formatting, other minor stylistic changes.
2010-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_list_to_slist.h: Fix formatting,
	other minor stylistic changes.
	* include/profile/impl/profiler_container_size.h: Likewise.
	* include/profile/impl/profiler_vector_size.h: Likewise.
	* include/profile/impl/profiler_hash_func.h: Likewise.
	* include/profile/impl/profiler_trace.h: Likewise.
	* include/profile/impl/profiler_list_to_vector.h: Likewise.
	* include/profile/impl/profiler_vector_to_list.h: Likewise.
	* include/profile/impl/profiler_state.h: Likewise.
	* include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
	* include/profile/impl/profiler_hashtable_size.h: Likewise.
	* include/profile/impl/profiler_node.h: Likewise.

From-SVN: r161236
2010-06-22 23:36:32 +00:00
Matthias Klose
b2e894b50a printers.py: Don't use string exceptions.
2010-06-22  Matthias Klose  <doko@ubuntu.com>

        * python/libstdcxx/v6/printers.py: Don't use string exceptions.

From-SVN: r161233
2010-06-22 22:09:07 +00:00
Paolo Carlini
82c2f1bbd3 re PR libstdc++/44630 (profiler_trace.h defines functions __max and __min which causes portability problems)
2010-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44630
	* include/profile/impl/profiler_trace.h (__min, __max): Remove,
	use std::min, std::max everywhere.
	* include/profile/impl/profiler_container_size.h: Use std::min and
	std::max.
	* include/profile/impl/profiler_hash_func.h: Likewise.
	* include/profile/impl/profiler_list_to_vector.h: Likewise.

From-SVN: r161192
2010-06-22 15:28:02 +00:00
Rainer Orth
babc472831 sol2.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__=199901L, _XOPEN_SOURCE=600 for C++.
gcc:
	* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define
	__STDC_VERSION__=199901L, _XOPEN_SOURCE=600 for C++.

	fixincludes:
	* inclhack.def (solaris__restrict, solaris_complex_cxx): New fixes
	* fixincl.x: Regenerate.
	* tests/base/complex.h [SOLARIS_COMPLEX_CXX_CHECK]: New test.
	* tests/base/sys/feature_tests.h: New file.

	libstdc++-v3:
	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
	Add *-*-solaris2.1[0-9]* to dg-xfail-if, dg-excess-errors.

From-SVN: r161089
2010-06-21 15:27:29 +00:00
Paolo Carlini
b7d3d70f77 random.tcc (uniform_int_distribution<>::operator()): Fix to work well for arbitrary urng.max() and urng.min().
2010-06-20  Paolo Carlini  <paolo.carlini@oracle.com>
	    Kai-Uwe Bux  <bux@kubux.net>

	* include/bits/random.tcc (uniform_int_distribution<>::operator()):
	Fix to work well for arbitrary urng.max() and urng.min().

Co-Authored-By: Kai-Uwe Bux <bux@kubux.net>

From-SVN: r161054
2010-06-20 21:03:10 +00:00
Paolo Carlini
dc2cf706b8 re PR libstdc++/32618 (std::vector calls uneccessary constructors instead of inplace construction of first object)
2010-06-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/32618
	* include/bits/stl_list.h (vector<>::_M_default_initialize,
	_M_default_append): Declare.
	(list<>::list(size_type), resize(size_type)): Add in C++0x mode,
	use the latter.
	* include/bits/list.tcc (list<>::resize, _M_default_append): Define.
	* include/bits/stl_vector.h (vector<>::_M_default_initialize,
	_M_default_append): Declare.
	(vector<>::vector(size_type), resize(size_type)): Add in C++0x mode,
	use the latter.
	* include/bits/vector.tcc (vector<>::_M_default_append): Define.
	* include/bits/stl_deque.h (deque<>::_M_default_initialize,
	_M_default_append): Declare.
	(deque<>::deque(size_type), resize(size_type)): Add in C++0x mode,
	use the latter.
	* include/bits/deque.tcc (deque<>::_M_default_append): Define.
	* include/debug/vector: Update.
	* include/debug/deque: Likewise.
	* include/debug/list: Likewise.
	* include/profile/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/list: Likewise.
	* include/bits/forward_list.h (_M_default_initialize,
	_M_default_insert_after): Declare.
	(forward_list<>::forward_list(size_type), resize(size_type)): Fix,
	use the latter.
	* include/bits/forward_list.tcc (forward_list<>::_M_default_append,
	_M_default_insert_after): Define.
	* testsuite/util/testsuite_api.h (NonCopyConstructible): Add.
	* testsuite/23_containers/forward_list/modifiers/6.cc: Move to...
	* testsuite/23_containers/forward_list/capacity/resize_size.cc:
	... here.
	* testsuite/23_containers/forward_list/cons/10.cc: Move to...
	* testsuite/23_containers/forward_list/cons/cons_size.cc: ... here.
	* testsuite/23_containers/vector/resize/1.cc: Move to...
	* testsuite/23_containers/vector/capacity/resize/1.cc: ... here.	
	* testsuite/23_containers/vector/resize/moveable.cc: Move to...
	* testsuite/23_containers/vector/resize/capacity/moveable.cc: ... here.
	* testsuite/23_containers/vector/cons/cons_size.cc: New.
	* testsuite/23_containers/vector/capacity/resize/resize_size.cc:
	Likewise.
	* testsuite/23_containers/deque/cons/cons_size.cc: Likewise.
	* testsuite/23_containers/deque/capacity/resize_size.cc: Likewise.
	* testsuite/23_containers/list/cons/cons_size.cc: Likewise.
	* testsuite/23_containers/list/capacity/resize_size.cc: Likewise.
	* testsuite/23_containers/vector/capacity/resize/moveable.cc: Adjust.
	* testsuite/23_containers/deque/capacity/moveable.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r161009
2010-06-18 18:07:45 +00:00
Paolo Carlini
cc86c05a59 stl_uninitialized.h (__uninitialized_default, [...]): Add.
2010-06-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_uninitialized.h (__uninitialized_default,
	__uninitialized_default_n, __uninitialized_default_a,
	__uninitialized_default_n_a): Add.

	* include/bits/stl_uninitialized.h (uninitialized_copy,
	uninitialized_fill, uninitialized_fill_n): Use __is_trivial
	instead of __is_pod.
	* include/bits/valarray_array.h: Likewise.
	* include/bits/stl_algobase.h (__copy_move_backward_a,
	__copy_move_a): Likewise.

From-SVN: r160882
2010-06-17 08:34:17 +00:00
Paolo Carlini
fe27aa8bc4 stl_construct.h (_Construct): Change to variadic in C++0x mode, consistently with allocator::construct.
2010-06-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_construct.h (_Construct): Change to variadic in
	C++0x mode, consistently with allocator::construct.
	* include/bits/stl_uninitialized.h (__uninitialized_copy_n): Use
	_Construct.
	(__uninitialized_construct_range): Move to...
	* include/bits/stl_tempbuf.h (__uninitialized_construct_buf): ... here.

From-SVN: r160833
2010-06-16 12:26:24 +00:00
Matthias Klose
a4a2087c44 compatibility.cc: Export long double versions of "C" math library for arm-linux-gnueabi...
2010-06-16  Matthias Klose  <doko@ubuntu.com>

        * src/compatibility.cc: Export long double versions of "C" math
        library for arm-linux-gnueabi, m68k-linux-gnu (ColdFire),
        mips*-linux-gnu (o32 ABI), sh*-linux-gnu (32 bit).

From-SVN: r160823
2010-06-16 06:02:37 +00:00
Jason Merrill
a40cc81fff libstdc++.exp: Set additional_prunes.
* testsuite/lib/libstdc++.exp: Set additional_prunes.
	(libstdc++-dg-test): Don't prune here.
	* testsuite/lib/prune.exp (dg-prune-output): New.
	(libstdc++-dg-prune): Rename from prune_g++_output.
	Add a bunch of prunes from gcc's prune.exp.

From-SVN: r160812
2010-06-15 17:05:22 -04:00
Jason Merrill
0842c29f7b call.c (convert_like_real): Give "initializing argument of" information for ambiguous conversion.
* call.c (convert_like_real): Give "initializing argument of"
	information for ambiguous conversion.  Give source position
	of function.

From-SVN: r160809
2010-06-15 16:10:42 -04:00
Jason Merrill
e14eaea4d4 call.c (print_z_candidates): Do print viable deleted candidates.
* call.c (print_z_candidates): Do print viable deleted candidates.
	(joust): Don't choose a deleted function just because its worst
	conversion is better than another candidate's worst.

From-SVN: r160808
2010-06-15 16:10:29 -04:00