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]

r173683 - in /trunk/gcc: cp/ChangeLog cp/class....


Author: jason
Date: Wed May 11 21:30:18 2011
New Revision: 173683

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173683
Log:
	PR c++/48948
	* semantics.c (validate_constexpr_fundecl): Defer checking if
	an argument type is being defined.
	(is_valid_constexpr_fn): Add defer_ok parm.
	(cxx_eval_call_expression): Adjust.
	(check_deferred_constexpr_decls): New.
	(literal_type_p): Make sure type isn't being defined.
	(ensure_literal_type_for_constexpr_object): Handle type being defined.
	* cp-tree.h: Declare check_deferred_constexpr_decls.
	* decl.c (grokfndecl): Call validate_constexpr_fundecl here.
	(start_preparsed_function, cp_finish_decl): Not here.
	* class.c (finalize_literal_type_property): Don't call
	validate_constexpr_fundecl.
	(finish_struct): Call check_deferred_constexpr_decls.
	* pt.c (tsubst_decl): Call validate_constexpr_fundecl.
	(instantiate_class_template): Call check_deferred_constexpr_decls.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-friend.C
    trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-incomplete1.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


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