http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49015
--- Comment #1 from Jason Merrill <jason at gcc dot gnu.org> 2011-05-18 17:19:19 UTC --- Author: jason Date: Wed May 18 17:19:15 2011 New Revision: 173869 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173869 Log: PR c++/48948 PR c++/49015 * class.c (finalize_literal_type_property): Do check for constexpr member functions of non-literal class. (finish_struct): Don't call check_deferred_constexpr_decls. * cp-tree.h: Don't declare it. (DECL_DEFERRED_CONSTEXPR_CHECK): Remove. * decl.c (grok_special_member_properties): Don't check it (grokfnedcl): Don't call validate_constexpr_fundecl. (start_preparsed_function): Do call it. * pt.c (tsubst_decl): Don't call it. (instantiate_class_template_1): Don't call check_deferred_constexpr_decls. * semantics.c (literal_type_p): Check for any incompleteness. (ensure_literal_type_for_constexpr_object): Likewise. (is_valid_constexpr_fn): Revert deferral changes. (validate_constexpr_fundecl): Likewise. (register_constexpr_fundef): Likewise. (check_deferred_constexpr_decls): Remove. Added: trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete3.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/class.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/decl.c trunk/gcc/cp/pt.c trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete2.C trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C