+2005-12-02 Richard Guenther <rguenther@suse.de>
+
+ * semantics.c (simplify_aggr_init_expr): Use buildN instead
+ of build.
+
+2005-12-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * parser.c (cp_lexer_new_main): Usr GGC_RESIZEVEC instead of
+ ggc_realloc.
+ (cp_parser_template_argument_list): Use XRESIZEVEC instead of
+ xrealloc.
+ * class.c (pushclass): Likewise.
+
+2005-12-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * decl2.c (get_priority_info): Use XNEW, not xmalloc.
+ * decl.c (push_switch): Likewise.
+ * lex.c (handle_pragma_implementation): Likewise.
+ * cp-objcp-common.c (decl_shadowed_for_var_insert): Use GGC_NEW,
+ not ggc_alloc.
+ (cxx_initialize_diagnostics): Use XNEW, not xmalloc.
+ * class.c (init_class_processing): Use XNEWVEC, not xmalloc.
+ * g++spec.c (lang_specific_driver): Likewise.
+ * mangle.c (save_partially_mangled_name): Likewise.
+ * parser.c (cp_lexer_new_main): Use GGC_NEWVEC, not ggc_alloc.
+ (cp_parser_template_argument_list): Use XNEWVEC, nto xmalloc.
+ (cp_parser_sizeof_operand): Likewise.
+ * repo.c (open_repo_file, open_repo_file): Likewise.
+
+2005-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * parser.c (cp_parser_make_typename_type): Call make_typename_type
+ with tf_none instead of magic value 0.
+ (cp_parser_explicit_instantiation): Call do_type_instantiation
+ with tf_error instead of magic value 1.
+ (cp_parser_elaborated_type_specifier): Call make_typename_type
+ with tf_error instead of magic value 1.
+ (cp_parser_class_name): Likewise.
+ (cp_parser_lookup_name): Likewise.
+
+2005-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * parser.c (cp_parser_declaration): Set token2.type to CPP_EOF,
+ not RID_MAX.
+
+2005-11-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/21123
+ * cp-gimplify.c (cp_genericize_r): Don't dereference invisible reference
+ parms in a thunk.
+
+2005-11-30 Ben Elliston <bje@au.ibm.com>
+
+ * typeck.c (build_x_unary_op): Correct spelling in error message.
+
+2005-11-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/21166
+ * class.c (check_field_decls): Only set DECL_PACKED on a field
+ when its natural alignment is > BITS_PER_UNIT.
+
+2005-11-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/24979
+ * cp-tree.h (DECL_MAIN_P): Remove duplicate definition.
+
+2005-11-26 Richard Henderson <rth@redhat.com>
+
+ * lex.c: Update for pragma_lex rename.
+ * parser.c: Likewise.
+
+2005-11-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/9278
+ * decl.c (grokparms): Do not allow typedef-names in a '(void)'
+ parmlist.
+
+2005-11-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * typeck2.c (process_init_constructor_union): Remove check for
+ unnamed union members.
+
+2005-11-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * name-lookup.c (lookup_name_real): Merge two if's.
+
+2005-11-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * pt.c (instantiate_class_template): Clean-up.
+
+2005-11-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * pt.c (template_class_depth_real): Remove. Move functionality to ...
+ (template_class_depth): ... here, replacing count_specializations
+ with 0. Adjust comment.
+
+2005-11-24 Richard Guenther <rguenther@suse.de>
+ Dirk Mueller <dmueller@suse.de>
+
+ PR c++/14024
+ * typeck.c (build_reinterpret_cast_1): Use
+ strict_aliasing_warning.
+
+2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/24235
+ * pt.c (check_instantiated_args): Reword diagnostic message about
+ template argument involving local types.
+
+2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/21667
+ * typeck.c (build_array_ref): Avoid code duplicate. Use common
+ C/C++ diagnostic function warn_array_subscript_with_type_char.
+
+2005-11-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/22238
+ * error.c (resolve_virtual_fun_from_obj_type_ref): New.
+ (dump_expr): Use it in <case CALL_EXPR>.
+
+2005-11-21 Richard Henderson <rth@redhat.com>
+
+ * cp-objcp-common.h, name-lookup.c, name-lookup.h: Revert 11-18 patch.
+
+ * name-lookup.c (lookup_name): Remove prefer_type argument.
+ (lookup_name_prefer_type): New.
+ * decl.c (lookup_and_check_tag): Use them.
+ * pt.c (tsubst_friend_class): Likewise.
+ (lookup_template_class): Likewise.
+ (tsubst_copy_and_build): Likewise.
+ * name-lookup.h (lookup_name_prefer_type): New.
+ (lookup_name): Remove declaration.
+
+2005-11-18 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/8355
+ * decl.c (grokfndecl): Set up DECL_TEMPLATE_INFO before calling
+ set_decl_namespace.
+ * name-lookup.c (set_decl_namespace):
+
+2005-11-18 Mike Stump <mrs@apple.com>
+
+ * cp-objcp-common.h (LANG_HOOKS_LOOKUP_NAME): Add.
+ * name-lookup.c (lookup_name_two): Remove.
+ (lookup_name_one): Add.
+ * name-lookup.h (lookup_name_two): Remove.
+ (lookup_name_one): Add.
+
+2005-11-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/24580
+ * method.c (locate_copy): Also use skip_artificial_parms here.
+ (synthesize_exception_spec): Use CLASS_TYPE_P rather than checking
+ for RECORD_TYPE.
+ (locate_ctor): Abort if we fail to find a default constructor.
+
+2005-11-15 Mike Stump <mrs@apple.com>
+
+ * name-lookup.c (lookup_name_two): Add.
+ * name-lookup.h: Likewise.
+
+2005-11-15 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/24667
+ * typeck.c (check_for_casting_away_constness): Use the diag_fn.
+ (build_const_cast_1): Call it, for C-style casts.
+
+2005-11-14 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/24687
+ * pt.c (check_explicit_specialization): Don't check for C linkage.
+ (push_template_decl_real): Likewise.
+ * parser.c (cp_parser_explicit_specialization): Check here.
+ (cp_parser_template_declaration_after_export): And here.
+
+ * parser.c (cp_lexer_get_preprocessor_token): Initialize keyword
+ field.
+
+2005-11-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/24580
+ * method.c (locate_ctor): Skip all artificial parms, not just
+ 'this'.
+
+2005-11-14 Mark Mitchell <mark@codesourcery.com>
+
+ * parser.c (eof_token): Add initializer for ambiguous_p.
+
+2005-11-13 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/24817
+ * decl.c (check_redeclaration_exception_specification): New
+ function.
+ (duplicate_decls): Use it.
+ * error.c (fndecl_to_string): Print the template parameter list.
+
+ PR c++/20293
+ * cxx-pretty-print.c (pp_cxx_statement): Print qualifying scopes
+ for namespaces.
+ (pp_cxx_original_namespace_definition): Likewise.
+ * name-lookup.c (ambiguous_decl): Don't issue error messages;
+ instead return lists of ambiguous candidates.
+ (select_decl): Handle ambiguous namespace lookups.
+ * parser.c (cp_token): Add ambiguous_p.
+ (cp_lexer_get_preprocessor_token): Set it.
+ (cp_parser_diagnose_invalid_type_name): Avoid duplicate messages
+ when a qualified name uses an invalid scope.
+ (cp_parser_primary_expression): Print ambiguous candidates.
+ (cp_parser_type_parameter): Adjust comment to reflect new
+ parameter name for cp_parser_lookup_name.
+ (cp_parser_template_argument): Likewise.
+ (cp_parser_elaborated_type_specifier): Likewise.
+ (cp_parser_namespace_name): Likewise.
+ (cp_parser_class_name): Print ambiguous candidates.
+ (cp_parser_lookup_name): Rename ambiguous_p parameter to
+ ambiguous_decls. Use it to return a list of ambiguous candiates
+ when a lookup is ambiguous.
+ (cp_parser_lookup_name_simple): Adjust comment to reflect new
+ parameter name for cp_parser_lookup_name.
+
+2005-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/24780
+ * typeck.c (complete_type): Set TYPE_NEEDS_CONSTRUCTING
+ and TYPE_HAS_NONTRIVIAL_DESTRUCTOR flags for all variants
+ of array type.
+
+ PR c++/24761
+ * pt.c (tsubst_copy_asm_operands): New function.
+ (tsubst_expr) <case ASM_EXPR>: Use it.
+
+2005-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/19450
+ * decl.c (redeclaration_error_message): Issue diagnostics about
+ olddecl and newdecl disagreement on __thread property.
+ (grokdeclarator): Set DECL_TLS_MODEL on class static variables.
+
+2005-11-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/21123
+ * method.c (use_thunk): Use build_cplus_new instead of
+ force_target_expr.
+
+2005-11-06 Jason Merrill <jason@redhat.com>
+ James A. Morrison <phython@gcc.gnu.org>
+
+ PR c++/17256
+ * decl2.c (cp_finish_file): Fix conditions for undefined warning.
+ Set TREE_NO_WARNING instead of TREE_PUBLIC.
+ * pt.c (instantiate_pending_templates): Set DECL_INITIAL to avoid
+ a warning on a function we didn't instantiate because of excessive
+ recursion.
+
+2005-11-06 Mark Mitchell <mark@codesourcery.com>
+
+ * class.c (record_subobject_offsets): Don't record offsets past
+ biggest empty class for non-empty base classes.
+ (layout_class_type): Use TYPE_SIZE_UNIT, not TYPE_SIZE, when
+ keeping track of the size of emptyclasses.
+
+ PR c++/21308
+ * class.c (sizeof_biggest_empty_class): New variable.
+ (record_subobject_offsets): Don't record offsets past biggest
+ empty class for data members. Replace vbases_p parameter with
+ is_data_member parameter.
+ (build_base_field): Adjust call.
+ (layout_class_type): Likewise. Maintain
+ sizeof_biggest_empty_class.
+
+2005-11-05 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl2.c, init.c, typeck.c: Fix comment typos.
+
+2005-11-04 Richard Guenther <rguenther@suse.de>
+
+ PR c++/22487
+ * init.c (build_vec_init): Build comparison of matching
+ types.
+
+2005-11-03 Josh Conner <jconner@apple.com>
+
+ PR c++/19989
+ pt.c (tsubst): Accept zero-length array if tf_error is set
+ in complain flags. Change error message for negative-
+ length array.
+
+2005-11-04 Joseph S. Myers <joseph@codesourcery.com>
+
+ * cp-tree.h (cp_cpp_error), error.c (cp_cpp_error): Take va_list*
+ parameter.
+
+2005-11-03 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c++/17964
+ * error.c (cp_cpp_error): New function.
+ * cp-tree.h (cp_cpp_error): Declare.
+ * parser.c (cp_lexer_new_main): Set CPP option client_diagnostic
+ and error callback after lexing.
+
+2005-11-03 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/21627
+ * pt.c (register_specialization): Update inline flags on clones.y
+
+2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c++/24582
+ * decl.c (declare_local_label): Return 0 for variables
+ with error_mark_node as their types.
+
+2005-11-02 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/22434
+ * call.c (build_conditional_expr): Do bad conversions, if there's
+ no other choice.
+
+ PR c++/24560
+ * parser.c (cp_parser_postfix_dot_deref_expression): Improve error
+ message for use of overloaded functions on LHS of "." operator.
+
+ PR c++/19253
+ * parser.c (cp_parser_postfix_expression): Use
+ cp_parser_elaborated_type_specifier to handle typename-types in
+ functional casts.
+ (cp_parser_enclosed_argument_list): Skip ahead to the end of the
+ template argument list if the closing ">" is not found.
+
+ PR c++/24569
+ * pt.c (instantiate_decl): Use cp_finish_decl, not
+ finish_static_data_member_decl.
+
+2005-10-28 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * decl.c (grokfndecl): Remove the setting
+ of the return type of the function type
+ of main after erroring about must returning
+ int.
+
+2005-10-28 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR C++/23229
+ * decl.c (grokfndecl): Create a new function type
+ after erroring out about main not returning int.
+
+2005-10-28 Josh Conner <jconner@apple.com>
+
+ PR c++/22153
+ * parser.c (cp_parser_member_declaration): Detect and handle
+ a template specialization.
+
+2005-10-28 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR C++/23426
+ * decl.c (start_decl): Check that the decl is an
+ error_mark_node before getting the type.
+ Remove the check for the decl's type being an
+ error_mark_node.
+
+2005-10-21 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/24260
+ * parser.c (cp_parser_init_declarator): Pass attributes to
+ grokfield.
+
+2005-10-20 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/22618
+ * search.c (accessible_p): Check access in the outermost set of
+ template parameters.
+
+2005-10-20 Richard Guenther <rguenther@suse.de>
+
+ * decl.c (grokdeclarator): Fix ambiguous pedwarn message.
+
+2005-10-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/22293
+ * decl.c (grokdeclarator): Reject unqualified destructors in
+ friend declarations.
+
+2005-10-18 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/23293
+ * pt.c (convert_template_argument): Use canonical type variants in
+ template specializations.
+
+2005-10-18 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/21383
+ * name-lookup.c (arg_assoc): Template args can be null in a
+ template-id-expr.
+
+ PR c++/22604
+ * class.c (update_vtable_entry_for_fn): Don't process invalid
+ covariant overriders.
+
+ PR c++/23118
+ * cp-tree.h (add_method): Add return value.
+ * class.c (add_method): Return success indicator.
+ * semantics.c (finish_member_declaration): Don't add an invalid
+ method to the method list.
+
+2005-10-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/21908
+ * call.c (build_new_method_call): Do not show VTT parameters to
+ the user.
+
+2005-10-17 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/23440
+ * parser.c (cp_parser_statement): If the parser reached CPP_EOF,
+ only complain about missing statement.
+
+2005-10-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/24386
+ * cp-tree.h (BASELINK_QUALIFIED_P): New.
+ * pt.c (tsubst_copy_and_build): <CALL_EXPR case>: Use it.
+ * typeck.c (finish_class_member_access_expr): Set it.
+
+ PR c++/21353
+ * decl.c (check_default_argument): Don't check
+ processing_template_decl or uses_template_parms here.
+ (grokparms): Only call check_default_argument when not processing
+ a template decl.
+ * parser.c (cp_parser_late_parsing_default_arg): Call
+ check_default_argument when not processing a template decl.
+
+2005-10-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/24389
+ * decl2.c (mark_used): Use uses_template_parms instead of
+ dependent_type_p.
+ * init.c (constant_value_1): Handle uninstantiated templates
+ specially.
+ * pt.c (instantiate_decl): Add sanity check.
+
+2005-10-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/22173
+ * typeck.c (check_template_keyword): Fix thinko.
+
+2005-10-16 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c++/23959
+ * decl.c (pop_switch): Only call c_do_switch_warnings
+ when not processing templates.
+
+2005-10-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/22173
+ * cp-tree.h (QUALIFIED_NAME_IS_TEMPLATE): New macro.
+ (check_template_keyword): New function.
+ (finish_id_expression): Change prototoype.
+ (finish_qualified_id_expr): Change prototype.
+ (build_qualified_name): New function.
+ (finish_class_member_access_expr): Change prototype.
+ * init.c (build_offset_ref): Use build_qualified_name.
+ * mangle.c (write_expression): Likewise.
+ * parser.c (cp_parser_primary_expression): Remove qualifying_class
+ parameter. Add address_p and template_arg_p. Use
+ build_qualified_name.
+ (cp_parser_id_expression): Default *template_p to
+ template_keyword_p. Check for invalid uses of the template
+ keyword.
+ (cp_parser_postfix_expression): Eliminate special handling for
+ qualified names. Adjust call to cp_parser_primary_expression.
+ (cp_parser_postfix_dot_deref_expression): Adjust call to
+ cp_parser_id_expression and finish_class_member_access_expr.
+ (cp_parser_template_argument_list): Add comment.
+ (cp_parser_template_argument): Adjust use of
+ cp_parser_primary_expression. Remove call to
+ finish_qualified_id_expr.
+ (cp_parser_lookup_name): Use build_qualified_name.
+ * pt.c (tsubst): Use build_qualified_name.
+ (tsubst_qualified_id): Likewise. Adjust call to
+ finish_qualified_id_expr.
+ (tsubst_copy): Use build_qualified_name.
+ (tsubst_copy_and_build): Adjusts call to finish_id_expression and
+ finish_class_member_access_expr.
+ * semantics.c (finish_non_static_data_member): Use
+ build_qualified_name.
+ (finish_qualified_id_expr): Add template_p and template_arg_p
+ parameters.
+ (finish_id_expression): Remove qualifiying_class parameter. Add
+ template_p, done, address_p, and template_arg_p. Use
+ build_qualified_name. Adjust calls to
+ finish_class_member_acess_expr.
+ * tree.c (build_qualified_name): New function.
+ * typeck.c (check_template_keyword): New function.
+ (finish_class_member_access_expr): Add template_p argument. Check
+ for invalid uses of the template keyword.
+
+2005-10-15 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/21347
+ * class.c (maybe_warn_about_overly_private_class): Lazy
+ constructors are public.
+
2005-10-14 Mark Mitchell <mark@codesourcery.com>
PR c++/19565