OSDN Git Service

PR c++/44909
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Jul 2010 20:45:35 +0000 (20:45 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Jul 2010 20:45:35 +0000 (20:45 +0000)
commitc1e4c34a522d131403e31e8786f4a11c40d637d9
treed24edade7e9292821567ee6d7750184f5d39c55d
parent310dbd55edb088daeb0290e729ad9320ec9dfbcd
PR c++/44909
* call.c (add_function_candidate): If we're working on an implicit
declaration, don't consider candidates that won't match.
* typeck.c (same_type_ignoring_top_level_qualifiers_p): Now a fn.
* cp-tree.h (same_type_ignoring_top_level_qualifiers_p): Adjust.

Revert:
* cp-tree.h (struct lang_type_class): Add has_user_opeq.
(TYPE_HAS_USER_OPEQ): New.
* decl.c (grok_special_member_properties): Set it.
* class.c (add_implicitly_declared_members): Don't lazily declare
constructors/operator= if a base or member has a user-declared one.
(check_bases_and_members, check_bases): Adjust.
(check_field_decls, check_field_decl): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162233 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/implicit6.C
gcc/testsuite/g++.dg/cpp0x/implicit7.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/implicit8.C [new file with mode: 0644]