Commit Graph

7660 Commits

Author SHA1 Message Date
Paolo Carlini
90f9c94e02 re PR libstdc++/53248 (std::array<T,0> doesn't work when T is not default-constructible)
2012-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/53248
	* include/std/array (__array_traits<>): Add.
	(array<>): Allow for zero-size arrays of non default-constructible
	elements.
	* testsuite/23_containers/array/requirements/
	non_default_constructible.cc: New.
	* testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
	Adjust.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Likewise.

From-SVN: r192056
2012-10-04 00:02:29 +00:00
Jonathan Wakely
1504e3e1c4 re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
libgcc:

	PR other/53889
	* gthr.h (__gthread_recursive_mutex_destroy): Document new required
	function.
	* gthr-posix.h (__gthread_recursive_mutex_destroy): Define.
	* gthr-single.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
	Likewise.
	* config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy):
	Likewise.
	* config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise.

libstdc++-v3:

	PR other/53889
	* include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
	Use __gthread_recursive_mutex_destroy.
	(__recursive_mutex_base::_S_destroy): Remove.
	(__recursive_mutex_base::_S_destroy_win32): Likewise.
	* include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
	Use __gthread_recursive_mutex_destroy.
	(__recursive_mutex::_S_destroy): Remove.
	(__recursive_mutex::_S_destroy_win32): Likewise.

From-SVN: r192002
2012-10-02 21:22:32 +01:00
Benjamin Kosnik
e0372a2f31 gnu-versioned-namespace.ver: Add more typeinfo/vtable exports.
2012-10-01  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/pre/gnu-versioned-namespace.ver: Add more
	typeinfo/vtable exports.

From-SVN: r191949
2012-10-01 23:58:37 +00:00
Paolo Carlini
decf0e27a0 re PR libstdc++/54757 (FAIL: ext/random/beta_distribution/cons/default.cc (test for excess errors))
2012-10-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/54757
	* include/ext/random (rice_distribution<>::operator()): Use std::hypot
	only if _GLIBCXX_USE_C99_MATH_TR1.
	* include/ext/random.tcc (rice_distribution<>::__generate_impl):
	Likewise.

From-SVN: r191944
2012-10-01 23:10:02 +00:00
Daniel Krugler
83ddb39f04 type_traits (result_of): Provide "SFINAE-friendly" (see N3436) implementation.
2012-10-01  Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/std/type_traits (result_of): Provide "SFINAE-friendly"
	(see N3436) implementation.
	* testsuite/20_util/result_of/sfinae_friendly_1.cc: New.
	* testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Tweak
	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: r191930
2012-10-01 16:02:57 +00:00
Benjamin Kosnik
321168c3e6 user.cfg.in: Update to doxygen 1.8.2.
2012-09-30  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Update to doxygen 1.8.2.

From-SVN: r191876
2012-09-30 17:56:49 +00:00
Jonathan Wakely
b4ca0e1a10 ropeimpl.h (__uninitialized_fill_n_a): Fix using declaration.
* include/ext/ropeimpl.h (__uninitialized_fill_n_a): Fix using
	declaration.
	* testsuite/ext/rope/5.cc: New.

From-SVN: r191869
2012-09-30 16:36:18 +01:00
Jonathan Wakely
e8031ec516 re PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of const_iterator)
PR libstdc++/54577
	* doc/xml/manual/status_cxx2011.xml: N2350 changes are missing from
	sequence containers.
	* doc/html/*: Regenerate.

From-SVN: r191866
2012-09-30 12:40:06 +01:00
Jonathan Wakely
4e57a5c302 Fix ChangeLog date
From-SVN: r191857
2012-09-29 19:00:54 +01:00
Jonathan Wakely
693ac783d9 re PR libstdc++/34106 ([parallel mode] Atomic operations compatibility layer needs cleanup)
PR libstdc++/34106
	* include/parallel/compatibility.h: Remove non-GCC code.

From-SVN: r191856
2012-09-29 18:58:34 +01:00
Benjamin Kosnik
b1d6986c94 fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>

	* fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
	* libsupc++/Makefile.am (LTCXXCOMPILE): Add EXTRA_CXX_FLAGS here.
	* src/Makefile.am: Same.
	* src/c++98/Makefile.am: Same.
	* src/c++11/Makefile.am: Same.
	* Makefile.in: Regenerated.
	* src/Makefile.am: Same.
	* src/c++11/Makefile.in: Same.
	* src/c++98/Makefile.in: Same.
	* include/Makefile.in: Same.
	* po/Makefile.in: Same.
	* python/Makefile.in: Same.
	* testsuite/Makefile.in: Same.

2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>

	* src/c++98/Makefile.am: Fixup PARALLEL_FLAGS.

From-SVN: r191847
2012-09-29 04:08:17 +00:00
Benjamin Kosnik
495de4f4cb acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
	* include/Makefile.am: Same.
	* src/c++98/Makefile.am: Same.
	* src/Makefile.am: Same.
	* Makefile.in: Regenerated.
	* aclocal.m4: Same.
	* configure: Same.
	* doc/Makefile.in: Same.
	* include/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* po/Makefile.in: Same.
	* python/Makefile.in: Same.
	* src/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* src/c++11/Makefile.in: Same.
	* src/c++98/Makefile.in: Same.

	* src/c++98/compatibility-debug_list-2.cc: Update comments.
	* src/c++98/compatibility-debug_list.cc: Same.
	* src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc
	* src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc
	* src/c++98/compatibility-parallel_list-2.cc: Renamed to
	src/c++98/list_associated-2.cc.
	* src/c++98/compatibility-parallel_list.cc: Renamed to
	src/c++98/list_associated.cc.

From-SVN: r191837
2012-09-28 19:48:27 +00:00
Paolo Carlini
fb95b3dfae re PR libstdc++/54727 (error: declaration of ‘UINT64_C’ must be available)
2012-09-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/54727
	* config/cpu/i486/opt/bits/opt_random.h: Avoid UINT64_C.

From-SVN: r191806
2012-09-27 12:53:46 +00:00
Paolo Carlini
8054b82ee5 random: Add include checks for c++11 and <cstdint>.
2012-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/random: Add include checks for c++11 and <cstdint>.

From-SVN: r191792
2012-09-27 01:04:30 +00:00
Benjamin Kosnik
957ea7ba30 re PR libstdc++/54314 (undefined references to 'construction vtable for std::ostream-in-std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >')
2012-09-26  Benjamin Kosnik  <bkoz@redhat.com>

       PR libstdc++/54314
       * config/abi/pre/gnu.ver: Add vtable exports.
       * config/abi/pre/gnu-versioned-namespace.ver: Same.

From-SVN: r191788
2012-09-27 00:05:03 +00:00
Benjamin Kosnik
3b7f9f50be Correct truncation on last checkin.
From-SVN: r191787
2012-09-27 00:00:46 +00:00
Akira Takahashi
e80d3fda8e re PR libstdc++/53515 (InputIterator version std::advance needs negative check)
2012-09-26  Akira Takahashi  <faithandbrave@gmail.com>

	PR libstdc++/53515
	* include/bits/stl_iterator_base_funcs.h (__advance(_InputIterator&,
	_Distance, input_iterator_tag)): Add _GLIBCXX_DEBUG_ASSERT(__n >= 0).

From-SVN: r191784
2012-09-26 23:56:39 +00:00
Ulrich Drepper
48c7b524c1 Optimize bulk mode for normal_distribution<double> for SSE3.
2012-09-26  Ulrich Drepper  <drepper@gmail.com>

	Optimize bulk mode for normal_distribution<double> for SSE3.
	* configure.host: Define cpu_opt_bits_random.
	* configure.ac: Substitute CPU_OPT_BITS_RANDOM.
	* include/Makefile.am (bits_headers): Add ${bits_host_headers}.
	(bits_host_headers): Define.
	* include/bits/random.tcc: Move __details::_Power_of_2 to...
	* include/bits/random.h: ...here.
	* include/std/random: Include <bits/opt_random.h>.
	* config/cpu/i486/opt/bits/opt_random.h: New file.
	* config/cpu/generic/opt/bits/opt_random.h: New file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* doc/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* libsupc++/Makefile.in: Regenerated.
	* po/Makefile.in: Regenerated.
	* python/Makefile.in: Regenerated.
	* src/Makefile.in: Regenerated.
	* src/c++11/Makefile.in: Regenerated.
	* src/c++98/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.

	* config/cpu/generic/opt/ext/opt_random.h: Fix comment.

From-SVN: r191758
2012-09-26 13:10:26 +00:00
Paolo Carlini
222b68463b re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
2012-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/xml/manual/status_cxx2011.xml: Update vs PR 44436.

From-SVN: r191695
2012-09-25 08:43:38 +00:00
Edward Smith-Rowland
21a8ccc02f Implement the K-distribution as an extension.
From-SVN: r191688
2012-09-25 03:26:36 +00:00
François Dumont
55826ab6d1 re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
2012-09-24  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/44436
	* include/bits/stl_tree.h
	(_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
	_Const_Base_ptr.
	(_Rb_tree<>::_M_insert_node): New.
	(_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
	_M_insert_unique method.
	(_Rb_tree<>::_M_insert_unique): Use latter.
	(_Rb_tree<>::_M_emplace_unique): New, likewise.
	(_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
	_M_insert_equal method.
	(_Rb_tree<>::_M_insert_equal): Use latter.
	(_Rb_tree<>::_M_emplace_equal): New, likewise.
	(_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
	_M_insert_unique_ method.
	(_Rb_tree<>::_M_insert_unique_): Use latter.
	(_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
	(_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
	_M_insert_equal_ method.
	(_Rb_tree<>::_M_insert_equal_): Use latter.
	(_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
	(_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
	useless as always null.
	* include/bits/stl_map.h: Include <tuple> in C++11.
	(map<>::operator[](const key_type&)): Use
	_Rb_tree<>::_M_emplace_hint_unique in C++11.
	(map<>::operator[](key_type&&)): Likewise.
	(map<>::emplace): New.
	(map<>::emplace_hint): New.
	* include/bits/stl_multimap.h (multimap<>::emplace): New.
	(multimap<>::emplace_hint): New.
	* include/bits/stl_set.h (set<>::emplace): New.
	(set<>::emplace_hint): New.
	* include/bits/stl_multiset.h (multiset<>::emplace): New.
	(multiset<>::emplace_hint): New.
	* include/debug/map.h (std::__debug::map<>::emplace): New.
	(std::__debug::map<>::emplace_hint): New.
	* include/debug/multimap.h (std::__debug::multimap<>::emplace):
	New.
	(std::__debug::multimap<>::emplace_hint): New.
	* include/debug/set.h (std::__debug::set<>::emplace): New.
	(std::__debug::set<>::emplace_hint): New.
	* include/debug/multiset.h (std::__debug::multiset<>::emplace):
	New.
	(std::__debug::multiset<>::emplace_hint): New.
	* include/profile/map.h (std::__profile::map<>::emplace): New.
	(std::__profile::map<>::emplace_hint): New.
	* include/profile/multimap.h (std::__profile::multimap<>::emplace):
	New.
	(std::__profile::multimap<>::emplace_hint): New.
	* include/profile/set.h (std::__profile::set<>::emplace): New.
	(std::__profile::set<>::emplace_hint): New.
	* include/profile/multiset.h (std::__profile::multiset<>::emplace):
	New.
	(std::__profile::multiset<>::emplace_hint): New.
	* testsuite/util/testsuite_container_traits.h: Signal that emplace
	and emplace_hint are available on std::map, std::multimap,
	std::set and std::multiset in C++11.
	* testsuite/23_containers/map/operators/2.cc: New.
	* testsuite/23_containers/map/modifiers/emplace/1.cc: New.
	* testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
	* testsuite/23_containers/set/modifiers/emplace/1.cc: New.
	* testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.

From-SVN: r191679
2012-09-24 19:53:36 +00:00
François Dumont
e6fa043b2d 41975.cc: Use __uset_hashtable rather than removed __unordered_set.
2012-09-24  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/performance/23_containers/insert_erase/41975.cc: Use
	__uset_hashtable rather than removed __unordered_set.

From-SVN: r191678
2012-09-24 19:48:06 +00:00
Paolo Carlini
4fd97a6380 revert: stl_algobase.h (max, min): Use conditional operator.
2012-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
	2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algobase.h (max, min): Use conditional operator.

From-SVN: r191652
2012-09-23 19:58:16 +00:00
Uros Bizjak
37f1d5c9f9 re PR libstdc++/54675 (Many libstdc++ testsuite failures in ext/random)
PR libstdc++/54675
	* include/ext/random: Avoid the badname __alpha (and, for
	consistency, __mu, __nu, __sigma and __omega too).
	* include/bits/random.tcc: Likewise.

From-SVN: r191650
2012-09-23 13:24:46 +02:00
Edward Smith-Rowland
0c105b723d Implement the Pareto distribution as an extension.
From-SVN: r191612
2012-09-21 12:33:20 +00:00
Paolo Carlini
88a4c78be1 stl_algobase.h (max, min): Use conditional operator.
2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algobase.h (max, min): Use conditional operator.

From-SVN: r191608
2012-09-21 10:48:30 +00:00
Benjamin Kosnik
ac6d1200be re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++)
2012-09-18  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/28811
        PR libstdc++/54482
        * configure.ac (glibcxx_lt_pic_flag,
          glibcxx_compiler_pic_flag,
          glibcxx_compiler_shared_flag): New. Use them.
        (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
        (pic_mode): Set to default.
        (PIC_CXXFLAGS): Remove.
        * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
        * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
          glibcxx_compiler_shared_flag. Comment.
        * src/c++11/Makefile.am: Same.
        * src/c++98/Makefile.am: Same.
        * src/Makefile.am: Use glibcxx_compiler_pic_flag.

        * Makefile.in: Regenerated.
        * aclocal.m4: Same.
        * configure: Same.
        * doc/Makefile.in: Same.
        * include/Makefile.in: Same.
        * libsupc++/Makefile.in: Same.
        * po/Makefile.in: Same.
        * python/Makefile.in: Same.
        * src/Makefile.in: Same.
        * src/c++11/Makefile.in: Same.
        * src/c++98/Makefile.in: Same.
        * testsuite/Makefile.in: Same.

        * src/c++11/compatibility-atomic-c++0x.cc: Use
          _GLIBCXX_SHARED instead of PIC to designate shared-only
          code blocks.
        * src/c++11/compatibility-c++0x.cc: Same.
        * src/c++11/compatibility-thread-c++0x.cc: Same.
        * src/c++98/compatibility-list-2.cc: Same.
        * src/c++98/compatibility.cc: : Same.

        * testsuite/17_intro/shared_with_static_deps.cc: New.

        * doc/xml/manual/build_hacking.xml: Separate configure from
        make/build issues, add build details.

From-SVN: r191509
2012-09-20 02:10:22 +00:00
Edward Smith-Rowland
19ece7ec02 Implement the Nakagami statistical distribution as an extension.
From-SVN: r191434
2012-09-18 16:14:09 +00:00
Paolo Carlini
ecfce0b850 re PR libstdc++/54612 (Many failures in ext/random testsuite)
2012-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/54612
	* include/ext/random.tcc (operator==
	(const __gnu_cxx::simd_fast_mersenne_twister_engine<>&,
	const __gnu_cxx::simd_fast_mersenne_twister_engine<>&)): Fix
	state_size use.
	* config/cpu/i486/opt/ext/opt_random.h: Guard with __SSE2__.

From-SVN: r191424
2012-09-18 14:02:20 +00:00
Ulrich Drepper
9bf714c23f configure.ac: Substitute CPU_OPT_EXT_RANDOM.
* configure.ac: Substitute CPU_OPT_EXT_RANDOM.
	* configure.host: Define cpu_opt_ext_random to location of the
	optimized version of <ext/random>.
	* include/Makefile.am (ext_headers): Add ${ext_host_headers}.
	(ext_host_headers): Define.
	* include/ext/random (simd_fast_mersenne_twister_engine<>
	::operator==): Don't define function here.
	* include/ext/random.tcc (simd_fast_mersenne_twister_engine): Don't
	define code using SSE2 here.  Define generic code only if
	_GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ is not defined.
	(simd_fast_mersenne_twister_engine<>
	::operator==): Define here if
	_GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL is not defined.
	* config/cpu/generic/opt/ext/opt_random.h: New file.
	* config/cpu/i486/opt/ext/opt_random.h: New file.
	* libsupc++/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.
	* po/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* doc/Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* python/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* src/c++98/Makefile.in: Regenerated.
	* src/c++11/Makefile.in: Regenerated.
	* src/Makefile.in: Regenerated.

From-SVN: r191384
2012-09-17 13:02:39 +00:00
Edward Smith-Rowland
f0e1e86d22 Fix a paste-o in ext/random.tcc - declared an Adapted urng that was not used ot needed.
From-SVN: r191371
2012-09-17 03:46:40 +00:00
Paolo Carlini
d9d69f64b1 random (rice_distribution<>::operator==): Change inline friend definition to non-template.
2012-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/random (rice_distribution<>::operator==): Change
	inline friend definition to non-template.
	* testsuite/ext/random/rice_distribution/requirements/
	explicit_instantiation/1.cc: New.

	* testsuite/26_numerics/random/normal_mv_distribution: Move...
	* testsuite/ext/random/normal_mv_distribution: ... here.
	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
	Move...
	* testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
	* testsuite/26_numerics/random/beta_distribution: Move...
	* testsuite/ext/random/beta_distribution: ... here.
	* testsuite/26_numerics/random/rice_distribution: Move...
	* testsuite/ext/random/rice_distribution: ... here.

From-SVN: r191367
2012-09-16 22:28:21 +00:00
Edward Smith-Rowland
283126182e Add the rice distribution as an extension.
From-SVN: r191362
2012-09-16 17:36:56 +00:00
David Edelsohn
f783a79952 * configure: Regenerated.
From-SVN: r191330
2012-09-14 19:41:36 -04:00
Paolo Carlini
02cbc6d6a7 2012-09-14 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLog entry.

From-SVN: r191296
2012-09-14 12:23:12 +00:00
Jonathan Wakely
645708abf6 Check _GLIBCXX_USE_C99_STDINT_TR1 in random.cc
PR libstdc++/54576
	* libstdc++-v3/src/c++11/random.cc: Check if
	_GLIBCXX_USE_C99_STDINT_TR1 is defined.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r191294
2012-09-14 04:41:53 -07:00
Rainer Orth
9520425b6b Clear hardware capabilities on libstdc++.so with Sun as
* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
	* configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
	* fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* python/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++98/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r191218
2012-09-12 12:38:15 +00:00
Jakub Jelinek
635442bfd8 re PR libstdc++/54172 (__cxa_guard_acquire thread-safety issue)
PR libstdc++/54172
	* libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
	argument of the first __atomic_compare_exchange_n.

From-SVN: r191190
2012-09-11 17:22:54 +02:00
Sebastian Huber
5a86d36fcc re PR libstdc++/43852 (Embedded systems friendly libstdc++)
2012-09-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/43852
	* acinclude.m4 (GLIBCXX_ENABLE_VERBOSE): Define.
	* configure.ac (GLIBCXX_ENABLE_VERBOSE): Use it.
	* config.h.in: Regenerate.
	* configure: Likewise.
	* libsupc++/eh_term_handler.cc (_GLIBCXX_VERBOSE): Check new macro.
	* libsupc++/pure.cc (_GLIBCXX_VERBOSE): Likewise.
	* doc/xml/manual/configure.xml (--disable-libstdcxx-verbose): Document.
	* doc/html/manual/configure.html: Regenerate.

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

From-SVN: r191121
2012-09-10 00:08:48 +01:00
Jonathan Wakely
bc7e468e79 re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand)
PR bootstrap/54419
	* acinclude.m4 (GLIBCXX_CHECK_X86_RDRAND): Remove stray character.
	* configure: Regenerated.

From-SVN: r191119
2012-09-09 20:46:41 +01:00
Jonathan Wakely
a2e948ab51 Fix ChangeLog date.
From-SVN: r191115
2012-09-09 19:02:25 +01:00
Jonathan Wakely
885e812159 re PR libstdc++/54388 (std::array.at() const results in undefined behaviour)
PR libstdc++/54388
	* include/std/array (array::at() const): Ensure lvalue result.
	* testsuite/23_containers/array/element_access/54388.cc: New.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Likewise.

From-SVN: r191114
2012-09-09 18:56:51 +01:00
Ulrich Drepper
3ca6351daa re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand)
2012-09-09  Ulrich Drepper  <drepper@gmail.com>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>
	    Jack Howarth  <howarth@bromo.med.uc.edu>

	PR bootstrap/54419
	* acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND.
	* configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand
	support in assembler.
	* src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND.
	(random_device::_M_init): Likewise.
	(random_device::_M_getval): Likewise.
	* configure: Regenerated.
	* config.h.in: Regenerated.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>

From-SVN: r191111
2012-09-09 18:20:42 +01:00
Ulrich Drepper
ef64d158fb cpuid.h: Define signature_*_e[bcd]x macros for matching results of level 0 calls to...
gcc/
        * config/i386/cpuid.h: Define signature_*_e[bcd]x macros for
        matching results of level 0 calls to __cpuid to processor
        manufacturers.
        * config/i386/driver-i386.c (vendor_signatures): Removed.
        (processor_signatures): Removed.
        (host_detect_local_cpu): Replace uses of now-removed SIG_*
        constants with the new signature_*_ebx constants.

libstdc++-v3/
        * src/c++11/random.cc (random_device::_M_init): Use new macro
        signature_INTEL_ebx to check for Intel processors.

From-SVN: r191109
2012-09-09 14:22:10 +00:00
Thiago Macieira
fa129f20b3 re PR libstdc++/54172 (__cxa_guard_acquire thread-safety issue)
2012-09-06  Thiago Macieira  <thiago.macieira@intel.com>

	PR libstdc++/54172
        * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
        we detect that another thread has had success. Don't compare_exchange
        from a finished state back to a waiting state. Comment.

From-SVN: r191042
2012-09-06 20:31:08 +00:00
François Dumont
3157879227 re PR libstdc++/54296 (using the object in the map to erase element from the map crashes)
2012-09-05  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/54296
	* include/bits/hashtable.h (_M_erase(size_type, __node_base*,
	__node_type*)): New.
	(erase(const_iterator)): Use latter.
	(_M_erase(std::true_type, const key_type&)): New, likewise.
	(_M_erase(std::false_type, const key_type&)): New. Find all nodes
	matching the key before deallocating them so that the key doesn't
	get invalidated.
	(erase(const key_type&)): Use the new member functions.
	* testsuite/23_containers/unordered_map/erase/54296.cc: New.
	* testsuite/23_containers/unordered_multimap/erase/54296.cc: New.

From-SVN: r190991
2012-09-05 19:41:16 +00:00
Ulrich Drepper
efc622f843 random.cc (random_device::_M_init): Check whether cpuid instruction is available by using __get_cpuid_max.
* src/c++11/random.cc (random_device::_M_init): Check whether cpuid
	instruction is available by using __get_cpuid_max.

From-SVN: r190982
2012-09-05 13:54:57 +00:00
Ulrich Drepper
ff99de9860 * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
(operator()): Use __generate() function of _M_nd.

From-SVN: r190975
2012-09-05 12:41:17 +00:00
Ulrich Drepper
bf30f22962 random: Add __gnu_cxx:normal_mv_distribution<> class.
* include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
	* include/ext/random.tccAdd out-of-line functions for
	__gnu_cxx::normal_mv_distribution<>.
	* testsuite/26_numerics/random/normal_mv_distribution/
	operators/equal.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	operators/serialize.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	operators/inequal.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	cons/default.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	cons/parms.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	requirements/explicit_instantiation/1.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	requirements/typedefs.cc: New file.

From-SVN: r190960
2012-09-05 04:06:24 +00:00
Ulrich Drepper
d4d348a9fe random: Add __gnu_cxx::beta_distribution<> class.
* libstdc++-v3/include/ext/random: Add __gnu_cxx::beta_distribution<>
	class.
	* libstdc++-v3/include/ext/random.tcc: Add out-of-line functions for
	__gnu_cxx::beta_distribution<>.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	operators/equal.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	operators/serialize.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	operators/inequal.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	cons/parms.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	cons/default.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	requirements/typedefs.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	requirements/explicit_instantiation/1.cc: New file.

From-SVN: r190954
2012-09-04 22:57:09 +00:00