Commit Graph

59736 Commits

Author SHA1 Message Date
Eric Botcazou
854f240ee0 sparc.md (return): Rewrite length formula.
* config/sparc/sparc.md (return): Rewrite length formula.
	* config/sparc/sparc.c (output_return): Pass 1 as 5th
	argument to final_scan_insn when in a delay slot.
	(output_sibcall): Likewise.

From-SVN: r84352
2004-07-09 09:35:48 +00:00
Richard Earnshaw
2ad4dcf985 arm.c (arm_cpp_interwork): New variable.
* arm.c (arm_cpp_interwork): New variable.
(arm_override_options): Set it if TARGET_INTERWORK was on the command
line.
* arm.h (arm_cpp_interwork): Declare it.
(TARGET_CPU_CPP_BUILTINS): Use it to control definition of
__THUMB_INTERWORK__ in the preprocessor.

From-SVN: r84351
2004-07-09 09:30:46 +00:00
Eric Botcazou
55d816e7c1 simd-5.x: New file.
* gcc.c-torture/execute/simd-5.x: New file.
	XFAIL on SPARC 64-bit at -O0.

From-SVN: r84350
2004-07-09 09:06:36 +00:00
Nathan Sidwell
4dbb165641 * vec.h (VEC_T_alloc): Fix MEM_STAT_DECL pasto.
From-SVN: r84349
2004-07-09 08:33:22 +00:00
Eric Botcazou
42032f7afd re PR target/16416 (-m64 doesn't imply -mcpu=v9 anymore)
PR target/16416
	* config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro.
	Override default settings to account for -m32 and -m64.

From-SVN: r84347
2004-07-09 08:31:34 +00:00
Richard Sandiford
f4cbb208fb Adjust date of Casey's change.
From-SVN: r84346
2004-07-09 07:29:02 +00:00
Richard Sandiford
90428457aa * jartool.c (find_entry, looks_like_dir): Remove inline spec.
From-SVN: r84345
2004-07-09 06:28:17 +00:00
Randolph Chung
8c5ac2c403 pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
* gcc/config/pa/pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
	* libjava/configure.in (SIGNAL_HANDLER): Use pa-signal.h for hppa.
	* libjava/configure: Regenerate.
	* libjava/configure.host: Set can_unwind_signal for hppa*-linux.
	* libjava/pa-signal.h: New file.

From-SVN: r84344
2004-07-09 03:39:35 +00:00
Alexandre Oliva
691e2db899 builtins.c (fold_builtin_strncpy): Make sure len is a constant before comparing it as such.
* builtins.c (fold_builtin_strncpy): Make sure len is a constant
before comparing it as such.

From-SVN: r84343
2004-07-09 03:37:13 +00:00
Richard Henderson
37369edcc9 builtins.c (std_gimplify_va_arg_expr): Hoist valist into a temporary.
* builtins.c (std_gimplify_va_arg_expr): Hoist valist into a
        temporary.  Use bit arithmetic to align.

From-SVN: r84342
2004-07-08 20:36:31 -07:00
Jerry Quinn
4b4bf9414f alias.c (nonlocal_mentioned_p, [...]): Use, LABEL_P, JUMP_P, CALL_P, NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P.
2004-07-08  Jerry Quinn  <jlquinn@optonline.net>

	* alias.c (nonlocal_mentioned_p, nonlocal_referenced_p,
	nonlocal_set_p, init_alias_analysis): Use, LABEL_P, JUMP_P, CALL_P,
	NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P.
	* bb-reorder.c (mark_bb_for_unlikely_executed_section,
	add_labels_and_missing_jumps, find_jump_block,
	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
	Likewise.
	* bt-load.c (btr_referenced_p, compute_defs_uses_and_gen,
	link_btr_uses, move_btr_def): Likewise.
	* builtins.c (expand_builtin_longjmp, expand_builtin_nonlocal_goto,
	expand_builtin_expect_jump): Likewise.
	* caller-save.c (save_call_clobbered_regs, insert_one_insn): Likewise.
	* calls.c (expand_call, emit_library_call_value_1): Likewise.
	* cfganal.c (forwarder_block_p): Likewise.
	* cfgbuild.c (inside_basic_block_p, count_basic_blocks,
	make_label_edge, rtl_make_eh_edge, make_edges, find_basic_blocks_1,
	find_bb_boundaries): Likewise.
	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
	merge_blocks_move_predecessor_nojumps,
	merge_blocks_move_successor_nojumps, insns_match_p,
	flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
	try_optimize_cfg): Likewise.
	* cfgexpand.c (expand_block, construct_exit_block): Likewise.
	* cfglayout.c (skip_insns_after_block, label_for_bb,
	record_effective_endpoints, insn_locators_initialize,
	fixup_reorder_chain, update_unlikely_executed_notes): Likewise.
	* cfgmainloop.c (create_loop_notes): Likewise.
	* cfgrtl.c (delete_insn, delete_insn_chain,
	create_basic_block_structure, rtl_delete_block, free_bb_for_insn,
	update_bb_for_insn, rtl_merge_blocks, rtl_can_merge_blocks,
	block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
	redirect_branch_edge, force_nonfallthru_and_redirect,
	rtl_tidy_fallthru_edge, back_edge_of_syntactic_loop_p,
	rtl_split_edge, commit_one_edge_insertion, print_rtl_with_bb,
	update_br_prob_note, rtl_verify_flow_info_1, rtl_verify_flow_info,
	purge_dead_edges, cfg_layout_redirect_edge_and_branch,
	cfg_layout_delete_block, cfg_layout_can_merge_blocks_p,
	cfg_layout_merge_blocks, rtl_block_ends_with_call_p,
	need_fake_edge_p, rtl_flow_call_edges_add): Likewise.
	* combine.c (combine_instructions, can_combine_p, try_combine,
	find_split_point, record_dead_and_set_regs, reg_dead_at_p,
	distribute_notes, distribute_links, insn_cuid): Likewise.
	* cse.c (fold_rtx, cse_insn, cse_around_loop,
	invalidate_skipped_block, cse_set_around_loop,
	cse_end_of_basic_block, cse_main, cse_basic_block,
	cse_condition_code_reg): Likewise.
	* cselib.c (cselib_process_insn): Likewise.
	* ddg.c (create_ddg): Likewise.
	* df.c (df_insn_refs_record, df_bb_rd_local_compute, df_insns_modify):
	Likewise.
	* dwarf2out.c (dwarf2out_stack_adjust, dwarf2out_frame_debug,
	gen_label_die, dwarf2out_var_location): Likewise.
	* emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn,
	next_insn, previous_insn, next_nonnote_insn, prev_nonnote_insn,
	last_call_insn, active_insn_p, next_label, prev_label,
	link_cc0_insns, next_cc0_user, try_split, add_insn_after,
	add_insn_before, remove_insn, add_function_usage_to,
	reorder_insns, find_line_note, remove_unnecessary_notes,
	emit_insn_after_1, classify_insn): Likewise.
	* except.c (convert_from_eh_region_ranges_1, emit_to_new_bb_before,
	connect_post_landing_pads, sjlj_mark_call_sites,
	sjlj_emit_function_enter, sjlj_emit_function_exit, reachable_handlers,
	can_throw_internal, can_throw_external, set_nothrow_function_flags,
	convert_to_eh_region_ranges): Likewise.
	* explow.c (optimize_save_area_alloca): Likewise.
	* expr.c (expand_expr_real): Likewise.
	* final.c (insn_current_reference_address, compute_alignments,
	shorten_branches, final, scan_ahead_for_unlikely_executed_note,
	final_scan_insn, output_asm_label, leaf_function_p): Likewise.
	* flow.c (first_insn_after_basic_block_note, delete_dead_jumptables,
	propagate_block_delete_insn, propagate_one_insn,
	init_propagate_block_info, propagate_block, libcall_dead_p,
	mark_set_1, attempt_auto_inc, find_auto_inc, try_pre_increment):
	Likewise.
	* function.c (instantiate_virtual_regs,	reorder_blocks_1,
	expand_function_start, expand_function_end, contains,
	thread_prologue_and_epilogue_insns,
	reposition_prologue_and_epilogue_notes): Likewise.
	* gcse.c (constprop_register, bypass_conditional_jumps,
	insert_insn_end_bb, gcse_after_reload): Likewise.
	* genemit.c (gen_expand, gen_split): Likewise.
	* genpeep.c (gen_peephole, main): Likewise.
	* global.c (build_insn_chain): Likewise.
	* graph.c (node_data, print_rtl_graph_with_bb): Likewise.
	* haifa-sched.c (unlink_other_notes, unlink_line_notes,
	get_block_head_tail, no_real_insns_p, rm_line_notes, save_line_notes,
	restore_line_notes, rm_redundant_line_notes, rm_other_notes,
	ok_for_early_queue_removal, set_priorities, sched_init): Likewise.
	* ifcvt.c (count_bb_insns, first_active_insn, last_active_insn,
	cond_exec_process_insns, end_ifcvt_sequence, noce_process_if_block,
	merge_if_block, block_jumps_and_fallthru_p, find_if_block,
	dead_or_predicable): Likewise.
	* integrate.c (try_constants): Likewise.
	* jump.c (rebuild_jump_labels, cleanup_barriers,
	purge_line_number_notes, init_label_info, mark_all_labels,
	squeeze_notes, get_label_before, get_label_after,
	reversed_comparison_code_parts, simplejump_p, pc_set,
	returnjump_p, onlyjump_p, follow_jumps, mark_jump_label,
	delete_barrier, delete_prior_computation, delete_computation,
	delete_related_insns, delete_for_peephole, redirect_jump):
	Likewise.
	* lcm.c (optimize_mode_switching): Likewise.
	* local-alloc.c (validate_equiv_mem, update_equiv_regs, block_alloc):
	Likewise.
	* loop-doloop.c (doloop_valid_p, doloop_optimize): Likewise.
	* loop-invariant.c (find_exits, find_invariants_bb): Likewise.
	* loop-iv.c (simplify_using_assignment): Likewise.
	* loop.c (compute_luids, loop_optimize, scan_loop, libcall_other_reg,
	libcall_benefit, skip_consec_insns, move_movables, prescan_loop,
	find_and_verify_loops, labels_in_range_p, for_each_insn_in_loop,
	loop_bivs_init_find, strength_reduce, check_insn_for_bivs,
	check_insn_for_givs, check_final_value, update_giv_derive,
	basic_induction_var, product_cheap_p, check_dbra_loop,
	loop_insn_first_p, last_use_this_basic_block,
	canonicalize_condition, get_condition, loop_regs_scan, load_mems,
	try_copy_prop, LOOP_BLOCK_NUM, loop_dump_aux): Likewise.
	* modulo-sched.c (doloop_register_get, find_line_note, sms_schedule,
	sms_schedule_by_order): Likewise.
	* optabs.c (emit_no_conflict_block, emit_libcall_block): Likewise.
	* postreload.c (reload_cse_simplify_operands, reload_combine,
	reload_cse_move2add): Likewise.
	* predict.c (can_predict_insn_p, estimate_probability,
	expected_value_to_br_prob, process_note_predictions): Likewise.
	* print-rtl.c (print_rtx, print_rtl, print_rtl_single): Likewise.
	* profile.c (branch_prob): Likewise.
	* ra-build.c (live_out_1, livethrough_conflicts_bb,
	detect_webs_set_in_cond_jump): Likewise.
	* ra-debug.c (ra_print_rtx_object, ra_debug_insns,
	ra_print_rtl_with_bb): Likewise.
	* ra-rewrite.c (insert_stores, rewrite_program2): Likewise.
	* recog.c (next_insn_tests_no_inequality, find_single_use,
	split_all_insns, peephole2_optimize, if_test_bypass_p): Likewise.
	* reg-stack.c (next_flags_user, record_label_references,
	emit_swap_insn, swap_rtx_condition, subst_stack_regs,
	compensate_edge, convert_regs_1): Likewise.
	* regclass.c (scan_one_insn): Likewise.
	* regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
	regmove_optimize, fixup_match_1, single_set_for_csa,
	combine_stack_adjustments_for_block): Likewise.
	* regrename.c (build_def_use, copyprop_hardreg_forward_1): Likewise.
	* reload.c (find_reloads, find_reloads_address_1, subst_reloads,
	find_equiv_reg): Likewise.
	* reload1.c (reload, calculate_needs_all_insns, set_label_offsets,
	reload_as_needed, emit_input_reload_insns, do_output_reload,
	delete_output_reload, delete_address_reloads_1, fixup_abnormal_edges):
	Likewise.
	* reorg.c (find_end_label, emit_delay_sequence,
	delete_from_delay_slot, delete_scheduled_jump, optimize_skip,
	get_jump_flags, rare_destination, mostly_true_jump,
	try_merge_delay_insns, redundant_insn, own_thread_p,
	fill_simple_delay_slots, fill_slots_from_thread,
	fill_eager_delay_slots, relax_delay_slots, make_return_insns,
	dbr_schedule): Likewise.
	* resource.c (find_basic_block, next_insn_no_annul,
	find_dead_or_set_registers, mark_target_live_regs): Likewise.
	* rtl.h (RTX_PREV): Likewise.
	* rtlanal.c (global_reg_mentioned_p, no_labels_between_p,
	no_jumps_between_p, reg_used_between_p, reg_referenced_between_p,
	reg_set_p, find_last_value, dead_or_set_regno_p, find_reg_fusage,
	find_regno_fusage, pure_call_p, replace_label, rtx_referenced_p_1,
	tablejump_p, computed_jump_p, insns_safe_to_move_p,
	find_first_parameter_load, can_hoist_insn_p): Likewise.
	* sched-deps.c (get_condition, add_dependence, sched_analyze_2,
	sched_analyze_insn, sched_analyze, add_forward_dependence): Likewise.
	* sched-ebb.c (fix_basic_block_boundaries, add_deps_for_risky_insns,
	schedule_ebbs): Likewise.
	* sched-rgn.c (is_cfg_nonregular, find_conditional_protection,
	is_conditionally_protected, can_schedule_ready_p,
	add_branch_dependences, debug_dependencies): Likewise.
	* stmt.c (emit_nop, expand_start_case, emit_jump_if_reachable):
	Likewise.
	* unroll.c (unroll_loop, copy_loop_body, back_branch_in_range_p,
	reg_dead_after_loop, loop_find_equiv_value, loop_iterations,
	set_dominates_use, ujump_to_loop_cont): Likewise.
	* var-tracking.c (prologue_stack_adjust, vt_initialize): Likewise.
	* varasm.c (output_constant_pool_1): Likewise.

From-SVN: r84341
2004-07-09 03:29:35 +00:00
Zdenek Dvorak
e9eb809dec tree-scalar-evolution.c: New file.
* tree-scalar-evolution.c: New file.
	* tree-scalar-evolution.h: New file.
	* tree-ssa-loop-niter.c: New file.
	* Makefile.in (SCEV_H): New.
	(tree-scalar-evolution.o, tree-ssa-loop-niter.o): Add new files.
	* cfgloop.h (struct loop): Add bounds field.
	* tree-flow.h (struct tree_niter_desc): New type.
	(number_of_iterations_cond, number_of_iterations_exit,
	loop_niter_by_eval, find_loop_niter_by_eval,
	estimate_numbers_of_iterations, can_count_iv_in_wider_type,
	free_numbers_of_iterations_estimates): Declare.
	* tree.h (lower_bound_in_type, upper_bound_in_type): Declare.
	* params.def (PARAM_MAX_ITERATIONS_TO_TRACK): New parameter.
	* doc/invoke.texi (max-iterations-to-track): Document.

From-SVN: r84340
2004-07-09 03:19:14 +00:00
Giovanni Bajo
dd29d26b24 re PR c++/8211 (-Weffc++ warns about copyable classes with func ptr members)
PR c++/8211
	PR c++/16165
	* class.c (check_field_decls): Improve -Weffc++ warning: do not
	warn for pointers to functions/members, or for classes without
	destructors.

	PR c++/8211
	PR c++/16165
	* g++.dg/warn/effc3.C: New test.

From-SVN: r84338
2004-07-09 00:59:05 +00:00
Kaz Kojima
45dc67b726 sh.c (sh_va_arg): Initinalize lab_over.
* config/sh/sh.c (sh_va_arg): Initinalize lab_over.
	* config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses.
	(MODE_AFTER): Add cast appropriately.
	* config/sh/sh.md (movdi splitter): Likewise.
	(casesi_worker_2): Add const qualifier appropriately.
	(eh_return): Remove unused variable.
	(insv): Initialize v;

From-SVN: r84337
2004-07-09 00:47:47 +00:00
Richard Henderson
9d6bb56678 mmix-protos.h (mmix_expand_builtin_va_arg): Remove.
* config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove.
        * config/mmix/mmix.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (mmix_gimplify_va_arg_expr): Rewrite from mmix_expand_builtin_va_arg.
        * config/mmix/mmix.h (EXPAND_BUILTIN_VA_ARG): Remove.
        (FRAME_POINTER_REQUIRED): Use current_function_has_nonlocal_label.

From-SVN: r84336
2004-07-08 17:29:14 -07:00
Richard Henderson
4e15608a31 m32r-protos.h (m32r_va_arg): Remove.
* config/m32r/m32r-protos.h (m32r_va_arg): Remove.
        * config/m32r/m32r.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (m32r_gimplify_va_arg_expr): Rewrite from m32r_va_arg.
        * config/m32r/m32r.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84335
2004-07-08 17:19:25 -07:00
GCC Administrator
3bc0b10f9d Daily bump.
From-SVN: r84333
2004-07-09 00:16:13 +00:00
Richard Henderson
fcdfad4233 iq2000-protos.h (iq2000_va_arg): Remove.
* config/iq2000/iq2000-protos.h (iq2000_va_arg): Remove.
        * config/iq2000/iq2000.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (iq2000_gimplify_va_arg_expr): Rewrite from iq2000_va_arg.
        * config/iq2000/iq2000.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84330
2004-07-08 17:02:54 -07:00
Richard Henderson
28cb76675e frv-protos.h (frv_expand_builtin_va_arg): Remove.
* config/frv/frv-protos.h (frv_expand_builtin_va_arg): Remove.
        * config/frv/frv.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (frv_gimplify_va_arg_expr): Rewrite from frv_expand_builtin_va_arg.
        * config/frv/frv.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84329
2004-07-08 16:53:14 -07:00
David Billinghurst
c6db08cd56 f77-edit-i-in.f: Copy from g77.dg and change X to 1X in format.
2004-07-09  David Billinghurst (David.Billinghurst@riotinto.com)

	* gfortran.dg/g77/f77-edit-i-in.f: Copy from g77.dg and
	change X to 1X in format.
	* gfortran.dg/g77/20010216-1.f:  Copy from g77.dg and
	add data statements to conform to standard.

From-SVN: r84328
2004-07-08 23:43:13 +00:00
Richard Henderson
8d05a22ef2 i860-protos.h (i860_va_arg): Remove.
* config/i860/i860-protos.h (i860_va_arg): Remove.
        * config/i860/i860.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (i860_gimplify_va_arg_expr): Rewrite from i860_va_arg.
        * config/i860/i860.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84327
2004-07-08 16:37:00 -07:00
David Billinghurst
e423d0f6c9 f77-edit-s-out.f: Copy from g77.dg.
2004-07-09  David Billinghurst (David.Billinghurst@riotinto.com)

	* gfortran.dg/g77/f77-edit-s-out.f: Copy from g77.dg. XFAIL
	* gfortran.dg/g77/f77-edit-t-in.f: Likewise
	* gfortran.dg/g77/f77-edit-x-out.f: Likewise

From-SVN: r84326
2004-07-08 23:36:52 +00:00
David Billinghurst
1555fc861a 7388.f: Copy from g77.dg
2004-07-09  David Billinghurst (David.Billinghurst@riotinto.com)

	* gfortran.dg/g77/7388.f: Copy from g77.dg
	* gfortran.dg/g77/f77-edit-i-out.f: Likewise
	* gfortran.dg/g77/f77-edit-apostrophe-out.f: Likewise
	* gfortran.dg/g77/f77-edit-slash-out.f: Likewise
	* gfortran.dg/g77/f77-edit-colon-out.f: Likewise
	* gfortran.dg/g77/f77-edit-t-out.f: Likewise
	* gfortran.dg/g77/f77-edit-h-out.f: Likewise
	* gfortran.dg/g77/strlen0.f: Likewise

From-SVN: r84325
2004-07-08 23:29:43 +00:00
David Billinghurst
e726a6f679 gfortran-dg.exp: New file (adapted from lib/g77-dg.exp)
2004-07-09   David Billinghurst (David.Billinghurst@riotinto.com)

	* lib/gfortran-dg.exp: New file (adapted from lib/g77-dg.exp)
	* gfortran.dg/dg.exp: New file (adapted from g77.dg/dg.exp)

From-SVN: r84324
2004-07-08 23:12:47 +00:00
Aaron W. LaFramboise
6a25777816 system.h: Prototype getpagesize if missing.
* system.h: Prototype getpagesize if missing.
	* configure.ac: Add getpagesize to gcc_AC_CHECK_DECLS.
	* configure: Regenerate.
	* config.in: Regenerate.

From-SVN: r84323
2004-07-08 16:05:29 -07:00
Richard Henderson
0196fbb3c3 fr30-protos.h (fr30_va_arg): Remove.
* config/fr30/fr30-protos.h (fr30_va_arg): Remove.
        * config/fr30/fr30.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (fr30_gimplify_va_arg_expr): New.
        (fr30_pass_by_reference, fr30_pass_by_value, fr30_va_arg): Remove.
        * config/fr30/fr30.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84322
2004-07-08 15:38:18 -07:00
Richard Henderson
062fff1bad cris-protos.h (cris_expand_builtin_va_arg): Remove.
* config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove.
        * config/cris/cris.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (cris_gimplify_va_arg_expr): Rewrite from cris_expand_builtin_va_arg.
        * config/cris/cris.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84321
2004-07-08 15:17:48 -07:00
Vladimir Makarov
2d8f9759a2 re PR target/16414 (Gcc 3.4 ICE on valid code)
2004-07-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/16414
	* config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison
	of asm_noperands result.

From-SVN: r84318
2004-07-08 22:13:40 +00:00
Richard Henderson
083385aae9 builtins.c (ind_gimplify_va_arg_expr): New.
* builtins.c (ind_gimplify_va_arg_expr): New.
        * tree.h (ind_gimplify_va_arg_expr): Declare.
        * config/arc/arc.c (arc_gimplify_va_arg_expr): Use it.

From-SVN: r84317
2004-07-08 15:03:57 -07:00
Jan Beulich
b42271d678 expmed.c (extract_bit_field): Correct condition to use vec_extract patterns also on vector elements other...
* expmed.c (extract_bit_field): Correct condition to use vec_extract
        patterns also on vector elements other than the first one.
        * config/i386/i386.md (vec_extractv2df, vec_extractv4sf): Add missing
        break statements.

From-SVN: r84316
2004-07-08 14:52:36 -07:00
John David Anglin
3922b21671 re PR target/16344 (libstdc++'s PCH built by profiledbootstrap does not work with the built compiler)
PR target/16344
	* Makefile.tpl (profiledbootstrap): Build runtime libraries with
	feedback based compiler.
	* Makefile.in: Rebuilt.

From-SVN: r84315
2004-07-08 21:49:44 +00:00
Geoffrey Keating
f37f25151b darwin-ldouble.c: Correct reference to the Linnainmaa paper.
* config/rs6000/darwin-ldouble.c: Correct reference
	to the Linnainmaa paper.

From-SVN: r84314
2004-07-08 21:16:17 +00:00
Richard Henderson
99680f9883 arc-protos.h (arc_va_arg): Remove.
* config/arc/arc-protos.h (arc_va_arg): Remove.
        * config/arc/arc.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (arc_gimplify_va_arg_expr): Rewrite from arc_va_arg.
        * config/arc/arc.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84313
2004-07-08 14:10:16 -07:00
Paolo Carlini
b714a4192e gslice.h: Trivial formatting fixes.
2004-07-08  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/gslice.h: Trivial formatting fixes.
	* include/bits/gslice_array.h: Likewise.
	* include/bits/indirect_array.h: Likewise.
	* include/bits/mask_array.h: Likewise.
	* include/bits/slice_array.h: Likewise.
	* include/bits/valarray_after.h: Likewise.
	* include/bits/valarray_array.h: Likewise.
	* include/bits/valarray_before.h: Likewise.
	* include/std/std_valarray.h: Likewise.

From-SVN: r84312
2004-07-08 20:48:04 +00:00
Richard Henderson
d222b827dc c4x-protos.h (c4x_va_arg): Remove.
* config/c4x/c4x-protos.h (c4x_va_arg): Remove.
        * config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg.
        * config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84311
2004-07-08 13:34:26 -07:00
John David Anglin
09eeca5e30 * pa.md (prefetch_32, prefetch_64): Simplify constraint checks.
From-SVN: r84310
2004-07-08 20:21:00 +00:00
Eric Botcazou
ef22126d1b 920428-2.x: Delete.
* gcc.c-torture/execute/920428-2.x: Delete.
	* gcc.c-torture/execute/920501-7.x: Likewise.

From-SVN: r84309
2004-07-08 20:17:01 +00:00
Andreas Krebbel
dbe81a8b25 re PR libfortran/16291 (F2003 formatting of Inf /Nan on irix6.5)
PR fortran/16291
	* libgfortran/io/write.c: (write_float): Added length check.
	Remove pointless memset calls.

From-SVN: r84308
2004-07-08 19:58:56 +00:00
Zack Weinberg
36c1b0def4 c-decl.c (static_ctors, [...]): Make static.
* c-decl.c (static_ctors, static_dtors): Make static.
	(pop_file_scope): Call c_common_write_pch and
	cgraph_finalize_compilation_unit here.
	(build_cdtor): Moved here from c-objc-common.c; simplify.
	(c_write_global_declarations_1): Clarify comment.
	(c_write_global_declarations): Close the external scope before
	doing anything else.  Call build_cdtor, cgraph_optimize, and
	mudflap_finish_file here.
	* c-lang.c (finish_file): Don't call c_objc_common_finish_file.
	Clarify comment.
	* c-objc-common.c: No need to include cgraph.h.
	(build_cdtor): Moved to c-decl.c.
	(c_objc_common_finish_file): Delete.
	* c-tree.h: Update to match.
	* objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file.
	(generate_static_references): Set TREE_USED before calling finish_decl.
	Eliminate unnecessary dummy declaration.  Call rest_of_decl_compilation
	on the static_instances_decl.

From-SVN: r84307
2004-07-08 19:50:17 +00:00
Zack Weinberg
5b02f0e004 c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope decls when...
* c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope
	decls when there is only one input translation unit.
	* langhooks.c (lhd_set_decl_assembler_name): Partially revert
	change of 2004-07-05; do not treat declarations with
	DECL_CONTEXT a TRANSLATION_UNIT_DECL specially.
	* opts.c (cur_in_fname): Delete.
	* opts.h: Likewise.
	* tree.c: Revert changes of 2004-07-05; no special treatment
	for TRANSLATION_UNIT_DECLs.
	* Makefile.in (tree.o): Update dependencies.

From-SVN: r84306
2004-07-08 19:49:08 +00:00
Alexandre Oliva
95bcca4705 Makefile.def (host_modules): Set bootstrap=true for flex.
* Makefile.def (host_modules): Set bootstrap=true for flex.
* Makefile.tpl (all-gcc): Depend on texinfo and flex.
* Makefile.in: Rebuilt.

From-SVN: r84305
2004-07-08 19:45:01 +00:00
Paul Brook
60c9a35baf intrinsic.c (add_sym_4s): New function.
* intrinsic.c (add_sym_4s): New function.
	(add_subroutines): Change gfc_add_sym_? to gfc_add_sym_?s.

From-SVN: r84304
2004-07-08 19:42:26 +00:00
Frank Ch. Eigler
00dcddaaa0 ANSI C conversion, libmudflap specialization, recursion limiting.
2004-07-08  Frank Ch. Eigler  <fche@redhat.com>

	ANSI C conversion, libmudflap specialization, recursion limiting.
	* splay-tree.h (splay_tree_{de,}allocate_fn): Remove allocation_data
	argument and indirection function pointers, update callers.
	(splay_tree_s): Add statistics and recursion control fields
	num_keys, max_depth, depth, rebalance_p.
	* splay-tree.c (splay_tree_splay_helper): Track recursion depth.
	Back out of search if it exceeds limit.
	(splay_tree_splay): Manage recursion limiting with rebalancing as
	needed.
	(splay_tree_new): More initialization.
	(splay_tree_rebalance): New function.
	(splay_tree_foreach): Rewrite using nonrecursive logic.
	(splay_tree_xmalloc_allocate, splay_tree_xmalloc_deallocate):
	Remove.  Point indirect calls to mf-runtime.c's routines.
	(splay_tree_compare_ints, splay_tree_compare_pointers): Remove unused
	functions.
	(splay_tree_delete, splay_tree_delete_helper): Ditto.
	* testsuite/heap-scalestress.c: New test based on one from
	Eyal Lebedinsky <eyal@eyal.emu.id.au>:

From-SVN: r84303
2004-07-08 19:11:44 +00:00
Roger Sayle
a32e70c34d builtins.c (fold_builtin_strcpy): Merge functionality from simplify_builtin_strcpy.
* builtins.c (fold_builtin_strcpy): Merge functionality from
	simplify_builtin_strcpy.  Add additional len argument.  No longer
	static.  Remove function prototype.
	(fold_builtin_strncpy): Likewise integrate functionality from
	simplify_builtin_strncpy.  Add additional slen argument.  No
	longer static.  Remove function prototype.
	(simplify_builtin_strcy, simplify_builtin_strncpy): Delete.
	(simplify_builtin_fputs): Rename to fold_builtin_fputs.  Change
	types of "ignore" and "unlocked" parameters to bool.
	(fold_builtin_1):  Add additional ignore argument.  Call renamed
	fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked"
	builtins.  Update arguments to fold_builtin_strncpy and
	fold_builtin_strcpy.  Add function prototype.
	(fold_builtin): Add additional Boolean ignore argument to pass
	to fold_builtin_1.
	(simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy
	and fold_builtin_strncpy instead of simplify_builtin_fputs,
	simplify_builtin_strcpy and simplify_builtin_strncpy respectively.

	* expr.h (simplify_builtin_fputs, simplify_builtin_strcpy,
	simplify_builtin_strncpy): Delete function prototypes.
	* tree.h (fold_builtin_fputs, fold_builtin_strcpy,
	fold_builtin_strncpy): Add function prototypes here.
	(fold_builtin): Update function prototype with new "bool ignore".

	* tree-ssa-ccp.c (ccp_fold): Update call to fold_builtin.
	(ccp_fold_builtin):  Update call to fold_builtin.  Call
	fold_builtin_fputs, fold_builtin_strcpy and fold_builtin_strncpy
	instead of simplify_builtin_fputs, simplify_builtin_strcpy and
	simplify_builtin_strncpy respectively.
	* fold-const.c (fold): Update call to fold_builtin.

From-SVN: r84302
2004-07-08 17:40:22 +00:00
Alexandre Oliva
ad4319ec12 builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy to strcpy.
* builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy
to strcpy.

From-SVN: r84301
2004-07-08 17:16:24 +00:00
Alexandre Oliva
652eb7440c expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0.
* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0.
(FUNCTION_ARG_PASS_BY_REFERENCE): Likewise.
(FUNCTION_ARG_CALLEE_COPIES): Likewise.
* calls.c: Remove ifdefs of macros above.
* functions.c: Likewise.
* expr.c: Likewise.

From-SVN: r84300
2004-07-08 16:57:48 +00:00
Eric Botcazou
50711d27cf sparc.md (UNSPECV_GOTO_V9): Delete.
* config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete.
	(arch attribute): Delete.
	(current_function_calls_alloca attribute): Rename into calls_alloca.
	(calls_eh_return): New attribute.
	(leaf_function): Likewise.
	(length attribute): Fix formula for sibcalls.
	(return insn): Correctly compute the 'length' attribute.
	(do_builtin_setjmp_setup): Adjust use of current_function_calls_alloca.

From-SVN: r84299
2004-07-08 16:39:10 +00:00
Richard Henderson
cd7097527e tree-cfg.c (make_exit_edges): Use get_call_expr_in.
* tree-cfg.c (make_exit_edges): Use get_call_expr_in.
        (remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise.
        (tree_block_ends_with_call_p, need_fake_edge_p): Likewise.
        * tree-eh.c (lower_eh_constructs_1): Likewise.
        * tree-sra.c (sra_walk_modify_expr): Likewise.
        * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
        (eliminate_unnecessary_stmts): Likewise.
        * tree-ssa-dse.c (dse_optimize_stmt): Likewise.
        * tree-tailcall.c (optimize_tail_call): Likewise.
        * tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch.

From-SVN: r84298
2004-07-08 09:16:41 -07:00
Jakub Jelinek
c618c6ec7e [multiple changes]
2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
            Jakub Jelinek  <jakub@redhat.com>

	* config/i386/i386.c (override_options): Enable
	SSE prefetches with -mtune, as long as we are
	compiling for i686 or higher.  All i686 processors
	accept SSE prefetches as NOPS, some i586's don't.

2004-07-08  Jakub Jelinek  <jakub@redhat.com>

	* gcc.mist-tests/i386-prefetch.exp (PREFETCH_SSE): Change all
	-march=i386 into -march=i686.  Add -march=i686 -mtune=x and
	-march=x for pentium3, pentium3m, pentium-m, pentium4m,
	prescott and c3-2.
	(PREFETCH_3DNOW): Add -march=c3.

From-SVN: r84297
2004-07-08 17:58:22 +02:00
Benjamin Kosnik
75f29cdded re PR c++/16169 (-Weffc++ item 15 improvements)
2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>

	PR c++/16169
	* include/bits/basic_string.h (basic_string::operator=): Revert.

From-SVN: r84296
2004-07-08 15:56:21 +00:00