OSDN Git Service

PR libstdc++/55043
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Feb 2013 23:55:48 +0000 (23:55 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Feb 2013 23:55:48 +0000 (23:55 +0000)
commita912f091fa1956f16d96ca4cd73a8d4c5dcd8484
tree932e8e1a3fd77bcb9d7cf041b3728db9c7401374
parent8e1b0168f662cb6682b56dbdd742f7c104a2c041
PR libstdc++/55043
* include/bits/alloc_traits.h (allocator_traits::construct): Disable
unless construction would be well-formed.
(__allow_copy_cons, __check_copy_constructible): Define.
* include/bits/unordered_map.h (__check_copy_constructible): Use as
base class so copy constructor will be deleted if appropriate.
* include/bits/unordered_set.h: Likewise.
* include/std/unordered_set: Include alloc_traits.h.
* include/std/unordered_set: Likewise.
* include/debug/unordered_map.h: Default copy and move constructors.
* include/debug/unordered_set.h: Likewise.
* testsuite/23_containers/unordered_map/55043.cc: Fix test.
* testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
* testsuite/23_containers/unordered_set/55043.cc: Likewise.
* testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
cannot support incomplete types.
* testsuite/23_containers/unordered_multimap/requirements/53339.cc:
Likewise.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@196187 138bc75d-0d04-0410-961f-82ee72b054a4
15 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/alloc_traits.h
libstdc++-v3/include/bits/unordered_map.h
libstdc++-v3/include/bits/unordered_set.h
libstdc++-v3/include/debug/unordered_map
libstdc++-v3/include/debug/unordered_set
libstdc++-v3/include/std/unordered_map
libstdc++-v3/include/std/unordered_set
libstdc++-v3/testsuite/23_containers/unordered_map/55043.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multimap/55043.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multiset/55043.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_set/55043.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc