+2006-01-24 Dirk Mueller <dmueller@suse.de>
+
+ * typeck.c (build_binary_op): Use OPT_Wfloat_equal in warning().
+
+2006-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/25552
+ * parser.c (cp_parser_unqualified_id): Check that destructor name
+ and scope match.
+ * call.c (check_dtor_name): Do not expect a BIT_NOT_EXPR.
+ Adjust comment. Return early if possible.
+ Use same_type_p to compare types.
+ * typeck.c (lookup_destructor): Adjust call to check_dtor_name.
+
+2006-01-24 Mark Mitchell <mark@codesourcery.com>
+
+ * semantics.c: Remove outdated comment.
+
+2006-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * cp-tree.h (do_poplevel): Remove prototype.
+ * semantics.c (do_poplevel): Add prototype. Make static.
+
+ * cp-tree.h (original_type): Remove prototype.
+ * typeck.c (original_type): Make static.
+
+ * cp-tree.h (declare_global_var): Remove prototype.
+ * decl.c (declare_global_var): Make static.
+
+ * cp-tree.h (implicitly_declare_fn): Remove prototype.
+ * method.c (implicitly_declare_fn): Make static.
+
+ * cp-tree.h (fold_decl_constant_value): Remove prototype.
+ * pt.c (fold_decl_constant_value): Make static.
+
+ * cp-tree.h (build_x_delete): Remove prototype.
+ * init.c (build_vec_delete_1): Call build_op_delete_call directly
+ and not via build_x_delete.
+ (build_x_delete): Remove.
+
+ * cp-tree.h (get_vtt_name): Remove prototype.
+ * class.c (get_vtt_name): Remove.
+ (build_vtt): Call mangle_vtt_for_type instead of get_vtt_name.
+
+2006-01-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * rtti.c (build_dynamic_cast): Fix comment.
+
+2006-01-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/10891
+ * rtti.c (build_dynamic_cast): Reject dynamic_cast use if
+ -fno-rtti.
+
+2006-01-21 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25895
+ * class.c (build_base_path): Generate a NOP_EXPR instead of a
+ COMPONENT_REF if the base and derived classes are at the same
+ address.
+
+ PR c++/25856
+ * decl.c (begin_destructor_body): Robustify.
+
+ PR c++/25858
+ * parser.c (cp_parser_direct_declarator): Robustify.
+
+2006-01-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * parser.c (cp_lexer_next_token_is_keyword): Simplify.
+
+ * parser.c (clear_decl_specs): Remove prototype.
+
+ * parser.c (cp_parser_expression_fn): Remove.
+
+ * call.c (add_builtin_candidates): Remove superfluous return.
+ * name-lookup.c (do_toplevel_using_decl): Likewise.
+ * parser.c (cp_parser_type_specifier_seq): Likewise.
+ (cp_parser_save_default_args): Likewise.
+
+2006-01-20 Dirk Mueller <dmueller@suse.com>
+
+ PR c++/5520
+ * semantics.c (finish_if_stmt): Call empty_body_warning.
+ * parser.c (cp_parser_implicitly_scoped_statement):
+ Mark empty statement with an empty stmt.
+
+2006-01-19 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/22136
+ * name-lookup.c (do_class_using_decl): Don't try to look up base
+ classes in templates with dependent base types.
+
+2006-01-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/25854
+ * pt.c (maybe_process_partial_specialization): Return early on
+ error_mark_node.
+
+2006-01-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/16829
+ * decl.c (start_preparsed_function): Check default arguments
+ unconditionally.
+ * name-lookup.c (pushdecl_maybe_friend): Check default arguments
+ of all functions and function templates.
+ * parser.c (cp_parser_late_parsing_default_args): Check default
+ arguments.
+ * decl2.c (check_default_args): Set missing default arguments to
+ error_mark_node.
+
+2006-01-18 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25836
+ * cp-tree.h (push_class_stack): New function.
+ (pop_class_stack): Likewise.
+ * class.c (class_stack_node): Add hidden field.
+ (pushclass): Clear it.
+ (push_class_stack): New function.
+ (pop_class_stack): Likewise.
+ (currently_open_class): Ignore hidden classes.
+ (currently_open_derived_class): Likewise.
+ * name-lookup.c (push_to_top_level): Call push_class_stack.
+ (pop_from_top_level): Call pop_class_stack.
+
+2006-01-18 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree.c (find_tree_t, find_tree): Remove.
+ * cp-tree.h: Remove the prototype for find_tree.
+
+2006-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ * search.c (lookup_conversions_r): Fix a pasto.
+
+2006-01-17 Eric Christopher <echristo@apple.com>
+
+ * call.c (convert_like_real): When issuing conversion
+ warnings, depend on OPT_Wconversion.
+ * cvt.c (build_expr_type_conversion): Ditto.
+
+2006-01-17 Kazu Hirata <kazu@codesourcery.com>
+
+ * name-lookup.c (lookup_namespace_name): Remove.
+ * name-lookup.h: Remove the prototype for
+ lookup_namespace_name.
+
+2006-01-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/25682
+ * decl.c (compute_array_index_type): After issuing not an integral
+ constant-expression error, set size to 1 to avoid ICEs later on.
+
+2006-01-16 Ian Lance Taylor <ian@airs.com>
+
+ * parser.c: Include "cgraph.h".
+ (cp_parser_asm_definition): Call cgraph_add_asm_node rather than
+ assemble_asm.
+
+2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * g++spec.c (lang_specific_spec_functions): Remove.
+
+2006-01-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * decl.c (check_initializer): Fix thinko.
+
+2006-01-14 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25663
+ * parser.c (cp_parser_direct_declarator): Use cp_parser_error
+ instead of error.
+
+2006-01-13 Jason Merrill <jason@redhat.com>
+
+ * pt.c (check_explicit_specialization): Use CP_DECL_CONTEXT even more.
+
+ * name-lookup.c (set_decl_namespace): Use CP_DECL_CONTEXT.
+ * pt.c (check_explicit_specialization): Likewise.
+
+2006-01-12 Jason Merrill <jason@redhat.com>
+
+ PR libstdc++/24660
+ * pt.c (check_explicit_specialization): Handle namespace
+ association.
+ * name-lookup.c (set_decl_namespace): Likewise.
+
+2006-01-12 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/24824
+ * class.c (handle_using_decl): Pass correct scope to
+ cp_emit_debug_info_for_using.
+
+2006-01-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/25386
+ * tree.c (lvalue_p_1): Any part of a COMPONENT_REF affects
+ packedness.
+
+2006-01-06 Gabriel Dos Reis <gdr@integrablesolutions.net>
+
+ * parser.c (cp_parser_primary_expression): Document the grammar
+ for the built-in offsetof, a GNU extension.
+
+2006-01-04 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR c++/25632
+ * init.c (constant_value_1): Unshare use of DECL_INITIAL. Fix a typo
+ in condition.
+
+2006-01-04 Chris Lattner <sabre@gnu.org>
+
+ * typeck2.c: update copyright to 2006
+ (split_nonconstant_init_1): Set TREE_CONSTANT to true.
+
+2006-01-04 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/24782
+ * parser.c (cp_parser_nested_name_specifier_opt): Preserve access
+ checks, even when parsing tentatively.
+
+2006-01-04 Richard Henderson <rth@redhat.com>
+
+ Merge from gomp branch.
+ * lex.c (handle_pragma_java_exceptions): Fix whitespace.
+ * parser.c (struct cp_token): Add pragma_kind.
+ (eof_token): Update to match.
+ (struct cp_lexer): Add in_pragma; rearrange next for better packing.
+ (cp_parser_initial_pragma): New.
+ (cp_lexer_new_main): Use it. Don't bother clearing
+ c_lex_return_raw_strings.
+ (cp_lexer_get_preprocessor_token): Always initialize keyword
+ and pragma_kind fields. Handle CPP_PRAGMA.
+ (cp_lexer_consume_token): Don't allow CPP_PRAGMA_EOL when
+ in_pragma is set.
+ (cp_lexer_handle_pragma): Remove. Update callers to cp_parser_pragma.
+ (cp_lexer_print_token) <CPP_PRAGMA>: Don't print as a string.
+ (cp_parser_skip_to_pragma_eol): New.
+ (cp_parser_error): Use it.
+ (cp_parser_skip_to_closing_parenthesis): Stop at CPP_PRAGMA_EOL;
+ rearrange with switch statement.
+ (cp_parser_skip_to_end_of_statement): Likewise.
+ (cp_parser_skip_to_end_of_block_or_statement): Likewise.
+ (cp_parser_skip_to_closing_brace): Likewise.
+ (cp_parser_skip_until_found): Likewise.
+ (cp_parser_statement): Add in_compound argument; update callers.
+ Use it to decide how to handle pragma parsing.
+ (cp_parser_labeled_statement): Add in_compound argument; pass
+ it on to cp_parser_statement.
+ (cp_parser_statement_seq_opt): Stop at CPP_PRAGMA_EOL.
+ (cp_parser_declaration_seq_opt): Likewise.
+ (cp_parser_parameter_declaration): Likewise.
+ (cp_parser_member_specification_opt): Likewise.
+ (cp_parser_function_definition_after_decl): Likewise.
+ (cp_parser_cache_group): Handle CPP_PRAGMA/CPP_PRAGMA_EOL pairs.
+ (cp_parser_pragma): New.
+ (pragma_lex): New.
+
+2006-01-04 Dirk Mueller <dmueller@suse.com>
+
+ * decl.c (finish_constructor_body): create simple
+ compound stmt instead of a if(1) { } construct.
+
+2006-01-03 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25492
+ * name-lookup.c (push_class_level_binding): When a derived class
+ provides a type binding, eliminate any type binding from a base
+ class.
+
+ PR c++/25625
+ * repo.c (repo_emit_p): Always instantiate static data members
+ initialized by constant expressions, so that there values are
+ available.
+
+2006-01-02 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25635
+ * class.c (add_method): Set TYPE_HAS_CONVERSION for classes with a
+ conversion operator.
+ * decl.c (grokdeclarator): Do not set TYPE_HAS_CONVERSION here.
+
+ PR c++/25638
+ * class.c (add_method): Never associate more than one destructor
+ with a single class.
+
+ PR c++/25637
+ * cp-tree.h (do_friend): Adjust prototype.
+ * decl.c (grokfndecl): Make funcdef_flag a bool, not an int.
+ (grokdeclarator): Likewise. Refine check for invalid
+ declarations/definitions of member functions outside of their own
+ class.
+ * friend.c (do_friend): Make funcdef_flag a bool, not an int.
+
+ PR c++/25633
+ * parser.c (cp_parser_mem_initializer_list): Check result of
+ cp_parser_mem_initializer against error_mark_node, not NULL_TREE.
+ (cp_parser_mem_initializer): Return error_mark_node for failure.
+
+ PR c++/25634
+ * parser.c (cp_parser_template_parameter_list): Call
+ begin_template_parm_list and end_template_parm_list here.
+ (cp_parser_type_parameter): Not here.
+ (cp_parser_template_declaration_after_export): Or here.
+ (cp_parser_elaborated_type_specifier): Call
+ cp_parser_check_template_parameters.
+
+ * tree.c (build_target_expr_with_type): Use force_target_expr.
+
+ * decl2.c (mark_used): Fix typo in comment.
+
+2006-01-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * parser.c (cp_parser_using_declaration): Skip name-lookup on
+ invalid scope.
+
+2005-12-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * cxx-pretty-print.c (pp_cxx_constant): New. Print
+ string-literal in parens if input program says so.
+ (pp_cxx_primary_expression): Hand off constant printing to
+ pp_cxx_constant.
+ (pp_cxx_pretty_printer_init): Set pp->c_base.constant.
+ (pp_cxx_expression): Use pp_cxx_constant for literals.
+ * error.c (dump_expr): Use pp_constant for literals.
+