------- Comment #7 from jason at gcc dot gnu dot org 2010-07-15 20:45 ------- Subject: Bug 44909
Author: jason Date: Thu Jul 15 20:45:35 2010 New Revision: 162233 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162233 Log: 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. Added: trunk/gcc/testsuite/g++.dg/cpp0x/implicit7.C trunk/gcc/testsuite/g++.dg/cpp0x/implicit8.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/cp/class.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/decl.c trunk/gcc/cp/typeck.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/cpp0x/implicit6.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44909