+2011-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/48994
+ * parser.c (cp_parser_perform_range_for_lookup): Call complete_type.
+
+2011-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement final on class.
+ * class.c (check_bases): Diagnose derivation from a final class.
+ * cp-tree.h (lang_type_class): Add is_final and adjust dummy.
+ (CLASSTYPE_FINAL): New.
+ * parser.c (cp_parser_class_head): Parse class-virt-specifier, set
+ CLASSTYPE_FINAL.
+ * pt.c (instantiate_class_template_1): Copy CLASSTYPE_FINAL.
+
+2011-05-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/48969
+ * pt.c (deduction_tsubst_fntype): New.
+ (fn_type_unification): Use it.
+ (init_template_processing): Initialize hash table.
+ (print_template_statistics): Print hash table stats.
+
+ * call.c (build_op_call): Use timevar_cond_start/stop.
+ (build_user_type_conversion): Likewise.
+
+2011-05-12 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (DECL_DEFERRED_CONSTEXPR_CHECK): New.
+ * semantics.c (validate_constexpr_fundecl): Set it.
+ (check_deferred_constexpr_decls): Clear it.
+ (register_constexpr_fundef): Make sure it isn't set.
+ * decl.c (grok_special_member_properties): Check it.
+
+2011-05-11 Jason Merrill <jason@redhat.com>
+
+ 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.
+
+ * semantics.c (validate_constexpr_fundecl): Check DECL_TEMPLATE_INFO
+ rather than DECL_TEMPLATE_INSTANTIATION.
+ (cxx_eval_call_expression): Likewise.
+
+ * semantics.c (register_constexpr_fundef): Add to hash table here.
+ (validate_constexpr_fundecl): Not here.
+
+ * decl.c (grokdeclarator): Only set DECL_DECLARED_CONSTEXPR_P once.
+
+ * pt.c (build_non_dependent_expr): Don't check null_ptr_cst_p,
+ do call maybe_constant_value in C++0x mode.
+ * semantics.c (cxx_eval_constant_expression): Handle TEMPLATE_DECL.
+
+ PR c++/48745
+ * pt.c (value_dependent_expr_p): Handle CONSTRUCTOR.
+
+2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cp-tree.h (TYPENAME_TYPE_FULLNAME, TYPEOF_TYPE_EXPR): Use
+ TYPE_VALUES_RAW.
+ (UNDERLYING_TYPE_TYPE, DECLTYPE_TYPE_EXPR): Likewise.
+ (DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): Likewise.
+ (TEMPLATE_TYPE_PARM_INDEX): Likewise.
+
+2011-05-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/48930
+ * class.c (type_build_ctor_call): New.
+ * cp-tree.h: Declare it.
+ * decl.c (check_initializer): Use it instead of
+ TYPE_NEEDS_CONSTRUCTING.
+ * init.c (build_value_init, build_value_init_noctor): Likewise.
+ (perform_member_init, expand_aggr_init_1, build_new_1): Likewise.
+ (build_vec_init): Likewise.
+ * typeck2.c (process_init_constructor_array): Likewise.
+ (process_init_constructor_record): Likewise.
+
+ PR c++/48736
+ * pt.c (tsubst_copy_and_build): Handle substitution of a pack
+ expansion producing another expansion.
+
+2011-05-10 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Fixes for override/final.
+ * class.c (check_for_override): Diagnose final on a nonvirtual
+ member function, diagnose override for a virtual with no matching
+ override. Don't fiddle around with DECL_VINDEX.
+
+2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand.
+ * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
+ * cp-tree.h (PACK_EXPANSION_PARAMETER_PACKS): Use the new
+ operand of EXPR_PACK_EXPANSION.
+ (cp_tree_operand_length): Declare.
+ * tree.c (cp_tree_operand_length): Define.
+ (cp_tree_equal): Call it.
+ * pt.c (value_dependent_expr_P): Likewise.
+ * mangle.c (write_expression): Likewise.
+
+2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48737
+ PR c++/48744
+ * decl.c (reshape_init): Take a complain parameter and do
+ not call error if tf_error is not set.
+ (check_initializer, reshape_init_r, reshape_init_array,
+ reshape_init_array_1, reshape_init_vector, reshape_init_class):
+ Adjust.
+ * typeck2.c (digest_init_r): Take a complain parameter and
+ pass it to convert_for_initialization.
+ (digest_init, digest_init_flags, process_init_constructor_array,
+ process_init_constructor_record, process_init_constructor_union,
+ process_init_constructor, digest_init_r): Adjust.
+ * init.c (expand_default_init, build_new_1): Likewise.
+ * typeck.c (cp_build_modify_expr): Likewise.
+ * decl2.c (grokfield): Likewise.
+ * call.c (convert_like_real, convert_default_arg): Likewise.
+ * semantics.c (finish_compound_literal): Pass complain to
+ reshape_init and digest_init.
+ * cp-tree.h: Adjust declarations.
+
+2011-05-07 Fabien ChĂȘne <fabien@gcc.gnu.org>
+
+ PR c++/48859
+ * init.c (diagnose_uninitialized_cst_or_ref_member_1): stop the
+ recursion if there is user defined constructor.
+
+2011-05-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/34772
+ * decl.c (initialize_local_var): Use DECL_INITIAL for simple
+ initialization.
+
+2011-05-08 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement final/override for member functions.
+ * class.c (check_for_override): Check for DECL_OVERRIDE_P.
+ * cp-tree.h (DECL_OVERRIDE_P, DECL_FINAL_P): New.
+ (cp_virt_specifiers, enum virt_specifier): New.
+ * decl.c (set_virt_specifiers): New.
+ (grokdeclarator): Use them. Diagnose virt-specifiers on non-fields.
+ * parser.c (make_call_declarator): add virt-specifiers parameter.
+ (cp_parser_lambda_declarator_opt): Adjust.
+ (cp_parser_direct_declarator): Likewise.
+ (cp_parser_virt_specifier_seq_opt): New.
+ * search.c (check_final_overrider): Diagnose attempts to override
+ a final member function.
+
+2011-05-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48574
+ * class.c (fixed_type_or_null): Use type_dependent_p_push to test
+ if the instance has a dependent initializer.
+
2011-05-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48816