+2009-12-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/42331
+ * typeck.c (cp_build_modify_expr): Fix thinko.
+
+2009-12-21 Jason Merrill <jason@redhat.com>
+
+ * mangle.c (write_member_name): Move abi-version=1 code back to...
+ (write_expression): ...here.
+
+2009-12-21 Brian Hackett <bhackett1024@gmail.com>
+
+ * decl.c (finish_function): Rename pre-genericize event.
+
+2009-12-19 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/42225
+ * pt.c (push_template_decl_real): Set DECL_CONTEXT of template type parms
+ to their containing template decl.
+ * typeck.c (comp_template_parms_position): Split this from
+ structural_comptypes.
+ (incompatible_template_type_parms_p): Renamed
+ incompatible_dependent_typedefs_p into this. Change the function to
+ handle comparison between TEMPLATE_TYPE_PARMs only.
+ (structural_comptypes): Use comp_template_parms_position in
+ TEMPLATE_TEMPLATE_PARM and BOUND_TEMPLATE_TEMPLATE_PARM cases.
+ Use incompatible_template_type_parms_p in TEMPLATE_TYPE_PARM case.
+ * mangle.c (decl_mangling_context): Template type parms don't have
+ a mangling context.
+ * tree.c (cp_set_underlying_type): Set type structural equality
+ only for TEMPLATE_TYPE_PARMs.
+
+2009-12-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/28300
+ PR c++/42062
+ * pt.c (check_specialization_namespace): Complain about
+ specialization at non-namespace scope.
+
+ PR c++/42415
+ * call.c (build_new_method_call): Complain about calling the
+ constructor directly.
+
+2009-12-18 Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR c++/31665
+ * decl.c (duplicate_decls, grokdeclarator): Put the diagnostics in
+ full sentences for easy translation and wrapped into G_().
+ * typeck.c (build_x_unary_op): Likewise.
+
+2009-12-17 Shujing Zhao <pearly.zhao@oracle.com>
+
+ * call.c (build_over_call, build_java_interface_fn_ref): Update
+ cp_build_indirect_ref calls.
+ * typeck2.c (build_m_component_ref): Likewise.
+
+2009-12-17 Shujing Zhao <pearly.zhao@oracle.com>
+
+ * typeck.c (build_indirect_ref): Update the argument.
+ (build_x_indirect_ref): Likewise.
+ (cp_build_indirect_ref): Update the argument and emit the diagnostics
+ for easy translation.
+ (build_class_member_access_expr, build_array_ref,
+ get_member_function_from_ptrfunc): Update calls.
+ * cp-tree.h (build_x_indirect_ref, cp_build_indirect_ref): Update
+ prototypes.
+ * call.c (build_new_op, convert_like_real, build_x_va_arg,
+ build_over_call): Update calls.
+ * class.c (build_base_path, build_simple_base_path, build_vfn_ref):
+ Likewise.
+ * decl.c (start_preparsed_function): Likewise.
+ * except.c (expand_start_catch_block, build_throw): Likewise.
+ * init.c (emit_mem_initializers, expand_virtual_init,
+ expand_virtual_init, build_new_1, build_vec_init, build_delete,
+ build_vec_delete): Likewise.
+ * parser.c (cp_parser_unary_expression): Likewise.
+ * pt.c (tsubst_copy_and_build): Likewise.
+ * rtti.c (build_headof, get_tinfo_decl_dynamic, get_typeid): Likewise.
+ * semantics.c (finish_non_static_data_member, thisify_lambda_field):
+ Likewise.
+ * tree.c (build_dummy_object, stabilize_expr): Likewise.
+ * typeck2.c (build_x_arrow): Likewise.
+
+2009-12-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/42387
+ * decl.c (compute_array_index_type): Mark a VLA as dependent.
+
+2009-12-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/42358
+ * pt.c (iterative_hash_template_arg): Completely ignore
+ ARGUMENT_PACK_SELECT.
+
+2009-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/41183
+ * cp-tree.h (current_class_ptr): Give NULL even when cfun
+ has NULL cfun->language.
+
+2009-12-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/42364
+ * pt.c (function_parameter_expanded_from_pack_p): Don't require
+ a pack to have a name.
+ (tsubst_decl): Do typedef magic after applying attributes.
+
+2009-12-15 Paolo Bonzini <bonzini@gnu.org>
+ Shujing Zhao <pearly.zhao@oracle.com>
+
+ * Makefile.in (cp/pt.o): Depend on intl.h
+ * call.c (print_z_candidates): Make loop more compact,
+ choose head string depending on number of candidates,
+ extract creation of spaces string to intl.c.
+ * pt.c (print_overloaded_functions): Replace with...
+ (print_candidates_1): ... this rewrite.
+ (print_candidates): Rewrite to call print_candidates_1.
+ (most_specialized_class): Make loop more compact,
+ choose head string depending on number of candidates,
+ and size indents depending on translations.
+
+2009-12-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/42219
+ * typeck.c (error_type_p): New.
+ (ptr_reasonably_similar): Use it.
+ * cp-tree.h: Declare it.
+
+2009-12-11 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/42225
+ * typeck.c (incompatible_dependent_typedefs_p): New function.
+ (structural_comptypes): Use it.
+ * cp-tree.h (cp_set_underlying_type): Declare ...
+ * tree.c (cp_set_underlying_type): ... new function.
+ * class.c (build_self_reference): Use cp_set_underlying_type
+ instead of set_underlying_type.
+ * decl2.c (grokfield): Likewise.
+ * name-lookup.c (pushdecl_maybe_friend): Likewise.
+
+2009-12-11 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/42251
+ * pt.c (convert_template_argument): Avoid missing folding of SCOPE_REFs.
+
+2009-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/42317
+ * decl2.c (cp_write_global_declarations): Clear DECL_EXTERNAL
+ also on all other functions in the same comdat group.
+ * optimize.c (maybe_clone_body): Also optimize virtual implicit
+ dtors. For virtual comdat dtors tell cgraph that base and deleting
+ dtor are in the same comdat group.
+
+2009-12-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/42010
+ * cp-tree.h (DECL_DISCRIMINATOR_SET_P): New.
+ * mangle.c (discriminator_for_local_entity): Check it.
+
+ PR c++/42277
+ * semantics.c (finish_decltype_type): Defer handling of decltype
+ of a non-dependent COMPONENT_REF in a template.
+
+2009-12-04 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/42218
+ * cxx-pretty-print.c (pp_cxx_unqualified_id): Print only innermost
+ template arguments.
+
+2009-12-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/41611
+ * decl2.c (get_guard): Don't use the same comdat group as the decl.
+
+ PR c++/42266
+ * cvt.c (convert_from_reference): Do nothing if TREE_TYPE is null.
+
+2009-12-03 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/42217
+ * class.c (remove_zero_width_bit_fields): The width of the bit field is
+ in DECL_SIZE, not in DECL_INITIAL.
+
+2009-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/42256
+ * optimize.c (maybe_clone_body): Call emit_associated_thunks
+ after expand_or_defer_fn_1.
+
+2009-12-02 Taras Glek <taras@mozilla.com>
+
+ * parser.c (cp_parser_class_specifier): Back out my previous change.
+ * semantics.c (begin_class_definition): Back out my previous change.
+
+2009-12-02 Paolo Bonzini <bonzini@gnu.org>
+ Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR c++/29917
+ * call.c (op_error): Accept a boolean to indicate no match/ambiguous
+ match, instead of a string. Callers adjusted.
+
+ PR c++/34836
+ * cp-tree.h (readonly_error_kind): New type.
+ (readonly_error): Adjust prototype with new argument.
+ * typeck2.c (readonly_error): Accept readonly_error_kind as argument
+ and add macro ERROR_FOR_ASSIGNMENT to emit diagnostics.
+ * semantics.c (finish_asm_stmt): Adjust readonly_error call.
+ * typeck.c (cp_build_unary_op, cp_build_modify_expr): Likewise.
+
+ * decl.c (grokparms, grok_op_properties): Put the diagnostics in full
+ sentences for easy translation and wrap the diagnostics into G_() when
+ needed.
+ (create_array_type_for_decl): Likewise.
+ * pt.c (tsubst): Likewise.
+ * typeck2.c (cp_build_unary_op): Wrap diagnostic into _().
+ * rtti.c (build_dynamic_cast_1): Likewise.
+ * Make-lang.in: Adjust.
+
+2009-12-02 Jakub Jelinek <jakub@redhat.com>
+
+ * g++spec.c (lang_specific_driver): Remove unused saw_verbose_flag
+ variable.
+ * pt.c (tsubst_pack_expansion): Remove unused first_arg_pack variable.
+ * init.c (build_vec_init): Remove unused size variable.
+ * typeck2.c (check_narrowing): Remove unused was_decl variable.
+ * decl.c (poplevel): Remove unused tmp and real_functionbody
+ variables.
+ (decls_match): Remove unused tree_name variable.
+ (start_decl): Remove unused type variable.
+ * parser.c (cp_parser_type_parameter): Remove unused parameter_list
+ variable.
+ (cp_parser_template_id, cp_parser_explicit_instantiation,
+ cp_parser_declarator): Remove unused token variable.
+ (cp_parser_simple_type_specifier): Remove unused id variable.
+ (cp_parser_parameter_declaration): Remove unused
+ greater_than_is_operator_p variable.
+ (cp_parser_check_declarator_template_parameters): Remove unused
+ member variable.
+ (c_parse_file): Remove unused error_occurred variable.
+ * cp-gimplify.c (cp_gimplify_init_expr): Remove unused slot variable.
+ * typeck.c (cp_build_function_call_vec): Remove unused name variable.
+ * class.c (resolve_address_of_overloaded_function): Remove unused
+ is_reference variable.
+ (build_rtti_vtbl_entries): Remove unused basetype variable.
+ * mangle.c (write_template_param): Remove unused parm_level and
+ parm_type variables.
+
+2009-12-01 Taras Glek <taras@mozilla.com>
+
+ * parser.c (cp_parser_class_specifier): Set class location to that
+ of IDENTIFIER_NODE instead of '{' when possible.
+
+2009-12-01 Taras Glek <taras@mozilla.com>
+
+ * semantics.c (begin_class_definition): Do not overide locations with less precise ones.
+
+2009-12-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/41611
+ * decl2.c (get_guard): Copy DECL_COMDAT.
+ (comdat_linkage): Set DECL_COMDAT unconditionally.
+
+2009-12-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/3187
+ * optimize.c (cdtor_comdat_group): New function.
+ (maybe_clone_body): Also optimize DECL_COMDAT base/complete cdtors
+ and in that case put also the deleting dtor in the same comdat group
+ as base and complete dtor if dtor is virtual.
+
+2009-11-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/40371
+ * call.c (add_template_candidate_real): Early return NULL if
+ the arglist length is smaller than skip_without_in_chrg; tidy.
+
+2009-11-30 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/42069
+ * pt.c (convert_template_argument): Strip typedefs from SCOPE_REFs.
+
+2009-11-29 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/36408
+ * semantics.c (empty_expr_stmt_p): Handle void_zero_node and fix
+ bad indentation.
+ * pt.c (tsubst_copy_and_build): Fix typo.
+
+2009-11-29 Jan Hubicka <jh@suse.cz>
+
+ * optimize.c (maybe_clone_body): Emit thunks associated to alias.
+ * Make-lang.in (method.o): Add dependency on gimple.h.
+ * method.c: Include gimple.h
+ (make_alias_for_thunk): Use same body alias instead of assemble_alias.
+ (use_thunk): Drop codegen; use cgraph_add_thunk; gimplify
+ generic thunks.
+ * semantics.c (expand_or_defer_fn): Emit associated thunks.
+
+2009-11-28 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/36408
+ * cp-tree.h (empty_expr_stmt_p): Declare ...
+ * semantics.c (empty_expr_stmt_p): ... this.
+ * pt.c (tsubst_copy_and_build) <STMT_EXPR>: Use it.
+
+2009-11-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/38656
+ * cxx-pretty-print.c (pp_cxx_expression): Handle TEMPLATE_ID_EXPR.
+
+2009-11-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/35112
+ * pt.c (print_overloaded_functions): New.
+ (print_candidates): Call the latter.
+ * parser.c (cp_parser_class_name): Do not duplicate the diagnostics
+ after the cp_parser_lookup_name call.
+
2009-11-26 Jason Merrill <jason@redhat.com>
PR c++/42026, DR 239