URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [cp/] [ChangeLog-2005] - Rev 710
Compare with Previous | Blame | View Log
2005-12-30 Gabriel Dos Reis <gdr@integrable-solutions.net>* cxx-pretty-print.c (pp_cxx_constant): New. Printstring-literal in parens if input program says so.(pp_cxx_primary_expression): Hand off constant printing topp_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.2005-12-29 Nathan Sidwell <nathan@codesourcery.com>* method.c (make_thunk): Don't set comdat_linkage here.(use_thunk): Make thunk one only here, if thunk target isDECL_ONE_ONLY.2005-12-26 Mark Mitchell <mark@codesourcery.com>PR c++/25439* decl.c (grokdeclarator): Remove dead code.* ptree.c (cxx_print_xnode): Handle BASELINK.* parser.c (make_id_declarator): Add sfk parameter.(cp_parser_direct_declarator): Do not pass TYPE_DECLs tomake_id_declarator.(cp_parser_declarator_id): Simplify BASELINKs here.(cp_parser_member_declaration): Adjust calls tomake_id_declarator.2005-12-26 Mark Mitchell <mark@codesourcery.com>PR c++/23171, c++/23172, c++/25417.* typeck.c (build_unary_op): Create temporary variables forcompound literals whose addresses are taken.* init.c (expand_aggr_init_1): Use COMPOUND_LITERAL_P.* decl.c (reshape_init_vector): Likewise.(reshape_init): Give it external linkage.(check_initializer): Use COMPOUND_LITERAL_P.(initialize_artificial_var): Allow the initializer to be aCONSTRUCTOR.* call.c (make_temporary_var_for_ref_to_temp): Usecreate_temporary_var.* cp-tree.h (COMPOUND_LITERAL_P): New macro.(rehape_init): Declare.* typeck2.c (digest_init): Use COMPOUND_LITERAL_P.* semantics.c (finish_compound_literal): Use reshape_init.2005-12-23 Mark Mitchell <mark@codesourcery.com>PR c++/24671* pt.c (instantiate_template): Handle SFINAE.2005-12-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* decl.c (grokdeclarator): Improve diagnostic for frienddeclarations of class members.2005-12-22 Mark Mitchell <mark@codesourcery.com>PR c++/25369* tree.c (really_overloaded_fn): Tweak comment.* pt.c (tsubst_call_declarator_parms): Remove.(tsubst_copy): Call mark_used on the member referenced by anOFFSET_REF.* semantics.c (finish_qualified_id_expr): Simplify.* decl2.c (mark_used): Accept BASELINKs.PR c++/25364* typeck.c (build_unary_op): Pass DECLs not names tobuild_offset_refs.* init.c (build_offset_ref): Do not do name lookup. Do not callmark_used.* call.c (build_call): Simplify and tidy.* semantics.c (finish_qualified_id_expr): Call mark_used.2005-12-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/23333* parser.c (cp_parser_pure_specifier): Check for PURE_ZERO toidentify a single '0'.2005-12-20 Mark Mitchell <mark@codesourcery.com>PR c++/21228* decl.c (use_eh_spec_block): New function.(store_parm_decls): Use it.(finish_function): Likewise.2005-12-19 Mark Mitchell <mark@codesourcery.com>PR c++/24278* init.c (expand_member_init): Print messages about baseclassesusing %T rather than %D.PR c++/24915* class.c (add_method): Do not treat templates as identical unlesstheir return types are the same.2005-12-12 Mark Mitchell <mark@codesourcery.com>PR c++/25300* tree.c (build_qualified_name): Return error_mark_node forerroneous input.2005-12-10 Mark Mitchell <mark@codesourcery.com>PR c++/25337* pt.c (tsubst_copy_and_build): Permit dependent types for theobject in a class member access expression.2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>PR java/9861* mangle.c (write_bare_function_type): Mangle return type formethods of Java classes2005-12-08 Théodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>* call.c (build_conditional_expr): Print types in error messages.2005-12-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* expr.c (cxx_expand_expr): Call gcc_unreachable instead of abort.2005-12-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* cp-gimplify.c (gimplify_cp_loop): Use fold_build3.2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>* Make-lang.in (c++.all.build, c++.install-normal): Remove.2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>* Make-lang.in: Remove all dependencies on s-gtype.2005-12-06 Aldy Hernandez <aldyh@redhat.com>PR C++/24138* decl.c (reshape_init_array_1): Handle max_index of -1.2005-12-06 Roger Sayle <roger@eyesopen.com>* typeck.c (build_binary_op): Issue warning if either operand of acomparison operator is a string literal, except for testing equalityor inequality against NULL.2005-12-06 Roger Sayle <roger@eyesopen.com>PR c++/25263* decl.c (compute_array_index_type): Check that itype is anINTEGER_CST node before testing/clearing TREE_OVERFLOW.2005-12-05 Daniel Berlin <dberlin@dberlin.org>* ptree.c (cxx_print_decl): Update to check for decl_commonstructure.2005-12-02 Mark Mitchell <mark@codesourcery.com>PR c++/24173* decl.c (duplicate_decls): Don't rely on DECL_TEMPLATE_INFO afterclobbering newdecl.2005-12-02 Richard Guenther <rguenther@suse.de>* semantics.c (simplify_aggr_init_expr): Use buildN insteadof build.2005-12-02 Gabriel Dos Reis <gdr@integrable-solutions.net>* parser.c (cp_lexer_new_main): Usr GGC_RESIZEVEC instead ofggc_realloc.(cp_parser_template_argument_list): Use XRESIZEVEC instead ofxrealloc.* 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_typewith tf_none instead of magic value 0.(cp_parser_explicit_instantiation): Call do_type_instantiationwith tf_error instead of magic value 1.(cp_parser_elaborated_type_specifier): Call make_typename_typewith 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 referenceparms 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 fieldwhen 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 forunnamed 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_specializationswith 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): Usestrict_aliasing_warning.2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>PR c++/24235* pt.c (check_instantiated_args): Reword diagnostic message abouttemplate 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 commonC/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 callingset_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 checkingfor 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 keywordfield.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): Newfunction.(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 scopesfor 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 messageswhen a qualified name uses an invalid scope.(cp_parser_primary_expression): Print ambiguous candidates.(cp_parser_type_parameter): Adjust comment to reflect newparameter 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 toambiguous_decls. Use it to return a list of ambiguous candiateswhen a lookup is ambiguous.(cp_parser_lookup_name_simple): Adjust comment to reflect newparameter name for cp_parser_lookup_name.2005-11-12 Jakub Jelinek <jakub@redhat.com>PR c++/24780* typeck.c (complete_type): Set TYPE_NEEDS_CONSTRUCTINGand TYPE_HAS_NONTRIVIAL_DESTRUCTOR flags for all variantsof 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 aboutolddecl 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 offorce_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 avoida warning on a function we didn't instantiate because of excessiverecursion.2005-11-06 Mark Mitchell <mark@codesourcery.com>* class.c (record_subobject_offsets): Don't record offsets pastbiggest empty class for non-empty base classes.(layout_class_type): Use TYPE_SIZE_UNIT, not TYPE_SIZE, whenkeeping 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 biggestempty class for data members. Replace vbases_p parameter withis_data_member parameter.(build_base_field): Adjust call.(layout_class_type): Likewise. Maintainsizeof_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 matchingtypes.2005-11-03 Josh Conner <jconner@apple.com>PR c++/19989pt.c (tsubst): Accept zero-length array if tf_error is setin 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_diagnosticand error callback after lexing.2005-11-03 Mark Mitchell <mark@codesourcery.com>PR c++/21627* pt.c (register_specialization): Update inline flags on clones.y2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>PR c++/24582* decl.c (declare_local_label): Return 0 for variableswith 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'sno other choice.PR c++/24560* parser.c (cp_parser_postfix_dot_deref_expression): Improve errormessage for use of overloaded functions on LHS of "." operator.PR c++/19253* parser.c (cp_parser_postfix_expression): Usecp_parser_elaborated_type_specifier to handle typename-types infunctional casts.(cp_parser_enclosed_argument_list): Skip ahead to the end of thetemplate argument list if the closing ">" is not found.PR c++/24569* pt.c (instantiate_decl): Use cp_finish_decl, notfinish_static_data_member_decl.2005-10-28 Andrew Pinski <pinskia@physics.uc.edu>* decl.c (grokfndecl): Remove the settingof the return type of the function typeof main after erroring about must returningint.2005-10-28 Andrew Pinski <pinskia@physics.uc.edu>PR C++/23229* decl.c (grokfndecl): Create a new function typeafter 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 handlea template specialization.2005-10-28 Andrew Pinski <pinskia@physics.uc.edu>PR C++/23426* decl.c (start_decl): Check that the decl is anerror_mark_node before getting the type.Remove the check for the decl's type being anerror_mark_node.2005-10-21 Mark Mitchell <mark@codesourcery.com>PR c++/24260* parser.c (cp_parser_init_declarator): Pass attributes togrokfield.2005-10-20 Mark Mitchell <mark@codesourcery.com>PR c++/22618* search.c (accessible_p): Check access in the outermost set oftemplate 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 infriend declarations.2005-10-18 Mark Mitchell <mark@codesourcery.com>PR c++/23293* pt.c (convert_template_argument): Use canonical type variants intemplate specializations.2005-10-18 Nathan Sidwell <nathan@codesourcery.com>PR c++/21383* name-lookup.c (arg_assoc): Template args can be null in atemplate-id-expr.PR c++/22604* class.c (update_vtable_entry_for_fn): Don't process invalidcovariant 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 invalidmethod 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 tothe 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 checkprocessing_template_decl or uses_template_parms here.(grokparms): Only call check_default_argument when not processinga template decl.* parser.c (cp_parser_late_parsing_default_arg): Callcheck_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 ofdependent_type_p.* init.c (constant_value_1): Handle uninstantiated templatesspecially.* 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_warningswhen 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_classparameter. Add address_p and template_arg_p. Usebuild_qualified_name.(cp_parser_id_expression): Default *template_p totemplate_keyword_p. Check for invalid uses of the templatekeyword.(cp_parser_postfix_expression): Eliminate special handling forqualified names. Adjust call to cp_parser_primary_expression.(cp_parser_postfix_dot_deref_expression): Adjust call tocp_parser_id_expression and finish_class_member_access_expr.(cp_parser_template_argument_list): Add comment.(cp_parser_template_argument): Adjust use ofcp_parser_primary_expression. Remove call tofinish_qualified_id_expr.(cp_parser_lookup_name): Use build_qualified_name.* pt.c (tsubst): Use build_qualified_name.(tsubst_qualified_id): Likewise. Adjust call tofinish_qualified_id_expr.(tsubst_copy): Use build_qualified_name.(tsubst_copy_and_build): Adjusts call to finish_id_expression andfinish_class_member_access_expr.* semantics.c (finish_non_static_data_member): Usebuild_qualified_name.(finish_qualified_id_expr): Add template_p and template_arg_pparameters.(finish_id_expression): Remove qualifiying_class parameter. Addtemplate_p, done, address_p, and template_arg_p. Usebuild_qualified_name. Adjust calls tofinish_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. Checkfor 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): Lazyconstructors are public.2005-10-14 Mark Mitchell <mark@codesourcery.com>PR c++/19565* call.c (convert_like_real): Rely on convert_and_check to issuewarnings about overflow and conversion to unsigned.* decl.c (finish_enum): Use the location of the enumerators, notthe closing brace of the enumeration, when reporting warningsabout conversions.(build_enumerator): Use error_mark_node for erroneous values.* typeck2.c (digest_init): Remove reference to "signature pointer"from comment.2005-10-14 Nathan Sidwell <nathan@codesourcery.com>PR c++/17796* optimize.c (update_cloned_parm): Add FIRST parameter. Use it.(maybe_clone_body): Track the first clone.2005-10-13 Nathan Sidwell <nathan@codesourcery.com>PR c++/23984* class.c (build_base_path): The vtable is always the first thingin the vtt.2005-10-13 Mark Mitchell <mark@codesourcery.com>PR c++/20721* cp-tree.h (DECL_NONTRIVIALLY_INITIALIZED_P): New macro.* decl.c (duplicate_decls): Merge it into new declarations.(decl_jump_unsafe): Use it, rather than DECL_INITIAL.(cp_finish_decl): Set it, when appropriate.PR c++/22180* call.c (build_new_method_call): Correct pretty-printing ofdestructor names.* pt.c (tsubst_qualified_id): Recognize invalid uses of "~T" as anidentifier.PR c++/23694* decl.c (start_method): Return error_mark_node for errors.PR c++/23307* pt.c (push_template_decl_real): Complain about attempts todeclare template variables.PR c++/22352* pt.c (tsubst_template_parms): Set processing_template_decl whileprocessing the parameters.(tsubst_decl): Set processing_template_decl when substituting intoa TEMPLATE_DECL.PR c++/22405* pt.c (most_specialized_instantiation): Robustify.PR c++/22464* semantics.c (finish_id_expression): Issue errors about uses oflocal variables in containing functions even in templates.2005-10-12 Danny Smith <dannysmith@users.sourceforge.net>PR target/21801PR target/23589* class.c (finish_struct_1): Calltargetm.cxx.adjust_class_at_definition.2005-10-12 Nathan Sidwell <nathan@codesourcery.com>PR c++/21592* pt.c (build_non_dependent_expr): Don't wrap a COMPONENT_REFwith already looked up member functions. Assert we're notreturning a NON_DEPENDENT_EXPR with unknown type.* typeck.c (finish_class_member_access_expr): We can getnon-template-id-expr baselinks. If the lookup finds a baselink,remember it even inside templates.PR c++/23797* parser.c (cp_parser_functional_cast): Cope when TYPE is not aTYPE_DECL. Use dependent_type_p to check type.* pt.c (uses_template_parms_p): Use dependent_type_p for aTYPE_DECL.(type_dependent_expression_p): Assert we've not been given aTYPE_DECL.PR c++/21117* decl.c (check_function_type): Correctly overwrite incompletereturn type with void type.* typeck.c (check_return_expr): If the function's return type isvoid, don't try and convert a return expr.2005-10-12 David Edelsohn <edelsohn@gnu.org>PR c++/23730* call.c (build_object_call): If BINFO is NULL, bypasslookup_fnfields and set fns to NULL_TREE.2005-10-12 Paolo Bonzini <bonzini@gnu.org>PR c++/24052* error.c (dump_expr): Pass LABEL_DECL to dump_decl. Printan ADDR_EXPR of a LABEL_DECL as &&.2005-10-12 Nathan Sidwell <nathan@codesourcery.com>PR c++/19964* class.c (walk_subobject_offsets): Don't walk error_mark_node.2005-10-11 Ian Lance Taylor <ian@airs.com>PR c++/8057* cvt.c (convert_to_void): Don't warn about unused values whenprocessing a template declaration.2005-10-11 Mark Mitchell <mark@codesourcery.com>PR c++/21089* call.c (convert_like_real): Use decl_constant_value, notintegral_constant_value.* init.c (constant_value_1): New function.(integral_constant_value): Use it.(decl_constant_value): Likewise.* typeck.c (decay_conversion): Use decl_constant_value, notintegral_constant_value.PR c++/21369* parser.c (cp_parser_elaborated_type_specifier): Don't treatclass types as templates if the type is not appearing as part of atype definition or declaration.2005-10-10 Mark Mitchell <mark@codesourcery.com>PR c++/24277* pt.c (instantiate_decl): Call finish_static_data_member_decl forstatic data members.2005-10-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>Mark Mitchell <mark@codesourcery.com>PR c++/23437* parser.c (cp_parser_template_argument_list): Do not treatcontents of argument list as part of a constant expression.2005-10-10 Mark Mitchell <mark@codesourcery.com>PR c++/24139* decl.c (grokdeclarator): Do not require template parameter listsfor explicitly specialized class.* error.c (dump_aggr_type): Do not dump template arguments fornon-primary specializations.(dump_function_name): Likewise.PR c++/24275* pt.c (instantiate_decl): Instantiate the initializer ofa static data member in the namespace containing the classcontaining the static data member.2005-10-08 James A. Morrison <phython@gcc.gnu.org>PR c++/22172* parser.c (cp_parser_postfix_expression) <RID_TYPENAME>: Treat nontypescopes as nondependent.2005-10-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* call.c (resolve_args): Remove redundant test.2005-10-05 Paolo Bonzini <bonzini@gnu.org>PR tree-optimization/21419PR tree-optimization/24146PR tree-optimization/24151* semantics.c (finish_asm_stmt): Call readonly_error if outputs areread-only. Set ASM_VOLATILE_P for asms without outputs.2005-10-05 Nathan Sidwell <nathan@codesourcery.com>PR c++/23513* call.c (joust): Adjust length count to more_specialized_fn.* pt.c (more_specialized_fn): Cope with non-static member vsnon-member.2005-10-04 Andrew Pinski <pinskia@physics.uc.edu>PR middle-end/23125* decl.c (make_rtl_for_nonlocal_decl): Use set_user_assembler_nameinstead of change_decl_assembler_name.2005-10-03 Alexandre Oliva <aoliva@redhat.com>* error.c (dump_type) <UNKNOWN_TYPE>: Print reworded message.2005-10-03 Mark Mitchell <mark@codesourcery.com>PR c++/17775* repo.c: Include flags.h.(finish_repo): Add -frandom-seed to the arguments.2005-10-02 Mark Mitchell <mark@codesourcery.com>PR c++/22621* parser.c (cp_parser_template_argument): Don't turn "T::f" into"(*this).T::f".* pt.c (convert_nontype_argument): Remove ??? comment.PR c++/23840* tree.c (lvalue_p_1): A VA_ARG_EXPR with class type is an lvalue,when class rvalues are lvalues.2005-09-28 Mark Mitchell <mark@codesourcery.com>PR c++/16782* decl.c (grokdeclarator): Always pedwarn about overqualifiedmember names.2005-09-27 Mark Mitchell <mark@codesourcery.com>PR c++/22147* name-lookup.c (maybe_process_template_type_declaration): Don'ttreat forward declarations of classes as templates just becausewe're processing_template_decl.* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INFO for friendfunctions.2005-09-26 Jason Merrill <jason@redhat.com>PR c++/13764* cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): New macro.* name-lookup.c (pushdecl_maybe_friend): Check it.* decl.c (begin_function_body): Do nothing if it's false.(finish_function_body): Ditto.(outer_curly_brace_block): New fn.(finish_function): Use it.2005-09-26 Richard Guenther <rguenther@suse.de>PR middle-end/15855* decl2.c (do_static_destruction): Remove.(finish_static_initialization_or_destruction): Likewise.(DECL_EFFECTIVE_INIT_PRIORITY): New macro.(NEEDS_GUARD_P): Likewise.(do_static_initialization): Rename todo_static_initialization_or_destruction. Process allinitializers/destructors and handle common conditionalizing.(start_static_initialization_or_destruction): Rename toone_static_initialization_or_destruction. Handle onlydecl-specific conditionalizing.(cp_finish_file): Call do_static_initialization_or_destruction.2005-09-22 Jakub Jelinek <jakub@redhat.com>PR c++/21983* class.c (find_final_overrider): Move diagnostic about no unique finaloverrider to...(update_vtable_entry_for_fn): ... here.2005-09-21 Mark Mitchell <mark@codesourcery.com>PR c++/23993* init.c (integral_constant_value): Use DECL_INTEGRAL_CONSTANT_VAR_P.2005-09-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/23965* call.c (resolve_args): Return error_mark_node on argumentswhose TREE_TYPE is error_mark_node.2005-09-20 Jakub Jelinek <jakub@redhat.com>PR c++/23947* rtti.c (get_pseudo_ti_init): Recompute ti pointer afterget_tinfo_ptr calls.2005-09-16 Mark Mitchell <mark@codesourcery.com>PR c++/23914* parser.c (cp_parser_enclosed_template_argument_list): Make sureskip_evaluation is false when processing template arguments.PR c++/21514* pt.c (check_instantiated_args): Treat uses of anonymous types ascausing type-deduction failure.2005-09-15 Jason Merrill <jason@redhat.com>PR c++/23357* cp-tree.def (SIZEOF_EXPR, ALIGNOF_EXPR): Change code class totcc_expression.2005-09-15 Mark Mitchell <mark@codesourcery.com>PR c++/23896* pt.c (tsubst_aggr_type): Make sure skip_evaluation is false whenprocessing template arguments.* pt.c (check_explicit_instantiation_namespace): Fix typo.PR c++/13140* decl.c (check_class_member_definition_namespace): New function.(grokfndecl): Use it.(grokvardecl): Likewise.(grokdecl): Improve documentation.* pt.c (check_explicit_instantiation_namespace): New function.(register_specialization): Call check_specialization_namespacewhen replacing an implicitly instantiated function.(check_explicit_specialization): Ensure that DECL_CONTEXT is setcorrectly for namespace-scope specializations.(do_decl_instantiation): Usecheck_explicit_instantiation_namespace.(do_type_instantiation): Likewise.2005-09-15 Nathan Sidwell <nathan@codesourcery.com>PR c++/23725* error.c (dump_decl): <USING_DECL case> Use USING_DECL_SCOPE.2005-09-13 Bastian Blank <waldi@debian.org>PR c++/16171* mangle.c (find_substitution): Do not use special substitutionsfor identifiers not in std::.2005-09-13 Mark Mitchell <mark@codesourcery.com>PR c++/23839* typeck.c (cxx_mark_addressable): Only check DECL_HARD_REGISTERfor VAR_DECLs.2005-09-13 Mark Mitchell <mark@codesourcery.com>PR c++/23842* pt.c (tsubst_default_argument): Do treat default argumentexpressions as occurring in the context of the function called.2005-09-12 Mark Mitchell <mark@codesourcery.com>PR c++/23841* parser.c (cp_parser_primary_expression): Recognize the closing">" of a template-argument-list after a floating-point literal asthe end of a cast expression.2005-09-12 Mark Mitchell <mark@codesourcery.com>PR c++/23789* cvt.c (perform_qualification_conversions): Don't createunnecessary NOP_EXPRs.* pt.c (tsubst_template_arg): Use fold_non_dependent_expr.2005-09-12 Ian Lance Taylor <ian@airs.com>PR g++/7874* cp-tree.h (struct lang_decl_flags): Add hidden_friend_pbitfield. Make dummy bitfield one bit smaller.(DECL_HIDDEN_FRIEND_P): Define.(pushdecl_maybe_friend): Declare.(pushdecl_top_level_maybe_friend): Declare.* decl.c (duplicate_decls): Add newdecl_is_friend parameter.Change prototype and all callers. Add assertion that aDECL_ARTIFICIAL FUNCTION_DECL is not DECL_HIDDEN_FRIEND_P. SetDECL_ANTICIPATED and DECL_HIDDEN_FRIEND_P in duplicated decl ifappropriate.* name-lookup.c (supplement_binding): Don't ignore aDECL_HIDDEN_FRIEND_P.(pushdecl_maybe_friend): Break out contents of pushdecl. Addis_friend parameter. Set DECL_ANTICIPATED andDECL_HIDDEN_FRIEND_P for a friend function.(pushdecl): Just call pushdecl_maybe_friend.(pushdecl_with_scope): Add is_friend parameter. Change prototypeand all callers.(pushdecl_namespace_level): Likewise.(push_overloaded_decl): Likewise. Check DECL_HIDDEN_FRIEND_P aswell as DECL_ANTICIPATED when checking for a builtin.(do_nonmember_using_decl): Check DECL_HIDDEN_FRIEND_P as well asDECL_ANTICIPATED when checking for a builtin.(do_nonmember_using_decl): Likewise.(pushdecl_top_level_1): Add is_friend parameter. Change allcallers.(pushdecl_top_level_maybe_friend): New function.(remove_hidden_names): New function.(struct arg_lookup): Add args field.(friend_of_associated_class_p): New static function.(arg_assoc_namespace): Ignore hidden functions which are notfriends of an associated class of some argument.(lookup_arg_dependent): Remove hidden functions from list passedin. Initialize k.args.* name-lookup.h (remove_hidden_names): Declare.* friend.c (do_friend): Call pushdecl_maybe_friend instead ofpushdecl.* call.c (add_function_candidate): Change DECL_ANTICIPATED test toan assertion, with a check for DECL_HIDDEN_FRIEND_P.(build_new_function_call): Add koenig_p parameter. Changeprototype and callers.* pt.c (register_specialization): Add is_friend parameter. Changeall callers.(push_template_decl_real): Change is_friend parameter to bool.Change prototype and all callers.(tsubst_friend_class): Call pushdecl_top_level_maybe_friendinstead of pushdecl_top_level.2005-09-11 Richard Henderson <rth@redhat.com>* decl2.c (build_anon_union_vars): Copy attributes from the base addr.* pt.c (tsubst_decl): Substitute in DECL_VALUE_EXPR.2005-09-09 Gabriel Dos Reis <gdr@integrable-solutions.net>* parser.c (cp_parser_translation_unit): Simplify. The while-blockwas actually executed at most once.2005-09-09 Richard Henderson <rth@redhat.com>PR debug/20998* cp-tree.def (ALIAS_DECL): Remove.* cp-lang.c (cp_init_ts): Remove support for it.* error.c (dump_decl): Likewise.* name-lookup.c (pushdecl): Likewise.* semantics.c (finish_id_expression): Likewise.* decl2.c (build_anon_union_vars): Use a VAR_DECL withDECL_VALUE_EXPR instead.2005-09-09 Mark Mitchell <mark@codesourcery.com>PR c++/22252* decl.c (start_preparsed_function): Do not pay attention to#pragma interface for implicitly-defined methods.* decl2.c (cp_finish_file): Do not complain about uses of inlinefunctions that have bodies, even if we decided not to emit thebody in this translation unit.* semantics.c (note_decl_for_pch): Do not mess with linkage.(expand_or_defer_fn): Make inline, non-template functions COMDATat this point.2005-09-08 Richard Henderson <rth@redhat.com>PR debug/23190* decl.c (wrapup_globals_for_namespace): Callemit_debug_global_declarations.* decl2.c (cp_finish_file): Likewise.2005-09-08 Mark Mitchell <mark@codesourcery.com>PR c++/23691* decl2.c (mark_used): Instantiate static data members initializedby constants, even in a template.2005-09-08 Andrew Pinski <pinskia@physics.uc.edu>PR obj-c++/16816* parser.c (cp_parser_objc_selector_expression): Treat CPP_SCOPE astwo CPP_COLON.2005-09-07 Richard Guenther <rguenther@suse.de>* cp-gimplify.c (cp_gimplify_expr): Create empty CONSTRUCTORfor EMPTY_CLASS_EXPR.2005-09-06 Jakub Jelinek <jakub@redhat.com>PR c/23075* typeck.c (check_return_expr): Add no_warning argument. Set*no_warning to true if "return-statement with no value, in functionreturning" warning has been issued.* cp-tree.h (check_return_expr): Adjust prototype.* semantics.c (finish_return_stmt): Set TREE_NO_WARNING ifcheck_return_expr set *no_warning to true.2005-09-06 Mark Mitchell <mark@codesourcery.com>* cp-tree.h (rvalue): New function.* call.c (build_conditional_expr): Use it.* init.c (build_new_1): Likewise.* rtti.c (build_dynamic_cast_1): Likewise.* tree.c (rvalue): New function.* typeck.c (build_unary_op): Use it.(build_static_cast_1): Likewise.PR c++/9782* init.c (build_new_1): Make sure the entire array type iscomplete, not just its element types.2005-09-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* decl.c (check_elaborated_type_specifier): Remove redundant check.2005-09-06 Jakub Jelinek <jakub@redhat.com>PR c++/23056* typeck.c (ignore_overflows): New helper function.(build_static_cast_1): Use it.2005-09-06 Kazu Hirata <kazu@codesourcery.com>* cp-tree.h, decl.c, decl2.c, semantics.c: Fix comment typos.Follow spelling conventions.2005-09-05 Mark Mitchell <mark@codesourcery.com>PR c++/23667* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INSTANTIATED whencopying a VAR_DECL.2005-09-05 Mark Mitchell <mark@codesourcery.com>PR c++/21440* semantics.c (finish_stmt_expr_expr): Add an explicitinitialization to the last statement in the statement-expression.* (finish_stmt_expr): Adjust accordingly.2005-09-03 Mark Mitchell <mark@codesourcery.com>PR c++/23699* decl2.c (mark_used): Always instantiate static data membersinitialized by constant expressions.* pt.c (instantiate_decl): Instantiate the initializers for staticdata members initialized by constant expressions.PR c++/21687* semantics.c (expand_or_defer_fn): Do not call ggc_collect whenfinishing processing for a template function in a local class.Revert:2005-09-02 Mark Mitchell <mark@codesourcery.com>* parser.c (cp_parser_class_specifier): Push/pop GC contextsaround functions in local classes.2005-09-02 Mark Mitchell <mark@codesourcery.com>PR c++/21687* parser.c (cp_parser_class_specifier): Push/pop GC contextsaround functions in local classes.2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>PR obj-c++/23640* decl2.c (cp_finish_file): If this is obj-c++ and we need a staticinit, call generate_ctor_or_dtor_function.2005-08-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/13377* parser.c (cp_parser_lookup_name): Pass LOOKUP_COMPLAIN tolookup_name_real on final parse.2005-08-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/23639* semantics.c (qualified_name_lookup_error): Do not complain againon invalid scope.2005-08-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/23586* parser.c (cp_parser_namespace_name): Move diagnostic forinvalid namespace-name to here from ...* name-lookup.c (do_namespace_alias): ... here and ...(do_using_directive): ... here. Remove dead code.2005-08-28 Mark Mitchell <mark@codesourcery.com>PR c++/23099* cp-tree.h (saved_scope): Add skip_evaluation.* decl.c (start_decl): Use DECL_INITIALIZED_IN_CLASS_P, notDECL_INITIAL, to determine whether or not a static data member wasinitialized in the class-specifier.(cp_finish_decl): Add comment.* init.c (integral_constant_value): Subtitute into theinitializers for static data members in templates.* name-lookup.c (push_to_top_level): Save skip_evaluation.(pop_from_top_level): Restore it.* pt.c (instantiate_class_template): Do not substitute into theintializers of static data members when instantiating a class.(regenerate_decl_from_template): Simplify.(instantiate_decl): Tidy. Substitute into the initializer for astatic data member even when the definition of the data member isnot available.2005-08-26 Mark Mitchell <mark@codesourcery.com>PR c++/19004* pt.c (uses_template_parms): Handle IDENTIFIER_NODE.(type_dependent_expression_p): Allow BASELINKs whose associatedfunctions are simply a FUNCTION_DECL.PR c++/23491* cp-tree.h (build_vec_init): Adjust prototype.* init.c (perform_member_init): Adjust call to build_vec_init.(build_aggr_init): Likewise.(build_new_1): Do not call build_default_init for array types.(build_vec_init): Add explicit_default_init_p parameter. Performdefault initialization of vector elements when set.* typeck.c (build_modify_expr): Adjust call to build_vec_init.2005-08-25 Nathan Sidwell <nathan@codesourcery.com>PR c++/20817* typeck.c (build_x_unary_op): Make sure OFFSET_REF is not for a->*.2005-08-24 Nathan Sidwell <nathan@codesourcery.com>PR c++/22454* parser.c (cp_lexer_peek_nth_token): Relax assert.2005-08-23 Nathan Sidwell <nathan@codesourcery.com>PR c++/23044* pt.c (tsubst_qualified_id): A SCOPE_REF can still remain.2005-08-22 James E Wilson <wilson@specifix.com>PR tree-optimization/23426* decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE forarray size check.2005-08-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/22233* pt.c (push_template_decl_real): Return error_mark_node if thenumber of template parameters does not match previous definition.2005-08-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/23089* decl.c (require_complete_types_for_parms): Mark incomplete typesas invalid.2005-08-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* parser.c (cp_parser_nth_token_starts_template_argument_list_p):Fix typo in leading comment.2005-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>* name-lookup.c, ptree.c: Delete HOST_PTR_PRINTF.2005-08-15 Fariborz Jahanian <fjahanian@apple.com>* cp-tree.h (can_convert_arg, fn_type_unification): New argument.* call.c (add_template_candidate_real): Pass down 'flags' tofn_type_unification.(can_convert_arg): New 'flags' argument. Pass it to call toimplicit_conversion instead of LOOKUP_NORMAL.(can_convert): Add LOOKUP_NORMAL to call to can_convert_arg.* class.c (resolve_address_of_overloaded_function): Ditto.(resolve_address_of_overloaded_function): Ditto.* decl.c (reshape_init, check_default_argument): Ditto.* typeck.c (build_ptrmemfunc): Ditto.* pt.c (type_unification_real): Add 'flags' argument.(fn_type_unification): Pass 'flags' to type_unification_real.(type_unification_real): Pass new 'flags' argument to call tocan_convert_arg.2005-08-12 Giovanni Bajo <giovannibajo@libero.it>Nathan Sidwell <nathan@codesourcery.com>PR c++/21799PR c++/8271* pt.c (unify) <METHOD_TYPE>: Check this-pointer cv-qualifiersexplicitly.2005-08-12 Nathan Sidwell <nathan@codesourcery.com>PR c++/21799Revert my 2005-07-08 patch* pt.c (type_unification_real): Remove is_method_argument andassoicated checks.(fn_type_unification, unify): Adjust type_unification_real calls.2005-08-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/23266* decl2.c (grokfield): Check that method is not static beforemarking it as pure.2005-08-11 Nathan Sidwell <nathan@codesourcery.com>PR c++/23219* name-lookup.c (pushtag): Process the template type beforealtering the identifier lookup fields. Remove unreachable codecreating an empty stub decl.2005-08-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/20646* decl.c (grokdeclarator): Reset storage_class after error.2005-08-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/22508* init.c (build_new_1): Check for empty candidate list.2005-08-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/23191* pt.c (tsubst) <case METHOD_TYPE>: Check for error_mark_nodebefore calling build_exception_variant.2005-08-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/19498* pt.c (tsubst_decl) <case TEMPLATE_DECL>: Return ERROR_MARK_NODEif substitution of template args did not succeed.2005-08-06 Michael Matz <matz@suse.de>* method.c (use_thunk): Call init_insn_lengths.2005-08-05 James A. Morrison <phython@gcc.gnu.org>PR c++/22514* name-lookup.c (cp_emit_debug_info_for_using): Do nothing ifsorrycount or errorcount are nonzero.2005-08-05 Mark Mitchell <mark@codesourcery.com>* name-lookup.c (pushtag): Remove accidental commit from:2004-12-21 Mark Mitchell <mark@codesourcery.com>PR c++/19063* decl.c (grokdeclarator): Return error_mark_node, notvoid_type_node, to indicate errors.* parser.c (cp_parser_template_parameter_list): Robustify.(cp_parser_template_parameter): Likewise.2005-08-01 Kazu Hirata <kazu@codesourcery.com>* class.c, decl.c, name-lookup.c, pt.c, typeck.c, typeck2.c:Fix comment typos.2005-07-29 Kazu Hirata <kazu@codesourcery.com>* method.c: Fix a comment typo.2005-07-28 Mark Mitchell <mark@codesourcery.com>PR c++/22545* call.c (add_builtin_candidate): Adjust for changes inrepresentation of pointer-to-member types.2005-07-28 Mike Stump <mrs@apple.com>* pt.c (check_explicit_specialization): Add visibility logic.(lookup_template_class): Likewise.(instantiate_class_template): Likewise.2005-07-27 Devang Patel <dpatel@apple.com>* name-lookup.c (pushtag): Do no set DECL_IGNORED_P bit.2005-07-25 Ian Lance Taylor <ian@airs.com>* ptree.c (cxx_print_identifier): Print a leading space if theindent level is 0.2005-07-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>* call.c (convert_for_arg_passing): Check function pointers when-Wmissing-format-attribute is activated.* typeck.c (convert_for_assignment): Likewise.2005-07-22 Manfred Hollstein <mh@suse.com>* parser.c (cp_parser_declaration): Fix unitialised warnings.2005-07-21 Andrew Pinski <pinskia@physics.uc.edu>* class.c (build_base_path): Fix typo.2005-07-21 Andrew Pinski <pinskia@physics.uc.edu>PR C++/22358* class.c (build_base_path): Convert BINFO_OFFSET to the correct type.2005-07-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* call.c: Fix comment typo(s).* cxx-pretty-print.h: Likewise.* name-lookup.c: Likewise.* parser.c: Likewise.2005-07-20 Douglas Gregor <doug.gregor@gmail.com>PR c++/2922* semantics.c (perform_koenig_lookup): For dependent calls, justreturn the set of functions we've found so far. Later, it will beaugmented by those found through argument-dependent lookup.* name-lookup.c (lookup_arg_dependent): Implement DR 164 by removingthe optimization that skips namespaces where the functions wereoriginally found.2005-07-20 Giovanni Bajo <giovannibajo@libero.it>Make CONSTRUCTOR use VEC to store initializers.* call.c (convert_default_arg): Update call to digest_init.* class.c (dump_class_hierarchy, dump_array): Update to cope withVEC in CONSTRUCTOR_ELTS.* cp-tree.h (EMPTY_CONSTRUCTOR_P): Likewise.(finish_compound_literal, digest_init): Update declaration.* decl.c (struct reshape_iter): New data type.(reshape_init_array): Rename to...(reshape_init_array_1): Update to cope with VEC in CONSTRUCTOR_ELTS.(reshape_init): Rewrite from scratch. Split parts into...(reshape_init_array, reshape_init_vector, reshape_init_class,reshape_init_r): New functions.(check_initializer): Update call to reshape_init. Remove obsoletecode.(initialize_artificial_var, cp_complete_array_type): Update to copewith VEC in CONSTRUCTOR_ELTS.* decl2.c (grokfield): Update calls to digest_init.(mark_vtable_entries): Update to cope with VEC in CONSTRUCTOR_ELTS.* error.c (dump_expr_init_vec): New function.(dump_expr): Use dump_expr_init_vec.* init.c (build_zero_init, build_vec_init): Update to cope with VECin CONSTRUCTOR_ELTS.(expand_default_init): Update call to digest_init.* parser.c (cp_parser_postfix_expression): Use a VEC for theinitializers.(cp_parser_initializer_list): Build a VEC of initializers.* pt.c (tsubst_copy, tsubst_copy_and_build): Update to cope with VECin CONSTRUCTOR_ELTS.* rtti.c (tinfo_base_init, generic_initializer, ptr_initializer,ptm_initializer, class_initializer, get_pseudo_ti_init): Usebuild_constructor_from_list instead of build_constructor.* semantics.c (finish_compound_literal): Update call to digest_init.* tree.c (stabilize_init): Update to cope with VEC inCONSTRUCTOR_ELTS.* typeck.c (build_ptrmemfunc1): Likewise.* typeck2.c: (cxx_incomplete_type_error, split_nonconstant_init_1):Likewise.(store_init_value): Use build_constructor_from_list and update callto digest_init.(digest_init): Rewrite.(process_init_constructor): Rewrite from scratch. Split into...(process_init_constructor_array, picflag_from_initializer,process_init_constructor_record, process_init_constructor_union):New functions.(PICFLAG_ERRONEOUS, PICFLAG_NOT_ALL_CONSTANT, PICFLAG_NOT_ALL_SIMPLE):New macros.(build_functional_cast): Use build_constructor_from_list instead ofbuild_constructor.2005-07-18 Mark Mitchell <mark@codesourcery.com>PR c++/22263* cp-tree.h (instantiate_decl): Change prototype.* decl2.c (mark_used): Adjust accordingly.* pt.c (do_decl_instantiation): Likewise.(instantiate_class_member): Likewise.(instantiate_decl): Rename undefined_ok as expl_inst_class_mem_p.Clear DECL_INTERFACE_KNOWN for an explicitly instantiated templatethat has no definition available.(instantiate_pending_templates): Adjust call to instantiate_decl.2005-07-17 Mark Mitchell <mark@codesourcery.com>PR c++/22139* cp-tree.h (DECL_TEMPLATE_INFO): Improve documentation.* decl.c (duplicate_decls): Re-register template specializationsfor functions that have DECL_TEMLPLATE_INFO, even if they do nothave DECL_TEMPLATE_INSTANTIATION set.2005-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>* call.c (diagnostic_fn_t): New.(build_temp, convert_like_real): Use diagnostic_fn_t.2005-07-15 Mark Mitchell <mark@codesourcery.com>PR c++/22204* repo.c (repo_emit_p): Robustify.2005-07-14 Daniel Berlin <dberlin@dberlin.org>Fix PR c++/22452* tree.c (decl_linkage): Don't check DECL_COMDAT on CONST_DECL.2005-07-15 Mark Mitchell <mark@codesourcery.com>PR c++/22132* call.c (implicit_conversion): Add c_cast_p parameter.(standard_conversion): Likewise. Allow conversions betweendifferently-qualified pointer types when performing a C-stylecast.(add_function_candidate): Adjust callee.(build_builtin_candidate): Likewise.(build_user_type_conversion_1): Likewise.(conditional_conversion): Likewise.(can_convert_arg): Likewise.(can_convert_arg_bad): Likewise.(perform_implicit_conversion): Likewise.* cp-tree.h (comp_ptr_ttypes_const): Declare.* typeck.c (comp_ptr_ttypes_const): Give it external linkage.Return bool.2005-07-12 Volker Reichelt <reichelt@igpm.rwth-aachen.de>Nathan Sidwell <nathan@codesourcery.com>PR c++/20172* pt.c (tsubst_template_parms): Check for invalid non-typeparameters.2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>* cp-lang.c (shadowed_var_for_decl, decl_shadowed_for_var_lookup,decl_shadowed_for_var_insert): Move over to cp-objcp-common.c.(cp_init_ts): Call init_shadowed_var_for_decl.Remove include of gt-cp-cp-lang.h.* cp-objcp-common.c (shadowed_var_for_decl,decl_shadowed_for_var_lookup, decl_shadowed_for_var_insert): Moved fromcp-lang.c.(init_shadowed_var_for_decl): New function to initializeshadowed_var_for_decl.Include gt-cp-cp-objcp-common.h.* Make-lang.in (gt-cp-lang.h): Remove.(gt-cp-cp-objcp-common.h): Add.(cp/cp-lang.o): Remove dependancy on gt-cp-lang.h.(cp/cp-objcp-common.o): Add dependancy on gt-cp-cp-objcp-common.h.* config-lang.in (gtfiles): Remove cp-lang.c and Add cp-objcp-common.c.* cp-tree (init_shadowed_var_for_decl): Add prototype.2005-07-08 Daniel Berlin <dberlin@dberlin.org>* Make-lang.in: Add gt-cp-lang.h.(cp-lang.o): Ditto.* class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME onthe field.* config-lang.in: Add cp-lang.c to gtfiles.* cp-lang.c: Include hashtab.h.(cp_init_ts): New function.(LANG_HOOK_INIT_TS): Use macro.(decl_shadowed_for_var_lookup): New function.(decl_shadowed_for_var_insert): Ditto.* cp-tree.h (THUNK_FUNCTION_CHECK): Use decl_common.(NON_THUNK_FUNCTION_CHECK): Ditto.(DECL_NAMESPACE_ASSOCIATIONS): Use decl_non_common.(DECL_INIT_PRIORITY): Ditto.(DECL_HAS_SHADOWED_FOR_VAR_P): Ditto.(DECL_SHADOWED_FOR_VAR): Use hashtable.(SET_DECL_SHADOWED_FOR_VAR): Ditto.* decl.c (duplicate_decls): Update for new/updated structures.(poplevel): Use SET_DECL_SHADOWED_FOR_VAR.* decl2.c (start_static_initialization_or_destruction): Deal withpriority.* pt.c (tsubst_decl): Check TS_DECL_WRTL before doingSET_DECL_RTL.* tree.c (handle_init_priority_attribute): Handle priority.2005-07-08 Nathan Sidwell <nathan@codesourcery.com>PR c++/21799* pt.c (type_unification_real): Add is_method argument. Use itfor this pointer unification.(fn_type_unification): Adjust type_unification_real call.(unify): Likewise.2005-07-07 Nathan Sidwell <nathan@codesourcery.com>* pt.c (type_unification_real): Remove allow_incomplete argument.Remove unreachable code.(fn_type_unification): Adjust call to type_unification_real.(unify): Likewise.2005-07-05 Paolo Bonzini <bonzini@gnu.org>* Makefile.in (class.o, decl2.o): Adjust dependencies.* class.c: Include tree-dump.h.* decl2.c: Include tree-dump.h.2005-07-02 Gabriel Dos Reis <gdr@integrable-solutions.net>* dump.c: Use dump_string_field.2005-07-03 Joseph S. Myers <joseph@codesourcery.com>* cp-tree.h (GCC_DIAG_STYLE): #undef before defining. Changeminimum GCC version for format checking to 4.1.2005-07-02 Kazu Hirata <kazu@codesourcery.com>* Make-lang.in (cc1plus-checksum.c): Usebuild/genchecksum$(build_exeext), not build/genchecksum$(exeext).2005-07-02 Joseph S. Myers <joseph@codesourcery.com>* name-lookup.c, parser.c: Use %q, %< and %> to quote indiagnostics.2005-07-02 Zack Weinberg <zack@codesourcery.com>Joseph S. Myers <joseph@codesourcery.com>* error.c (location_of): Add comment.(locate_error, cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.* cp-tree.h (cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.* call.c, class.c, decl.c, decl2.c, friend.c, init.c,name-lookup.c, parser.c, pt.c, search.c, semantics.c, typeck.c,typeck2.c: Use '+' flag instead of %J, cp_error_at, cp_warning_ator cp_pedwarn_at. Mark up some diagnostic strings with N_.2005-06-30 Daniel Berlin <dberlin@dberlin.org>* decl.c (require_complete_types_for_parms): Call relayout_declinstead of layout_decl.2005-06-30 Zack Weinberg <zack@codesourcery.com>Jakub Jelinek <jakub@redhat.com>* cp-lang.c: No need to include cxx-pretty-print.h.* error.c (cp_printer): Update signature. No need to processflags.(print_instantiation_partial_context): Output last newlinewith pp_base_newline.* Make-lang.in: Update dependencies.2005-06-30 Steven Bosscher <stevenb@suse.de>* decl.c (start_decl): Replace DECL_THREAD_LOCAL withDECL_THREAD_LOCAL_P.(cp_finish_decl): Likewise.(grokvardecl): Set the default DECL_TLS_MODEL here.2005-06-28 Joseph S. Myers <joseph@codesourcery.com>* cvt.c (ocp_convert): Use invalid_conversion hook.* typeck.c (build_binary_op): Use invalid_binary_op hook.(build_unary_op): Use invalid_unary_op hook.2005-06-28 Paul Brook <paul@codesourcery.com>* Make-lang.in (cp/except.o): Depend on $(TARGET_H)* except.c: Include target.h.(init_exception_processing): Initialize unwind_resume_libfunc.* doc/tm.texi: Document TARGET_ASM_TTYPE2005-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>* call.c (build_over_call): Pass in named argument list to`check_function_arguments'.* typeck.c (build_function_call): Likewise.2005-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>* cp-tree.h (lang_check_failed): Add noreturn attribute.2005-06-25 Kelley Cook <kcook@gcc.gnu.org>* all files: Update FSF address in copyright headers.2005-06-23 Jason Merrill <jason@redhat.com>PR c++/19317* semantics.c (simplify_aggr_init_expr): UseCALL_EXPR_RETURN_SLOT_OPT, not CALL_EXPR_HAS_RETURN_SLOT_ADDR.2005-06-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* pt.c (register_specialization): Remove superfluous assertion.2005-06-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>* call.c (convert_like_real): Add format attribute.* typeck.c (check_for_casting_away_constness,build_static_cast_1): Likewise.* typeck2.c (readonly_error, cxx_incomplete_type_diagnostic):Likewise.2005-06-17 Geoffrey Keating <geoffk@apple.com>PR c++/17413* pt.c (type_unification_real): Apply template type deduction evento procedure parameters that are not dependent on a templateparameter.2005-06-16 Nathan Sidwell <nathan@codesourcery.com>* rtti.c (get_tinfo_decl): Avoid caching tinfo_descs when it mightchange.(create_pseudo_type_info): First parameter is an int.2005-06-15 Nathan Sidwell <nathan@codesourcery.com>PR c++/20678* error.c (dump_expr) <COMPONENT_REF case>: Check DECL_NAME is notnull.* 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 ifin-class decl's initializer is bad.PR c++/21929* parser.c (struct cp_parser): Document that scope could beerror_mark.(cp_parser_diagnose_invalid_type_name): Cope with error_mark forscope.(cp_parser_nested_name_specifier): Return NULL_TREE on error.(cp_parser_postfix_expression): Deal with null or error_markscope.(cp_parser_elaborated_type_specifier): Adjustcp_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.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_declwhen 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/missingidentifiers.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 aVEC.* pt.c (tsubst_arg_types): Likewise.* parser.c (cp_parser_late_parsing_default_args): Fix overeagerassert in previous patch.2005-06-06 Jakub Jelinek <jakub@redhat.com>* error.c (locate_error): Use gmsgid instead of msgid for argumentname.(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 parsedargument 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 errormessages.(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-constantexpressions as arguments to __builtin_constant_p.* tree.c (builtin_valid_in_constant_expr_p): UseDECL_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 onthe 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 isa 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 fileinfo.* decl2.c (cp_finish_file): Set input_location before synthesizinga function.(mark_used): When deferring a synthesized function, save currentlocation. Do not set function's location when actuallysynthesizing it.* method.c: #include diagnostic.h.(synthesize_method): Set the functions source location. Showneeded location if errors are emitted.* decl.c (start_decl): Simplify specialization handling. Removeunneeded 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 theinitializer, not the decl.2005-05-30 Mark Mitchell <mark@codesourcery.com>PR c++/21784* name-lookup.c (do_nonmember_using_decl): Ignore builtinfunctions, 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 complextypes if conversion to the corresponding scalar type would bepermitted.PR c++/21340* method.c (implicitly_declare_fn): Clear processing_template_declwhen generating implicit declaration.2005-05-27 Mark Mitchell <mark@codesourcery.com>PR c++/21614* typeck.c (get_member_function_from_ptrfunc): Do not attemptconversions 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 insteadof 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 aconversion, if the result and argument types differ.* tree.c (fold_if_not_in_template): Fold UNARY_PLUS_EXPR muchlike 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 equalclasses. Reorder if.PR c++/21681* parser.c (cp_parser_late_parsing_for_member): Disable accesschecking for template functions.2005-05-26 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/21768* pt.c (redeclare_class_template): Change error message accordingto 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() towarning(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 warningsfor ObjC structs.* decl.c (objc_mark_locals_volatile): Streamline by callingobjc_volatilize_decl().* parser.c (cp_parser_objc_message_expression): Allow simpletype specifiers (instead of merely type names) as messagereceivers.* pt.c (template_args_equal): Do not call objc_comptypes().* typeck.c (composite_pointer_type): If both pointers areObjC-esque, arbitrarily choose the first; do not callobjc_comptypes().(comptypes): Do not call objc_comptypes().(convert_for_assignment): Call objc_compare_types().(comp_ptr_ttypes_real): Call objc_type_quals_match() beforeconcluding 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 theoriginal 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 tohidden 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 fromhere...(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 arealready ok.* decl2.c (generate_ctor_or_dtor_function): Add code to initializeObjective 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): Callcp_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, notcp_stmt_codes macro. Initialize statement_code_p directly, ratherthan using INIT_STATEMENT_CODES.2005-05-09 Mark Mitchell <mark@codesourcery.com>* typeck.c (build_unary_op): Do not resort to address arithmeticwhen 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 toVEC(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 ofVARRAY.* name-lookup.c (add_decl_to_level, begin_scope): Likewise.* name-lookup.h (cp_binding_level): Change the type ofstatic_decls to VEC(tree,gc)*.* mangle.c (globals): Change the type of substitutions toVEC(tree,gc)*.(dump_substitution_candidates, add_substitution,find_substitution, finish_mangling, init_mangle): Use VECinstead 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 ofx_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 VECinstead 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 ofVARRAY.* name-lookup.c (push_to_top_level): Use VEC instead ofVARRAY.2005-05-02 Paolo Bonzini <bonzini@gnu.org>* semantics.c (finish_call_expr): Call resolve_overloaded_builtinfor 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 Ccommon 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_expressionrather 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_codesinitializer.2005-04-25 Andrew Pinski <pinskia@physics.uc.edu>PR C++/21188* rtti.c (ifnonnull): Cast the zero comparison operandto 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 arenot one of the shared integer type nodes and emit a "vendorextended 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 ifinput_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 withnon-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): HandleSTMT_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 insteadof 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): HandleARROW_EXPR.(pp_cxx_unary_expression): Handle SIZEOF_EXPR and ALIGNOF_EXPR.(pp_cxx_expression): Handle ARROW_EXPR, SIZEOF_EXPR, andALIGNOF_EXPR.* typeck.c (cxx_sizeof_or_alignof_type): Update call toc_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 towhich sizeof/alignof is dependent, rather than just whether we areprocessing_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): Adjusttheir 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. Movejava_interface into where redefined was. Increment the widthof dummy.(TYPE_REDEFINED): Remove.2005-04-14 Kazu Hirata <kazu@cs.umass.edu>* cp-tree.h (SET_TMPL_ARG, ENUM_TI_TEMPLATE, ENUM_TI_ARGS,CLASSTYPE_TEMPLATE_LEVEL): Remove.2005-04-11 Mark Mitchell <mark@codesourcery.com>* decl2.c (determine_visibility): Don't use export_class_data.(import_export_decl): Honor TARGET_CXX_CLASS_DATA_ALWAYS_WEAK andTARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY.2005-04-09 Kazu Hirata <kazu@cs.umass.edu>* cp-tree.h (cxx_alignof): Remove.* cp-tree.h (DECL_ARRAY_DELETE_OPERATOR_P): Remove.* cp-tree.h (EXCEPTION_CLEANUP_NAME, B_SET, B_CLR, B_TST,CONV_STATIC_CAST): Remove.* pt.c (UNIFY_ALLOW_MAX_CORRECTION): Remove.* cp-tree.h (VF_BINFO_VALUE, VF_BASETYPE_VALUE): Remove.* cp-tree.h (cp_deprecated): Remove.2005-04-08 Ian Lance Taylor <ian@airs.com>* cp-tree.def: Define FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,CONTINUE_STMT, SWITCH_STMT.* cp-tree.h (cp_stmt_codes): Add FOR_STMT, WHILE_STMT, DO_STMT,BREAK_STMT, CONTINUE_STMT, SWITCH_STMT.(WHILE_COND, WHILE_BODY): Define.(DO_COND, DO_BODY): Define.(FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Define.(SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Define.* cp-gimplify.c (enum bc_t): Define.(struct cp_gimplify_ctx, ctxp): Define.(push_context, pop_context): New static functions.(begin_bc_block, finish_bc_block): New static functions.(build_bc_goto): New static function.(gimplify_cp_loop, gimplify_for_stmt): New static functions.(gimplify_while_stmt, gimplify_do_stmt): Likewise.(gimplify_switch_stmt): Likewise.(cp_gimplify_expr): Handle FOR_STMT, WHILE_STMT, DO_STMT,SWITCH_STMT, CONTINUE_STMT, BREAK_STMT.(cp_genericize): Call push_context and pop_context.* semantics.c (finish_break_stmt): Just call build_stmt(BREAK_STMT) rather than build_break_stmt.(finish_continue_stmt): Corresponding change.* decl.c (pop_switch): Update call to c_do_switch_warnings for newparameters.* cxx-pretty-print.c (pp_cxx_statement): Handle SWITCH_STMT,WHILE_STMT, DO_STMT, FOR_STMT, BREAK_STMT, CONTINUE_STMT.* dump.c (cp_dump_tree): Likewise.2005-04-08 Mark Mitchell <mark@codesourcery.com>PR c++/20905* parser.c (cp_parser_type_specifier_seq): Add is_conditionparameter.(cp_parser_new_type_id): Pass it.(cp_parser_condition): Likewise.(cp_parser_conversion_type_id): Likewise.(cp_parser_type_id): Likewise.(cp_parser_type_specifier_seq): In a condition, do not allowinvalid type-specifier combinations.(cp_parser_exception_declaration): Adjust call tocp_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.(TINST_IN_SYSTEM_HEADER_P): New macro.(make_tinst_level): Remove.* pt.c (lookup_template_class): Preserve DECL_IN_SYSTEM_HEADER onthe instantiated class.(push_tinst_level): Do not use make_tinst_level. SetTINST_IN_SYSTEM_HEADER_P.(pop_tinst_level): Likewise.(instantiate_class_template): Set in_system_header.(instantiate_pending_templates): Likewise.* tree.c (make_tinst_level): Remove.2005-04-06 Joseph S. Myers <joseph@codesourcery.com>* decl.c (start_decl): Apply pending #pragma weak regardless ofscope.2005-04-06 Mark Mitchell <mark@codesourcery.com>PR c++/20212* pt.c (regenerate_decl_from_template): Copy attributes forparameters from the pattern to the instantiation.2005-04-05 Mark Mitchell <mark@codesourcery.com>PR c++/20734* cp-tree.def (OFFSET_REF): Correct comments.* init.c (build_offset_ref): Remove misleading comment.* typeck.c (build_unary_op): Handle pointer-to-member creationhere, rather than ...(unary_complex_lvalue): ... here.2005-04-06 Jason Merrill <jason@redhat.com>PR c++/19312* tree.c (stabilize_init): Don't bother trying to stabilizesomething with no side-effects.2005-04-05 Mark Mitchell <mark@codesourcery.com>PR c++/20763* decl.c (grokdeclarator): Correct attribute handling.2005-04-05 Mark Mitchell <mark@codesourcery.com>PR c++/19159* decl2.c (import_export_decl): Use non-COMDAT external linkagefor virtual tables, typeinfo, etc. that will be emitted in onlyone translation unit on systems without weak symbols.2005-04-04 Mark Mitchell <mark@codesourcery.com>PR c++/20679* parser.c (cp_parser_template_name): Fix thinko.2005-04-04 Nathan Sidwell <nathan@codesourcery.com>PR c++/20746* method.c (use_thunk): Protect covariant pointer returnadjustments from NULL pointers.2005-04-04 Jan Hubicka <jh@suse.cz>* decl2.c (finish_objects): Revert my previous patch.(cp_finish_file): Likewise.2005-04-03 Kazu Hirata <kazu@cs.umass.edu>* pt.c: Fix comment typos.2005-04-03 Nathan Sidwell <nathan@codesourcery.com>PR c++/20723* pt.c (more_specialized_fn): Member functions are unordered wrtnon-members. Conversion operators are unordered wrt otherfunctions.2005-04-01 Nathan Sidwell <nathan@codesourcery.com>* call.c (add_template_candidates_real): Remove length parameterfrom fn_type_unification call.* class.c (resolve_address_of_overloaded_function): Likewise* cp-tree.h (fn_type_unification): Remove length parameter.* pt.c (get_bindings_overload): Remove.(get_bindings_real): Rename to ...(get_bindings): ... here. Remove length and strictparameters. Change return type flag to boolean. Remove originalforwarding function.(determine_specialization): Adjust get_bindings call.(fn_type_unification): Remove length parameter. Adjust.(type_unification_real): Remove length parameter. Adjust.(resolve_overloaded_unification): Adjust get_bindings call.(try_one_overload): Simplify confusing cascaded if control flow.(unify): Remove length paramter from type_unification_real call.(most_specialized_instantiation): Adjust get_bindings calls.(most_specialized): Likewise.2005-03-31 Nathan Sidwell <nathan@codesourcery.com>PR c++/19203, implement DR 214* call.c (joust): Use more_specialized_fn.* cp-tree.h (DEDUCE_ORDER): Remove.(more_specialized): Replace with ...(more_specialized_fn): ... this.* pt.c (maybe_adjust_types_for_deduction): Remove DEDUCE_ORDERcase.(type_unification_real): Remove DEDUCE_ORDER case.(more_specialized): Replace with ...(more_specialized_fn): ... this. Implement DR 214.(most_specialized_instantiation): Use get_bindings_real directly.2005-03-31 Gabriel Dos Reis <gdr@integrable-solutions.net>PR c++/18644* call.c (build_new_op): Remove check for -Wsynth.2005-03-31 Jan Hubicka <jh@suse.cz>* decl2.c (finish_objects): Mark ctor as needed.(cp_finish_file): Output variables only in nonunit-at-a-time.2005-03-29 Richard Henderson <rth@redhat.com>PR c/20519* decl.c (cp_complete_array_type): Rename from complete_array_type.Use the new complete_array_type in c-common.c. Update all callers.* cp-tree.h (cp_complete_array_type): Update to match.2005-03-24 Geoffrey Keating <geoffk@apple.com>* typeck.c (build_static_cast_1): Allow scalar_cast betweenany integral, floating, or enumeration type.2005-03-24 Steven Bosscher <stevenb@suse.de>* typeck.c (comptypes): First determine if the types are compatiblefrom a target-independent point of view. Check target attributeslast.* class.c (build_base_path):(build_vbase_offset_vtbl_entries):(add_vcall_offset): Replace fold (buildN (...)) with fold_buildN.* error.c (dump_expr): Likewise.* init.c (build_zero_init, expand_cleanup_for_base,build_vec_delete_1): Likewise.* mangle.c (write_integer_cst): Likewise.* method.c (thunk_adjust): Likewise.* pt.c (convert_nontype_argument, tsubst, unify): Likewise.* tree.c (cxx_print_statistics, array_type_nelts_total): Likewise.* typeck.c (build_ptrmemfunc_access_expr,(get_member_function_from_ptrfunc): Likewise.2005-03-23 Joseph S. Myers <joseph@codesourcery.com>* cp-objcp-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.2005-03-23 Joseph S. Myers <joseph@codesourcery.com>* cp-tree.h (perform_integral_promotions): Remove.(default_conversion): Add.2005-03-22 Mark Mitchell <mark@codesourcery.com>* parser.c (cp_parser_warn_min_max): New function.(cp_parser_binary_expression): Use it.(cp_parser_assignment_operator_opt): Likewise.(cp_parser_operator): Likewise.2005-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/19980* decl.c (start_preparsed_function): Robustify.2005-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/20499* parser.c (cp_parser_class_head): Return NULL_TREE whenencountering a redefinition.2005-03-22 Nathan Sidwell <nathan@codesourcery.com>PR c++/20465PR c++/20381* typeck.c (build_ptrmemfunc): Allow OFFSET_REF when processing atemplate.2005-03-21 Paolo Carlini <pcarlini@suse.de>PR c++/20461PR c++/20536* init.c (emit_mem_initializers): Don't crash on undefinedtypes.2005-03-21 Paolo Carlini <pcarlini@suse.de>PR c++/20147* semantics.c (finish_stmt_expr_expr): Return immediatelyif error_operand_p (expr).2005-03-21 Joseph S. Myers <joseph@codesourcery.com>* cp-tree.h (lvalue_or_else, lvalue_p): New.* typeck.c (lvalue_or_else): New. Call lvalue_error.2005-03-19 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>PR c++/20240* decl.c (decls_match): Compare context of VAR_DECL.2005-03-19 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>PR c++/20333* parser.c (cp_parser_postfix_expression) <case RID_TYPENAME>:Check the return value of cp_parser_nested_name_specifier.2005-03-18 Dale Johannesen <dalej@apple.com>* cp/tree.c (cp_tree_equal): Handle SSA_NAME.2005-03-18 Paolo Carlini <pcarlini@suse.de>PR c++/20463* parser.c (cp_parser_diagnose_invalid_type_name):Check TYPE_BINFO (current_class_type) before attemptingto emit inform messages.2005-03-17 Paolo Carlini <pcarlini@suse.de>PR c++/19966* cp-tree.h (grok_op_properties): Change return type to void.* decl.c (grok_op_properties): Return early - don't check thearity - in case of a static member or an operator that cannotbe non-member; tidy a bit.2005-03-17 Nathan Sidwell <nathan@codesourcery.com>PR c++/20186* pt.c (contains_dependent_cast_p): Remove.(fold_non_dependent_expr): Don't use it.(value_dependent_expression_p): Use a switch statement.reference_exprs can be dependent.2005-03-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>PR c++/4403PR c++/9783, DR433* name-lookup.c (pushtag): Skip template parameter scope whenscope is ts_global. Don't push tag into template parameterscope.* pt.c (instantiate_class_template): Reorder friend classtemplate substitution to handle non-dependent friend classthat hasn't been previously declared.2005-03-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>Friend class name lookup 5/nPR c++/1016* cp-tree.h (pushtag): Adjust declaration.* decl.c (lookup_and_check_tag): Call lookup_type_scope iflookup_name fails.(xref_tag): Adjust call to pushtag. Make hidden class visible.(start_enum): Adjust call to pushtag.* name-lookup.c (ambiguous_decl): Ignore hidden names.(qualify_lookup): Change return type to bool.(hidden_name_p): New function.(lookup_namespace_name, unqualified_namespace_lookup,lookup_name_real): Use it.(lookup_type_scope): Update comments.(maybe_process_template_type_declaration): Change parameter namefrom globalize to is_friend.(pushtag): Change globalize parameter of type int to tag_scope.Hide name if introduced by friend declaration.* name-lookup.h (hidden_name_p): Add declaration.* parser.c (cp_parser_lookup_name): Don't deal with hidden namehere.* pt.c (push_template_decl_real): Make hidden class templatevisible.(lookup_template_class, instantiate_class_template): Adjust callto pushtag.* semantics.c (begin_class_definition): Likewise.* rtti.c (init_rtti_processing, build_dynamic_cast_1,tinfo_base_init, emit_support_tinfos): Use ts_current instead ofts_global.2005-03-13 Mark Mitchell <mark@codesourcery.com>PR c++/20157* pt.c (determine_specialization): Reject non-specializations.2005-03-11 Per Bothner <per@bothner.com>* cp-tree.h (struct cp_declarator): New id_loc field.* cp/parser.c (cp_lexer_get_preprocessor_token): Set cp_token'slocation using c_lex_with_flags, instead of input_location.(cp_parser_direct_declarator): Set declarator's id_loc fromcp_token's id_loc.2005-03-10 Jakub Jelinek <jakub@redhat.com>PR c++/18384, c++/18327* decl.c (reshape_init_array): Use UHWI type for max_index_cstand index. Convert max_index to size_type_node if it isn'thost_integerp (, 1).2005-03-09 Mark Mitchell <mark@codesourcery.com>PR c++/20208* pt.c (tsubst_decl): Apply array-to-pointer andfunction-to-pointer conversions to function arguments.(regenerate_decl_from_template): Likewise.2005-03-09 Paolo Carlini <pcarlini@suse.de>PR c++/16859* decl.c (complete_array_type): In pedantic mode, return3 for an empty initializer list as the initializer for anarray of unknown bound (8.5.1/4).(maybe_deduce_size_from_array_init): Fix final test to usethe above.2005-03-08 Nathan Sidwell <nathan@codesourcery.com>PR c++/20186* pt.c (contains_dependent_cast_p): New.(fold_non_dependent_expr): Call it.2005-03-08 Mark Mitchell <mark@codesourcery.com>PR c++/20142* cp-tree.h (target_type): Remove.* decl.c (layout_var_decl): Remove #if 0'd code.(cp_finish_decl): Remove dead code.* init.c (build_vec_init): When determining whether or not theelement type has an asignment operator, look through all arraydimensions.* typeck.c (target_type): Remove.2005-03-07 Mark Mitchell <mark@codesourcery.com>* class.c (finish_struct_1): Do not warn about non-virtualdestructors in Java classes.2005-03-05 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>PR c++/19311* init.c (build_offset_ref): Don't build non-dependent SCOPE_REF.* pt.c (build_non_dependent_expr): Don't build NON_DEPENDENT_EXPRfor OFFSET_TYPE.* typeck.c (build_x_unary_op): Don't build non-dependent SCOPE_REF.Also set PTRMEM_OK_P for NON_DEPENDENT_EXPR.(build_unary_op): Handle building ADDR_EXPR of OFFSET_REF insidetemplate.2005-03-02 Alexandre Oliva <aoliva@redhat.com>* name-lookup.c (push_overloaded_decl): Don't error if the newdecl matches the old one.* decl.c (redeclaration_error_message): Likewise.2005-03-01 Per Bothner <per@bothner.com>* decl.c (finish_function): Use SET_EXPR_LOCATION instead ofunavailable annotate_with_file_line, if USE_MAPPED_LOCATION.2005-03-01 Nathan Sidwell <nathan@codesourcery.com>PR c++/20232* class.c (update_vtable_entry_for_fn): Don't crash on invalidcovariancy.* cp-tree.g (THUNK_TARGET): Expand comment.* method.c (use_thunk): Make sure we also use the target, if thatis a thunk.2005-02-27 Jakub Jelinek <jakub@redhat.com>PR c++/20206* decl.c (cxx_comdat_group): Put thunks forTARGET_USE_LOCAL_THUNK_ALIAS_P (function) functions into the samecomdat group as the thunk target.2005-02-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* call.c, class.c, cp-tree.h, decl2.c, error.c, init.c, mangle.c,parser.c: Fix comment typo(s).2005-02-24 Jakub Jelinek <jakub@redhat.com>PR c++/20175* decl.c (reshape_init): Don't warn about missing braces if STRING_CSTinitializes a char/wchar_t array.2005-02-23 Mark Mitchell <mark@codesourcery.com>PR c++/19878* decl.c (grokvardecl): Set DECL_INTERFACE_KNOWN for declarationswith internal linkage.2005-02-23 Alexandre Oliva <aoliva@redhat.com>* decl.c (grokvardecl): Don't exempt anonymous types from havinglinkage for variables that have linkage other than "C".2005-02-23 Kazu Hirata <kazu@cs.umass.edu>* cp-objcp-common.h, error.c: Update copyright.2005-02-22 Mark Mitchell <mark@codesourcery.com>PR c++/20073* decl.c (start_decl_1): Don't clear TREE_READONLY.(cp_finish_decl): Likewise.(complete_vars): Call cp_apply_type_quals_to_decl.* typeck.c (cp_apply_type_quals): Avoid setting TREE_READONLY incases where that's not valid.PR c++/19991* init.c (integral_constant_value): Iterate if the value of a declis itself a constant.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.PR c++/20148* error.c (dump_expr): Do not print the body of a BIND_EXPR.Handle STATEMENT_LIST.PR c++/19883* parser.c (cp_parser_direct_declarator): Always complain aboutnon-constant array bounds when in a function scope.* semantics.c (finish_id_expression): Do not mark dependent namesas non-constant.2005-02-21 Douglas Gregor <dgregor@cs.indiana.edu>PR c++/19076PR c++/6628* cp-tree.h (cp_apply_type_quals_to_decl): Declared.* decl.c (grokdeclarator): Pedwarn about qualifying a functiontype.Add qualifiers when declaring a typedef of a function type.Member function pointers pick up the qualifiers of the typedefused to declare them.Don't complain about creating cv-qualified function types.Complain about qualified function typedefs that are used todeclare non-static member functions or free functions.Use cp_apply_type_quals_to_decl.(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 functiontypes.* pt.c (tsubst_decl): Use cp_apply_type_quals_to_decl.(tsubst): When substituting a function type into a memberpointer type, pass along the qualifiers.(unify): Unify member pointers to member function pointers.* tree.c (cp_build_qualified_type_real): Function types may bequalified. This includes restrict qualifiers.* typeck.c (cp_apply_type_quals_to_decl): New function to replaceuse of c_apply_type_quals_to_decl. Drops qualifiers that are beingadded to function types.2005-02-20 Zack Weinberg <zack@codesourcery.com>PR 18785* cp-objcp-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set toc_common_to_target_charset. Delete bogus comment.2005-02-18 Richard Henderson <rth@redhat.com>PR libstdc++/10606* except.c (do_get_exception_ptr): New.(expand_start_catch_block): Use it.2005-02-19 Jakub Jelinek <jakub@redhat.com>* decl.c (start_decl_1): Only check TYPE_NEEDS_CONSTRUCTINGif type is not error_mark_node.2005-01-20 Giovanni Bajo <giovannibajo@gcc.gnu.org>PR c++/19508* decl2.c (grokfield): Do not apply attributes to template parametersas they are ignored by tsubst anyway.2005-02-18 Jakub Jelinek <jakub@redhat.com>PR c++/19813* decl.c (start_decl_1): Clear TREE_READONLY flag ifits type has TYPE_NEEDS_CONSTRUCTING.(complete_vars): Likewise.2005-02-17 Alexandre Oliva <aoliva@redhat.com>PR c++/20028* class.c (finish_struct): Initialize TYPE_SIZE_UNIT of atemplate along with TYPE_SIZE.PR c++/20022* semantics.c (perform_deferred_access_checks): Useget_deferred_access_checks to get the top of the stack.2005-02-15 Alexandre Oliva <aoliva@redhat.com>PR c++/17788* class.c (add_implicitly_declared_members, check_field_decl)(check_field_decls, check_bases): Remove arguments, tests andassignments of cant_have_default_ctor-related variables.2005-02-15 Alexandre Oliva <aoliva@redhat.com>* decl2.c (mark_used): Set the source location of the used decl tothe current input location here...* method.c (synthesize_method): ... not here. Set input_locationfrom the decl instead.2005-02-14 Nathan Sidwell <nathan@codesourcery.com>PR c++/19608* parser.c (cp_parser_late_parsing_for_member): Usecurrent_function_decl as scope to push to and from.PR c++/19884* pt.c (check_explicit_specialization): Make sure namespacebinding lookup found an overloaded function.(lookup_template_function): Just assert FNS is an overloadedfunction.PR c++/19895* decl.c (grokdeclarator): Check for error mark node in ptrmemconstruction.2005-02-14 Alexandre Oliva <aoliva@redhat.com>PR c++/17816* decl.c (redeclaration_error_message): Report redefinition ofpure virtual function.2005-02-14 Nathan Sidwell <nathan@codesourcery.com>PR c++/19891* class.c (build_simple_base_path): Build the component_refdirectly.(update_vtable_entry_for_fn): Walk the covariant's binfo chainrather than using lookup_base.* search.c (dfs_walk_once): Add non-recursive assert check.* typeck.c (build_class_member_access_expr): It is possible forthe member type to be both const and volatile.2005-02-12 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>PR c++/14479PR c++/19487* pt.c (maybe_check_template_type): Remove.* cp-tree.h (maybe_check_template_type): Remove prototype.* name-lookup.c (maybe_process_template_type_declaration): Don'tuse maybe_check_template_type.2005-02-11 Richard Henderson <rth@redhat.com>PR c++/19632* pt.c (get_mostly_instantiated_function_type): Save and restoreflag_access_control instead of push/pop_access_scope.2005-02-10 Mark Mitchell <mark@codesourcery.com>PR c++/19755* decl.c (reshape_init): Issue warnings about missing braces.2005-02-11 Kazu Hirata <kazu@cs.umass.edu>* cp-tree.def, except.c, ptree.c: Update copyright.2005-02-09 Mark Mitchell <mark@codesourcery.com>PR c++/19811* call.c (build_op_delete_call): Check COMPLETE_TYPE_P beforeattempting name lookup.* parser.c (cp_parser_unqualified_id): Initialize type_decl.PR c++/19787* call.c (initialize_reference): Robustify.PR ++/19732* decl.c (grokdeclarator): Check for invalid use of destructornames.PR c++/19762* parser.c (cp_parser_unqualified_id): Avoid creating destructornames with invalid types.PR c++/19826* parser.c (cp_parser_direct_declarator): Allow type-dependentexpressions as array bounds.PR c++/19739* parser.c (cp_parser_attributes_list): Allow empty lists.2005-02-08 Mark Mitchell <mark@codesourcery.com>PR c++/19733* class.c (add_method): Don't set TYPE_HAS_DESTRUCTOR.(check_bases): Give warnings about a base class with anon-virtual destructor, even if it is implicit.(finish_struct_bits): Don't copy TYPE_HAS_DESTRUCTOR.(maybe_warn_about_overly_private_class): Don't useTYPE_HAS_DESTRUCTOR.(finish_struct_methods): Don't set TYPE_HAS_DESTRUCTOR.(check_for_override): Give it external linkage.(add_implicitly_declared_members): Generate destructors lazily.(check_field_decls): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR, notTYPE_HAS_DESTRUCTOR.(check_bases_and_members): Call check_methods beforecheck_field_decls.(check_bases_and_members): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR, notTYPE_HAS_DESTRUCTOR.(finish_struct_1): Do not use TYPE_HAS_DESTRUCTOR.* cp-tree.def (PSEUDO_DTOR_EXPR): Document.* cp-tree.h (TYPE_HAS_DESTRUCTOR): Remove.(lang_type_class): Add lazy_destructor.(CLASSTYPE_LAZY_DESTRUCTOR): New macro.(CLASSTYPE_DESTRUCTORS): Robustify.(TYPE_HAS_DESTRUCTOR): Remove.(check_for_override): Declare.(build_vbase_delete): Remove.* cvt.c (convert_to_void): Issue errors about pseudo-destructorexpressions.* decl.c (cxx_maybe_build_cleanup): Remove dead code.* except.c (dtor_nothrow): Lazily create destructors if necessary.(build_throw): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR.* init.c (build_delete): Lazily create destructors, if necessary.(build_vbase_delete): Remove.* method.c (locate_dtor): Simplify.(implicitly_declare_fn): Add support for destructors.* parser.c (cp_parser_lookup_name): Lazily create destructors, ifnecessary.* pt.c (check_explicit_specialization): Don't useTYPE_HAS_DESTRUCTOR.(instantiate_class_template): Likewise.* ptree.c (cxx_print_type): Don't print TYPE_HAS_DESTRUCTOR.* rtti.c (emit_support_tinfos): Robustify.* search.c (lookup_fnfields_1): Lazily create destructors.* typeck.c (build_class_member_access_expr): RemovePSEUDO_DTOR_EXPR handling.(lookup_destructor): Likewise.2005-02-08 Kazu Hirata <kazu@cs.umass.edu>* cxx-pretty-print.c, cxx-pretty-print.h, decl.h: Updatecopyright.2005-02-07 Mark Mitchell <mark@codesourcery.com>* parser.c (cp_lexer_start_debugging): Avoid arithmetic operationson boolean variables.(cp_lexer_stop_debugging): Likewise.2005-02-03 Giovanni Bajo <giovannibajo@gcc.gnu.org>PR c++/17401* parser.c (cp_parser_pure_specifier): Emit a specific errormessage with an invalid pure specifier.* decl2.c (grok_function_init): Remove.(grokfield): An initializer for a method is a always a purespecifier.2005-02-02 Matt Austern <austern@apple.com>PR c++/19628* cp-tree.h (builtin_valid_in_constant_expr_p): Declare.* parser.c (cp_parser_postfix_expression): Accept function call inconstant expression if builtin_valid_in_constant_expr_p is truefor that function.* pt.c (value_dependent_expression_p): Handle CALL_EXPRs properly.* semantics.c (finish_id_expression): Accept function call in constantexpression if builtin_valid_in_constant_expr_p is true for thatfunction.* tree.c (builtin_valid_in_constant_expr_p): New.2005-02-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/17413* pt.c (check_instantiated_args): Improve error message.Fix logic when to print its second part.2005-02-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* cp-tree.h (complete_type_or_else): Remove macro.(complete_type_or_diagnostic): Rename to complete_type_or_elseand remove last argument.* typeck.c (complete_type_or_diagnostic): Rename tocomplete_type_or_else and remove last argument.2005-02-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* cp-tree.h (commonparms): Remove prototype.(convert_arguments): Likewise.(PFN_FROM_PTRMEMFUNC): Remove.* typeck.c (commonparms): Make static.(convert_arguments): Add prototype. Make static.(PFN_FROM_PTRMEMFUNC): Replace by pfn_from_ptrmemfunc.2005-01-31 Mark Mitchell <mark@codesourcery.com>* parser.c (cp_parser_primary_expression): Don't complain aboutfloating-point literals in integral constant expressions when!pedantic.2005-02-01 Alexandre Oliva <aoliva@redhat.com>* parser.c (cp_parser_template_id): Revert comment patch too.PR c++/18757PR c++/19366PR c++/19499* parser.c (cp_parser_template_id): Revert 2004-12-09's patch.Issue an error when creating the template id.* pt.c (fn_type_unification): Return early if the explicittemplate arg list is an error_mark_node.2005-01-31 Mark Mitchell <mark@codesourcery.com>* decl.c (build_enumerator): Do not issue duplicate error messagesabout invalid enumeration constants.* parser.c (cp_parser_non_integral_constant_expression): Alwaysset parser->non_integral_constant_expression_p.(cp_parser_primary_expression): Add cast_p parameter. Issueerrors about invalid uses of floating-point literals incast-expressions.(cp_parser_postfix_expression): Add cast_p parameter.(cp_parser_open_square_expression): Pass it.(cp_parser_parenthesized_expression_list): Add cast_p parameter.(cp_parser_unary_expression): Likewise.(cp_parser_new_placement): Pass it.(cp_parser_direct_new_declarator): Likewise.(cp_parser_new_initializer): Likewise.(cp_parser_cast_expression): Add cast_p parameter.(cp_parser_binary_expression): Likewise.(cp_parser_question_colon_clause): Likewise.(cp_parser_assignment_expression): Likewise.(cp_parser_expression): Likewise.(cp_parser_constant_expression): If an integral constantexpression is invalid, return error_mark_node.(cp_parser_expression_statement): Pass cast_p.(cp_parser_condition): Likewise.(cp_parser_iteration_statement): Likewise.(cp_parser_jump_statement): Likewise.(cp_parser_mem_initializer): Likewise.(cp_parser_template_argument): Likewise.(cp_parser_parameter_declaration): Likewise.(cp_parser_initializer): Likewise.(cp_parser_throw_expression): Likewise.(cp_parser_attribute_list): Likewise.(cp_parser_simple_cast_expression): Likewise.(cp_parser_functional_cast): Likewise.(cp_parser_late_parsing_default_args): Likewise.(cp_parser_sizeof_operand): Save/restorenon_integral_constant_expression_p.2005-01-31 Mike Stump <mrs@apple.com>* parser.c (cp_lexer_new_main): Get the first token, first, beforedoing anything.2005-01-31 Mark Mitchell <mark@codesourcery.com>* decl.c (start_decl): Add missing parentheses.2005-01-30 Mark Mitchell <mark@codesourcery.com>PR c++/19555* cp-tree.h (DECL_USE_TEMPLATE): Expand documentation.* decl.c (duplicate_decls): Do not discardDECL_IMPLICIT_INSTANTIATION when merging declarations.(start_decl): Do not SET_DECL_TEMPLATE_SPECIALIZATION forvariables that do not have DECL_USE_TEMPLATE.PR c++/19395* decl.c (grokdeclarator): Refactor code so that qualified namesare never allowed as the declarator in a typedef.PR c++/19367* name-lookup.c (do_nonmember_using_decl): Avoid overloadingbuiltin declarations.PR c++/19457* call.c (convert_like_real): Inline call todubious_conversion_warnings here.* cp-tree.h (dubious_conversion_warnings): Remove.* semantics.c (finish_unary_op_expr): Copy INTEGER_CSTs beforesetting TREE_NEGATED_INT.* typeck.c (dubious_conversion_warnings): Remove.PR c++/19349* name-lookup.c (pushdecl_namespace_level): Avoid accessing free'dmemory.2005-01-28 Mark Mitchell <mark@codesourcery.com>PR c++/19253* parser.c (cp_parser_diagnose_invalid_type_name): Commit totentative parses.PR c++/19667* pt.c (redeclare_class_template): Robustify.2005-01-27 Steven Bosscher <stevenb@suse.de>* decl.c (finish_case_label): Use SWITCH_STMT accessor macrosinstead of SWITCH_EXPR ones.* pt.c (tsubst_expr): Likewise.* semantics.c (begin_switch_stmt, finish_switch_cond,finish_switch_stmt): Likewise.2005-01-26 J"orn Rennecke <joern.rennecke@st.com>PR c++/18370* parser.c (cp_parser_initializer_clause): Initialize *non_constant_p.2005-01-25 Andrew Pinski <pinskia@physics.uc.edu>* class.c (abort_fndecl_addr): New variable.(build_vtbl_initializer): If we have a pure virtual functionshare the abort function's address.Include gt-cp-class.h at the end.* config-lang.in (gtfiles): Add cp/class.c.2005-01-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* cxx-pretty-print.c (pp_cxx_statement): Add prototype. Make static.(pp_cxx_function_definition): Make static.* cxx-pretty-print.h (pp_cxx_statement): Remove prototype.(pp_cxx_function_definition): Likewise.2005-01-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* name-lookup.c (print_binding_level): Make static.(constructor_name_full): Make static inline.(current_decl_namespace): Make static.* name-lookup.h (constructor_name_full): Remove prototype.(print_binding_level): Likewise.(current_decl_namespace): Likewise.2005-01-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>* decl.h (debug_bindings_indentation): Remove.2005-01-23 Kazu Hirata <kazu@cs.umass.edu>* typeck.c: Fix a comment typo.2005-01-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>PR c++/19208* pt.c (fold_decl_constant_value): Always call fold_non_dependent_exprat least once.(tsubst): Use fold_decl_constant_value in place of a bare call tointegral_constant_value.2005-01-20 Kazu Hirata <kazu@cs.umass.edu>* typeck.c (more_qualified_p): Remove.* cp-tree.h: Remove the corresponding prototype.2005-01-19 Matt Austern <austern@apple.com>* typeck.c (comptypes): Handle return code from objc_comptypescorrectly.2005-01-19 Kazu Hirata <kazu@cs.umass.edu>* cp-tree.h, name-lookup.h: Remove unused prototypes.2005-01-19 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>PR c++/19375* semantics.c (finish_id_expression): Disable access checking foralready lookuped FIELD_DECL.2005-01-18 Kazu Hirata <kazu@cs.umass.edu>* decl.c (delete_block): Remove.* cp-tree.h: Remove the corresponding prototype.* decl.c (vtable_decl_p, vtype_decl_p, walk_globals_data,walk_vtables_r, walk_vtables, walk_globals_r, walk_globals):Remove.* cp-tree.h: Remove the corresponding prototypes.* tree.c (count_functions, bound_pmf_p, cp_is_overload_p,cp_update_decl_after_saving, name_p): Remove.* cp-tree.h: Remove the corresponding prototypes.2005-01-18 Andrew Pinski <pinskia@physics.uc.edu>PR c/19472* semantics.c (finish_asm_stmt): Strip nops offinput memory operands.2005-01-18 Kazu Hirata <kazu@cs.umass.edu>* Make-lang.in, call.c, cvt.c, init.c, rtti.c, tree.c,typeck2.c: Update copyright.2005-01-16 Kazu Hirata <kazu@cs.umass.edu>* class.c (get_enclosing_class): Remove.* cp-tree.h: Remove the corresponding prototypes.* cvt.c (convert_lvalue): Remove.* cp-tree.h: Remove the corresponding prototype.* pt.c (tinst_for_decl): Remove.* cp-tree.h: Remove the corresponding prototypes.* tree.c (hash_chainon): Remove.* cp-tree.h: Remove the corresponding prototypes.2005-01-15 Jakub Jelinek <jakub@redhat.com>PR c++/19263* typeck2.c (split_nonconstant_init_1) <case VECTOR_TYPE>: Put a copyof CONSTRUCTOR's node into MODIFY_EXPR, as the original is modified.2005-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>* Make-lang.in (cp-warn): Don't append $(WERROR).2005-01-10 Kazu Hirata <kazu@cs.umass.edu>* cp-tree.h: Fix a comment typo.2005-01-07 Nathan Sidwell <nathan@codesourcery.com>PR c++/19298* pt.c (tsubst_qualified_id): Call convert_from_reference.2005-01-06 Mark Mitchell <mark@codesourcery.com>PR c++/19244* class.c (add_implicitly_declared_members): Remove dead code.* decl.c (grokfndecl): Add sfk parameter. Use it do setDECL_CONSTRUCTOR_P.(grokdeclarator): Adjust calls to grokfndecl.* method.c (implicitly_declare_fn): Improve documentation.* parser.c (cp_parser_direct_declarator): Do not consider afunction to be a constructor if the containing class wasoriginally anonymous.2005-01-06 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>PR c++/17154* search.c (lookup_field_1): Handle using declaration inclass template partial specialization.2005-01-06 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>PR c++/19258* pt.c (push_access_scope): Handle friend defined in class.(pop_access_scope): Likewise.2005-01-06 Nathan Sidwell <nathan@codesourcery.com>PR c++/19270* pt.c (tsubst_copy) <ARRAY_REF case>: Handle separately.(tsubst_copy_and_build) <ARRAY_REF case>: Remove obsoletearray-new handling code. Use build_x_binary_op.2005-01-05 Nathan Sidwell <nathan@codesourcery.com>PR c++/19030* cp-tree.h (start_decl): Take pointer to pushed scope, not bool.* name-lookup.h (push_scope): Return pushed scope, not flag.* name-lookup.c (push_scope): Return scope that should be popped,not a flag.* decl.c (start_decl): Adjust.(grokfndecl): Adjust scope push and pop.* decl2.c (check_classfn): Likewise.* parser.c (cp_parser_condition, cp_parser_conversion_function_id,cp_parser_init_declarator, cp_parser_direct_declarator,cp_parser_class_specifier, cp_parser_class_head,cp_parser_lookup_name,cp_parser_constructor_declarator_p): Likewise.* pt.c (instantiate_class_template,resolve_typename_type): Likewise.2005-01-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>PR c++/14136* parser.c (cp_parser_unqualified_id): Do not issue error messagefor typedef-name as destructor declarator when performing anuncommitted tentative parse.2005-01-01 Steven Bosscher <stevenb@suse.de>PR middle-end/17544* decl.c (finish_function): Fix comment. Annotate the compilergenerated return with the current file name and line 0.Copyright (C) 2005 Free Software Foundation, Inc.Copying and distribution of this file, with or without modification,are permitted in any medium without royalty provided the copyrightnotice and this notice are preserved.
