OSDN Git Service

cp:
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 296f280..8a24049 100644 (file)
@@ -1,3 +1,703 @@
+2005-06-15  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/20678
+       * error.c (dump_expr) <COMPONENT_REF case>: Check DECL_NAME is not
+       null.
+
+       * Make-lang.in: Reformat some long lines.
+       (gt-cp-rtti.h): New target.
+       (cp/rtti.o): Add dependency.
+       * config-lang.in (gtfiles): Add cp/rtti.c.
+       * cp-tree.h (CPTI_TI_DESC_TYPE, CPTI_BLTN_DESC_TYPE,
+       CPTI_PTR_DESC_TYPE, CPTI_ARY_DESC_TYPE, CPTI_FUNC_DESC_TYPE,
+       CPTI_ENUM_DESC_TYPE, CPTI_CLASS_DESC_TYPE,
+       CPTI_SI_CLASS_DESC_TYPE, CPTI_VMI_CLASS_DESC_TYPE,
+       CPTI_PTM_DESC_TYPE, CPTI_BASE_DESC_TYPE): Remove.
+       (ti_desc_type_node, bltn_desc_type_node, ptr_desc_type_node,
+       ary_desc_type_node, func_desc_type_node, enum_desc_type_node,
+       class_desc_type_node, si_class_desc_type_node,
+       vmi_class_desc_type_node, ptm_desc_type_node,
+       base_desc_type_node): Remove.
+       * decl.c: Adjust documentation of global trees.
+       * rtti.c (TINFO_PSEUDO_TYPE, TINFO_VTABLE_DECL,
+       TINFO_REAL_NAME): Remove.
+       (struct tinfo_s): New.
+       (enum tinfo_kind): New.
+       (tinfo_descs): New.
+       (get_tinfo_decl): Adjust use of tinfo descriptor.
+       (tinfo_base_init, generic_initializer, ptr_initializer,
+       ptm_initializer, class_initializer): Likewise.
+       (get_pseudo_ti_init): Take descriptor index. Adjust.
+       (create_pseudo_type_info): Likewise.
+       (get_pseudo_ti_desc): Return descriptor index. Adjust.
+       (create_tinfo_types): Adjust use of create_pseudo_type_info.
+       (emit_tinfo_decl): Adjust use of tinfo descriptor.
+
+2005-06-14  Roger Sayle  <roger@eyesopen.com>
+
+       * decl.c (grokdeclarator): Only check TREE_OVERFLOW on INTEGER_CST.
+
+2005-06-13  Geoffrey Keating  <geoffk@apple.com>
+
+       * Make-lang.in (c++.install-man): Doesn't really depend on installdirs.
+       (rule for installing g++.1 manpage): Does depend on installdirs.
+
+2005-06-13  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/20789
+       * decl.c (cp_finish_decl): Clear runtime runtime initialization if
+       in-class decl's initializer is bad.
+
+       PR c++/21929
+       * parser.c (struct cp_parser): Document that scope could be
+       error_mark.
+       (cp_parser_diagnose_invalid_type_name): Cope with error_mark for
+       scope.
+       (cp_parser_nested_name_specifier): Return NULL_TREE on error.
+       (cp_parser_postfix_expression): Deal with null or error_mark
+       scope.
+       (cp_parser_elaborated_type_specifier): Adjust
+       cp_parser_nested_name_specifier call.
+
+       * parser (cp_parser_skip_to_end_of_block_or_statement): Cleanup.
+
+2005-06-12  Roger Sayle  <roger@eyesopen.com>
+
+       PR c++/21930
+       * error.c (dump_expr): UNARY_PLUS_EXPR need not handle void types.
+       Treat CONVERT_EXPR identically to NOP_EXPR.
+
+2005-06-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR c++/10611
+       * cvt.c (build_expr_type_conversion): Same.
+       * typeck.c (build_binary_op): Handle vectors.
+       (common_type): Same.
+       (type_after_usual_arithmetic_conversions): Same.
+       * testsuite/g++.dg/conversion/simd2.C: New.
+
+2005-06-08  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/19497
+       * cp-tree.def (USING_DECL): Update documentation.
+       * cp-tree.h (DECL_DEPENDENT_P): New.
+       (USING_DECL_DECLS, USING_DECL_SCOPE): New.
+       * class.c (handle_using_decl): Move most of the processing to ...
+       * name-lookup.c (do_class_using_decl): ... here.  Make stricter.
+       (push_using_decl): Use USING_DECL_SCOPE.
+       (cp_emit_debug_info_for_using): Make extern.
+       * cxx-pretty-print.c (pp_cxx_statement) <USING_DECL case>: Adjust.
+       * name-lookup.h (cp_emit_debug_info_for_using): Declare.
+       * pt.c (tsubst_decl) <USING_DECL case>: Use do_class_using_decl
+       when tsubsting.
+       (tsubst_expr): Use USING_DECL_SCOPE.
+       * search.c (lookup_field_1): Use DECL_DEPENDENT_P.
+       * semantics.c (finish_member_declaration): Likewise.
+
+2005-06-08  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/19894
+       * pt.c (tsubst): Reject pointer-to-member of type void.
+
+       PR c++/20563
+       * parser.c (cp_parser_label_declaration): Deal with invalid/missing
+       identifiers.
+
+2005-06-07  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cp-tree.def (DEFAULT_ARG): Adjust documentation.
+       * cp-tree.h (DEFARG_INSTANTIATIONS): New.
+       (struct tree_default_arg): Add instantiations member.
+       * parser.c (cp_parser_late_parsing_default_args): Adjust to use a
+       VEC.
+       * pt.c (tsubst_arg_types): Likewise.
+
+       * parser.c (cp_parser_late_parsing_default_args): Fix overeager
+       assert in previous patch.
+
+2005-06-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * error.c (locate_error): Use gmsgid instead of msgid for argument
+       name.
+       (cp_error_at, cp_warning_at, cp_pedwarn_at): Likewise.
+
+2005-06-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR 21903
+       * cp-tree.def (DEFAULT_ARG): Document TREE_CHAIN use.
+       * parser.c (cp_parser_late_parsing_default_args): Propagate parsed
+       argument to any early instantiations.
+       * pt.c (tsubst_arg_types): Chain early instantiation of default arg.
+
+       PR c++/20637
+       * cp-tree.h (add_method): Add using_decl parameter.
+       * class.c (add_method): Add using_decl parameter.  Adjust error
+       messages.
+       (handle_using_decl): Pass the using decl to add_method.
+       (clone_function_decl): Adjust add_member calls.
+       * decl2.c (check_classfn): Likewise.
+       * method.c (lazily_declare_fn): Likewise.
+       * semantics.c (finish_member_declaration): Likewise.
+
+       * method.c (synthesize_method): Use inform, not warning.
+
+2005-06-06  Hans-Peter Nilsson  <hp@axis.se>
+
+       * config-lang.in (target_libs): Remove target-gperf.
+
+2005-06-05  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21619
+       * cp-tree.h (DECL_IS_BUILTIN_CONSTANT_P): New macro.
+       * parser.c (cp_parser_postfix_expression): Allow non-constant
+       expressions as arguments to __builtin_constant_p.
+       * tree.c (builtin_valid_in_constant_expr_p): Use
+       DECL_IS_BUILTIN_CONSTANT_P.
+
+2005-06-03  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21853
+       * typeck.c (casts_away_constness_r): Do not drop cv-qualifiers on
+       the pointed-to type for a pointer-to-member.
+
+       PR c++/21336
+       * cp-tree.h (grok_op_properties): Remove friendp parameter.
+       * decl.c (grokfndecl): Adjust call.
+       (grok_op_properties): Determine the class of which the function is
+       a member by looking at its DECL_CONTEXT, not current_class_type.
+       * pt.c (tsubst_decl): Adjust call to grok_op_properties.
+
+2005-06-02  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * method.c (synthesize_method): Add addtional arg to warning call.
+
+       PR c++/21280
+       * Make-lang.in (method.o): Add diagnostic.h
+       * decl.c (start_preparsed_function): Use decl's location for file
+       info.
+       * decl2.c (cp_finish_file): Set input_location before synthesizing
+       a function.
+       (mark_used): When deferring a synthesized function, save current
+       location.  Do not set function's location when actually
+       synthesizing it.
+       * method.c: #include diagnostic.h.
+       (synthesize_method): Set the functions source location.  Show
+       needed location if errors are emitted.
+
+       * decl.c (start_decl): Simplify specialization handling. Remove
+       unneeded CLASSTYPE_TEMPLATE_INSTANTIATION check.
+       * mangle.c (discriminator_for_local_entity): Use VEC_index.
+
+       PR c++/20350
+       * decl.c (duplicate_decls): Copy all of DECL_USE_TEMPLATE.
+
+       PR c++/21151
+       * name-lookup.c (pushtag): Push local class even in a template.
+
+2005-05-31  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/21165
+       * init.c (integral_constant_value): Check the type of the
+       initializer, not the decl.
+
+2005-05-30  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21784
+       * name-lookup.c (do_nonmember_using_decl): Ignore builtin
+       functions, even when the used name is not a function.
+
+2005-05-30  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * operators.def, optimize.c: Update copyright.
+
+2005-05-28  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21210
+       * call.c (standard_conversion): Permit conversions to complex
+       types if conversion to the corresponding scalar type would be
+       permitted.
+
+       PR c++/21340
+       * method.c (implicitly_declare_fn): Clear processing_template_decl
+       when generating implicit declaration.
+
+2005-05-27  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21614
+       * typeck.c (get_member_function_from_ptrfunc): Do not attempt
+       conversions to base classes of incomplete types.
+
+2005-05-27  Ian Lance Taylor  <ian@airs.com>
+
+       * semantics.c (add_stmt): Add C++ frontend specific version.
+       * cp-tree.h (STMT_IS_FULL_EXPR_P): Define.
+       (stmts_are_full_exprs_p): Declare.
+
+2005-05-27  Roger Sayle  <roger@eyesopen.com>
+           Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       * cp-tree.def (UNARY_PLUS_EXPR): New C++ unary tree code.
+       * parser.c (cp_parser_unary_expression): Use UNARY_PLUS_EXPR instead
+       of CONVERT_EXPR.
+       (cp_parser_unary_expression): Likewise.
+       * typeck.c (build_unary_op): Likewise.
+       * call.c (add_builtin_candidate, build_new_op): Likewise.
+       * error.c (dump_expr): Likewise.
+       * pt.c (tsubst_copy, tsubst_copy_and_build): Likewise.
+       * decl.c (ambi_op_p, grok_op_properties): Likewise.
+       * dump.c (dump_op): Likewise.
+       * lex.c (init_operators): Likewise.
+       * operators.def ("+"): Likewise.
+       * cp-gimplify.c (cp_gimplify_expr): Handle UNARY_PLUS_EXPR like a
+       conversion, if the result and argument types differ.
+       * tree.c (fold_if_not_in_template): Fold UNARY_PLUS_EXPR much
+       like a NOP_EXPR when !processing_template_decl.
+
+       * cxx-pretty-print.c (pp_cxx_cast_expression): Prototype.
+       (pp_cxx_unary_expression): Handle new UNARY_PLUS_EXPR tree code.
+
+2005-05-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/21455
+       * typeck.c (get_delta_difference): Cope with incomplete but equal
+       classes.  Reorder if.
+
+       PR c++/21681
+       * parser.c (cp_parser_late_parsing_for_member): Disable access
+       checking for template functions.
+
+2005-05-26  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/21768
+       * pt.c (redeclare_class_template): Change error message according
+       to coding conventions.
+
+2005-05-26  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * call.c (build_op_delete_call): Fix quoting in error message.
+
+2005-05-25  Richard Henderson  <rth@redhat.com>
+
+       PR libgcj/21692
+       * cp-tree.h (make_alias_for): Declare.
+       * decl2.c (build_java_method_aliases): New.
+       (cp_finish_file): Call it.
+       * method.c (make_alias_for): Split out from ...
+       (make_alias_for_thunk): ... here.
+
+2005-05-25  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/21686
+       * semantics.c (finish_id_expression): Fix quoting in error message.
+
+2005-05-25  DJ Delorie  <dj@redhat.com>
+
+       * decl.c (duplicate_decls): Move warning control from if() to
+       warning(OPT_*).
+       * name-lookup.c (parse_using_directive): Likewise.
+       * parser.c (cp_parser_elaborated_type_specifier): Likewise.
+       (cp_parser_init_declarator): Likewise.
+       * tree.c (handle_com_interface_attribute): Likewise.
+
+2005-05-24  Ziemowit Laski  <zlaski@apple.com>
+
+       * class.c (layout_class_type): Do not issue C++ ABI warnings
+       for ObjC structs.
+       * decl.c (objc_mark_locals_volatile): Streamline by calling
+       objc_volatilize_decl().
+       * parser.c (cp_parser_objc_message_expression): Allow simple
+       type specifiers (instead of merely type names) as message
+       receivers.
+       * pt.c (template_args_equal): Do not call objc_comptypes().
+       * typeck.c (composite_pointer_type): If both pointers are
+       ObjC-esque, arbitrarily choose the first; do not call
+       objc_comptypes().
+       (comptypes): Do not call objc_comptypes().
+       (convert_for_assignment): Call objc_compare_types().
+       (comp_ptr_ttypes_real): Call objc_type_quals_match() before
+       concluding that types do not match.
+
+2005-05-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR C++/21645
+       * optimize.c (update_cloned_parm): Copy the TYPE also from the
+       original one.
+
+2005-05-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/21495
+       * decl.c (grokdeclarator): Fix "storage class specified for"
+       error reporting.
+
+2005-05-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * parser.c: Fix comment typos.
+
+2005-05-18  Geoffrey Keating  <geoffk@apple.com>
+
+       * Make-lang.in (cc1plus-dummy): New.
+       (cc1plus-checksum.c): New.
+       (cc1plus-checksum.o): New.
+       (cc1plus): Add cc1plus-checksum.o.
+
+2005-05-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR C++/19664
+       * decl2.c (determine_visibility): Don't set visibility to
+       hidden if it has been set explicitly by user.
+
+2005-05-17  Ziemowit Laski  <zlaski@apple.com>
+           Mike Stump  <mrs@apple.com>
+
+       Yet more Objective-C++...
+
+       * cp-objcp-common.h (cxx_get_alias_set): Move from
+       here...
+       (cxx_warn_unused_global_decl): Likewise.
+       (cp_expr_size): Likewise.
+       (cp_tree_size): Likewise.
+       (cp_var_mod_type_p): Likewise.
+       (cxx_initialize_diagnostics): Likewise.
+       (cxx_types_compatible_p): Likewise.
+       * cp-tree.h: to here.
+       (do_poplevel): Add.
+       * lex.c (D_OBJC): Add.
+       (init_reswords): Add.
+       * Make-lang.in (cp/pt.o): Add cp/cp-objcp-common.h.
+       * parser.c: Add c-common.h include.
+       * pt.c: Add c-common.h and cp-objcp-common.h includes.
+       (template_args_equal): Use objc_comptypes as well.
+       (tsubst_copy_and_build): Use objcp_tsubst_copy_and_build as well.
+       * semantics.c (do_poplevel): Remove static.
+
+       * decl.c (objc_mark_locals_volatile): Don't change decls that are
+       already ok.
+       * decl2.c (generate_ctor_or_dtor_function): Add code to initialize
+       Objective C++ early enough.
+       * lex.c (struct resword reswords): Add Objective-C++ support.
+       * parser.c (cp_lexer_get_preprocessor_token): Add Objective-C++.
+       (cp_parser_objc_message_receiver): Add.
+       (cp_parser_objc_message_args): Likewise.
+       (cp_parser_objc_message_expression): Likewise.
+       (cp_parser_objc_encode_expression): Likewise.
+       (cp_parser_objc_defs_expression): Likewise.
+       (cp_parser_objc_protocol_expression): Likewise.
+       (cp_parser_objc_selector_expression): Likewise.
+       (cp_parser_objc_expression): Likewise.
+       (cp_parser_objc_visibility_spec): Likewise.
+       (cp_parser_objc_method_type): Likewise.
+       (cp_parser_objc_protocol_qualifiers): Likewise.
+       (cp_parser_objc_typename): Likewise.
+       (cp_parser_objc_selector_p): Likewise.
+       (cp_parser_objc_selector): Likewise.
+       (cp_parser_objc_method_keyword_params): Likewise.
+       (cp_parser_objc_method_tail_params_opt): Likewise.
+       (cp_parser_objc_interstitial_code): Likewise.
+       (cp_parser_objc_method_signature): Likewise.
+       (cp_parser_objc_method_prototype_list): Likewise.
+       (cp_parser_objc_method_definition_list): Likewise.
+       (cp_parser_objc_class_ivars): Likewise.
+       (cp_parser_objc_identifier_list): Likewise.
+       (cp_parser_objc_alias_declaration): Likewise.
+       (cp_parser_objc_class_declaration): Likewise.
+       (cp_parser_objc_protocol_declaration): Likewise.
+       (cp_parser_objc_protocol_refs_opt): Likewise.
+       (cp_parser_objc_superclass_or_category): Likewise.
+       (cp_parser_objc_class_interface): Likewise.
+       (cp_parser_objc_class_implementation): Likewise.
+       (cp_parser_objc_end_implementation): Likewise.
+       (cp_parser_objc_declaration): Likewise.
+       (cp_parser_objc_try_catch_finally_statement): Likewise.
+       (cp_parser_objc_synchronized_statement): Likewise.
+       (cp_parser_objc_throw_statement): Likewise.
+       (cp_parser_objc_statement): Likewise.
+       (cp_parser_primary_expression): Add Objective-C++.
+       (cp_parser_statement): Likewise.
+       (cp_parser_declaration): Likewise.
+       (cp_parser_simple_type_specifier): Likewise.
+       (cp_parser_type_name): Likewise.
+       (cp_parser_parameter_declaration_list): Likewise.
+       (cp_parser_member_declaration) Likewise.
+       * tree.c: Include debug.h.
+       * typeck.c (composite_pointer_type): Add Objective-C++ support.
+       (finish_class_member_access_expr): Likewise.
+       (build_function_call): Allow objc to rewrite FUNCTION_DECLs.
+       (build_modify_expr): Allow objc to generate write barriers.
+
+       * Make-lang.in (cp/tree.o): Add debug.h.
+       * tree.c (lvalue_p_1, case CONST_DECL): Add.
+
+2005-05-18  Jan Hubicka  <jh@suse.cz>
+
+       * method.c: Include tree-pass.h
+       (use_thunk): Lower body before expanding.
+
+2005-05-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/21454
+       * decl.c (maybe_deduce_size_from_array_init): Call
+       cp_apply_type_quals_to_decl after completing array type.
+
+2005-05-16  Richard Henderson  <rth@redhat.com>
+
+       * decl.c (build_library_fn_1): Move setting TREE_NOTHROW ...
+       (build_library_fn): ... here.
+
+2005-05-12  Ian Lance Taylor  <ian@airs.com>
+
+       * cp-tree.h (cp_stmt_codes): Don't define.
+       (statement_code_p): Declare.
+       (STATEMENT_CODE_P): Define.
+       * lex.c (statement_code_p): Define.
+       (cxx_init): Use actual codes in stmt_codes initializer, not
+       cp_stmt_codes macro.  Initialize statement_code_p directly, rather
+       than using INIT_STATEMENT_CODES.
+
+2005-05-09  Mark Mitchell  <mark@codesourcery.com>
+
+       * typeck.c (build_unary_op): Do not resort to address arithmetic
+       when taking the address of a COMPONENT_REF.
+
+2005-05-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * class.c (vtbl_init_data_s): Change the type of fns to
+       VEC(tree,gc)*.
+       (build_vtbl_initializer, add_vcall_offset, add_vcall_offset):
+       Use VEC instead of VARRAY.
+
+2005-05-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       * mangle.c: Remove a reference to the MIPS -mint64 option.
+
+2005-05-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * decl.c (wrapup_globals_for_namespace): Use VEC instead of
+       VARRAY.
+       * name-lookup.c (add_decl_to_level, begin_scope): Likewise.
+       * name-lookup.h (cp_binding_level): Change the type of
+       static_decls to VEC(tree,gc)*.
+
+       * mangle.c (globals): Change the type of substitutions to
+       VEC(tree,gc)*.
+       (dump_substitution_candidates, add_substitution,
+       find_substitution, finish_mangling, init_mangle): Use VEC
+       instead of VARRAY.
+
+2005-05-06  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * decl2.c (spew_debug): Remove.
+
+       * decl2.c (ssdf_decls, start_static_storage_duration_function,
+       generate_ctor_or_dtor_function): Use VEC instead of VARRAY.
+
+       * decl2.c (pending_statics, note_vague_linkage_var,
+       cp_finish_file): Use VEC instead of VARRAY.
+       (pending_statics_used): Remove.
+
+2005-05-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * decl2.c (deferred_fns, note_vague_linkage_fn,
+       cp_finish_file): Use VEC instead of VARRAY.
+
+2005-05-05  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21352
+       * pt.c (build_non_dependent_expr): Use is_overloaded_fn.
+
+2005-05-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * pt.c: Fix a comment typo.
+
+2005-05-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cp-tree.h (language_function): Change the type of
+       x_local_names to VEC.
+       * decl.c (push_local_name): Adjust uses of local_names.
+
+2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * friend.c, lex.c, mangle.c, repo.c: Update copyright.
+
+2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * class.c (local_classes, init_class_processing): Use VEC
+       instead of VARRAY.
+       * cp-tree.h (local_classes): Likewise.
+       * mangle.c (discriminator_for_local_entity): Likewise.
+       * name-lookup.c (pushtag): Likewise.
+
+       * class.c (current_lang_depth, push_lang_context,
+       pop_lang_context): Use VEC instead of VARRAY.
+       * cp-tree.h (saved_scope): Use VEC for lang_base instead of
+       VARRAY.
+       * name-lookup.c (push_to_top_level): Use VEC instead of
+       VARRAY.
+
+2005-05-02  Paolo Bonzini  <bonzini@gnu.org>
+
+       * semantics.c (finish_call_expr): Call resolve_overloaded_builtin
+       for BUILT_IN_MD built-ins.
+
+2005-05-02  Michael Matz  <matz@suse.de>
+
+       PR c++/19542
+       * cp-tree.h (cp_tree_index): Remove CPTI_NULL, to be defined in C
+       common frontend.
+       (null_node): Remove.
+       * lex.c (cxx_init): Move null_node initialisation to C common frontend.
+
+2005-04-25  Ian Lance Taylor  <ian@airs.com>
+
+       * cp-tree.def: Add EXPR_STMT.
+       * cp-tree.h (cp_stmt_codes): Add EXPR_STMT.
+       (EXPR_STMT_EXPR): Define.
+       * cp-gimplify.c: Include "flags.h".
+       (gimplify_expr_stmt): New static function.
+       (cp_gimplify_expr): Handle EXPR_STMT.
+       * cxx-pretty-print.c (pp_cxx_statement): Use pp_cxx_expression
+       rather than pp_expression.
+       (pp_cxx_statement): Handle EXPR_STMT.
+       * dump.c (cp_dump_tree): Handle EXPR_STMT.
+       * lex.c (cxx_init): Don't use c_common_stmt_codes in stmt_codes
+       initializer.
+
+2005-04-25  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR C++/21188
+       * rtti.c (ifnonnull): Cast the zero comparison operand
+       to the correct type.
+
+2005-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/20991
+       * class.c: Include cgraph.h.
+       (cp_fold_obj_type_ref): Set node->local.vtable_method.
+       * Make-lang.in (cgraph.o): Depend on $(CGRAPH_H).
+
+2005-04-12  Markus F.X.J. Oberhumer  <markus@oberhumer.com>
+
+       * mangle.c (write_builtin_type): Handle integer types which are
+       not one of the shared integer type nodes and emit a "vendor
+       extended builtin type" with an encoding in the form of "u5int96".
+
+2005-04-24  Ian Lance Taylor  <ian@airs.com>
+
+       * cp-tree.def (USING_STMT): Change class to tcc_statement.
+       (TRY_BLOCK, EH_SPEC_BLOCK, HANDLER, CLEANUP_STMT): Likewise.
+       (IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT): Likewise.
+       (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
+
+2005-04-23  DJ Delorie  <dj@redhat.com>
+
+       * call.c, class.c, cvt.c, decl.c, decl2.c, except.c, friend.c,
+       init.c, lex.c, mangle.c, method.c, name-lookup.c, parser.c,
+       repo.c, rtti.c, tree.c, typeck.c, typeck2.c: Adjust warning()
+       callers.
+
+2005-04-22  Per Bothner  <per@bothner.com>
+
+       * decl.c (make_rtl_for_nonlocal_decl): Don't try get_fileinfo if
+       input_filename is NULL, as it is for (say) __PRETTY_FUNCTION__.
+
+2005-04-22  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR c++/21087
+       * name-lookup.c (push_overloaded_decl): Do not overload with
+       non-duplicate anticipated built-in.
+
+2005-04-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cp-tree.h (THROW_NAME, AUTO_VTABLE_NAME, AUTO_TEMP_FORMAT,
+       VTABLE_BASE, VTABLE_NAME_PREFIX, STATIC_NAME_FORMAT): Remove.
+
+2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cp-tree.h: Adjust for new VEC API.
+       Define VEC(tree_pair_s,gc).
+       (struct save_scope): Adjust.
+       (struct lang_type_class): Adjust.
+       (unemitted_tinfo_decls): Adjust.
+       * class.c (add_method, resort_type_method_vec,
+       finish_struct_methods, struct find_final_overrider_data,
+       dfs_find_final_overrider_pre, find_final_overrider,
+       get_vcall_index, warn_hidden, walk_subobject_offsets,
+       check_methods, fixup_inline_methods, end_of_class,
+       warn_about_ambiguous_bases, finish_struct, build_vtbl_initializer,
+       add_vcall_offset): Adjust.
+       * decl.c (xref_basetypes, finish_method): Adjust.
+       * decl2.c (check_classfn): Adjust.
+       * init.c (sort_mem_initializers, push_base_cleanups): Adjust.
+       * method.c (do_build_copy_constructor): Adjust.
+       * name-lookup.c (new_class_binding, store_binding,
+       store_bindings, store_class_bindings): Adjust.
+       * name-lookup.h: Define VEC(cxx_saved_binding,gc),
+       VEC(cp_class_binding,gc).
+       (struct cp_binding_level): Adjust.
+       * parser.c: Define VEC(cp_token_position,heap).
+       (struct cp_lexer): Adjust.
+       (cp_lexer_new_main, cp_lexer_new_from_tokens, cp_lexer_destroy,
+       cp_lexer_save_tokens): Adjust.
+       * pt.c (retrieve_specialization,
+       check_explicit_specialization): Adjust.
+       * rtti.c (unemitted_tinfo_decls): Adjust.
+       (init_rtti_processing, get_tinfo_decl, get_pseudo_ti_init,
+       get_pseudo_ti_desc): Adjust.
+       * search.c (dfs_access_in_type, lookup_conversion_operator,
+       lookup_fnfields_1, dfs_walk_once, dfs_walk_once_accessible,
+       dfs_get_pure_virtuals, lookup_conversions_r, binfo_for_vbase): Adjust.
+       * semantics.c: Define VEC(deferred_access,gc).
+       (push_deferring_access_checks): Adjust.
+       * typeck2.c (abstract_virtuals_error): Adjust.
+
+2005-04-20  Ian Lance Taylor  <ian@airs.com>
+
+       * cp-tree.def: Add STMT_EXPR.
+       * cp-tree.h (STMT_EXPR_NO_SCOPE): Define.
+       (STMT_EXPR_STMT): Define.
+       * cxx-pretty-print.c (pp_cxx_primary_expression): Handle
+       STMT_EXPR.
+       (pp_cxx_expression): Likewise.
+       (pp_cxx_statement): Call pp_cxx_statement, not pp_statement.
+       * dump.c (cp_dump_tree): Handle STMT_EXPR.
+
+2005-04-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * decl.c (expand_static_init): Call build2 and build3 instead
+       of build.
+
+       * cp-tree.h (VPTR_NAME, VPTR_NAME_P): Remove.
+
+2005-04-17  Ian Lance Taylor  <ian@airs.com>
+
+       * cp-tree.def: Add SIZEOF_EXPR, ARROW_EXPR and ALIGNOF_EXPR.
+       * cxx-pretty-print.c (pp_cxx_postfix_expression): Handle
+       ARROW_EXPR.
+       (pp_cxx_unary_expression): Handle SIZEOF_EXPR and ALIGNOF_EXPR.
+       (pp_cxx_expression): Handle ARROW_EXPR, SIZEOF_EXPR, and
+       ALIGNOF_EXPR.
+       * typeck.c (cxx_sizeof_or_alignof_type): Update call to
+       c_sizeof_or_alignof_type for change in parameter type.
+
+2005-04-16  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21025
+       * typeck.c (cxx_sizeof_or_alignof_type): Check whether the type to
+       which sizeof/alignof is dependent, rather than just whether we are
+       processing_template_decl.
+
+2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cp-tree.h (LOOKUP_GLOBAL): Remove.
+       (LOOKUP_ONLYCONVERTING, DIRECT_BIND, LOOKUP_NO_CONVERSION,
+       LOOKUP_DESTRUCTOR, LOOKUP_NO_TEMP_BIND, LOOKUP_PREFER_TYPES,
+       LOOKUP_PREFER_NAMESPACES, LOOKUP_CONSTRUCTOR_CALLABLE): Adjust
+       their values.
+
+2005-04-15  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/14311
+       * semantics.c (finish_call_expr): Call resolve_overloaded_builtin.
+
 2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
 
        * cp-tree.h (lang_type_class): Remove redefined.  Move
 
        * decl2.c (determine_visibility): Don't use export_class_data.
        (import_export_decl): Honor TARGET_CXX_CLASS_DATA_ALWAYS_WEAK and
-       TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY. 
+       TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY.
 
 2005-04-09  Kazu Hirata  <kazu@cs.umass.edu>
 
        (cp_parser_type_specifier_seq): In a condition, do not allow
        invalid type-specifier combinations.
        (cp_parser_exception_declaration): Adjust call to
-       cp_parser_type_specifier_seq. 
+       cp_parser_type_specifier_seq.
 
        * cp-tree.def (TINST_LEVEL): Document TINST_IN_SYSTEM_HEADER_P.
        * cp-tree.h (struct tinst_level): Add in_system_header_p.
        (lookup_template_class, instantiate_class_template): Adjust call
        to pushtag.
        * semantics.c (begin_class_definition): Likewise.
-       * rtti.c (init_rtti_processing, build_dynamic_cast_1, 
+       * rtti.c (init_rtti_processing, build_dynamic_cast_1,
        tinfo_base_init, emit_support_tinfos): Use ts_current instead of
        ts_global.
 
 2005-03-13  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/20157
-       * pt.c (determine_specialization): Reject non-specializations. 
+       * pt.c (determine_specialization): Reject non-specializations.
 
 2005-03-11  Per Bothner  <per@bothner.com>
 
 
 2005-03-09  Paolo Carlini  <pcarlini@suse.de>
 
-       PR c++/16859    
+       PR c++/16859
        * decl.c (complete_array_type): In pedantic mode, return
        3 for an empty initializer list as the initializer for an
        array of unknown bound (8.5.1/4).
        (cp_finish_decl): Remove dead code.
        * init.c (build_vec_init): When determining whether or not the
        element type has an asignment operator, look through all array
-       dimensions. 
+       dimensions.
        * typeck.c (target_type): Remove.
 
 2005-03-07  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/20232
        * class.c (update_vtable_entry_for_fn): Don't crash on invalid
-       covariancy. 
+       covariancy.
 
        * cp-tree.g (THUNK_TARGET): Expand comment.
        * method.c (use_thunk): Make sure we also use the target, if that
        PR c++/20152
        * parser.c (cp_parser_class_head): Check for redefintions here.
        * semantics.c (begin_class_definition): Not here.
-       
+
        PR c++/20153
        * decl2.c (build_anon_union_vars): Add type parameter.
        (finish_anon_union): Pass it.
        * parser.c (cp_parser_direct_declarator): Always complain about
        non-constant array bounds when in a function scope.
        * semantics.c (finish_id_expression): Do not mark dependent names
-       as non-constant. 
+       as non-constant.
 
 2005-02-21  Douglas Gregor  <dgregor@cs.indiana.edu>
-       
+
        PR c++/19076
        PR c++/6628
        * cp-tree.h (cp_apply_type_quals_to_decl): Declared.
        * decl.c (grokdeclarator): Pedwarn about qualifying a function
-       type. 
+       type.
        Add qualifiers when declaring a typedef of a function type.
        Member function pointers pick up the qualifiers of the typedef
        used to declare them.
        (start_preparsed_function): Use cp_apply_type_quals_to_decl.
        (grokclassfn): Use cp_apply_type_quals_to_decl.
        * error.c (dump_type_suffix): Print qualifiers for function
-       types. 
+       types.
        * pt.c (tsubst_decl): Use cp_apply_type_quals_to_decl.
        (tsubst): When substituting a function type into a member
        pointer type, pass along the qualifiers.
        (cp_parser_direct_declarator): Likewise.
        * pt.c (tsubst): Likewise.
        (tsubst_copy, tsubst_copy_and_build): Likewise; also add new operand
-       for COMPONENT_REF.
+       for COMPONENT_REF.
        * semantics.c (finish_non_static_data_member): Add new operand
        for COMPONENT_REF.
        * typeck.c (build_class_member_access_expr): Likewise.