Commit Graph

7552 Commits

Author SHA1 Message Date
Jonathan Wakely
5c8dd62a1b re PR libstdc++/53648 ([C++11] nested empty tuples)
PR libstdc++/53648
	* include/std/tuple (__empty_not_final): Do not use EBO for tuples.
	* testsuite/20_util/tuple/53648.cc: New.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line
	number.

From-SVN: r188636
2012-06-14 23:07:33 +01:00
Jonathan Wakely
d8ac8ab82d * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
From-SVN: r188635
2012-06-14 21:32:11 +01:00
Jonathan Wakely
183d6a7e72 * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
From-SVN: r188095
2012-06-01 01:47:32 +01:00
Benjamin Kosnik
7033d59e69 re PR libstdc++/53543 ([unordered_map] conflict with __is_convertible clang intrinsic)
2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/53543
	* include/bits/hashtable_policy.h (_Insert::__is_convertible):
	Rename to __is_conv to avoid clash with clang built-in.

From-SVN: r188088
2012-05-31 23:02:18 +00:00
François Dumont
80a009e565 2012-05-29 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
	(__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
	with iterator returning rvalue.
	* testsuite/25_algorithms/stable_sort/3.cc: New.

From-SVN: r187985
2012-05-29 19:29:29 +00:00
Paolo Carlini
5d497b05fe re PR c++/53503 ([C++0x] unexpected AST of kind ltgt_expr)
gcc/cp
2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53503
	* semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.

libstdc++-v3
2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53503
	* testsuite/26_numerics/headers/cmath/53503.cc: New.

From-SVN: r187928
2012-05-28 12:09:01 +00:00
Dodji Seketeli
650dc14a73 PR c++/53322 - -Wunused-local-typedefs is not enabled by Wall or Wunused
As the audit trail of this shows, -Wunused-local-typedefs is not
turned on by -Wunused after all.  Sigh.

Now that we have the EnabledBy construct for the *.opt files, it's
more precise and concise to use that to make -Wunused-local-typedefs
be triggered by -Wunused.

I have changed the gcc+.dg/warn/Wunused-local-typedefs.C test case to
make it use -Wunused instead of -Wunused-local-typedefs.  I had to
adjust it to avoid the warnings due to the other -W* options triggered
by -Wunused there.

While testing the compiler, it turned out that some local typedefs
were not being used when the experimental "Concepts" support is turned
off, in the libstdc++ test suite.  I also had to remove some obvious
useless local typedef usage in the fortran front-end.  Fixed thus.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/c-family/

	PR c++/53322
	* c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).

libstdc++-v3/

	PR c++/53322
	* include/bits/stl_algobase.h (lower_bound)
	(lexicographical_compare): Do not declare unused local typedefs
	here when Concepts are turned off.

gcc/fortran/

	PR c++/53322
	* f95-lang.c (gfc_init_builtin_functions): Remove the unused
	typedef builtin_type.

gcc/testsuite/

	PR c++/53322
	* g++.dg/warn/Wunused-local-typedefs.C: Adjust to use -Wunused
	instead of -Wunused-local-typedefs.

From-SVN: r187757
2012-05-22 05:50:26 +02:00
Paolo Carlini
d847ec803d 9780-2.cc: Avoid -Wall warnings.
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
	* testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
	* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
	* Likewise.
	* testsuite/23_containers/unordered_map/observers.cc: Likewise.
	* testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
	* testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
	* testsuite/23_containers/unordered_set/observers.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
	* Likewise.
	* testsuite/23_containers/unordered_multiset/observers.cc: Likewise.

From-SVN: r187751
2012-05-21 23:40:55 +00:00
Paolo Carlini
041f207220 re PR c++/53361 (Could not convert ‘{0, 0, 0}’ from ‘<brace-enclosed initializer list>’ to ‘std::array<unsigned int, 3ul>’)
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53361
	* testsuite/23_containers/array/cons/53361.cc: New.

From-SVN: r187746
2012-05-21 22:17:54 +00:00
Paolo Carlini
f330f5991e re PR c++/44516 (improve error message when no matching operator)
gcc/cp
2012-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44516
	* typeck.c (build_x_array_ref, build_x_conditional_expr,
	build_x_compound_expr, build_x_modify_expr): Add location_t parameter.
	(finish_class_member_access_expr, build_x_indirect_ref,
	build_x_binary_op, build_x_compound_expr_from_list,
	build_x_compound_expr_from_vec): Adjust callers.
	* tree.c (build_min_nt_loc): New.
	(build_min_nt): Remove.
	* typeck2.c (build_x_arrow): Adjust callers.
	* pt.c (tsubst_qualified_id, tsubst_omp_for_iterator,
	tsubst_copy_and_build): Likewise.
	* semantics.c (finish_mem_initializers, handle_omp_for_class_iterator,
	 finish_omp_atomic): Likewise.
	* decl2.c (grok_array_decl, build_anon_union_vars): Adjust.
	* parser.c (cp_parser_question_colon_clause,
	cp_parser_assignment_expression, cp_parser_expression,
	cp_parser_template_id, cp_parser_omp_for_loop): Likewise.
	* cp-tree.h: Update.

gcc/testsuite
2012-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44516
	* g++.dg/parse/error48.C: New.
	* g++.dg/template/crash89.C: Adjust dg-error line numbers.
	* g++.old-deja/g++.robertl/eb109.C: Add column info to dg-error string.

libstdc++
2012-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44516
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
	dg-error line number.

From-SVN: r187627
2012-05-17 10:29:46 +00:00
H.J. Lu
e6d5f8c9c4 Regenerate configure files for libtool.m4 change
boehm-gc/

	* configure: Regenerated.

gcc/

	* configure: Regenerated.

libatomic/

	* configure: Regenerated.

libffi/

	* configure: Regenerated.

libgfortran/

	* configure: Regenerated.

libgomp/

	* configure: Regenerated.

libitm/

	* configure: Regenerated.

libjava/classpath/

	* configure: Regenerated.

libjava/

	* configure: Regenerated.

libmudflap/

	* configure: Regenerated.

libobjc/

	* configure: Regenerated.

libquadmath/

	* configure: Regenerated.

libssp/

	* configure: Regenerated.

libstdc++-v3/

	* configure: Regenerated.

lto-plugin/

	* configure: Regenerated.

zlib/

	* configure: Regenerated.

From-SVN: r187616
2012-05-16 15:11:18 -07:00
François Dumont
8d37dc9364 Add name of the functions impacted by the patch.
From-SVN: r187551
2012-05-15 19:34:45 +00:00
Paolo Carlini
a2f6dee8a9 cons_overflow_neg.cc: Revert unintended commit.
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

    	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Revert
	unintended commit.

From-SVN: r187516
2012-05-15 10:03:00 +00:00
Paolo Carlini
5ac4e73a1d re PR libstdc++/53339 (unordered_map::iterator requires Value to be complete type)
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/53339
	* include/bits/hashtable_policy.h (__detail::_Identity,
	__detail::_Select1st): Add.
	(_Map_base, _Hashtable_base): Use the latter, adjust parameters.
	* include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
	* include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
	Likewise.
	* include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
	Likewise.
	* include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
	Unconditionally derive from unary_function.
	* include/ext/functional (identity, select1st, select2nd): Remove
	#ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
	* testsuite/23_containers/unordered_map/requirements/53339.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	53339.cc: Likewise.

From-SVN: r187515
2012-05-15 10:00:19 +00:00
François Dumont
0545ebf2dc re PR libstdc++/53263 (priority_queue is very slow if -D_GLIBCXX_DEBUG is used)
2012-05-11  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/53263
	* include/debug/safe_iterator.h (__gnu_debug::__base): Move...
	* include/debug/functions.h: ... Here. Add debug function
	overloads to perform checks on normal iterators when possible.
	* include/debug/macros.h (__glibcxx_check_heap)
	(__glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.

From-SVN: r187414
2012-05-11 19:21:31 +00:00
DJ Delorie
586518549e random.tcc (seed_seq::generate): Cast max() operands to size_t to ensure a template match.
* include/bits/random.tcc (seed_seq::generate): Cast max()
operands to size_t to ensure a template match.
* include/std/bitset (_M_copy_from_ptr): Cast min() operands to
size_t to ensure a template match.

From-SVN: r187376
2012-05-10 16:32:47 -04:00
Benjamin Kosnik
a85951f442 testsuite_flags.in (cxxflags): Remove -ftrack-macro-expansion=0.
2012-05-03  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/testsuite_flags.in (cxxflags): Remove
	-ftrack-macro-expansion=0.

From-SVN: r187117
2012-05-03 20:23:42 +00:00
Jonathan Wakely
3b2b3556c1 faq.xml: Update outdated allocator documentation.
* doc/xml/faq.xml: Update outdated allocator documentation.
	* doc/xml/manual/allocator.xml: Likewise.
	* doc/xml/manual/debug.xml: Likewise.
	* doc/xml/manual/evolution.xml: Likewise.
	* doc/xml/manual/using.xml: Likewise.

From-SVN: r187068
2012-05-03 00:20:38 +01:00
Benjamin Kosnik
d632488ae0 re PR libstdc++/44015 (template parameters not documented)
2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/44015
	* include/bits/basic_ios.h: Add tparam markup for
	* doxygen.  include/bits/basic_string.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_list.h: Same.  include/bits/stl_map.h:
	* Same.  include/bits/stl_multimap.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_pair.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/unordered_map.h: Same.
	* include/bits/unordered_set.h: Same.  include/std/array:
	* Same.  include/std/atomic: Same.  include/std/fstream:
	* Same.  include/std/istream: Same.  include/std/ostream:
	* Same.  include/std/sstream: Same.
	* include/std/streambuf: Same.
	* testsuite/23_containers/deque/requirements/dr438/*:
          Adjust line numbers.
	* testsuite/23_containers/list/requirements/dr438/*: Same.
	* testsuite/23_containers/vector/requirements/dr438/*: Same.

From-SVN: r187066
2012-05-02 22:25:28 +00:00
DJ Delorie
40f93bb5be crossconfig.m4: Since we know that all TPF builds are cross- builds and cannot run...
* crossconfig.m4: Since we know that all TPF builds are cross-
builds and cannot run configuration-time link tests, do not
allow it; just go with known supported linker options.
* configure: Regenerate (called as GLIBCXX_CROSSCONFIG).

From-SVN: r187062
2012-05-02 15:34:31 -04:00
Benjamin Kosnik
63dc7fbee0 hashtable_policy.h: Correct namepace nesting for _Hashtable forward declaration.
2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/hashtable_policy.h: Correct namepace nesting for
	_Hashtable forward declaration.

From-SVN: r187052
2012-05-02 16:22:06 +00:00
François Dumont
b7a9facb2c re PR libstdc++/53115 (_Hashtable::_M_rehash_aux(false_type) is broken)
2012-05-01  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/53115
	* include/bits/hashtable.h
	(_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets
	after insertion of several equivalent elements.
	* testsuite/23_containers/unordered_multiset/insert/53115.cc: New.
	* testsuite/23_containers/unordered_multimap/insert/53115.cc: New.

From-SVN: r187025
2012-05-01 20:29:16 +00:00
Dodji Seketeli
dde9c193eb Adjust relevant test cases wrt -ftrack-macro-expansion=[0|2]
Even after all the patches I have already submitted, some test cases
where errors happens on tokens that are defined in macros see their
output change in an incompatible way, when you run them with or
without -ftrack-macro-expansion.

I think this is expected, because the (spelling) locus inside the
definition of the macro pointed to with -ftrack-macro-expansion is
different from the locus of the expansion point of the macro pointed
to without -ftrack-macro-expansion.

In those cases this patch either adjusts the test case and forces it
be run either with -ftrack-macro-expansion, or it just forces it to be
run without -ftrack-macro-expansion.

There are so many libstdc++ tests that were failing because of that
benign issue that I preferred to just run them with
-ftrack-macro-expansion diabled, after inspecting each of them to be
sure there was nothing more serious underneath.

Boostrapped on x86_64-unknown-linux-gnu against trunk with and without
-ftrack-macro-expansion turned on.

gcc/testsuite/

	* objc.dg/foreach-7.m: Force the test case to run without
	-ftrack-macro-expansion.
	* c-c++-common/tm/attrib-1.c: Likewise.
	* c-c++-common/warn-ommitted-condop.c: Likewise.
	* gcc.dg/assign-warn-1.c: Likewise.
	* gcc.dg/assign-warn-2.c: Likewise.
	* gcc.dg/attr-alloc_size.c: Likewise.
	* gcc.dg/builtin-stringop-chk-1.c: Likewise.
	* gcc.dg/builtin-stringop-chk-2.c: Likewise.
	* gcc.dg/builtin-strncat-chk-1.c: Likewise.
	* gcc.dg/c90-const-expr-9.c: Likewise.
	* gcc.dg/c99-const-expr-9.c: Likewise.
	* gcc.dg/cpp/direct2.c: Likewise.  Adjust.
	* gcc.dg/cpp/direct2s.c: Likewise.
	* gcc/testsuite/gcc.dg/cpp/pr28709.c: Likewise.
	* gcc.dg/cpp/pragma-diagnostic-1.c: Likewise.
	* gcc.dg/dfp/composite-type.c: Likewise.
	* gcc.dg/uninit-6-O0.c: Adjust the test case and force it to run
	with -ftrack-macro-expansion
	* g++.dg/cpp0x/constexpr-ex3.C: Likewise.
	* g++.dg/cpp0x/constexpr-overflow.C: Likewise.
	* g++.dg/ext/cleanup-1.C: Likewise.
	* g++.dg/ext/gnu-inline-global-reject.C: Likewise.
	* g++.dg/template/sfinae10.C: Likewise.
	* g++.dg/tm/wrap-2.C: Likewise.
	* g++.dg/warn/Wconversion-real-integer.C: Likewise.
	* g++.dg/warn/Wsign-conversion.C: Likewise.
	* g++.dg/warn/multiple-overflow-warn-1.C: Likewise.
	* g++.old-deja/g++.mike/p10769b.C: Likewise.
	* g++.dg/warn/Wdouble-promotion.C: Adjust the test case and force
	it to run with -ftrack-macro-expansion.
	* libstdc++-v3/scripts/testsuite_flags.in: By default, run the
	test cases without -ftrack-macro-expansion.

From-SVN: r186976
2012-04-30 13:43:29 +02:00
Marc Glisse
cf48c25519 re PR libstdc++/51795 (linear_congruential_engine doesn't work correctly)
2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51795
	* include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
	(__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
	__lg(long long), __lg(unsigned long long)): Define constexpr.
	* include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
	limitations.
	(__mod): Adjust.
	(linear_congruential): Remove FIXME static_assert.
	* include/bits/random.tcc (_Mod<>): Adjust.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	51795.cc: New.

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

From-SVN: r186948
2012-04-29 23:36:09 +00:00
Jonathan Wakely
143a1ce16c functional (function::function(F)): LWG 2132: Disable constructor if argument isn't callable.
* include/std/functional (function::function(F)): LWG 2132: Disable
	constructor if argument isn't callable.
	* testsuite/20_util/function/cons/callable.cc: New.

From-SVN: r186947
2012-04-29 23:59:37 +01:00
Marc Glisse
1c8300874e re PR libstdc++/22200 (numeric_limits<signed>::is_modulo is inconsistent with gcc)
2012-04-29  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/22200
    	* include/std/limits (numeric_limits<>::is_modulo): False for
    	signed types.

From-SVN: r186944
2012-04-29 09:25:17 +00:00
Benjamin Kosnik
af6204cc29 hashtable.h: Adjust doxygen markup for base classes.
2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>

	*  include/bits/hashtable.h: Adjust doxygen markup for base classes.
	*  include/bits/hashtable_policy.h: Same.

From-SVN: r186856
2012-04-26 02:20:32 +00:00
Benjamin Kosnik
6d0f7cacc0 re PR libstdc++/52689 (static linking with libstdc++ fails)
2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/52689
	* testsuite/17_intro/static.cc: Fix.
	* testsuite/lib/dg-options.exp (dg-require-static-libstdcxx): New.

From-SVN: r186845
2012-04-25 22:47:52 +00:00
Jonathan Wakely
862023d77a scoped_allocator (scoped_allocator::__outermost): Do not pass non-POD to varargs function.
* include/std/scoped_allocator (scoped_allocator::__outermost): Do
	not pass non-POD to varargs function.
	* testsuite/20_util/scoped_allocator/1.cc: Fix test.

From-SVN: r186836
2012-04-25 19:03:03 +01:00
Benjamin Kosnik
3b34ddb8e0 re PR libstdc++/52689 (static linking with libstdc++ fails)
2012-04-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/52689
	* testsuite/17_intro/static.cc: New.

From-SVN: r186794
2012-04-25 01:17:57 +00:00
Daniel Krugler
62fa805ffa type_traits (is_nothrow_destructible): Implement.
2012-04-23  Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/std/type_traits (is_nothrow_destructible): Implement.
	(is_destructible): Implement LWG 2049.
	* testsuite/util/testsuite_tr1.h: Add tests.
	* testsuite/20_util/is_nothrow_destructible/value.cc: New.
	* testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc:
	* testsuite/20_util/is_nothrow_destructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_destructible/value.cc: Adjust and extend.
	* testsuite/20_util/is_default_constructible/value.cc: Tweak.
	* testsuite/20_util/is_constructible/value-2.cc: Likewise.
	* 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: r186726
2012-04-23 21:34:06 +00:00
Paolo Carlini
9771644a91 re PR libstdc++/53080 (tuple interface to std::array doesn't check bounds)
2012-04-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/53080
	* include/std/array (tuple_element, get): static_assert I < N.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	New.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element.cc: Fix.

From-SVN: r186702
2012-04-23 12:26:43 +00:00
Chris Jefferson
ff5be0e34e re PR testsuite/53046 (New libstdc++ test failures)
2012-04-23  Chris Jefferson  <chris@bubblescope.net>

	PR testsuite/53046
	* testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
	of array A.
	* testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.

From-SVN: r186701
2012-04-23 11:17:28 +00:00
Paolo Carlini
970aa0b9a9 re PR c++/53067 (c++0x GCC 4.7.0 Regression std::ref with unordered sets)
2012-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/53067
	* include/bits/hashtable_policy.h: Change inheritances to public.
	* testsuite/23_containers/unordered_map/requirements/53067.cc: New.
	* testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.

From-SVN: r186676
2012-04-22 17:37:57 +00:00
Jonathan Wakely
605aed299a alloc_traits.h (__alloc_traits::difference_type): Define.
* include/ext/alloc_traits.h (__alloc_traits::difference_type):
	Define.

From-SVN: r186673
2012-04-22 15:38:33 +01:00
Jonathan Wakely
b3baa4a5e7 Add PR number to ChangeLog entry.
From-SVN: r186672
2012-04-22 15:15:51 +01:00
Jonathan Wakely
fcf6e948d1 ptr_traits.h (pointer_traits::rebind): Make public.
* include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
	* testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
	rebind works.

From-SVN: r186670
2012-04-22 14:42:38 +01:00
Jonathan Wakely
7c688aded4 forward_list (forward_list::splice_after): Check allocators are equal.
* include/debug/forward_list (forward_list::splice_after): Check
	allocators are equal.
	* src/c++11/debug.cc: Fix spelling.
	* testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
	New.
	* testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
	Likewise.

From-SVN: r186669
2012-04-22 14:27:16 +01:00
Paolo Carlini
aa5889c373 re PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of <type_traits> header)
2012-04-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/53052
	* include/std/type_traits (is_explicitly_convertible): Remove.
	* testsuite/20_util/is_explicitly_convertible: Likewise.
	* 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: r186618
2012-04-20 09:39:29 +00:00
Paolo Carlini
b4989a1af9 re PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of <type_traits> header)
2012-04-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/53052
	* include/std/type_traits (is_explicitly_convertible): Remove.
	* testsuite/20_util/is_explicitly_convertible: Likewise.
	* 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: r186617
2012-04-20 09:39:17 +00:00
Benjamin Kosnik
ac9ce934ed 808590.cc: New.
2012-04-17  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
	808590.cc: New.

From-SVN: r186539
2012-04-17 16:41:40 +00:00
Rainer Orth
332781bba5 Fix merging default libstdc++.log
* testsuite/util/testsuite_abi.cc (compare_symbols): Change
	summary header to avoid confusion with DejaGnu header.

From-SVN: r186524
2012-04-17 10:21:25 +00:00
Paolo Carlini
6a9ecd3492 re PR libstdc++/52702 ([C++11] std::is_trivially_destructible is missing)
2012-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/52702
	* include/std/type_traits (is_trivially_destructible): Add.
	(has_trivial_destructor): Remove.
	* testsuite/util/testsuite_common_types.h: Adjust.
	* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
	* testsuite/20_util/pair/requirements/dr801.cc: Likewise.
	* testsuite/20_util/is_trivially_destructible/value.cc: New.
	* testsuite/20_util/is_trivially_destructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_trivially_destructible/requirements/
	explicit_instantiation.cc: Likewise.
	* 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: r186474
2012-04-15 23:35:27 +00:00
Paolo Carlini
f84ca6e7ce re PR libstdc++/52699 (infinite loop generated with -O0)
2012-04-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/52699
	* include/bits/random.tcc (independent_bits_engine<>::operator()())
	Avoid various overflows; use common_type on result_type and
	_RandomNumberEngine::result_type; avoid floating point computations;
	other smaller tweaks.

	* include/bits/random.tcc (uniform_int_distribution<>::operator())
	Use common_type; assume _UniformRandomNumberGenerator::result_type
	unsigned; tidy.

	* include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
	__lg(unsigned long long)): Add.

From-SVN: r186456
2012-04-14 22:33:22 +00:00
Alan Modra
531b2c7b74 re PR libstdc++/52839 (double free or corruption running tr1/.../default_weaktoshared.exe)
PR libstdc++/52839
	* acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
	glibcxx_cv_atomic_long_long.
	* configure: Regenerate.

From-SVN: r186453
2012-04-14 22:54:43 +09:30
Paolo Carlini
6a9218cc9c 51083.cc: Move...
2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/26_numerics/cmath/51083.cc: Move...
	* testsuite/26_numerics/headers/cmath/51083.cc: ... here.

From-SVN: r186445
2012-04-14 01:34:00 +00:00
Christian Bruel
d0bcb5c33f fix last entry
From-SVN: r186415
2012-04-13 13:58:15 +02:00
Laurent Alfonsi
2db21e7eb9 PR:52604: (~__freelist): Reset pointer
From-SVN: r186414
2012-04-13 13:44:13 +02:00
Paolo Carlini
079c74f3fc safe_iterator.h (_BeforeBeginHelper<>:: _S_Is_Beginnest): Add.
2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/safe_iterator.h (_BeforeBeginHelper<>::
	_S_Is_Beginnest): Add.
	* include/debug/forward_list (_BeforeBeginHelper<>::
	_S_Is_Beginnest): Likewise.
	(_Safe_iterator<>::_M_is_beginnest): Add.
	* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
	Use the latter.
	* testsuite/23_containers/forward_list/debug/splice_after.cc:
	Add test.

From-SVN: r186411
2012-04-13 10:43:28 +00:00
Benjamin Kosnik
4dad8b49ee unordered_map.h (__unordered_map): Remove.
2012-04-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/unordered_map.h (__unordered_map): Remove.
	(__unordered_multimap): Remove.
	Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
	__ummap_hashtable.
	(unordered_map): Derive from __umap_hashtable.
	(unordered_multimap): Derive from __ummap_hashtable.
	* include/bits/unordered_set.h (__unordered_set): Remove.
	(__unordered_multiset): Remove.
	Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
	__umset_hashtable.
	(unordered_set): Derive from __uset_hashtable.
	(unordered_multiset): Derive from __umset_hashtable.
	* include/bits/hashtable.h (__cache_default): New, consolidated
	cache defaults for _Hashtable. Adjust comments for doxygen.
	(_Hashtable): Consolidate bool template parameters into new,
	_Traits class. Inherited base classes synthesize _Hashtable in
	CRTP via original 10 parameters. Prefer using declarations to
	typedefs, add __node_type, __bucket_type, etc. Push many nested
	types down hierarchy to _Hashtable_base. Add constructors
	necessary for top-level unordered_containers. Consolidate insert
	member functions and logic in new base class, __detail::_Insert
	and __detail::_Insert_base.
	(_Hashtable::operator=(initializer_list)): Add.
	* include/bits/hashtable_policy.h: Convert to doxygen markup.
	(_Hashtable_traits) New. Consolidate bool template parameters here.
	(_Insert, _Insert_base): New, consolidated insert member functions.
	(_Map_base, _Equality, _Rehash_base): Adjust template parameters,
	use base types.
	(_Hashtable_base): Move type declarations useful to other base
	classes into this class.
	* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adjust traits, line numbers.

From-SVN: r186403
2012-04-13 00:33:10 +00:00