This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r161582 - in /trunk: gcc/cp/ChangeLog gcc/cp/ca...


Author: jason
Date: Wed Jun 30 00:51:44 2010
New Revision: 161582

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=161582
Log:
	Enable implicitly declared move constructor/operator= (N3053).
gcc/cp/
	* class.c (add_implicitly_declared_members): A class with no
	explicitly declared copy or move constructor gets both declared
	implicitly, and similarly for operator=.
	(check_bases): A type with no copy ctor does not inhibit
	a const copy ctor in a derived class.
	(check_field_decl): Likewise.
	(check_bases_and_members): A nonexistent copy ctor/op= is non-trivial.
	* tree.c (type_has_nontrivial_copy_init): Adjust semantics.
	(trivially_copyable_p): Likewise.
	* call.c (convert_like_real): Use type_has_nontrivial_copy_init.
	* class.c (finish_struct_bits): Likewise.
	* tree.c (build_target_expr_with_type): Likewise.
	* typeck2.c (store_init_value): Likewise.
libstdc++-v3/
	* include/bits/unordered_map.h: Explicitly default copy constructors.
	* include/bits/unordered_set.h: Likewise.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/implicit3.C
    trunk/gcc/testsuite/g++.dg/cpp0x/implicit4.C
    trunk/gcc/testsuite/g++.dg/cpp0x/implicit5.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/class.c
    trunk/gcc/cp/tree.c
    trunk/gcc/cp/typeck2.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/cpp0x/implicit-copy.C
    trunk/gcc/testsuite/g++.dg/cpp0x/not_special.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv1n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv1p.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv2n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv2p.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv3n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv3p.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv4n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv4p.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv5n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv5p.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv6n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv6p.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv7n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv7p.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv8p.C
    trunk/gcc/testsuite/g++.dg/gomp/pr26690-1.C
    trunk/gcc/testsuite/g++.dg/other/error20.C
    trunk/gcc/testsuite/g++.dg/other/error31.C
    trunk/gcc/testsuite/g++.dg/parse/error19.C
    trunk/gcc/testsuite/g++.dg/template/qualttp5.C
    trunk/gcc/testsuite/g++.old-deja/g++.law/ctors5.C
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/unordered_map.h
    trunk/libstdc++-v3/include/bits/unordered_set.h


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]