1. 23 May, 2006 12 commits
    • re PR c++/20173 (gcc accepts invalid partial specialization attempt of member function) · 29a1da1c
      	PR c++/20173
      	* pt.c (determine_specialization): Disallow partial
      	specializations of templates.
      	PR c++/20173
      	* g++.dg/template/error21.C: New test.
      
      From-SVN: r114023
      Mark Mitchell committed
    • libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro. · b2a203c8
      	* libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
      	(LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
      	MIN_UNITS_PER_WORD to set the default.  Also use it in the guard.
      
      From-SVN: r114022
      Richard Sandiford committed
    • expr.c (undefined_operand_subword_p): New. · 550ab0c6
      	* expr.c (undefined_operand_subword_p): New.
      	(emit_move_multi_word): Do not generate move from undefined bits
      	of a paradoxical subreg.
      
      From-SVN: r114021
      Joseph Myers committed
    • re PR middle-end/27736 (unwind-dw2-fde.c:833: fatal error: internal consistency failure) · e5d7a520
      	PR rtl-optimization/27736
      	* combine.c (replaced_rhs_value): New variable.
      	(combine_instructions): Set it.
      	(distribute_notes): When distributing a note in replaced_rhs_insn,
      	check whether the value was used in replaced_rhs_value.
      
      From-SVN: r114019
      Richard Sandiford committed
    • re PR c++/26757 (C++ front-end producing two DECLs with the same UID) · f004ab02
      
      2006-05-23  Andrew MacLeod  <amacleod@redhat.com>
      	
      	PR c++/26757
      	* tree-ssa-loop-im.c (determine_invariantness_stmt): Use 
      	add_referenced_var instead of add_referenced_tmp_var.
      	* tree-complex.c (create_one_component_var): Use add_referenced_var.
      	* tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
      	add_referenced_var.
      	* tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
      	tree_optimize_tail_calls_1): Use add_referenced_var.
      	* tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
      	* tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
      	Use add_referenced_var.
      	* tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
      	* gimplify.c (force_gimple_operand): Use add_referenced_var.
      	* tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
      	Use add_referenced_var.
      	* tree-dfa.c (struct walk_state): Remove.
      	(find_referenced_vars): Remove walk state and vars_found hash table.
      	(make_rename_temp): Use add_referenced_var.
      	(find_vars_r): Pass less parameters to add_referenced_var.
      	(referenced_var_p): New.  Is var in referenced_var hash table.
      	(referenced_var_insert): Assert var isn't already in hash table.
      	(add_referenced_var): Don't need walk_state parameter.  Add var if it
      	isn't already in the hash table.
      	(add_referenced_tmp_var): Remove.
      	(find_new_referenced_vars_1): Use add_referenced_var.
      	* tree-ssa-pre.c (create_expression_by_pieces, 
      	insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
      	Use add_referenced_var.
      	* tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
      	* lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
      	lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use 
      	add_referenced_var.
      	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
      	vect_create_data_ref_ptr, vect_create_destination_var,
      	vect_init_vector, vect_build_loop_niters, 
      	vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
      	vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
      	Use add_referenced_var.
      	* tree-outof-ssa.c (create_temp): Use add_referenced_var.
      	* tree-flow.h (add_referenced_tmp_var): Remove prototype
      	(add_referenced_var): Add prototype.
      	* tree-ssa-structalias.c (get_constraint_for, 
      	intra_create_variable_infos): Use add_referenced_var.
      
      From-SVN: r114018
      Andrew MacLeod committed
    • testsuite_shared.cc: Fix --enable-threads=single build. · dcdf969d
      2006-05-23  Paolo Carlini  <pcarlini@suse.de>
      
      	* testsuite/testsuite_shared.cc: Fix --enable-threads=single build.
      
      From-SVN: r114016
      Paolo Carlini committed
    • testsuite_shared.cc: Fix --enable-threads=single build. · 82e5c688
      2006-05-23  Paolo Carlini  <pcarlini@suse.de>
      
      	* testsuite/testsuite_shared.cc: Fix --enable-threads=single build.
      
      From-SVN: r114015
      Paolo Carlini committed
    • simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for big-endian paradoxical subregs. · dedc1e6d
      * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
      big-endian paradoxical subregs.
      * var-tracking.c (struct micro_operation_def): Document that,
      for modify micro operations, insn is the subsequent instruction.
      (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
      (var_reg_set, var_mem_set): ... new functions.
      (add_stores): Record subsequent insn.
      (compute_bb_dataflow): Use new functions for MO_USE.
      (emit_notes_in_bb): Use new functions for MO_USE.  Emit use
      notes after the insn, and modify notes before the insn known
      to be the subsequent one.
      (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
      
      From-SVN: r114013
      Alexandre Oliva committed
    • re PR target/27696 (g++.dg/other/i386-2.C ICEs on the mainline on x86_64) · 546be535
      gcc/
      	PR target/27696
      	* config/i386/i386.c (ix86_expand_builtin): Use
      	gen_sse3_monitor64 for TARGET_64BIT.
      
      testsuite/gcc/
      	PR target/27696
      	* gcc.target/i386/pr27696.c: New.
      
      From-SVN: r114012
      Kazu Hirata committed
    • re PR rtl-optimization/26375 (Swing modulo scheduling results in ICE) · 1a1a5f4b
      2006-05-22  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	PR rtl-optimization/26375
      	PR rtl-optimization/26855
      	* df-problems (df_ru_bb_local_compute_process_def): Removed update
      	to gen set.
      	(df_ru_bb_local_compute): Reversed statements and removed bogus
      	comment explaining why they should be in wrong order.
      	(df_ru_dump, df_rd_dump): Enhanced debug info.     
      	* modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
      	debug info.       
      	* ddg.c (add_deps_for_def): Converted use of reaching defs to
              reaching uses and fixed space problem.
      
      From-SVN: r114010
      Kenneth Zadeck committed
    • cgraphunit.c (decide_is_function_needed): Also nested functions and functions… · b633db7b
      cgraphunit.c (decide_is_function_needed): Also nested functions and functions declared inline can be optimized out at -O0.
      
      
      	* cgraphunit.c (decide_is_function_needed): Also nested functions
      	and functions declared inline can be optimized out at -O0.
      
      From-SVN: r114008
      Jan Hubicka committed
    • Daily bump. · 30df044a
      From-SVN: r114003
      GCC Administrator committed
  2. 22 May, 2006 23 commits
  3. 21 May, 2006 5 commits
    • darwin-c.c (darwin_pragma_options): Use BAD instead. · 213af8c8
      	* config/darwin-c.c (darwin_pragma_options): Use BAD instead.
      	(darwin_pragma_unused): Likewise.
      	(darwin_pragma_ms_struct): Likewise.
      
      From-SVN: r113962
      Mike Stump committed
    • darwin-c.c (BAD): Conditionalize on OPT_Wpragmas. · 76ad5c10
      	* config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
      	(BAD2): Add.
      
      From-SVN: r113961
      Mike Stump committed
    • Add forgot changelog: · 5d384034
      +2006-05-19  Daniel Berlin  <dberlin@dberlin.org>
      +            Kenneth Zadeck <zadeck@naturalbridge.com>
      +
      +       PR rtl-optimization/26855
      +
      +       * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
      +       multiword refs.
      +       (df_scan_alloc): Added code to properly handle multiword hard
      +       registers and add all_blocks parameter.
      +       (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
      +       code to properly handle multiword hard registers.
      +       (df_rescan_blocks): Added code to remove deleted blocks from
      +       bitmap.
      +       (df_ref_create_structure, df_ref_record): Added code to properly
      +       handle subregs.
      +       (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
      +       and set DF_REF_PARTIAL.
      +       (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
      +       (df_uses_record): Added DF_REF_PARTIAL for subreg. 
      +       (df_scan_add_problem): Added flags parameter.
      +       (df_ref_create_structure): Changed switching structure.
      +       (df_bb_refs_record): Fixed case where duplicate artificial refs
      +       were created.  Changed location of flags.
      +       (df_record_entry_block_defs): Added code to make stack pointer
      +       live in entry block.  Refined cases where frame pointer is needed.
      +       Changed location of flags.
      +       (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
      +       (df_set_state): Removed function.
      +       (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
      +       df_insn_create_insn_record, df_insn_refs_delete, 
      +       df_ref_create_structure): Formatting changes.  
      +       * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
      +       df_delete_basic_block): New function.
      +       (df_init): Changed location of flags.
      +       (df_add_problem): Added flags parameter and the way flags are
      +       processed.
      +       (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
      +       debug_df_chain): Improved debugging output.
      +       (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
      +       (df_refs_chain_dump): Removed df parameter.
      +       (df_iterative_dataflow): Added consistency check.
      +       (df_prune_to_subcfg): Made public.
      +       (df_analyze_problem): Added blocks_to_init parameter and made
      +       public.
      +       (df_ref_record, df_bb_refs_record, df_mark_reg, 
      +        df_record_exit_block_uses): Whitespace changes.
      +       (df_dump): Whitespace changes.
      +       * df.h: Some reordering to remove forward references.
      +       (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
      +       DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
      +       (df_ref_flags.DF_REF_CLOBBER): Deleted field.
      +       (dataflow.flags): New field.
      +       (df.flag): Deleted field.
      +       (df_alloc_function): Added additional bitmap parameter.
      +       (df_dependent_problem_function): New type.
      +       (df_problem.changeable_flags): New field.
      +       (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
      +       DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
      +       (df_mw_hardreg): New struct.
      +       (DF_INSN_UID_MWS): New macro.
      +       (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
      +       parameter.
      +       (df_add_problem, df_ru_add_problem, df_rd_add_problem,
      +       df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
      +       df_ri_add_problem, df_scan_add_problem): Added flags parameter.
      +       (df_set_state): Removed function.
      +       (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
      +       * df-problems.c (df_chain_dump): Removed df parameter.
      +       (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
      +       df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
      +       parameter.
      +       (df_ru_alloc, df_rd_alloc): Now resets all blocks.
      +       (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
      +       df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
      +       Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
      +       DF_REF_MUST_CLOBBER cases.
      +       (df_ru_bb_local_compute_process_def,
      +       df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
      +       df_lr_bb_local_compute, df_ur_bb_local_compute,
      +       df_chain_create_bb): Made subreg aware.
      +       (df_ru_bb_local_compute, df_rd_bb_local_compute,
      +       df_lr_bb_local_compute, df_lr_bb_local_compute,
      +       df_chain_create_bb): Cleanup to use proper macros.
      +       (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
      +       code to fixup bitvectors.
      +       (df_ri_alloc): Cleared lifetime.
      +       (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
      +       df_create_unused_note): New function.
      +       (df_ri_bb_compute, df_ri_compute): Added code to create/update
      +       REG_DEAD and REG_UNUSED notes as well as register information.
      +       (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
      +       df_chains_dump): Fixed crash if problem was never run.
      +       (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
      +       df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
      +       df_ri_add_problem): Processes flags in uniform manner.
      +       (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
      +       df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
      +       df_rd_dump, df_urec_free_bb_info): Formatting changes.
      +       (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
      +       df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
      +       df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
      +       df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
      +       df_ur_dump, df_urec_free_bb_info, df_urec_dump,
      +       df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
      +       * modulo-sched.c (sms_schedule): Added flag parameter to calls.
      +       * see.c (see_initialize_data): Ditto.
      +       * final.c (rest_of_clean_state) Added regstack_completed.
      +       * rtl.h (regstack_completed): Ditto.
      +       * reg-stack.c (regstack_completed): Ditto.
      +
      
      From-SVN: r113960
      Daniel Berlin committed
    • * config/rs6000/rs6000.md (floatsitf2): Remove constraints. · d29b7f64
      From-SVN: r113959
      David Edelsohn committed
    • re PR c++/27210 (ICE on c++ template) · b655f214
      	PR c++/27210
      	* cp-tree.h (cp_save_expr): New function.
      	* init.c (build_new): Correct logic for zero-element array
      	warning.  Use cp_save_expr.
      	* tree.c (cp_save_expr): New function.
      	PR c++/27210
      	* g++.dg/warn/new1.C: New test.
      	* g++.dg/template/new5.C: Likewise.
      
      From-SVN: r113958
      Mark Mitchell committed