aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2004-09-09basic-block.h (guess_outgoing_edge_probabilities): Declare.Jan Hubicka4-127/+194
* 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-09gcc.c (add_sysrooted_prefix, [...]): Use fatal, not abort.Nathan Sidwell2-50/+83
* 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* tree-nested.c (create_tmp_var_for): Correct missinverted assert.Nathan Sidwell2-1/+3
From-SVN: r87228
2004-09-092004-09-09 Michael Koch <konqueror@gmx.de>Michael Koch2-1/+6
* java/lang/System.java (err): Fixed javadoci to point to setErr() and not setOut(). From-SVN: r87227
2004-09-09tree-outof-ssa.c (free_temp_expr_table): Add missed assert.Nathan Sidwell3-4/+9
* 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[multiple changes]Michael Koch2-14/+56
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-09Makefile.am: Don't try to include deps.mk.Michael Koch3-4/+5
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-09targhooks.c (default_unwind_emit, [...]): Use gcc_assert, gcc_unreachable & ↵Giovanni Bajo50-1259/+920
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* config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)Richard Sandiford7-1324/+2454
(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-09Make-lang.in (cp/semantics.o): Depend on c-common.h.Ziemowit Laski3-2/+15
[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-09re PR c/8420 (volatile after the type specifier for an unnamed structure is ↵Joseph Myers14-594/+1561
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-09c-tree.h (enum c_declarator_kind, [...]): New.Joseph Myers7-238/+446
* 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-09c-tree.h (C_DECL_USED, [...]): New.Joseph Myers10-14/+282
* 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-09cp-tree.h (do_poplevel): New prototype.Ziemowit Laski3-1/+7
[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-09builtins.c: Fix prototype for fold_builtin_atan.Eric Christopher2-1/+5
2004-09-08 Eric Christopher <echristo@redhat.com> * builtins.c: Fix prototype for fold_builtin_atan. From-SVN: r87214
2004-09-09Daily bump.GCC Administrator2-2/+2
From-SVN: r87211
2004-09-08* scanner.c (get_file): Add ATTRIBUTE_UNUSED.Paul Brook2-1/+5
From-SVN: r87207
2004-09-08builtins.c (fold_builtin_strlen, [...]): New functions.Eric Christopher2-299/+391
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-09rs6000.c (rs6000_stack_info): Correct alignment of save_size.Alan Modra2-2/+8
* config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of save_size. From-SVN: r87205
2004-09-08* vasprintf.c: Accept __va_copy in addition to va_copy.Adam Nemet2-0/+7
From-SVN: r87203
2004-09-08configure.ac (AC_CONFIG_COMMANDS): Don't create subdirectories and .d files.Bryce McKinlay3-38/+6
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-08power4.md (power4-lmul): du4 feeds iu1.David Edelsohn3-4/+9
* config/rs6000/power4.md (power4-lmul): du4 feeds iu1. * config/rs6000/power5.md (power5-lmul): Same. From-SVN: r87201
2004-09-08re PR rtl-optimization/17186 (ICE in move_for_stack_reg, at reg-stack.c:1065)Richard Henderson3-7/+23
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-08sparc.c (sparc_indent_opcode): New variable.Eric Botcazou5-152/+132
* 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-08darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr, -segs_read_only_addr ↵Devang Patel7-2/+75
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-08bitfield-2.m: Make 'id' definition a typedef.Ziemowit Laski8-11/+93
[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-08function.c (reference_callee_copied): New.Richard Henderson32-120/+176
* 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-08tree-if-conv.c (find_phi_replacement_condition): Return true edge block.Devang Patel2-17/+23
* 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-08tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for variables ↵Jan Hubicka2-10/+6
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-08final.c (shorten_branches, [...]): Use gcc_assert and gcc_unreachable.Nathan Sidwell6-280/+286
* 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-08ltmain.sh: Use $pic_object as $non_pic_object if $non_pic_object=none.David Edelsohn2-0/+15
* ltmain.sh: Use $pic_object as $non_pic_object if $non_pic_object=none. From-SVN: r87191
2004-09-08Makefile.in (tree-loop-linear.o): Added.Daniel Berlin11-47/+413
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-08array.c: Don't include assert.h.Paul Brook19-401/+381
* 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-08linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.Benjamin Kosnik2-4/+10
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-08tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type memory tag is ↵Jie Zhang2-20/+37
call clobbered, so are its aliases. * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type memory tag is call clobbered, so are its aliases. (group_aliases): When two memory tags being grouped, if one is call clobbered, so are the other and its aliases. (add_may_alias): Remove call-clobbering stuff. (replace_may_alias): Likewise. (merge_pointed_to_info): Merge pt_global_mem. From-SVN: r87182
2004-09-08cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.Jan Hubicka4-4/+28
* cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node. * cgraphunit.c (verify_cgraph): Don't verify on syntax errors. (cgraph_expand_function): Remove stale cgraph edges of currently compiled function; fix non-unit-at-a-time code copying function node for later reuse. From-SVN: r87181
2004-09-08Fix cp changelog from previous checkinNathan Sidwell2-3/+6
From-SVN: r87180
2004-09-08vec.c (vec_p_reserve, [...]): Rename to ...Nathan Sidwell9-29/+145
* vec.c (vec_p_reserve, vec_o_reserve): Rename to ... (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust. (vec_gc_free, vec_heap_free): New. * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New. (DEF_VEC_P): Add allocator argument. Adjust. (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New. (DEF_VEC_O): Add allocator argument. Adjust. (VEC(free)): New. * tree.h (tree): Define a GC'd vector. * lamba-code.c (lambda_loop): Likewise. * value-prof.h (histogram_value): Likewise. * cp/cp-tree.h (tree_pair_s): Likewise. * cp/name-lookup.h (cxx_saved_binding, cp_class_binding): Likewise. * cp/semantics.c (deferred_access): Likewise. From-SVN: r87179
2004-09-08emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.Nathan Sidwell7-1219/+1101
* emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable. (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno, gen_lowpart_common, gen_highpart, gen_highpart_mode, subreg_highpart_offset, operand_subword, operand_subword_force, mem_expr_equal_p, set_mem_attributes_minus_bitpos, set_mem_alias_set, change_address_1, verify_rtx_sharing, copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter, try_split, add_insn_after, add_insn_before, remove_insn, remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before, emit_call_insn_before, emit_insn_after, emit_jump_insn_after, emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn, set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1, gen_const_vector_0, emit_copy_of_insn_after): Likewise. * et-forest.c (set_prev, set_next, et_check_occ_sanity, record_path_before_1, check_path_after_1, check_path_after): Likewise. * except.c (gen_eh_region, resolve_one_fixup_region, remove_unreachable_regions, convert_from_eh_region_ranges_1, add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads, connect_post_landing_pads, sjlj_emit_function_exit, remove_exception_handler_label, remove_eh_handler, reachable_next_level, collect_one_action_chain, output_function_exception_table): Likewise. * explow.c (trunc_int_for_mode, copy_to_mode_reg, optimize_save_area_alloca, allocate_dynamic_stack_space, probe_stack_range, hard_function_value): Likewise. * expmed.c (mode_for_extraction, store_bit_field, store_fixed_bit_field, extract_bit_field, expand_shift, expand_mult_const, expand_mult, choose_multiplier, expand_mult_highpart, expand_divmod, emit_store_flag, do_cmp_and_jump): Likewise. * expr.c (convert_move, convert_modes, move_by_pieces, move_by_pieces_ninsns, move_by_pieces_1, emit_block_move, move_block_from_reg, gen_group_rtx, emit_group_load, emit_group_move, emit_group_store, use_reg, use_regs, can_store_by_pieces, store_by_pieces, store_by_pieces_1, emit_move_insn, emit_move_insn_1, emit_push_insn, expand_assignment, store_expr, count_type_elements, store_constructor, store_field, safe_from_p, expand_var, expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise. From-SVN: r87178
2004-09-08dbxout.c (dbxout_type, [...]): Use gcc_assert and gcc_unreachable.Nathan Sidwell9-509/+426
* dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use gcc_assert and gcc_unreachable. * ddg.c (create_ddg_dependence, add_deps_for_def, add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise. * df.c (df_ref_unlink, df_ref_record, df_uses_record, df_reg_def_chain_create, df_reg_use_chain_create, df_analyze, df_insn_delete, df_refs_reg_replace, df_ref_reg_replace, df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p, df_bb_reg_live_end_p, df_bb_regs_lives_compare, df_bb_single_def_use_insn_find, dataflow_set_a_op_b, dataflow_set_copy, hybrid_search, diagnostic.c, diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise. * dojump.c (do_jump): Likewise. * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree, compute_dom_fast_query, calculate_dominance_info, free_dominance_info, get_immediate_dominator, set_immediate_dominator, get_dominated_by, redirect_immediate_dominators, nearest_common_dominator, dominated_by_p, verify_dominators, recount_dominator, iterate_fix_dominators, add_to_dominance_info, delete_from_dominance_info): Likewise. * dwarf2asm.c (size_of_encoded_value, eh_data_format_name, dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128, dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise. * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save, initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust, flush_queued_reg_saves, dwarf2out_frame_debug_expr, dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi, output_call_frame_info, output_loc_operands, build_cfa_loc, decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string, AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external, AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die, splice_child_die, attr_checksum, same_dw_val_p, break_out_includes, build_abbrev_table, size_of_die, mark_dies, unmark_dies, value_format, output_loc_list, output_die, output_pubnames, output_aranges, base_type_die, is_base_type, modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor, mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1, field_byte_offset, add_data_member_location_attribute, add_const_value_attribute, rtl_for_decl_location, add_location_or_const_value_attribute, add_byte_size_attribute, add_bit_offset_attribute, add_bit_size_attribute, add_abstract_origin_attribute, pop_decl_scope, scope_die_for, decl_start_label, gen_formal_parameter_die, gen_type_die_for_member, gen_subprogram_die, gen_label_die, gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die, force_decl_die, force_type_die, gen_decl_die, dwarf2out_imported_module_or_decl, prune_unused_types_prune, dwarf2out_finish): Likewise. From-SVN: r87176
2004-09-08Makefile.in (builtins.o): Depend on tree-mudflap.h.Andreas Tobler3-1/+8
[gcc/ChangeLog] 2004-09-08 Andreas Tobler <toa@pop.agri.ch> * Makefile.in (builtins.o): Depend on tree-mudflap.h. * builtins.c: Include tree-mudflap.h. From-SVN: r87175
2004-09-08i386.c (ix86_prepare_fp_compare_args): Do not force operand 0.0 into ↵Uros Bizjak3-37/+98
register in XFmode. * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not force operand 0.0 into register in XFmode. Also do not force operand 0.0 into register if !TARGET_CMOVE. * config/i386/i386.md (*cmpfp_0): Delete. Remove comment. (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to implement ftst x87 instruction. (*fp_jcc_7): New insn pattern. Change corresponding split pattern to handle "general_operand" instead of "nonimmediate_operand". ---------------------------------------------------------------------- From-SVN: r87173
2004-09-08* doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.Ben Elliston2-0/+9
From-SVN: r87172
2004-09-08builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes generated ↵Frank Ch. Eigler3-9/+44
from standard va_arg expansion. 2004-09-07 Frank Ch. Eigler <fche@redhat.com> * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes generated from standard va_arg expansion. * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from marked nodes. (mf_varname_tree, mf_file_function_line_tree): Add some support for column numbers if compiled with USE_MAPPED_LOCATION. From-SVN: r87170
2004-09-08c-decl.c (groktypename_in_parm_context): Remove function.Ziemowit Laski3-13/+5
[gcc/ChangeLog] 2004-09-07 Ziemowit Laski <zlaski@apple.com> * c-decl.c (groktypename_in_parm_context): Remove function. * c-tree.h (groktypename_in_parm_context): Remove prototype. From-SVN: r87169
2004-09-08Makefile.in (c-parse.o): Depend on $(C_COMMON_H).Ziemowit Laski7-2427/+1886
[gcc/ChangeLog] 2004-09-07 Ziemowit Laski <zlaski@apple.com> * Makefile.in (c-parse.o): Depend on $(C_COMMON_H). * c-parse.in: Include c-common.h instead of objc-act.h. (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator, myparms, myparm): Remove %type declarations. (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual, objc_typename, objc_try_catch_stmt, optellipsis): Add %type declarations. (objc_inherit_code, objc_public_flag): Remove. (typespec_nonreserved_nonattr): Call objc_get_protocol_qualified_type() instead of get_static_reference() and get_protocol_reference(). (stmt_nocomp): Call grokparm() on @catch parameter. (objcdef): Move semantic action to objc_finish_implementation(). (classdef): Move semantic action to objc_start_class_interface(), objc_continue_interface(), objc_finish_interface(), objc_start_class_implementation(), objc_continue_implementation(), objc_start_category_interface() and objc_start_category_implementation(). (protocoldef): Move semantic actions to objc_start_protocol() and objc_finish_interface(). (ivar_decl_list): Remove nonterminal. (visibility_spec): Move semantic actions to objc_set_visibility(). (ivar_decls): Remove assignment to $$. (ivar_decl): Rephrase in terms of component_decl; call objc_add_instance_variable(). (ivars, ivar_declarator): Remove nonterminals. (opt_semi): New nonterminal. (methodtype): Remove semantic actions. (methoddef): Move semantic actions to objc_set_method_type(), objc_start_method_definition() and objc_finish_method_definition(). (methodproto): Move semantic actions to objc_set_method_type() and objc_add_method_declaration(). (methoddecl): Use objc_typename instead of typename; move semantic actions to objc_build_method_signature(). (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals. (optparmlist): Express in terms of optparms and optellipsis. (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New nonterminals. (keyworddecl): Use objc_typename instead of typename. (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse(). [gcc/objc/ChangeLog] 2004-09-07 Ziemowit Laski <zlaski@apple.com> * Make-lang.in (objc/objc-parse.o): Depend on $(C_COMMON_H) instead of objc/objc-act.h. (objc/objc-act.o): Depend on $(HASHTAB_H). * objc-act.c: Include hashtab.h; in ObjC++ mode, include cp-tree.h and objcp-decl.h instead of c-tree.h. (build_module_descriptor, get_class_ivars, synth_id_with_class_suffix, error_with_ivar, gen_method_decl, gen_declaration, setup_string_decl, build_protocol_template): Adjust prototypes. (build_module_initializer_routine, start_class, continue_class, finish_class, start_method_def, objc_start_function, start_protocol, build_method_decl, objc_add_method, add_instance_variable, build_ivar_reference, is_ivar, is_private, get_super_receiver, build_selector_table_decl, objc_push_parm, objc_get_parm_info, gen_type_name, gen_type_name_0, start_var_decl, finish_var_decl, create_field_decl): New prototypes. (objc_expand_function_end, comp_method_with_proto, objc_expr_last, gen_declaration_1, gen_declarator, is_complex_decl, adorn_decl, define_decl, create_builtin_decl, gen_declspecs): Remove prototypes. (TYPE_ID): Rename to OBJECT_TYPEDEF_NAME. (CLASS_TYPEDEF_NAME): New. (TAG_EXECCLASS): Change from a global variable to a #define. (TAG_RETURN_STRUCT): Delete. (TAG_GNUINIT): New, holds '__objc_gnu_init' name. (objc_inherit_code, objc_public_flag): New, moved from c-parse.in. (string_descriptor): New struct. (string_htab): New hash table. (string_hash, string_eq): New prototypes. (generate_struct_by_value_array): Call create_field_decl() instead of create_builtin_decl(). (objc_init): Do not initialize objc_ellipsis_node or TAG_EXECCLASS; In ObjC++ mode, call cxx_init() instead of c_objc_common_init(). (objc_finish_file): In ObjC++, call instantiate_pending_templates() and cp_finish_file(). (define_decl, get_static_reference, get_protocol_reference, create_builtin_decl): Remove functions. (objc_start_class_interface, objc_start_category_interface, objc_start_protocol, objc_continue_interface, objc_finish_interface, objc_start_class_implementation, objc_start_category_implementation, objc_continue_implementation, objc_finish_implementation, objc_set_visibility, objc_set_method_type, objc_build_method_signature, objc_add_method_declaration, objc_start_method_definition, objc_add_instance_variable, objc_get_protocol_qualified_type, create_field_decl, start_var_decl, finish_var_decl): New functions. (setup_string_decl): Simplify since it is only called once. (synth_module_prologue): Call build_class_template(); predefine 'id' and 'Class' as typedefs; rename 'temp_type' to 'type'; disable debug hooks for duration of function; fix GNU runtime messenger signatures to correspond to reality; forward-declare '__objc_exec_class' for the GNU runtime; call build_selector_table_decl(); in ObjC++ mode, generate 'extern "C" { ... }' wrappers around synthesized declarations; call build_protocol_template() and build_category_template(). (string_hash, string_eq): New functions. (objc_build_string_object): Check metaclass correctness only once; store string literals in hash table. (objc_build_constructor): Do not convert initializer elements; adjust for ObjC++ impedance mismatch. (build_objc_symtab_template): Call create_field_decl() instead of create_builtin_decl(). (init_objc_symtab): Add missing conversion to initializer element. (build_metadata_decl): Call start_var_decl() instead of define_decl(). (generate_objc_symtab_decl): Do not call build_category_template(); call start_var_decl() and finish_var_decl() instead of start_decl() and finish_decl(). (build_module_descriptor): Call create_field_decl() instead of grokfield(); call start_var_decl() and finish_var_decl() instead of start_decl() and finish_decl(); always mark module descriptor as used; move GNU runtime-specific functionality to build_module_initializer_routine(). (build_module_initializer_routine): New function, broken off of build_module_descriptor(). (objc_static_init_needed_p, objc_generate_static_init_call): New functions. (generate_static_references, generate_strings, build_selector_translation_table, generate_descriptor_table, generate_ivars_list, generate_dispatch_table, generate_category): Call start_var_decl() and finish_var_decl() instead of start_decl() and finish_decl(); build a type directly instead of via groktypename(). (build_selector_reference_decl, build_selector_table_decl, build_class_reference_decl, build_protocol_reference, generate_objc_image_info): Call start_var_decl() instead of build_decl(). (build_selector_reference): For GNU runtime, do not call build_selector_reference_decl(). (build_selector, build_typed_selector_reference): Always convert result to the selector type. (add_objc_string): Cast return value to 'char *'. (build_method_prototype_template, build_selector_template, build_method_template): Use actual selector type for fields pointing to selectors. (finish_objc): For GNU runtime, call build_module_initializer_routine() after build_module_descriptor(). (generate_protocol_list, generate_shared_structures): Call start_var_decl() and finish_var_decl() instead of start_decl() and finish_decl(); build a type directly instead of via groktypename(). (synth_id_with_class_suffix): Return a string. (get_arg_type_list): For instance methods, use the instance type for 'self'; do not call groktypename_in_parm_context(). (build_objc_string_decl): Squash redeclaration errors in ObjC++. (objc_is_class_name): Use OBJC_TYPE_NAME instead of TYPE_NAME; handle RECORD_TYPEs in ObjC as well as ObjC++. (objc_is_id): New function. (objc_is_object_ptr): Return the canonical type node. (objc_get_class_ivars): Simplify using get_class_ivars(). (get_class_ivars): Remove second parameter; create a fresh copy of the ivar list for each call; do not check for existence of super class. (objc_eh_runtime_type): Mark #ifndef OBJCPLUS. (objc_init_exceptions): When using SJLJ-style exceptions, require the use of '-fobjc-exceptions' flag; do not require it for DWARF-style exceptions. (objc_build_exc_ptr, next_sjlj_build_try_catch_finally): Use objc_object_type instead of objc_id_type. (objc_begin_catch_clause): Convert the incoming PARM_DECL into a VAR_DECL before placing it in the appropriate scope; do not call define_decl(); adjust call to c_begin_compound_stmt(); use objc_object_type instead of objc_id_type. (build_next_objc_exception_stuff): Call create_field_decl() instead of create_builtin_decl(); construct type directly instead of calling groktypename(); use OBJC_VOID_AT_END to mark end of function parameters. (build_private_template): Adjust call to get_class_ivars(); build a type directly instead of via groktypename(). (build_protocol_template, build_method_prototype_list_template, build_method_prototype_template, build_category_template, build_selector_template, build_class_template, build_super_template, build_ivar_template, build_ivar_list_template, build_method_list_template, build_method_template): Call create_field_decl() instead of grokfield(). (objc_method_parm_type): Do not call groktypename(). (generate_descriptor_table): Call start_var_decl() and finish_var_decl() instead of start_decl() and finish_decl(). (generate_method_descriptors, build_protocol_initializer, generate_dispatch_tables, build_category_initializer, build_shared_structure_initializer): Do not call groktypename(). (generate_protocols): Call start_var_decl() and finish_var_decl() instead of start_decl() and finish_decl(); do not call groktypename(). (error_with_ivar): Remove last parameter. (check_ivars): Do not iterate ovar CLASS_RAW_IVARS lists in addition to CLASS_IVARS lists; adjust calls to error_with_ivar(). (generate_ivar_lists): Convert one of the initializer elements; do not call groktypename(). (get_arg_type_list, start_method_def, gen_method_def): Account for new representation of variable arguments and '...' in Objective-C methods; add Objective-C++ impedance matching code. (is_objc_type_qualifier): Remove function. (adjust_type_for_id_default): Simplify; there is no longer a need to wade through declspecs. (lookup_interface, start_class, continue_class, finish_class, start_method_def, start_protocol, build_method_decl, objc_add_method, add_instance_variable, build_ivar_reference, is_ivar, is_private, get_super_receiver, objc_build_finally_epilogue): Make into static functions. (receiver_is_class_object): Use new IS_CLASS() macro. (objc_build_message_expr): Tweak ObjC++ message argument handling; call objc_finish_message_expr() instead of finish_message_expr(). (finish_message_expr): Rename to objc_finish_message_expr(); use OBJC_TYPE_NAME and OBJC_SET_TYPE_NAME macros instead of TYPE_NAME. call gen_type_name() instead of gen_declaration(); call objc_is_id() instead of using IS_ID and IS_CLASS; Use objc_class_name instead of calling get_identifier("Class"); handle CONVERT_EXPRs in receiver. (build_objc_method_call, warn_with_method): Do not call groktypename(). (build_ivar_reference): Call convert() instead of clobbering in a type. (hash_init): Initialize string_htab hash table. (add_instance_variable): Simplify parameter list; do not call grokfield(); do not populate CLASS_IVARS list. (start_class): Check for the existence of super class, if one was specified. (continue_class): Use CLASS_RAW_IVARS rather than CLASS_IVARS; do not call build_class_template(); adjust call to get_class_ivars(); call build_decl(), pushdecl() and finish_decl() instead of define_decl(). (finish_class): Call build_decl(), pushdecl() and finish_decl() instead of define_decl(). (add_protocols): Use PROTOCOL_BINFO_ELTS for the tree vector size. (start_protocol): Do not call build_protocol_template(); use PROTOCOL_BINFO_ELTS for the tree vector size. (encode_type_qualifiers): Do not handle the 'const' qualifier here. (encode_pointer): Encode 'const char *' as 'r*', for backwards compatibility. (encode_array): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld". (encode_type): Handle the 'const' qualifier here. (objc_parmlist): New global variable, sued by objc_push_parm and objc_get_parm_info(). (objc_push_parm, objc_get_parm_info): New functions. (objc_expr_last): Remove function. (synth_self_and_ucmd_args): For instance methods, use the instance type for 'self'; call objc_push_parm() instead of push_parm_decl(). (start_method_def): Do not call push_scope(), declare_parm_level(), pop_scope(), push_parm_decl(), store_parm_decls() or objc_expr_last(); just use objc_push_parm() and objc_get_parm_info(). (comp_method_with_proto): Remove function. (objc_types_are_equivalent): Strip away indirections before comparing underlying types. (comp_proto_with_proto): Do not call groktypename(); types are no longer in raw declspec format. (objc_start_function): New function. (really_start_method): Call comp_proto_with_proto() instead of comp_method_with_proto(); call objc_start_function() instead of hand-crafting a function declarator. (continue_method_def, objc_expand_function_end): Remove functions. (get_super_receiver): Call objc_get_current_scope() instead of get_current_scope(); reference 'super_class' field (instead of 'class'). (finish_method_def): Rename to objc_finish_method_definition() and add a function decl parameter; move method encoding call from objc_expand_function_end(). (is_complex_decl, adorn_decl, gen_declarator, gen_declspecs, gen_declaration_1): Remove functions. (tmpbuf, RAW_DECLSPEC): Remove. (gen_declaration): Remove second parameter; simplify to deal with TYPE_P nodes instead of raw declspecs. (gen_type_name, gen_type_name_0): New functions. (gen_method_decl): Remove second parameter; call gen_type_name() instead of gen_declaration_1(). (dump_interface): Adjust calls to gen_declaration() and gen_method_decl(); do not allocate a separate string buffer. (init_objc): Allocate a larger string buffer to accommodate dump_interface(); adjust call to build_module_descriptor(); add call to build_module_initializer_routine() for the GNU runtime. (generate_classref_translation_entry): Do not call start_decl(); call finish_var_decl() instead of finish_decl(); call convert() instead of build_c_cast(). * objc-act.h (CLASS_OWN_IVARS): Remove accessor. (CLASS_BINFO_ELTS): Reduce from 6 to 5, now that CLASS_OWN_IVARS is gone. (OCTI_GNU_INIT_DECL, GNU_INIT_decl): New. (OCTI_ELLIPSIS_NODE, objc_ellipsis_node): Remove. (OCTI_ID_ID, id_type, objc_id_id): Rename to OCTI_ID_NAME, objc_object_type and objc_object_name, respectively. (OCTI_CLS_REF, OCTI_CLASS_NAME, objc_class_reference, objc_class_name): New. (IS_CLASS): New macro. (IS_ID, IS_SUPER): Robustify. (OCTI_EXECCLASS_DECL, execclass_decl): New. (finish_file, start_class, continue_class, finish_class, start_method_def, continue_method_def, finish_method_def, start_protocol, finish_protocol, objc_build_throw_stmt, objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue, objc_build_synchronized_epilogue, objc_build_try_prologue, objc_build_try_epilogue, objc_build_catch_stmt, objc_build_catch_epilogue, objc_build_finally_prologue, objc_build_finally_epilogue, is_ivar, is_private, is_public, add_instance_variable, objc_add_method, get_super_receiver, objc_clear_super_receiver, get_class_ivars_from_name, get_class_reference, get_static_reference, get_object_reference, build_message_expr, finish_message_expr, build_selector_expr, build_ivar_reference, build_keyword_decl, build_method_decl, build_protocol_expr, build_objc_string_object, objc_declare_alias, objc_declare_class, objc_declare_protocols, objc_comptypes, objc_check_decl, build_encode_expr): Remove prototypes. (imp_count, cat_count): Make GGC-aware. (OBJC_SET_TYPE_NAME): New macro. From-SVN: r87168
2004-09-08tm.texi (MD_UNWIND_SUPPORT): Document.Alan Modra31-1353/+1448
* doc/tm.texi (MD_UNWIND_SUPPORT): Document. (MD_FALLBACK_FRAME_STATE_FOR): Update. * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined. (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation. (MD_FROB_UPDATE_CONTEXT): Remove default. (uw_update_context_1): Instead #ifdef invocation. * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined. (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation. * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef. (MD_UNWIND_SUPPORT): Undefine this instead. * config/i386/gnu.h: Likewise. * config/alpha/linux-unwind.h: New file, macro converted to function, extracted from.. * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this. (MD_UNWIND_SUPPORT): Define. * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise. * config/i386/linux-unwind.h, config/i386/linux.h, config/i386/linux64.h: Likewise. * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise. MD_HANDLE_UNWABI too. * config/mips/linux-unwind.h, config/mips/linux.h: Likewise. * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise. * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise. * config/s390/linux-unwind.h, config/s390/linux.h: Likewise. * config/sparc/linux-unwind.h, config/sparc/linux.h, config/sparc/linux64.h: Likewise. * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state. * config/rs6000/linux-unwind.h, config/rs6000/linux.h, config/rs6000/linux64.h: Likewise. Split out get_sigcontext function. Use ARG_POINTER_REGNUM for 32-bit temp reg too. From-SVN: r87167
2004-09-08Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r87165.2
2004-09-08Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r87163.2
2004-09-07* MAINTAINERS: Add aoliva and self as maintainers for FR-V port.Aldy Hernandez1-0/+2
From-SVN: r87161