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

Reply via email to