]> git.ipfire.org Git - thirdparty/gcc.git/commit
PR c++/38796, Core issue 906
authorJason Merrill <jason@redhat.com>
Mon, 26 Oct 2009 19:07:14 +0000 (15:07 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 26 Oct 2009 19:07:14 +0000 (15:07 -0400)
commit20f2653ef0f7f2d33ec3e5ce389ab72d4216ec2a
tree3a188f1a76fba7e0480a3fadf8f3fd90b1751852
parentf96d6fd02e10a4f266c5c459461562887cbf0c6a
PR c++/38796, Core issue 906

PR c++/38796, Core issue 906
gcc/cp
* cp-tree.h (DECL_DEFAULTED_OUTSIDE_CLASS_P): New.
(DECL_DEFAULTED_IN_CLASS_P): New.
* class.c (user_provided_p): Non-static.
(check_methods): Use it.
(check_bases_and_members): Check defaulted fns.
(defaultable_fn_p): Move and rename to...
* method.c (defaultable_fn_check): ...this.
(defaulted_late_check): New.
* pt.c (tsubst_decl): Call it.
* decl2.c (grokfield): Adjust.
* decl.c (cp_finish_decl): Adjust.
(grok_special_member_properties): Use user_provided_p.
libstdc++-v3
* include/std/future (~Future_result_base): Default outside class
body.
* include/std/system_error (error_category()): Likewise.
* libsupc++/nested_exception.h (nested_exception): Remove
exception specifications from defaulted methods.

From-SVN: r153565
21 files changed:
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/method.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/defaulted15.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/defaulted16.C [new file with mode: 0644]
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/future
libstdc++-v3/include/std/system_error
libstdc++-v3/libsupc++/nested_exception.h
libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/shared_future/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/unique_future/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/unique_future/cons/copy_neg.cc