1. 03 Jan, 2006 11 commits
    • re PR c++/25635 (Bogus cruft in error message for invalid operator declaration) · 357d956e
      	PR c++/25635
      	* class.c (add_method): Set TYPE_HAS_CONVERSION for classes with a
      	conversion operator.
      	* decl.c (grokdeclarator): Do not set TYPE_HAS_CONVERSION here.
      	PR c++/25638
      	* class.c (add_method): Never associate more than one destructor
      	with a single class.
      	PR c++/25637
      	* cp-tree.h (do_friend): Adjust prototype.
      	* decl.c (grokfndecl): Make funcdef_flag a bool, not an int.
      	(grokdeclarator): Likewise.  Refine check for invalid
      	declarations/definitions of member functions outside of their own
      	class.
      	* friend.c (do_friend): Make funcdef_flag a bool, not an int.
      	PR c++/25633
      	* parser.c (cp_parser_mem_initializer_list): Check result of
      	cp_parser_mem_initializer against error_mark_node, not NULL_TREE.
      	(cp_parser_mem_initializer): Return error_mark_node for failure.
      	PR c++/25634
      	* parser.c (cp_parser_template_parameter_list): Call
      	begin_template_parm_list and end_template_parm_list here.
      	(cp_parser_type_parameter): Not here.
      	(cp_parser_template_declaration_after_export): Or here.
      	(cp_parser_elaborated_type_specifier): Call
      	cp_parser_check_template_parameters.
      	* tree.c (build_target_expr_with_type): Use force_target_expr.
      	PR c++/25635
      	* g++.dg/parse/operator6.C: New test.
      	PR c++/25637
      	* g++.dg/parse/error29.C: New test.
      	PR c++/25638
      	* g++.dg/parse/dtor6.C: New test.
      	PR c++/25633
      	* g++.dg/parse/ctor3.C: New test.
      	PR c++/25634
      	* g++.dg/template/class3.C: New test.
      
      From-SVN: r109270
      Mark Mitchell committed
    • combine.c (reg_subword_p): New predicate to test whether the destination of a set refers to a... · 622d5258
      
      	* combine.c (reg_subword_p): New predicate to test whether the
      	destination of a set refers to a subword/piece of a register.
      	(try_combine): Generalize the code to merge the setting of a
      	pseudo to a constant followed by a set of a subword of that
      	register to a constant.
      
      From-SVN: r109267
      Roger Sayle committed
    • tree-ssa-propagate.c (cfg_blocks): Change the type to VEC(basic_block,heap) *. · 36c88f34
      	* tree-ssa-propagate.c (cfg_blocks): Change the type to
      	VEC(basic_block,heap) *.
      	(cfg_blocks_add, cfg_blocks_get, ssa_prop_init,
      	ssa_prop_fini): Adjust the uses of cfg_blocks.
      
      From-SVN: r109266
      Kazu Hirata committed
    • basic-block.h (control_flow_graph): Change the type of x_label_to_block_map to… · e597f337
      basic-block.h (control_flow_graph): Change the type of x_label_to_block_map to VEC(basic_block,gc) *.
      
      	* basic-block.h (control_flow_graph): Change the type of
      	x_label_to_block_map to VEC(basic_block,gc) *.
      	* tree-cfg.c (init_empty_tree_cfg, label_to_block_fn,
      	set_bb_for_stmt): Adjust the uses of x_label_to_block_map.
      
      From-SVN: r109265
      Kazu Hirata committed
    • re PR rtl-optimization/25130 (miscompilation in GCSE) · 78b76d08
      	* fold-const.c (operand_equal_p): Accept a NULL operand 0 for
      	COMPONENT_REFs.
      	* emit-rtl.c (mem_attrs_htab_eq): Use iterative_hash_expr for
      	hashing trees instead of a pointer hash.
      	(mem_attrs_htab_eq): Do a deep compare instead of a pointer
      	compare for MEM_EXPR.
      
      	PR rtl-optimization/25130
      	* cse.c (exp_equiv_p): Compare MEM_ATTRS instead of MEM_ALIAS_SET
      	when comparing MEMs for GCSE
      
      From-SVN: r109264
      Steven Bosscher committed
    • targhooks.h (default_decimal_float_supported_p): Declare. · 0884546e
      	* targhooks.h (default_decimal_float_supported_p): Declare.
      	* targhooks.c (default_decimal_float_supported_p): Define.
      	* target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Redefine to
      	`default_decimal_float_supported_p'.
      	* doc/tm.texi (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Update.
      
      From-SVN: r109262
      Ben Elliston committed
    • combine.c (apply_distributive_law <SUBREG>): Check TRULY_NOOP_TRUNCATION. · f13f406e
      	* combine.c (apply_distributive_law <SUBREG>): Check
      	TRULY_NOOP_TRUNCATION.
      
      From-SVN: r109261
      Adam Nemet committed
    • Index: gcc/ChangeLog · 1146e682
      2006-01-02  Geoffrey Keating  <geoffk@apple.com>
      
      	* dwarf2out.c (have_switched_text_section): Delete.
      	(have_multiple_function_sections): New.
      	(have_location_lists): Make 'bool'.
      	(add_AT_loc_list): Use 'true' not '1'.
      	(dwarf2out_switch_text_section): Set have_multiple_function_sections.
      	(output_loc_list): Use have_multiple_function_sections.
      	(output_ranges): Likewise.
      	(dwarf2out_begin_function): Set have_multiple_function_sections if
      	necessary.
      	(dwarf2out_source_line): Don't fake separate_line_info_table_in_use.
      	Check function_section rather than DECL_SECTION_NAME.
      	(dwarf2out_finish): Use have_multiple_function_sections.
      	Don't clear have_location_lists.
      
      Index: gcc/testsuite/ChangeLog
      2006-01-02  Geoffrey Keating  <geoffk@apple.com>
      
      	* g++.dg/debug/debug9.C: New.
      
      From-SVN: r109260
      Geoffrey Keating committed
    • * zh_CN.po: Update. · 5ae500d2
      From-SVN: r109258
      Joseph Myers committed
    • libtool-ldflags: New script. · d79e6356
      	* libtool-ldflags: New script.
      
      	* src/Makefile.am (LTLDFLAGS): New variable. 
      	(CXXLINK): Use LTLDFLAGS.
      	* src/Makefile.in: Regenerated.
      	* libsupc++/Makefile.am (LTLDFLAGS): New variable. 
      	(CXXLINK): Use LTLDFLAGS.
      	* libsupc++/Makefile.in: Regenerated.
      
      From-SVN: r109256
      Mark Mitchell committed
    • Daily bump. · 0ac6ae9a
      From-SVN: r109253
      GCC Administrator committed
  2. 02 Jan, 2006 11 commits
  3. 01 Jan, 2006 10 commits
  4. 31 Dec, 2005 6 commits
  5. 30 Dec, 2005 2 commits
    • tree-outof-ssa.c (_elim_graph): Change the type of STACK to VEC(int,heap). · 1f452424
      	* tree-outof-ssa.c (_elim_graph): Change the type of STACK to
      	VEC(int,heap).
      	(new_elim_graph, delete_elim_graph, elim_forward,
      	eliminate_phi): Use the VEC API on STACK.
      
      From-SVN: r109182
      Kazu Hirata committed
    • tree.h (VALUE_HANDLE_VUSES): New. · c90186eb
      2005-12-29  Daniel Berlin  <dberlin@dberlin.org>
      
      	* tree.h (VALUE_HANDLE_VUSES): New.
      	(struct tree_value_handle): Add vuses.
      
      	* tree-vn.c (struct val_expr_pair_d): Remove stmt, add vuses.
      	(vn_compute): Remove stmt argument.
      	Don't use vuses in hash value computation.
      	(val_expr_pair_eq): Compare vuse lists.
      	(copy_vuses_from_stmt): New function.
      	(shared_vuses_from_stmt): Ditto.
      	(vn_add): Rewrite in terms of vn_add_with_vuses.
      	(vn_add_with_vuses): New function.
      	(vn_lookup): Rewrite in terms of vn_lookup_with_vuses.
      	(vn_lookup_with_vuses): New function.
      	(vuses_compare): New function.
      	(print_creation_to_file): Ditto.
      	(vn_lookup_or_add): Rewrite to handle vuses.
      	(sort_vuses): New function.
      	(vn_lookup_or_add_with_vuses): Ditto.
      	(vn_init): Initialize shared_lookup_vuses.
      	(vn_delete): Free shared_lookup_vuses.
      
      	* tree-ssa-pre.c: Update todo list.
      	(bb_value_sets_t): Add rvuse_in, rvuse_out, rvuse_gen, and
      	rvuse_kill.
      	(RVUSE_IN): New macro.
      	(RVUSE_GEN): Ditto.
      	(RVUSE_KILL): Ditto.
      	(RVUSE_OUT): Ditto.
      	(modify_expr_node_pool): New function.
      	(pretemp): New.
      	(storetemp): Ditto.
      	(mergephitemp): Ditto.
      	(prephitemp): Ditto.
      	(struct expr_pred_trans_d): Add vuses member.
      	(expr_pred_trans_eq): Compare vuses.
      	(phi_trans_lookup): Add vuses argument.
      	(phi_trans_add): Ditto.
      	(translate_vuses_through_block): New function.
      	(phi_translate): Use vuses to ask about those expressions that can
      	have vuses.
      	Properly translate virtual uses through phis, and use
      	vn_lookup_or_add_with vuses.  Handle tcc_reference.
      	(phi_translate_set): Don't add pointless translations to the
      	cache.
      	(get_representative): New function.
      	(vuses_dies_in_block_x): Ditto.
      	(valid_in_set): Add block argument.  Check virtual use validity.
      	(clean): Add block argument. Update call to valid_in_set
      	(compute_antic_aux): Update call to clean.
      	(dump_bitmap_of_names): New function.
      	(compute_vuse_representatives): Ditto.
      	(compute_rvuse): Ditto.
      	(can_value_number_call): Modified to accept calls with vuses.
      	(can_value_number_operation): New function.
      	(can_PRE_operation): Ditto.
      	(need_creation): New vector of stores that may need creation.
      	(find_or_generate_expression): use can_PRE_operation.
      	(create_expression_by_pieces): Handle INDIRECT_REF.
      	Only create one temp until we have to change types.
      	Mark new vars for renaming.
      	(insert_into_preds_of_block): Ignore loopiness of loads.
      	Use can_PRE_operation.
      	Only create one temp until we have to chnge types.
      	(insert_aux): Use can_PRE_operation.
      	Don't pass name to insert_into_preds_of_block.
      	(insert_extra_phis): Only use one temp until we have to change
      	types.
      	(poolify_tree): New function.
      	(modify_expr_template): New var.
      	(poolify_modify_expr): New function.
      	(insert_fake_stores): Ditto.
      	(realify_fake_stores): Ditto.
      	(compute_avail): Use can_value_number_operation.
      	(mark_operand_necessary): Return NULL for non-SSA names.
      	(remove_dead_inserted_code): Update comment.
      	(init_pre): Initialize pretemp, need_creation, storetemp,
      	mergephitemp, prephitemp.
      	Create modify_expr_node_pool.
      	(fini_pre): Free modify_expr_node_pool and need_creation array.
      	(execute_pre): Call insert_fake_stores, compute_rvuse, and
      	realify_fake_stores. 
      	* tree-flow.h (vn_compute): Fix prototype.
      	(vn_add): Ditto.
      	(vn_lookup): Ditto.
      	(sort_vuses): New.
      	(vn_lookup_or_add_with_vuses): Ditto.
      	(vn_add_with_vuses): Ditto.
      	(vn_lookup_with_vuses): Ditto.
      	* passes.c (pass_may_alias): Add.
      
      From-SVN: r109180
      Daniel Berlin committed