type_traits (is_nothrow_default_constructible, [...]): Add.
commit65cee9bdb7b5975151802bd805ba720f540dec8d
authorPaolo Carlini <paolo.carlini@oracle.com>
Tue, 19 Apr 2011 00:10:53 +0000 (19 00:10 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 19 Apr 2011 00:10:53 +0000 (19 00:10 +0000)
treefacddf3c84a29435c4341358f41cf948bd528d8e
parent1c13f168fd22cab61279e25df480b91f44a08b5e
type_traits (is_nothrow_default_constructible, [...]): Add.

2011-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (is_nothrow_default_constructible,
is_nothrow_copy_constructible, is_nothrow_move_constructible,
is_copy_constructible, is_move_constructible): Add.
(has_nothrow_default_constructor, has_nothrow_copy_constructor):
Remove.
(is_nothrow_constructible): Adjust.

* testsuite/util/testsuite_tr1.h (ThrowDefaultClass,
ThrowCopyConsClass, ThrowMoveConsClass, NoexceptDefaultClass,
ExceptDefaultClass, NoexceptCopyConsClass, ExceptCopyConsClass,
NoexceptMoveConsClass, ExceptMoveConsClass): Add in C++0x mode.

* testsuite/20_util/has_nothrow_default_constructor: Remove.
* testsuite/20_util/has_nothrow_copy_constructor: Likewise.

* testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
* testsuite/20_util/is_nothrow_move_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_nothrow_move_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_nothrow_default_constructible/value.cc:
Likewise.
* testsuite/20_util/is_nothrow_default_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_nothrow_default_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_move_constructible/value.cc: Likewise.
* testsuite/20_util/is_move_constructible/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_move_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_copy_constructible/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_copy_constructible/requirements/
explicit_instantiation.cc: Likewise.

* testsuite/20_util/is_default_constructible/value.cc: Add tests.
* testsuite/20_util/is_nothrow_constructible/value.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: r172684
25 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/type_traits
libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
libstdc++-v3/testsuite/20_util/has_nothrow_copy_constructor/value.cc [deleted file]
libstdc++-v3/testsuite/20_util/has_nothrow_default_constructor/value.cc [deleted file]
libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/explicit_instantiation.cc [copied from libstdc++-v3/testsuite/20_util/has_nothrow_copy_constructor/requirements/explicit_instantiation.cc with 84% similarity]
libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/typedefs.cc [copied from libstdc++-v3/testsuite/20_util/has_nothrow_default_constructor/requirements/explicit_instantiation.cc with 69% similarity]
libstdc++-v3/testsuite/20_util/is_copy_constructible/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/is_default_constructible/value.cc
libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/explicit_instantiation.cc [copied from libstdc++-v3/testsuite/20_util/has_nothrow_copy_constructor/requirements/explicit_instantiation.cc with 84% similarity]
libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/typedefs.cc [copied from libstdc++-v3/testsuite/20_util/has_nothrow_default_constructor/requirements/explicit_instantiation.cc with 69% similarity]
libstdc++-v3/testsuite/20_util/is_move_constructible/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/is_nothrow_constructible/value.cc
libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/20_util/has_nothrow_default_constructor/requirements/explicit_instantiation.cc with 88% similarity]
libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/typedefs.cc [copied from libstdc++-v3/testsuite/20_util/has_nothrow_copy_constructor/requirements/typedefs.cc with 71% similarity]
libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/explicit_instantiation.cc [copied from libstdc++-v3/testsuite/20_util/has_nothrow_copy_constructor/requirements/explicit_instantiation.cc with 88% similarity]
libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/20_util/has_nothrow_default_constructor/requirements/typedefs.cc with 71% similarity]
libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/20_util/has_nothrow_copy_constructor/requirements/explicit_instantiation.cc with 84% similarity]
libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/20_util/has_nothrow_copy_constructor/requirements/typedefs.cc with 68% similarity]
libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
libstdc++-v3/testsuite/util/testsuite_tr1.h