Commit Graph

61498 Commits

Author SHA1 Message Date
Richard Sandiford c1a404bd99 genattrtab.c (write_insn_cases): New function, split out from write_attr_case.
* genattrtab.c (write_insn_cases): New function, split out from
	write_attr_case.  Correctly handle define_peepholes when printing
	the instruction name.
	(write_attr_case, write_const_num_delay_slots): Use write_insn_cases.

From-SVN: r87252
2004-09-09 20:39:28 +00:00
Hans-Peter Nilsson b241674235 re PR target/17377 (cris.md bug in "return" pattern trigged by __builtin_return_address)
PR target/17377
	* config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
	* config/cris/cris.c (cris_return_address_on_stack): New function.
	* config/cris/cris.md ("return"): For location of return address,
	also check cris_return_address_on_stack.

From-SVN: r87251
2004-09-09 20:36:31 +00:00
Hans-Peter Nilsson da3107f38b re PR target/17377 (cris.md bug in "return" pattern trigged by __builtin_return_address)
PR target/17377
	* gcc.c-torture/execute/pr17377.c: New test.

From-SVN: r87250
2004-09-09 20:31:11 +00:00
Andreas Tobler 4166b03640 [multiple changes]
2004-09-09  Michael Koch  <konqueror@gmx.de>

	* java/security/ProtectionDomain.java,
	* java/util/PropertyPermissionCollection.java:
	Fixed javadocs all over.

2004-09-09  Sven de Marothy  <sven@physto.se>

	Patch from David Gilbert <david.gilbert@object-refinery.com>
	* java/lang/Comparable.java: Fixed documentation errors.
	* java/util/Arrays.java: Likewise.

2004-09-09  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/net/Inet4Address.java
	(Inet4Address): Added comment to serialization UID.
	* java/text/Format.java
	(Format): Added comment to serialization UID.

From-SVN: r87248
2004-09-09 21:44:07 +02:00
Zack Weinberg 21b11495d7 cpplib.h (TTYPE_TABLE): Remove CPP_ and SPELL_ prefixes throughout.
2004-09-09  Matt Austern  <austern@apple.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* include/cpplib.h (TTYPE_TABLE): Remove CPP_ and SPELL_
	prefixes throughout.  Add entry for PRAGMA.  Remove
	unnecessary "= 0" from EQ.
	(enum cpp_ttype): Adjust OP and TK definitions to restore
	prefixes, via token-paste.
	(CPP_LAST_EQ, CPP_FIRST_DIGRAPH, CPP_LAST_PUNCTUATOR, CPP_LAST_CPP_OP):
	Change from #defines to additional cpp_ttype enumerators.
	(struct cpp_options): Add defer_pragmas.
	(cpp_handle_deferred_pragma): Prototype new interface.

	* internal.h (struct cpp_reader): Add directive_result.
	* directives.c (struct pragma_entry): Add is_internal field;
	give boolean fields type bool.
	(start_directive): Initialize pfile->directive_result.type.
	(_cpp_do__Pragma): Likewise.
	(run_directive): Do not crash if pfile->buffer->prev is NULL.
	(insert_pragma_entry): Add 'internal' argument; set new->is_internal
	from it.
	(register_pragma): New static function, bulk of former
	cpp_register_pragma here; add 'internal' argument, pass along
	to insert_pragma_entry.
	(cpp_register_pragma): Now a wrapper around register_pragma which
	always passes false for 'internal' argument.
	(_cpp_init_internal_pragmas): Call register_pragma directly, passing
	true for 'internal'.
	(do_pragma): If CPP_OPTION (pfile, defer_pragmas) and this isn't
	an internal pragma, save text till the end of the line as a CPP_PRAGMA
	token instead of executing the pragma.
	(cpp_handle_deferred_pragma): New interface.
	* lex.c (token_spellings): Adjust OP and TK definitions to
	match changes to cpplib.h.
	(_cpp_lex_token): Check for a directive-result token and
	return it if present.
	(cpp_token_val_index): Handle CPP_PRAGMA.
	* macro.c (cpp_builtin_macro_text): Correct comment.
	(builtin_macro): Handle directive-result tokens from _cpp_do__Pragma.

From-SVN: r87247
2004-09-09 19:16:56 +00:00
Diego Novillo b49ce401c2 tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in calling phi_ssa_name_p.
* tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
	calling phi_ssa_name_p.

From-SVN: r87246
2004-09-09 13:47:44 -04:00
Richard Henderson 116df78640 re PR c/17322 (initializer folding broken)
PR c/17322
        * c-typeck.c (valid_compound_expr_initializer): Use only
        initializer_constant_valid_p, and not TREE_CONSTANT.
        (digest_init): Likewise.
        (output_init_element): Likewise.

From-SVN: r87245
2004-09-09 10:36:42 -07:00
Nathan Sidwell 41374e13ac ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort.
* ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
	live_out_1, prune_hardregs_for_mode, init_one_web_common,
	reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
	record_conflict, compare_and_free_webs, init_webs_defs_uses,
	parts_to_webs_1, parts_to_webs, reset_conflicts,
	check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
	ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
	* ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
	put_move, remove_move, combine, select_spill, colorize_one_web,
	try_recolor_web, insert_coalesced_conflicts, check_colors,
	break_precolored_alias, restore_conflicts_from_coalesce,
	sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
	* ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
	reloads_to_loads, rewrite_program2, emit_colors): Likewise.
	* ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
	check_df): Likewise.
	* real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
	real_arithmetic, real_compare, real_exponent, real_ldexp,
	real_identical, real_to_integer, real_to_integer2, real_to_decimal,
	real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
	real_digit, real_nan, real_maxval, round_for_format, real_convert,
	real_to_target, real_from_target, real_hash, encode_ieee_single,
	encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
	encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
	encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
	* recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
	extract_insn, peep2_next_insn, peep2_reg_dead_p,
	peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
	if_test_bypass_p): Likewise.
	* reg-stack.c (record_label_references, get_asm_operand_n_inputs,
	stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
	emit_swap_insn, swap_to_top, move_for_stack_reg,
	subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
	compensate_edge, convert_regs_1): Likewise.
	* regclass.c (init_reg_sets, init_reg_sets_1,
	memory_move_secondary_cost): Likewise.
	* regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
	Likewise.
	* reload.c (push_secondary_reload, find_valid_class, push_reload,
	operands_match_p, decompose, immune_p, find_reloads,
	find_reloads_toplev, find_reloads_address_1, subst_reloads,
	copy_replacements, refers_to_regno_for_reload_p,
	reg_overlap_mentioned_for_reload_p): Likewise.
	* reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
	count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
	verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
	reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
	choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
	do_output_reload, fixup_abnormal_edges): Likewise.
	* reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
	fill_slots_from_thread, relax_delay_slots): Likewise.
	* resource.c (mark_referenced_resources, mark_set_resources):
	Likewise.
	* rtl.c (copy_rtx, rtx_equal_p): Likewise.
	* rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
	dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
	subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
	find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
	hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
	* rtlhooks.c (gen_lowpart_general): Likewise.
	* sbitmap.c (sbitmap_difference): Likewise.
	* sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
	sched_analyze, add_forward_dependence): Likewise.
	* sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
	* sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
	schedule_insns): Likewise.
	* sched-vis.c (print_pattern): Likewise.
	* sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
	simplify_const_relational_operation, simplify_ternary_operation,
	simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
	Likewise.
	* sreal.c (copy, sreal_sub, sreal_div): Likewise.
	* stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
	resolve_operand_name_1, expand_return, expand_decl,
	expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
	* stor-layout.c (put_pending_size, smallest_mode_for_size,
	int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
	set_sizetype, get_mode_bounds): Likewise.

From-SVN: r87244
2004-09-09 17:19:16 +00:00
Zack Weinberg 15072eb129 defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
* defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
	* config/arm/pecoff.h, config/i386/beos-elf.h
	* config/i386/cygming.h, config/i386/i386-interix.h:
	Define MULTIPLE_SYMBOL_SPACES to 1, not nothing.  Remove
	comment cloned from manual.
	* doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
cp:
	* decl2.c (import_export_class)
	* lex.c (handle_pragma_interface):
	Test MULTIPLE_SYMBOL_SPACES with if, not #ifdef.

From-SVN: r87243
2004-09-09 17:11:18 +00:00
Frank Ch. Eigler c2433d7d16 builtins.c (build_va_arg_indirect_ref): New function.
2004-09-09  Frank Ch. Eigler  <fche@redhat.com>

	* builtins.c (build_va_arg_indirect_ref): New function.
	(std_gimplify_va_arg_expr): Call it instead of mudflap check and
	build_fold_indirect_ref.
	* config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
	* config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
	* tree.h: Declare new function.

From-SVN: r87242
2004-09-09 16:33:25 +00:00
Nathan Sidwell 1a2caa7a80 cgraphunit.c (cgraph_mark_functions_to_output): Renable node dumping for development builds.
* cgraphunit.c (cgraph_mark_functions_to_output): Renable node
	dumping for development builds.
	* emit-rtl.c (verify_rtx_sharing): Give verbose failure for
	development builds only.
	* genattrtab.c (write_eligible_delay): Fix typo in previous
	commit.
	* tree.c (iterative_hash_expr): Replace gcc_unreachable with
	gcc_assert.

From-SVN: r87241
2004-09-09 15:58:21 +00:00
Nathan Sidwell 282899df0f gcse.c (INSN_CUID, [...]): Use gcc_assert and gcc_unreachable.
* gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
	cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
	process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
	hoist_code, extract_mentioned_regs_helper, compute_store_table,
	insert_store): Use gcc_assert and gcc_unreachable.
	* ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
	gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
	ggc_record_overhead): Likewise.
	* ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
	init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
	ggc_pop_context, clear_marks, validate_free_objects,
	ggc_pch_read): Likewise.
	* ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
	ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
	ggc_push_context, check_cookies, ggc_collect,
	ggc_print_statistics): Likewise.
	* gimple-low.c (lower_function_body, lower_stmt,
	lower_bind_expr): Likewise.
	* gimplify.c (gimple_tree_eq, push_gimplify_context,
	pop_gimplify_context, gimple_pop_condition, create_tmp_var,
	declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
	mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
	gimplify_case_label_expr, gimplify_exit_block_expr,
	canonicalize_component_ref, gimplify_compound_lval,
	gimplify_self_mod_expr, gimplify_call_expr,
	gimplify_init_ctor_eval, gimplify_init_constructor,
	gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
	gimplify_expr, check_pointer_types_r,
	force_gimple_operand): Likewise.
	* global.c (global_alloc, build_insn_chain): Likewise.
	* graph.c (clean_graph_dump_file,
	finish_graph_dump_file): Likewise.
	gcov-io.c (gcov_open): Use GCOV_CHECK.

From-SVN: r87240
2004-09-09 13:54:07 +00:00
Richard Sandiford 2a88ebca76 * config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
From-SVN: r87239
2004-09-09 13:48:23 +00:00
Jan Hubicka 3413291731 tree-inline.c (expand_call_inline): Make overactive sanity check happy.
middle-end/17128
	* tree-inline.c (expand_call_inline): Make overactive sanity check happy.

From-SVN: r87238
2004-09-09 13:38:53 +00:00
Jan Hubicka 9f7aa952f5 tree-ssa-loop-ivopts.c (peel_address): Fix abort on VIEW_CONVERT_EXPR.
* tree-ssa-loop-ivopts.c (peel_address): Fix abort on
	VIEW_CONVERT_EXPR.

From-SVN: r87237
2004-09-09 13:25:20 +00:00
Nathan Sidwell b2d59f6f77 Makefile.in (gengtype): Use $(BUILD_ERRORS).
* Makefile.in (gengtype): Use $(BUILD_ERRORS).
	(gengtype.o): Depend on errors.h.
	* genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
	(attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
	attr_alt_subset_p, attr_alt_subset_of_compl_p,
	attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
	write_test_expr, write_attr_value, write_eligible_delay,
	make_internal_attr, make_numeric_value): Likewise.
	* genautomata.c (regexp_name, get_str_vect,
	gen_presence_absence_set, automaton_decl_hash,
	automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
	decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
	process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
	test_unit_reserv, it_is_empty_reserv_sets,
	reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
	reserv_sets_and, output_cycle_reservs, get_free_state,
	intersected_state_reservs_p, states_union, remove_arc,
	copy_insn_regexp, transform_1, transform_2, transform_3,
	regexp_transform_func, store_alt_unit_usage,
	check_regexp_units_distribution, process_seq_for_forming_states,
	process_alts_for_forming_states, make_automaton,
	form_arcs_marked_by_insn, create_composed_state,
	set_out_arc_insns_equiv_num, partition_equiv_class,
	process_insn_equiv_class, set_insn_equiv_classes,
	units_to_automata_heuristic_distr, form_regexp,
	longest_path_length, output_dfa_max_issue_rate, add_vect,
	out_state_arcs_num, add_vect_el, output_trans_table,
	output_state_alts_table, output_dead_lock_vect,
	output_max_insn_queue_index_def,
	output_min_insn_conflict_delay_func,
	output_internal_insn_latency_func, output_print_reservation_func,
	output_cpu_unit_reservation_p, output_state_arcs,
	make_insn_alts_attr, make_internal_dfa_insn_code_attr,
	make_default_insn_latency_attr,
	form_important_insn_automata_lists): Likewise.
	* genemit.c (gen_exp, output_add_clobbers,
	output_added_clobbers_hard_reg_p): Likewise.
	* genextract.c (print_path, main): Likewise.
	* genflags.c (gen_macro): Likewise.
	* gengenrtl.c: Include errors.h
	(type_from_format, accessor_from_format): Likewise.
	* gengtype.c (get_file_basename, output_mangled_typename,
	walk_type, write_types_process_field,
	write_types_local_process_field): Likewise.
	* genmodes.c (complete_mode): Likewise.
	* genopinit.c (gen_insn): Likewise.
	* genoutput.c (output_insn_data, check_constraint_len,
	constraint_len): Likewise.
	* genpreds.c (add_mode_tests):Likewise.
	* gen-protos.c (add_hash): Likewise.
	* genrecog.c (find_operand, find_matching_operand,
	validate_pattern, add_to_sequence, maybe_both_true,
	nodes_identical_1, merge_trees, write_switch, write_cond,
	write_action, is_unconditional, make_insn_sequence,
	debug_decision_2): Likewise.
	* gensupport.c (is_predicable, collect_insn_data,
	alter_predicate_for_insn, maybe_eval_c_test): Likewise.

From-SVN: r87236
2004-09-09 13:22:38 +00:00
Jan Hubicka 87022a6b0e basic-block.h (guess_outgoing_edge_probabilities): Declare.
* basic-block.h (guess_outgoing_edge_probabilities): Declare.
	* cfgbuild.c (compute_outgoing_frequencies): When probability is missing,
	guess it.
	(find_many_sub_basic_blocks): Do update profile only when it is present.
	* predict.c (set_even_probabilities): Break out from ...
	(combine_predictions_for_insn): ... here; deal with !can_predict_insn_p insns.
	(combine_predictions_for_bb): Use set_even_probabilities.
	(bb_estimate_probability_locally): Break out from ....
	(estimate_probability): ... here.
	(guess_outgoing_edge_probabilities): New entry point.

From-SVN: r87234
2004-09-09 12:20:40 +00:00
Nathan Sidwell 3b5edfeecb gcc.c (add_sysrooted_prefix, [...]): Use fatal, not abort.
* gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
	handle_braces, process_brace_body, main, used_arg,
	set_multilib_dir, print_multilib_info): Use fatal, not abort.

From-SVN: r87231
2004-09-09 11:04:52 +00:00
Nathan Sidwell d73d459345 * tree-nested.c (create_tmp_var_for): Correct missinverted assert.
From-SVN: r87228
2004-09-09 10:36:11 +00:00
Michael Koch c6614d3ea3 2004-09-09 Michael Koch <konqueror@gmx.de>
* java/lang/System.java
	(err): Fixed javadoci to point to setErr() and not setOut().

From-SVN: r87227
2004-09-09 10:19:29 +00:00
Nathan Sidwell e153793472 tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
* tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
	* tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
	Morgan's theorem in last checkin.

From-SVN: r87226
2004-09-09 10:15:44 +00:00
Michael Koch 6273ba378d [multiple changes]
2004-09-09  Jeroen Frijters  <jeroen@frijters.net>

	(normalizePath): Added special case for windows systems.

2004-09-09  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java
	(dupSeparator): Made private.
	(File(URI)): New constructor.
	(getParentFile): Fixed javadoc.
	(createTempFile): Reformated.
	(setReadOnly): Added comment.
	(deleteOnExit): Merged javadoc with classpath version.

From-SVN: r87225
2004-09-09 09:43:33 +00:00
Michael Koch 931775801c Makefile.am: Don't try to include deps.mk.
2004-09-09  Michael Koch  <konqueror@gmx.de>

	* Makefile.am: Don't try to include deps.mk.
	* Makefile.in: Regenerated.

From-SVN: r87224
2004-09-09 08:25:30 +00:00
Giovanni Bajo 1e128c5f7b targhooks.c (default_unwind_emit, [...]): Use gcc_assert, gcc_unreachable & internal_error instead of abort.
* targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
	Use gcc_assert, gcc_unreachable & internal_error instead of abort.
	* timevar.c (timevar_push, timevar_pop, timevar_start,
	timevar_stop): Likewise.
	* toplev.c (default_pch_valid_p): Likewise.
	* tracer.c (tail_duplicate): Likewise.
	* tree-alias-common.c (get_alias_var_decl,
	get_values_from_constructor, create_alias_var, delete_alias_vars,
	empty_points_to_set, same_points_to_set, ptr_may_alias_var):
	Likewise.
	* tree.c (tree_size, make_node_stat, copy_node_stat,
	build_int_cst_wide, integer_all_onesp, list_length, chainon,
	tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
	substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
	build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
	lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
	build_method_type_directly, decl_type_context, get_callee_fndecl,
	get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
	tree_fold_gcd): Likewise.
	* tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
	make_cond_expr_edges, group_case_labels, tree_merge_blocks,
	cleanup_control_expr_graph, find_taken_edge,
	find_taken_edge_switch_expr, phi_alternatives_equal,
	is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
	stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
	tree_split_edge, tree_verify_flow_info, thread_jumps,
	tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
	* tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
	chrec_fold_multiply_poly_poly): Likewise.
	* tree-complex.c (extract_component, expand_complex_division,
	expand_complex_comparison, expand_complex_operations_1,
	build_replicated_const, expand_vector_operations_1): Likewise.
	* tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
	build_classic_dir_vector): Likewise.
	* tree-dfa.c (compute_immediate_uses_for_phi,
	compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
	create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
	* tree-dump.c (dequeue_and_dump): Likewise.
	* tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
	record_in_finally_tree, replace_goto_queue_1,
	maybe_record_in_goto_queue, verify_norecord_switch_expr,
	do_return_redirection): Likewise.
	* tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
	add_to_dst_predicate_list, find_phi_replacement_condition,
	replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
	Likewise.
	* tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
	initialize_inlined_parameters, declare_return_variable,
	estimate_num_insns_1, expand_call_inline, expand_calls_inline,
	optimize_inline_calls, copy_tree_r): Likewise.
	* tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
	ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
	* tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
	tsi_split_statement_list_after, tsi_split_statement_list_before):
	Likewise.
	* tree-mudflap.c (mf_varname_tree): Likewise.
	* tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
	lookup_tramp_for_decl, convert_all_function_calls): Likewise.
	* tree-optimize.c (tree_rest_of_compilation): Likewise.
	* tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
	coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
	free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
	Likewise.
	* tree-phinodes.c (resize_phi_node, add_phi_arg,
	remove_all_phi_nodes_for): Likewise.
	* tree-pretty-print.c (op_prio, print_call_name): Likewise.
	* tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
	tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
	* tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
	sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
	generate_one_element_ref, generate_element_copy,
	generate_element_zero, scalarize_copy, scalarize_init,
	scalarize_ldst): Likewise.
	* tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
	add_may_alias, add_pointed_to_expr, add_pointed_to_var,
	collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
	* tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
	* tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
	set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
	widen_bitfield, ccp_fold_builtin): Likewise.
	* tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
	replace_exp_1, propagate_tree_value): Likewise.
	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
	* tree-ssa-dce.c (set_control_dependence_map_bit,
	find_control_dependence, find_pdom, mark_operand_necessary,
	mark_stmt_if_obviously_necessary,
	mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
	* tree-ssa-dom.c (dom_opt_initialize_block_local_data,
	simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
	eliminate_redundant_computations, avail_expr_eq): Likewise.
	* tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
	duplicate_blocks): Likewise.
	* tree-ssa-loop-im.c (for_each_index, set_level,
	is_call_clobbered_ref): Likewise.
	* tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
	stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
	find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
	peel_address, ptr_difference_cost, may_replace_final_value,
	determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
	rewrite_use, rewrite_uses): Likewise.
	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
	check_loop_closed_ssa_use): Likewise.
	* tree-ssanames.c (make_ssa_name): Likewise.
	* tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
	finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
	get_stmt_operands, get_expr_operands, get_asm_expr_operands,
	get_indirect_ref_operands, add_stmt_operand): Likewise.
	* tree-ssa-pre.c (value_exists_in_set_bitmap,
	value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
	phi_translate, valid_in_set, compute_antic,
	find_or_generate_expression, create_expression_by_pieces, insert_aux,
	create_value_expr_from, eliminate): Likewise.
	* tree-ssa-propagate.c (cfg_blocks_get): Likewise.
	* tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
	Likewise.
	* tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
	eliminate_tail_call): Likewise.
	* tree-vectorizer.c (vect_create_index_for_array_ref,
	vect_align_data_ref, vect_create_data_ref,
	vect_create_destination_var, vect_get_vec_def_for_operand,
	vect_finish_stmt_generation, vect_transform_stmt,
	vect_transform_loop_bound, vect_transform_loop,
	vect_analyze_operations): Likewise.
	* tree-vn.c (vn_compute, set_value_handle, get_value_handle):
	Likewise.
	* tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
	get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
	bsi_after_labels, bsi_last): Likewise.
	* tree-ssa-live.c (var_union, change_partition_var,
	create_ssa_var_map, calculate_live_on_entry, root_var_init,
	type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
	Likewise.
	* tree-ssa-live.h (partition_is_global, live_entry_blocks,
	tpa_find_tree): Likewise.
	(register_ssa_partition_check): Declare.
	(register_ssa_partition): use it.
	* tree-ssa-live.c: Include errors.h.
	(register_ssa_partition_check): New.
	* tree-ssa-operands.c: Include errors.h.
	* Makefile.in (tree-ssa-operands.o): Depend on errors.h.

Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>

From-SVN: r87223
2004-09-09 07:54:12 +00:00
Richard Sandiford c557edf447 * config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
(FRV_CPU_FR405): New processor enums.
	(frv_issue_rate, frv_acc_group): Declare.
	* config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
	(CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
	(MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
	(SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
	(TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
	handled by CPP_SPEC.
	(MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
	(MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
	(ACC_MASK): New macro.
	(TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
	(TARGET_MEDIA_FR450): New macro.
	(TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
	(TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
	(LABEL_ALIGN_AFTER_BARRIER): Define.
	(ACC_LAST, ACCG_LAST): Add four new accumulator registers.
	(IACC_FIRST, IACC_LAST): New pair of SPRs.
	(ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
	(REGISTER_NAMES): Add entries for new registers.
	(REG_CLASS_CONTENTS): Update for new register ranges.
	(EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
	(ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
	(PACKING_FLAG_USED_P): Delete.
	(FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
	(FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
	(FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
	(FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
	(FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
	(FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
	(FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
	(FRV_BUILTIN_FIRST_NONMEDIA): New macro.
	(CPU_UNITS_QUERY): Define to 1.
	* config/frv/frv.c: Include gt-frv.h
	(NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
	(SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
	(frv_insn_group): New enumeration.
	(frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
	(frv_type_to_unit, frv_nops, frv_num_nops): New variables.
	(REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
	(REGSTATE_CONDJUMP): Delete.  Shuffle other numbers to cover the
	gap left by REGSTATE_LIVE.
	(regstate_t): New typedef.
	(TARGET_MACHINE_DEPENDENT_REORG): Define.
	(frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
	(frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
	Initialize frv_unit_codes[] and frv_type_to_unit[].
	(frv_conditional_register_usage): Remove redundant fixing of
	accumulator registers.
	(frv_insn_packing_flag): Update specification.
	(frv_function_prologue): Don't set frv_insn_packing_flag here.
	Zero out frv_nops[].
	(frv_expand_epilogue): Remove comments about the no-longer-present
	SIBCALL_P argument.
	(frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
	PACKING_FLAG_USED_P() when deciding whether to pack instructions.
	(frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
	of the new meaning of frv_insn_packing_flag.  Emit an mnop.p if
	packing is disabled and if INSN can only issue to M1.
	(call_operand): Check TARGET_LONG_CALLS.
	(acc_operand, even_acc_operand, quad_acc_operand)
	(accg_operand): Simplify.  Don't accept pseudo registers.
	(output_move_single): Handle SPR<-zero moves.
	(frv_issue_rate): Make non-static.  Handle FRV_CPU_{FR550,FR450,FR405}.
	(frv_registers_update, frv_registers_used_p): Delete.
	(frv_registers_set_p): Delete.
	(frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
	(frv_issues_to_branch_unit_p): New function.
	(frv_packet): New structure.
	(frv_cond_flags, frv_regstate_conflict_p): New functions.
	(frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
	(frv_registers_update_1, frv_registers_update): New functions.
	(frv_start_packet, frv_start_packet_block, frv_finish_packet)
	(frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
	(frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
	(frv_sort_insn_group, frv_reorder_packet): New functions.
	(frv_pack_insns): Use frv_reorder_packet.
	(frv_packet_address): New variable.
	(frv_fill_unused_units, frv_align_label, frv_reorg_packet)
	(frv_register_nop, frv_reorg): New functions.
	(bdesc_1arg): Add __SCUTSS.
	(bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
	__SUBSS, __SLASS and __SCAN.
	(bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
	(bdesc_int_void2arg, bdesc_prefetches): New arrays.
	(frv_init_builtins): Register the above builtins.
	(frv_int_to_acc): Use ACC_MASK to check for valid accumulator
	registers.  Turn the referenced accumulators into global registers.
	(frv_read_iacc_argument): New function.
	(frv_expand_int_void2arg, frv_expand_prefetches): New functions.
	(frv_split_iacc_move): New function.
	(frv_expand_builtin): Handle the new builtins.
	* config/frv/frv.md: Replace old schedulers with new order-independent
	ones.  Add schedulers for the FR405, FR450 and FR550.  Describe new
	packing algorithm.
	(cpu): Add fr550, fr450 and fr405.
	(type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
	mqshift.  Replace fmas with fsmadd and fmad with fdmadd.  Delete m7.
	(*muladd[sd]f4, *mulsub[sd]f4): Fix types.
	(*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
	(fnop, mnop): New patterns.
	(UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
	New constants.
	(mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
	(mclracca8): Use ACC_MASK to determine the upper set of accumulator
	registers.
	(mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
	(UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
	(UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
	(UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
	(UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
	(UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
	(smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
	(frv_prefetch0, frv_prefetch): New patterns.
	* config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
	-mcpu=simple.  Add -mcpu=fr550.
	(MULTILIB_DIRNAMES): Update accordingly.
	(MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
	-mcpu=fr450.
	* doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
	-mlong-calls and -malign-labels options for FR-V.

Co-Authored-By: Catherine Moore <clm@redhat.com>

From-SVN: r87222
2004-09-09 06:33:58 +00:00
Ziemowit Laski 5f070bc759 Make-lang.in (cp/semantics.o): Depend on c-common.h.
[gcc/cp/ChangeLog]
2004-09-08  Ziemowit Laski  <zlaski@apple.com>

        * Make-lang.in (cp/semantics.o): Depend on c-common.h.
        * semantics.c: Include c-common.h.
        (finish_compound_stmt): Call objc_clear_super_receiver().

From-SVN: r87219
2004-09-09 01:49:00 +00:00
Joseph Myers deb176fa3b re PR c/8420 (volatile after the type specifier for an unnamed structure is rejected)
PR c/8420
	* c-tree.h (struct c_declspecs): New.
	(struct c_declarator, struct c_type_name, struct c_parm): Update
	element types.
	(build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
	start_function, start_decl, build_c_parm,
	make_pointer_declarator): Update prototypes.
	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
	declspecs_add_scspec, declspecs_add_attrs): New.
	(split_specs_attrs): Remove.
	* c-parse.in (%union): Add dsptype.
	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
	declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
	declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
	maybe_type_quals_attrs): Change to dsptype.
	(struct c_declspec_stack): New.
	(current_declspecs, declspec_stack): Change type.
	(PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
	structures.
	(extdefs): Likewise.
	(setspecs): Likewise.
	(fndef): Use current_declspecs for empty declspecs list.
	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
	structures and helper functions.  Update comments.
	(typespec_nonattr): Correct comment.
	(maybe_type_quals_attrs, typename): Update to new structures.
	* c-decl.c (grokdeclarator, build_array_declarator, grokfield,
	shadow_tag, shadow_tag_warned, start_function, start_decl,
	build_c_parm, make_pointer_declarator,
	set_array_declarator_inner, groktypename): Update to new
	structures.
	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
	declspecs_add_scspec, declspecs_add_attrs): New.
	(split_specs_attrs): Remove.
	(shadow_tag_warned): Make warning for useless type names a
	pedwarn.  Give hard error for long, short, signed, unsigned or
	_Complex used with struct, union or enum in empty declaration.
	Make found_tag a bool.
	(grokdeclarator): Remove checks now done at parse time.

testsuite:
	* gcc.dg/anon-struct-4.c, gcc.dg/declspec-1.c,
	gcc.dg/declspec-2.c, gcc.dg/declspec-3.c, gcc.dg/declspec-4.c,
	gcc.dg/declspec-5.c, gcc.dg/declspec-6.c,
	gcc.dg/long-long-typespec-1.c: New tests.
	* gcc.dg/tls/diag-2.c: Update expected diagnostics

From-SVN: r87218
2004-09-09 02:25:48 +01:00
Joseph Myers f8893e4723 c-tree.h (enum c_declarator_kind, [...]): New.
* c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
	c_declarator, struct c_type_name, struct c_parm): New.
	(build_array_declarator, set_array_declarator_inner,
	get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
	start_function, start_decl, build_c_parm, build_attrs_declarator,
	build_function_declarator, make_pointer_declarator, c_cast_expr,
	store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
	(build_id_declarator): New.
	* c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
	structures.
	* c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
	ARG_INFO_OTHERS): Remove.
	(build_id_declarator): New.
	(build_array_declarator, set_array_declarator_inner, groktypename,
	start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
	grokfield, start_function, store_parm_decls_newstyle,
	store_parm_decls_oldstyle, store_parm_decls,
	build_c_parm, build_attrs_declarator, build_function_declarator,
	make_pointer_declarator, grokdeclarator): Update to new
	structures.
	* c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
	parmtype.
	(declarator, notype_declarator, after_type_declarator,
	parm_declarator, parm_declarator_starttypename,
	parm_declarator_nostarttypename, array_declarator, typename,
	absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
	absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
	parmlist_1, parmlist_2, parmlist_or_identifiers,
	parmlist_or_identifiers_1): Use these types.
	(primary, after_type_declarator, parm_declarator_starttypename,
	notype_declarator, component_decl, component_declarator,
	component_notype_declarator, typename, absdcl,
	absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
	parmlist_2, parmlist_or_identifiers_1): Update to new structures.

objc:
	* objc-act.c (objc_start_function, really_start_method,
	objc_get_parm_info, start_method_def): Update to new arg_info
	structures.

From-SVN: r87217
2004-09-09 02:19:15 +01:00
Joseph Myers bc4b653be6 c-tree.h (C_DECL_USED, [...]): New.
* c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
	in_typeof, record_maybe_used_decl, pop_maybe_used,
	c_expr_sizeof_expr, c_expr_sizeof_type): New.
	* c-decl.c (parser_obstack): New.
	(c_init_decl_processing): Initialize parser_obstack.
	(c_write_global_declarations_1): Check for used but undefined
	static functions.
	* c-parse.in (%union): Add otype.
	(save_obstack_position): New.
	(extdefs): Use it.
	(unary_expr): Update in_sizeof and in_alignof.  Use
	c_expr_sizeof_expr and c_expr_sizeof_type.
	(sizeof): Update in_sizeof.
	(alignof): Update in_alignof.
	(typeof): Update in_typeof.
	(typespec_nonreserved_nonattr): Call pop_maybe_used.
	* c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
	maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
	pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
	(build_external_ref): Set C_DECL_USED or call
	record_maybe_used_decl if appropriate.
	* toplev.c (check_global_declarations): Check TREE_NO_WARNING.

testsuite:
	* gcc.dg/c90-static-1.c, gcc.dg/c99-static-1.c,
	gcc.dg/gnu99-static-1.c: New tests.

From-SVN: r87216
2004-09-09 02:16:16 +01:00
Ziemowit Laski 1835f9efd2 cp-tree.h (do_poplevel): New prototype.
[gcc/cp/ChangeLog]
2004-09-08  Ziemowit Laski  <zlaski@apple.com>

        * cp-tree.h (do_poplevel): New prototype.
        * semantics.c (do_poplevel): Make externally visible.

From-SVN: r87215
2004-09-09 00:48:27 +00:00
Eric Christopher f838cd9419 builtins.c: Fix prototype for fold_builtin_atan.
2004-09-08  Eric Christopher  <echristo@redhat.com>

	* builtins.c: Fix prototype for fold_builtin_atan.

From-SVN: r87214
2004-09-09 00:45:52 +00:00
GCC Administrator ae3e04b843 Daily bump.
From-SVN: r87211
2004-09-09 00:16:15 +00:00
Paul Brook 4d28e18386 * scanner.c (get_file): Add ATTRIBUTE_UNUSED.
From-SVN: r87207
2004-09-08 23:31:36 +00:00
Eric Christopher 667bbbbb7b builtins.c (fold_builtin_strlen, [...]): New functions.
2004-09-08  Eric Christopher  <echristo@redhat.com>

        * builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
	fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
        fold_builtin_atan): New functions. Migrate function bodies...
        (fold_builtin_1): ... from here.

From-SVN: r87206
2004-09-08 23:24:40 +00:00
Alan Modra 640450295e rs6000.c (rs6000_stack_info): Correct alignment of save_size.
* config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
	save_size.

From-SVN: r87205
2004-09-09 08:49:58 +09:30
Adam Nemet 626ff3dea7 * vasprintf.c: Accept __va_copy in addition to va_copy.
From-SVN: r87203
2004-09-08 21:29:42 +00:00
Bryce McKinlay 2e8401aeba configure.ac (AC_CONFIG_COMMANDS): Don't create subdirectories and .d files.
2004-09-08  Bryce McKinlay  <mckinlay@redhat.com>

	* configure.ac (AC_CONFIG_COMMANDS): Don't create subdirectories and
	.d files.
	* configure: Rebuilt.

From-SVN: r87202
2004-09-08 20:57:13 +01:00
David Edelsohn f0259218a7 power4.md (power4-lmul): du4 feeds iu1.
* config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
        * config/rs6000/power5.md (power5-lmul): Same.

From-SVN: r87201
2004-09-08 15:55:26 -04:00
Richard Henderson 609c39373f re PR rtl-optimization/17186 (ICE in move_for_stack_reg, at reg-stack.c:1065)
PR rtl-opt/17186
        * function.c (expand_function_end): Have fall-off-the-end
        return path jump around return register setup.

From-SVN: r87199
2004-09-08 12:25:04 -07:00
Eric Botcazou 4e5b002baa sparc.c (sparc_indent_opcode): New variable.
* config/sparc/sparc.c (sparc_indent_opcode): New variable.
	(output_return): Do not test for the presence of the 'unimp' insn.
	Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
	as predicates instead of custom ones.  Return raw strings when
	possible.
	(output_sibcall): Likewise.  Concatenate strings.
	(output_ubranch): Remove kludge for TurboSPARC.
	(output_cbranch): Remove 'noop' parameter.  Do not output 'nop'.
	(output_v9branch): Likewise.
	(print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
	<#>: Set sparc_indent_opcode if the delay slot is filled.
	<(>: Likewise.
	<)>: New operand to emit the displacement from the saved PC on return.
	<@>: Remove.
	* config/sparc/sparc.h (sparc_indent_opcode): Declare it.
	(ASM_OUTPUT_OPCODE): New macro.
	(PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
	* config/sparc/sparc.md (normal_branch, inverted_branch,
	normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
	inverted_fpe_branch): Adjust call to output_cbranch.
	(normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
	call to output_v9branch.
	* config/sparc/sparc-protos.h (output_cbranch): Adjust.
	(output_v9branch): Likewise.

From-SVN: r87198
2004-09-08 19:17:53 +00:00
Devang Patel 5826770c62 darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr, -segs_read_only_addr and -segs_read_write_addr.
* config/darwin.h  (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
       -segs_read_only_addr and -segs_read_write_addr.
       (WORD_SWITCH_TAKES_ARG): Same.
      (LINK_SPEC): Same.
       * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
       -segs_read_write_addr.

       * gcc.dg/darwin-ld-20040828-1.c: New test.
       * gcc.dg/darwin-ld-20040828-2.c: New test.
       * gcc.dg/darwin-ld-20040828-3.c: New test.

From-SVN: r87197
2004-09-08 11:56:22 -07:00
Ziemowit Laski c509784d64 bitfield-2.m: Make 'id' definition a typedef.
[gcc/testsuite/ChangeLog]
2004-09-08  Ziemowit Laski  <zlaski@apple.com>

	* objc.dg/bitfield-2.m: Make 'id' definition a typedef.
	* obj.dg/bitfield-4.m: Allow 'unsigned' in addition to 'unsigned int'
	in error message.
	* objc.dg/id-1.m: Attempt to define 'id' in an incompatible fashion.
	* objc.dg/method-6.m: Allow 'unsigned' in addition to 'unsigned int'
	in error message.
	* objc.dg/proto-qual-1.m: Protocol qualifiers now appear before the
	types they qualify.
	* objc.dg/type-size-2.m: Fix wording in comment.
	* objc.dg/va-meth-1.m: New test case.

From-SVN: r87196
2004-09-08 18:48:56 +00:00
Richard Henderson 6cdd56724a function.c (reference_callee_copied): New.
* function.c (reference_callee_copied): New.
        (assign_parm_setup_reg): Use it.
        * calls.c (initialize_argument_information): Likewise.
        (emit_library_call_value_1): Likewise.
        * function.h (reference_callee_copied): Declare.

        * target.h (struct gcc_target): Add callee_copies.
        * target-def.h (TARGET_CALLEE_COPIES): New.
        (TARGET_PASS_BY_REFERENCE): Update default.
        * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * targhooks.c (hook_callee_copies_named): New.
        (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
        hook_pass_by_reference_false.
        (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
        * targhooks.h: Update decls.
        * config/arc/arc.c (TARGET_CALLEE_COPIES): New.
        * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
        * config/frv/frv.c (frv_function_arg_callee_copies): Remove.
        * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
        * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
        * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * config/mips/mips.c (TARGET_CALLEE_COPIES): New.
        (mips_callee_copies): New.
        * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
        * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
        * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * config/pa/pa.c (TARGET_CALLEE_COPIES): New.
        * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * config/sh/sh.c (sh_callee_copies): New.
        (TARGET_CALLEE_COPIES): New.
        * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * config/v850/v850.c (TARGET_CALLEE_COPIES): New.
        * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
        * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
        for FUNCTION_ARG_CALLEE_COPIES.
        * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.

From-SVN: r87195
2004-09-08 11:45:21 -07:00
Devang Patel 7f7e070310 tree-if-conv.c (find_phi_replacement_condition): Return true edge block.
* tree-if-conv.c (find_phi_replacement_condition): Return true edge block.
        (replace_phi_with_cond_modify_expr): Select conditional expr args based on
        true edge basic block.

From-SVN: r87194
2004-09-08 11:25:01 -07:00
Jan Hubicka ed7f7d851c tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for variables being alias set.
* tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
	variables being alias set.

From-SVN: r87193
2004-09-08 17:36:39 +00:00
Nathan Sidwell 0bccc606b3 final.c (shorten_branches, [...]): Use gcc_assert and gcc_unreachable.
* final.c (shorten_branches, final, get_insn_template,
	output_alternate_entry_point, final_scan_insn, alter_subreg,
	alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
	leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
	* fix-header.c (lookup_std_proto): Likewise.
	* flow.c (first_insn_after_basic_block_note, verify_wide_reg,
	verify_local_live_at_start, update_life_info, mark_reg,
	calculate_global_regs_live, allocate_reg_life_data,
	init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
	ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
	attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
	* fold-const.c (force_fit_type, div_and_round_double,
	may_negate_without_overflow_p, int_const_binop, const_binop,
	size_binop, size_diffop, fold_convert_const, fold_convert,
	invert_tree_comparison, swap_tree_comparison,
	comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
	range_binop, make_range, fold_cond_expr_with_comparison,
	fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
	fold_abs_const, fold_not_const, fold_relational_const, round_up,
	round_down): Likewise.
	* function.c (find_function_data, assign_stack_temp_for_type,
	instantiate_virtual_regs_lossage, aggregate_value_p,
	assign_parm_find_entry_rtl, assign_parm_setup_block,
	expand_function_start, expand_function_end, keep_stack_depressed,
	handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.

From-SVN: r87192
2004-09-08 15:44:46 +00:00
David Edelsohn 5f4a098e05 ltmain.sh: Use $pic_object as $non_pic_object if $non_pic_object=none.
* ltmain.sh: Use $pic_object as $non_pic_object if
        $non_pic_object=none.

From-SVN: r87191
2004-09-08 11:43:46 -04:00
Daniel Berlin 599eabdb42 Makefile.in (tree-loop-linear.o): Added.
2004-09-08  Daniel Berlin  <dberlin@dberlin.org>

	* Makefile.in (tree-loop-linear.o): Added.
	(OBJS-common): Add tree-loop-linear.o
	* common.opt: New flag, ftree-loop-linear.
	* timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
	* tree-flow.h: Add prototype for linear_transform_loops.
	* tree-optimize.c: Add linear transform after vectorization.
	* tree-pass.h: Add struct pass_linear_transform.
	* tree-ssa-loop.c: Add pass_linear_transform.
	* tree-loop-linear.c: New file.
	* lambda-code.c: gcc_assertify.
	(gcc_loop_to_lambda_loop): Handle all exit tests.
	Handle case where we have (invariant >= induction var).
	(find_induction_var_from_exit_cond): Ditto.

From-SVN: r87190
2004-09-08 15:28:56 +00:00
Paul Brook 6e45f57bf3 array.c: Don't include assert.h.
* array.c: Don't include assert.h.
	* data.c: Don't include assert.h.  Replace assert and abort with
	gcc_assert and gcc_unreachable.
	* dependency.c: Ditto.
	* f95-lang.c: Ditto.
	* iresolve.c: Ditto.
	* resolve.c: Ditto.
	* simplify.c: Ditto.
	* symbol.c: Ditto.
	* trans-array.c: Ditto.
	* trans-common.c: Ditto.
	* trans-const.c: Ditto.
	* trans-decl.c: Ditto.
	* trans-expr.c: Ditto.
	* trans-intrinsic.c: Ditto.
	* trans-io.c: Ditto.
	* trans-stmt.c: Ditto.
	* trans-types.c: Ditto.
	* trans.c: Ditto.

From-SVN: r87187
2004-09-08 14:33:03 +00:00
Benjamin Kosnik c3462823c6 linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
2004-09-08  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.

From-SVN: r87186
2004-09-08 13:54:18 +00:00