gcc.git
20 years agore PR fortran/16290 (Test intrinsic_set_exponent.f90 fails on irix6.5)
David Billinghurst [Fri, 2 Jul 2004 12:39:56 +0000 (12:39 +0000)]
re PR fortran/16290 (Test intrinsic_set_exponent.f90 fails on irix6.5)

2004-07-02  David Billinghurst  (David.Billinghurst@riotinto.com)

PR fortran/16290
* gfortran.fortran-torture/execute/intrinsic_set_exponent.f90
Allow for cases without denormalized floating point numbers.

From-SVN: r84018

20 years agoMakefile.def (build_modules): Add bison, byacc, flex, m4, texinfo.
Paolo Bonzini [Fri, 2 Jul 2004 07:55:37 +0000 (07:55 +0000)]
Makefile.def (build_modules): Add bison, byacc, flex, m4, texinfo.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.def (build_modules): Add bison, byacc, flex,
m4, texinfo.
(flags_to_pass): Add FLEX.
* Makefile.tpl (BUILD_DIR_PREFIX, BASE_EXPORTS): New.
(BUILD_EXPORTS, HOST_EXPORTS, BASE_TARGET_EXPORTS): Include it.
(DEFAULT_YACC, USUAL_YACC, DEFAULT_LEX, USUAL_LEX, DEFAULT_M4,
DEFAULT_MAKEINFO): Remove.
(CONFIGURED_YACC, CONFIGURED_FLEX, CONFIGURED_BISON,
CONFIGURED_LEX, CONFIGURED_M4, CONFIGURED_MAKEINFO): Substitute.
(YACC, FLEX, BISON, LEX, M4, MAKEINFO): Define to look into
objdir or else use configured tool.
(all-build): New.
(all): Depend on it.
(Build module dependencies): Add.
* Makefile.in: Regenerate.
* configure.in: Better support for multiple build modules,
matching what is done for host/target modules.  Do not look
for "plausible" locations of build tools if Canadian cross.
Use autoconf's AC_PROG_CC to find a C compiler.  Define
BUILD_DIR_PREFIX.  Look for flex, makeinfo and m4.
* configure: Regenerate.

From-SVN: r84017

20 years ago* tree-flow.h (bb_ann_d): Remove ephi_nodes field.
Steven Bosscher [Fri, 2 Jul 2004 07:34:30 +0000 (07:34 +0000)]
* tree-flow.h (bb_ann_d): Remove ephi_nodes field.

From-SVN: r84016

20 years agoalpha.c (struct machine_function): Add gp_save_rtx.
Richard Henderson [Fri, 2 Jul 2004 06:31:49 +0000 (23:31 -0700)]
alpha.c (struct machine_function): Add gp_save_rtx.

        * config/alpha/alpha.c (struct machine_function): Add gp_save_rtx.
        (alpha_gp_save_rtx): Use assign_stack_local instead of
        gen_mem_addressof.

From-SVN: r84015

20 years agoalpha.c (struct alpha_rtx_cost_data): Add int_div.
Richard Henderson [Fri, 2 Jul 2004 06:11:30 +0000 (23:11 -0700)]
alpha.c (struct alpha_rtx_cost_data): Add int_div.

        * config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div.
        (alpha_rtx_cost_data): Update to match.
        (alpha_rtx_cost_size): New.
        (alpha_rtx_costs): Honor optimize_size.

From-SVN: r84014

20 years agogimple-low.c (lower_function_body): Don't reset_block_changes here.
Richard Henderson [Fri, 2 Jul 2004 04:53:37 +0000 (21:53 -0700)]
gimple-low.c (lower_function_body): Don't reset_block_changes here.

        * gimple-low.c (lower_function_body): Don't reset_block_changes here.
        * cfgexpand.c (tree_expand_cfg): Do it here.
        * config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here.
        * config/ia64/ia64.c (ia64_output_mi_thunk): And here.
        * config/mips/mips.c (mips_output_mi_thunk): And here.
        * config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here.
        * config/sh/sh.c (sh_output_mi_thunk): And here.
        * config/sparc/sparc.c (sparc_output_mi_thunk): And here.

From-SVN: r84012

20 years agotree.def (RTL_EXPR): Remove.
Richard Henderson [Fri, 2 Jul 2004 01:15:43 +0000 (18:15 -0700)]
tree.def (RTL_EXPR): Remove.

        * tree.def (RTL_EXPR): Remove.
        * c-typeck.c (lvalue_p): Don't handle it.
        * expr.c (safe_from_p): Likewise.
        (expand_expr_real_1): Likewise.
        * fold-const.c (non_lvalue, operand_equal_p, fold): Likewise.
        (fold_checksum_tree, tree_expr_nonnegative_p): Likewise.
        * gengtype.c (adjust_field_tree_exp): Likewise.
        * stmt.c (warn_if_unused_value): Likewise.
        * tree-gimple.c (recalculate_side_effects): Likewise.
        * tree-pretty-print.c (dump_generic_node): Likewise.
        * tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise.
        (unsafe_for_reeval, stabilize_reference, build1_stat): Likewise.
        * tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove.

        * stmt.c (struct stmt_status): Remove x_last_expr_type,
        x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value.
        (last_expr_type, last_expr_value, last_expr_alt_rtl): Remove.
        (expand_expr_stmt): Merge with expand_expr_stmt_value.  Remove
        all the bits that tracked last_expr.
        (expand_end_bindings): Don't track last_expr.
        (expand_start_stmt_expr, expand_end_stmt_expr): Remove.
        (clear_last_expr): Remove.
        (expand_asm): Don't call it.
        (expand_asm_operands, expand_end_cond): Likewise.
        (expand_naked_return, expand_null_return_1): Likewise.
        * c-typeck.c (c_begin_compound_stmt): Likewise.
        * cfgexpand.c (expand_block): Use expand_expr_stmt.
        * expr.c (expand_expr_real_1): Likewise.
        * tree.h: Update prototypes.

        * function.h (struct sequence_stack): Remove sequence_rtl_expr.
        (struct emit_status): Remove sequence_rtl_expr.
        (struct function): Remove x_rtl_expr_chain.
        (seq_rtl_expr, rtl_expr_chain): Remove.
        * function.c (struct temp_slot): Remove rtl_expr.
        (assign_stack_temp_for_type): Don't set it.
        (free_temp_slots, pop_temp_slots): Don't check it.
        (free_after_compilation): Don't clear x_rtl_expr_chain.
        (fixup_var_refs): Don't search it.
        (preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove.
        * emit-rtl.c (start_sequence): Don't use sequence_rtl_expr
        or seq_rtl_expr.
        (push_topmost_sequence): Likewise.
        (end_sequence, init_emit): Likewise.
        (start_sequence_for_rtl_expr): Remove.
        * expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR.
        * rtl.h (preserve_rtl_expr_result): Remove.

ada/
        * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
        * utils.c (max_size): Likewise.

cp/
        * class.c (fixed_type_or_null): Don't handle RTL_EXPR.
        * method.c (synthesize_method): Don't clear_last_expr.
        * name-lookup.c (maybe_push_cleanup_level): Likewise.

From-SVN: r84009

20 years agoifcvt.c, [...]: Fix comment typos.
Kazu Hirata [Fri, 2 Jul 2004 00:51:01 +0000 (00:51 +0000)]
ifcvt.c, [...]: Fix comment typos.

* ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c,
tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment
typos.

From-SVN: r84008

20 years agoDaily bump.
GCC Administrator [Fri, 2 Jul 2004 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r84006

20 years agogcc.c (STANDARD_STARTFILE_PREFIX_1): Define.
Aaron W. LaFramboise [Thu, 1 Jul 2004 23:55:22 +0000 (23:55 +0000)]
gcc.c (STANDARD_STARTFILE_PREFIX_1): Define.

2004-07-02  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>

* gcc.c (STANDARD_STARTFILE_PREFIX_1): Define.
(STANDARD_STARTFILE_PREFIX_2): Define.
(standard_startfile_prefix_1): Initialize to
STANDARD_STARTFILE_PREFIX_1.
(standard_startfile_prefix_2): Initialize to
STANDARD_STARTFILE_PREFIX_2.
* config/i386/mingw32.h (MD_STARTFILE_PREFIX): Remove.
(STANDARD_STARTFILE_PREFIX_1): Define.
(STANDARD_STARTFILE_PREFIX_2): Define.
* doc/tm.texi (STANDARD_STARTFILE_PREFIX_1): Document.
(STANDARD_STARTFILE_PREFIX_2): Document.

From-SVN: r84002

20 years agotree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr in order to disable...
Richard Henderson [Thu, 1 Jul 2004 22:26:12 +0000 (15:26 -0700)]
tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr in order to disable scalarization.

        * tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr
        in order to disable scalarization.  Instead set a flag and wait
        for a candidate decl.

From-SVN: r84001

20 years agocppinternals.texi, [...]: Use terminology "testsuite" and "enumerated".
Joseph Myers [Thu, 1 Jul 2004 22:02:41 +0000 (23:02 +0100)]
cppinternals.texi, [...]: Use terminology "testsuite" and "enumerated".

* doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
Use terminology "testsuite" and "enumerated".

From-SVN: r84000

20 years agodwarf2out.c (reg_save): Use INVALID_REGNUM.
Richard Henderson [Thu, 1 Jul 2004 20:53:55 +0000 (13:53 -0700)]
dwarf2out.c (reg_save): Use INVALID_REGNUM.

        * dwarf2out.c (reg_save): Use INVALID_REGNUM.
        (dwarf2out_reg_save, dwarf2out_return_save): Likewise.
        (initial_return_save): Likewise.
        (flush_queued_reg_saves): Remap register numbers.
        (dwarf2out_return_reg): Likewise.

From-SVN: r83999

20 years ago* gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL.
Richard Kenner [Thu, 1 Jul 2004 19:45:28 +0000 (19:45 +0000)]
* gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL.

From-SVN: r83998

20 years agotree-pretty-print.c (dump_generic_node, [...]): Use access functions for lower bound...
Richard Kenner [Thu, 1 Jul 2004 19:32:27 +0000 (19:32 +0000)]
tree-pretty-print.c (dump_generic_node, [...]): Use access functions for lower bound and element size and only output if...

* tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use
access functions for lower bound and element size and only output
if lower bound nonzero or element size not same as that of type.
(dump_generic_node, case COMPONENT_REF): Use access func. for offset.

From-SVN: r83997

20 years agostl_algobase.h (__copy_trivial): Remove.
Paolo Carlini [Thu, 1 Jul 2004 17:53:21 +0000 (17:53 +0000)]
stl_algobase.h (__copy_trivial): Remove.

2004-07-01  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algobase.h (__copy_trivial): Remove.
(__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
__is_trivially_copyable, __are_same and __copy::copy.
(__copy): Rewrite as a class template and two specializations.
(__copy_ni2): Simplify, just call __copy_aux.

* include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
check.
* testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
for destination value type != source value type.

From-SVN: r83991

20 years agoc-pretty-print.c (pp_c_postfix_expression): Fix pasto.
Paolo Bonzini [Thu, 1 Jul 2004 17:51:54 +0000 (17:51 +0000)]
c-pretty-print.c (pp_c_postfix_expression): Fix pasto.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

* c-pretty-print.c (pp_c_postfix_expression): Fix pasto.

From-SVN: r83990

20 years ago* final.c (final): Fix typo reported by Aaron W. LaFramboise.
Per Bothner [Thu, 1 Jul 2004 17:09:32 +0000 (10:09 -0700)]
* final.c (final):  Fix typo reported by Aaron W. LaFramboise.

From-SVN: r83989

20 years agore PR libstdc++/16248 (recent concurrence.h chanes breaks mingw bootstrap)
Benjamin Kosnik [Thu, 1 Jul 2004 15:30:36 +0000 (15:30 +0000)]
re PR libstdc++/16248 (recent concurrence.h chanes breaks mingw bootstrap)

2004-07-01  Benjamin Kosnik  <bkoz@redhat.com>
            Per Bothner  <per@bothner.com>
            Mohan Embar  <gnustuff@thisiscool.com>

        PR libstdc++/16248
        * include/bits/concurrence.h (__glibcxx_mutex_type): New.
        (__glibcxx_mutex): Encapsulate mutex init function into type for
        threaded configurations without __GTHREAD_MUTEX_INIT.
        (lock::lock): Make device member a reference.
        (lock::~lock): Same.
        * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
        to mutex_type.
        * src/allocator.cc: Same.

From-SVN: r83988

20 years agoFix copy/paste error.
Paul Brook [Thu, 1 Jul 2004 15:23:55 +0000 (15:23 +0000)]
Fix copy/paste error.

From-SVN: r83986

20 years agoPer Bothner <per@bothner.com > Mohan Embar <gnustuff@thisiscool.com>
Benjamin Kosnik [Thu, 1 Jul 2004 14:49:29 +0000 (14:49 +0000)]
Per Bothner <per@bothner.com > Mohan Embar <gnustuff@thisiscool.com>

2004-07-01  Benjamin Kosnik  <bkoz@redhat.com>
            Per Bothner  <per@bothner.com >
    Mohan Embar  <gnustuff@thisiscool.com>

PR libstdc++/16248
* include/bits/concurrence.h (__glibcxx_mutex_type): New.
(__glibcxx_mutex): Encapsulate mutex init function into type for
threaded configurations without __GTHREAD_MUTEX_INIT.
(lock::lock): Make device member a reference.
(lock::~lock): Same.
* include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
to mutex_type.
* src/allocator.cc: Same.

Co-Authored-By: Mohan Embar <gnustuff@thisiscool.com>
Co-Authored-By: Per Bothner <per@bothner.com>
From-SVN: r83985

20 years agoexpr.c (expand_assignment): Optimize bitfld += cst for 1 bit bitfields as well.
Jakub Jelinek [Thu, 1 Jul 2004 14:05:16 +0000 (16:05 +0200)]
expr.c (expand_assignment): Optimize bitfld += cst for 1 bit bitfields as well.

* expr.c (expand_assignment): Optimize bitfld += cst for 1 bit
bitfields as well.  STRIP_NOPS from src operand and PLUS_EXPR's
first operand.  Don't optimize if the bitfield is volatile.

From-SVN: r83983

20 years agoc-pretty-print.c (pp_c_postfix_expression): Handle floating-point comparison operators.
Paolo Bonzini [Thu, 1 Jul 2004 14:01:15 +0000 (14:01 +0000)]
c-pretty-print.c (pp_c_postfix_expression): Handle floating-point comparison operators.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

* c-pretty-print.c (pp_c_postfix_expression): Handle
floating-point comparison operators.
(pp_c_expression): Pass floating-point comparison
operators to pp_c_postfix_expression.

From-SVN: r83982

20 years agosimplify-rtx.c (simplify_binary_operation): Use rtx_cost instead of "had_mult" to...
Roger Sayle [Thu, 1 Jul 2004 13:09:39 +0000 (13:09 +0000)]
simplify-rtx.c (simplify_binary_operation): Use rtx_cost instead of "had_mult" to determine whether the transformed...

* simplify-rtx.c (simplify_binary_operation) <PLUS, MINUS>: Use
rtx_cost instead of "had_mult" to determine whether the transformed
expression is cheaper than the original.

From-SVN: r83981

20 years agoalias.c (get_alias_set, [...]): Use MEM_P.
Jerry Quinn [Thu, 1 Jul 2004 12:52:53 +0000 (12:52 +0000)]
alias.c (get_alias_set, [...]): Use MEM_P.

2004-07-01  Jerry Quinn  <jlquinn@optonline.net>

* alias.c (get_alias_set, canon_rtx, get_addr,
nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1):
Use MEM_P.
* builtins.c (expand_builtin_prefetch, expand_builtin_profile_func,
expand_builtin): Likewise.
* calls.c (expand_call, emit_library_call_value_1, store_one_arg):
Likewise.
* combine.c (can_combine_p, combinable_i3pat, try_combine,
find_split_point, combine_simplify_rtx, simplify_set, make_extraction,
rtx_equal_for_field_assignment_p, gen_lowpart_for_combine,
record_dead_and_set_regs_1, get_last_value_validate,
mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise.
* cse.c (check_dependence, canon_hash, equiv_constant,
gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers,
cse_around_loop, cse_check_loop_start, cse_set_around_loop,
count_reg_usage): Likewise.
* cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup,
cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set,
cselib_record_sets): Likewise.
* dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol,
dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise.
* ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise.
* df.c (df_uses_record): Likewise.
* dojump (do_jump): Likewise.
* dwarf2out.c (stack_adjust_offset, mem_loc_descriptor,
loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info,
decl_start_label): Likewise.
* emit-rtl.c (gen_complex_constant_part, gen_highpart,
operand_subword, change_address_1, make_safe_from): Likewise.
* explow.c (break_out_memory_refs, copy_all_regs, validize_mem,
stabilize, force_not_mem): Likewise.
* expmed.c (store_bit_field, store_split_bit_field, extract_bit_field,
expand_mult_const, expand_divmod, emit_store_flag): Likewise.
* expr.c (convert_move, convert_modes, emit_block_move,
emit_group_load, emit_group_store, clear_storage, emit_move_insn,
emit_move_insn_1, expand_assignment, store_expr,
store_constructor_field, store_constructor, store_field,
force_operand, safe_from_p, expand_expr_real_1, expand_increment):
Likewise.
* final.c (cleanup_subreg_operands, alter_subreg,
get_mem_expr_from_op): Likewise.
* flow.c (notice_stack_pointer_modification_1,
init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs):
Likewise.
* function.c (mark_temp_addr_taken, preserve_temp_slots,
preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1,
optimize_bit_field, flush_addressof, purge_addressof_1,
instantiate_decl, instantiate_virtual_regs_1, assign_parms,
setjmp_protect, setjmp_protect_args, fix_lexical_addr,
keep_stack_depressed): Likewise.
* ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok,
noce_process_if_block, find_memory): Likewise.
* integrate.c (subst_constants, allocate_initial_values): Likewise.
* local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p,
update_equiv_regs): Likewise.
* loop.c (scan_loop, prescan_loop, note_addr_stored, check_store,
maybe_eliminate_biv_1, find_mem_in_note_1): Likewise.
* optabs.c (expand_abs, emit_unop_insn): Likewise.
* passes.c (rest_of_handle_final): Likewise.
* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
move2add_note_store): Likewise.
* ra-build.c (detect_remat_webs): Likewise.
* ra-debug.c (dump_static_insn_cost): Likewise.
* ra-rewrite.c (slots_overlap_p, insert_stores): Likewise.
* recog.c (validate_change, apply_change_group, cancel_changes,
validate_replace_rtx_1, general_operand, register_operand,
nonmemory_operand, push_operand, pop_operand, memory_operand,
indirect_operand, asm_operand_ok, offsettable_memref_p,
offsettable_nonstrict_memref_p, constrain_operands,
store_data_bypass_p): Likewise.
* reg-stack.c (subst_stack_regs_pat): Likewise.
* regclass.c (record_operand_costs, scan_one_insn, record_reg_classes,
copy_cost, reg_scan_mark_refs): Likewise.
* regmove.c (optimize_reg_copy_3, stack_memref_p,
combine_stack_adjustments_for_block): Likewise.
* regrename.c (copyprop_hardreg_forward_1): Likewise.
* reload.c (can_reload_into, push_reload, decompose, immune_p,
find_reloads, find_reloads_address, find_reloads_address_1,
reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p,
find_equiv_reg): Likewise.
* reload1.c (reload, eliminate_regs, eliminate_regs_in_insn,
reload_as_needed, choose_reload_regs, emit_input_reload_insns,
do_input_reload, emit_reload_insns, gen_reload, delete_output_reload,
delete_address_reloads): Likewise.
* resource.c (mark_referenced_resources): Likewise.
* rtlanal.c (get_jump_table_offset, count_occurrences,
reg_referenced_p, reg_set_p, set_of_1, set_noop_p,
reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1,
num_sign_bit_copies1): Likewise.
* rtlhooks.c (gen_lowpart_general): Likewise.
* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
* sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol,
sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms,
sdbout_global_decl): Likewise.
* simplify-rtx.c (simplify_subreg): Likewise.
* stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl,
expand_anon_union_decl, expand_end_case_type): Likewise.
* unroll.c (calculate_giv_inc): Likewise.
* var-tracking.c (stack_adjust_offset_pre_post,
bb_stack_adjust_offset, track_expr_p, count_uses, add_uses,
add_stores, compute_bb_dataflow, vt_get_decl_and_offset,
vt_add_function_parameters): Likewise.
* varasm.c (make_var_volatile, notice_global_symbol,
assemble_external, decode_addr_const, mark_weak,
default_encode_section_info): Likewise.

From-SVN: r83980

20 years agoRotate ChangeLog
Steven Bosscher [Thu, 1 Jul 2004 12:47:14 +0000 (12:47 +0000)]
Rotate ChangeLog

From-SVN: r83979

20 years agoalias.c (get_alias_set, [...]): Use MEM_P.
Jerry Quinn [Thu, 1 Jul 2004 12:42:07 +0000 (12:42 +0000)]
alias.c (get_alias_set, [...]): Use MEM_P.

2004-07-01  Jerry Quinn  <jlquinn@optonline.net>

* alias.c (get_alias_set, canon_rtx, get_addr,
nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1):
Use MEM_P.
* builtins.c (expand_builtin_prefetch, expand_builtin_profile_func,
expand_builtin): Likewise.
* calls.c (expand_call, emit_library_call_value_1, store_one_arg):
Likewise.
* combine.c (can_combine_p, combinable_i3pat, try_combine,
find_split_point, combine_simplify_rtx, simplify_set, make_extraction,
rtx_equal_for_field_assignment_p, gen_lowpart_for_combine,
record_dead_and_set_regs_1, get_last_value_validate,
mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise.
* cse.c (check_dependence, canon_hash, equiv_constant,
gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers,
cse_around_loop, cse_check_loop_start, cse_set_around_loop,
count_reg_usage): Likewise.
* cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup,
cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set,
cselib_record_sets): Likewise.
* dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol,
dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise.
* ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise.
* df.c (df_uses_record): Likewise.
* dojump (do_jump): Likewise.
* dwarf2out.c (stack_adjust_offset, mem_loc_descriptor,
loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info,
decl_start_label): Likewise.
* emit-rtl.c (gen_complex_constant_part, gen_highpart,
operand_subword, change_address_1, make_safe_from): Likewise.
* explow.c (break_out_memory_refs, copy_all_regs, validize_mem,
stabilize, force_not_mem): Likewise.
* expmed.c (store_bit_field, store_split_bit_field, extract_bit_field,
expand_mult_const, expand_divmod, emit_store_flag): Likewise.
* expr.c (convert_move, convert_modes, emit_block_move,
emit_group_load, emit_group_store, clear_storage, emit_move_insn,
emit_move_insn_1, expand_assignment, store_expr,
store_constructor_field, store_constructor, store_field,
force_operand, safe_from_p, expand_expr_real_1, expand_increment):
Likewise.
* final.c (cleanup_subreg_operands, alter_subreg,
get_mem_expr_from_op): Likewise.
* flow.c (notice_stack_pointer_modification_1,
init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs):
Likewise.
* function.c (mark_temp_addr_taken, preserve_temp_slots,
preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1,
optimize_bit_field, flush_addressof, purge_addressof_1,
instantiate_decl, instantiate_virtual_regs_1, assign_parms,
setjmp_protect, setjmp_protect_args, fix_lexical_addr,
keep_stack_depressed): Likewise.
* ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok,
noce_process_if_block, find_memory): Likewise.
* integrate.c (subst_constants, allocate_initial_values): Likewise.
* local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p,
update_equiv_regs): Likewise.
* loop.c (scan_loop, prescan_loop, note_addr_stored, check_store,
maybe_eliminate_biv_1, find_mem_in_note_1): Likewise.
* optabs.c (expand_abs, emit_unop_insn): Likewise.
* passes.c (rest_of_handle_final): Likewise.
* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
move2add_note_store): Likewise.
* ra-build.c (detect_remat_webs): Likewise.
* ra-debug.c (dump_static_insn_cost): Likewise.
* ra-rewrite.c (slots_overlap_p, insert_stores): Likewise.
* recog.c (validate_change, apply_change_group, cancel_changes,
validate_replace_rtx_1, general_operand, register_operand,
nonmemory_operand, push_operand, pop_operand, memory_operand,
indirect_operand, asm_operand_ok, offsettable_memref_p,
offsettable_nonstrict_memref_p, constrain_operands,
store_data_bypass_p): Likewise.
* reg-stack.c (subst_stack_regs_pat): Likewise.
* regclass.c (record_operand_costs, scan_one_insn, record_reg_classes,
copy_cost, reg_scan_mark_refs): Likewise.
* regmove.c (optimize_reg_copy_3, stack_memref_p,
combine_stack_adjustments_for_block): Likewise.
* regrename.c (copyprop_hardreg_forward_1): Likewise.
* reload.c (can_reload_into, push_reload, decompose, immune_p,
find_reloads, find_reloads_address, find_reloads_address_1,
reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p,
find_equiv_reg): Likewise.
* reload1.c (reload, eliminate_regs, eliminate_regs_in_insn,
reload_as_needed, choose_reload_regs, emit_input_reload_insns,
do_input_reload, emit_reload_insns, gen_reload, delete_output_reload,
delete_address_reloads): Likewise.
* resource.c (mark_referenced_resources): Likewise.
* rtlanal.c (get_jump_table_offset, count_occurrences,
reg_referenced_p, reg_set_p, set_of_1, set_noop_p,
reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1,
num_sign_bit_copies1): Likewise.
* rtlhooks.c (gen_lowpart_general): Likewise.
* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
* sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol,
sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms,
sdbout_global_decl): Likewise.
* simplify-rtx.c (simplify_subreg): Likewise.
* stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl,
expand_anon_union_decl, expand_end_case_type): Likewise.
* unroll.c (calculate_giv_inc): Likewise.
* var-tracking.c (stack_adjust_offset_pre_post,
bb_stack_adjust_offset, track_expr_p, count_uses, add_uses,
add_stores, compute_bb_dataflow, vt_get_decl_and_offset,
vt_add_function_parameters): Likewise.
* varasm.c (make_var_volatile, notice_global_symbol,
assemble_external, decode_addr_const, mark_weak,
default_encode_section_info): Likewise.

From-SVN: r83978

20 years agostmt.c (check_seenlabel): Remove.
Steven Bosscher [Thu, 1 Jul 2004 12:38:20 +0000 (12:38 +0000)]
stmt.c (check_seenlabel): Remove.

* stmt.c (check_seenlabel): Remove.
(pushcase, pushcase_range, expand_end_case_type): Don't call it.

From-SVN: r83977

20 years agofunction.h (struct function): Remove x_function_call_count.
Richard Henderson [Thu, 1 Jul 2004 09:54:20 +0000 (02:54 -0700)]
function.h (struct function): Remove x_function_call_count.

        * function.h (struct function): Remove x_function_call_count.
        (function_call_count): Remove.
        * calls.c (expand_call): Don't set it.
        * integrate.c (copy_rtx_and_substitute): Likewise.

        * function.h (struct function): Remove x_cleanup_label.
        (cleanup_label): Remove.
        * stmt.c (expand_value_return): Don't use it.
        * function.c (free_after_compilation): Don't set it.
        (expand_function_start): Likewise.  Remove parms_have_cleanups arg.
        * cfgexpand.c (tree_expand_cfg): Update call.
        * tree.h (expand_function_start): Update decl.

From-SVN: r83966

20 years agore PR c/1027 (slightly misleading printf format warning)
Joseph Myers [Thu, 1 Jul 2004 08:52:33 +0000 (09:52 +0100)]
re PR c/1027 (slightly misleading printf format warning)

PR c/1027
* c-lang.c (c_initialize_diagnostics): Move from here ...
* c-objc-common.c: ... to here.  Include "c-pretty-print.h".
(c_tree_printer): Use pretty-printer to format %T.
* c-pretty-print.c (pp_c_specifier_qualifier_list): Include space
before '*' if not C++.
(pp_c_direct_abstract_declarator): Don't try to print array upper
bound for flexible array members.
* c-tree.h: Include "diagnostic.h".
(c_initialize_diagnostics): Declare.
* objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define.
* c-format.c (format_type_warning): New function.  Improve
diagnostics for incorrect format argument types.
(check_format_types): Use it.  Add two parameters.  Use the
TYPE_MAIN_VARIANT of wanted_type.
(check_format_info_main): Pass new parameters to
check_format_types.
(struct format_wanted_type): Update comment.

testsuite:
* gcc.dg/Wswitch-enum.c, gcc.dg/Wswitch.c,
gcc.dg/format/branch-1.c, gcc.dg/format/diag-1.c,
gcc.dg/format/multattr-3.c, gcc.dg/format/xopen-1.c: Update
expected warning text.
* gcc.dg/format/diag-2.c: New test.

From-SVN: r83965

20 years agotarget.h (struct gcc_target): Add new field to struct cxx: import_export_class.
Nick Clifton [Thu, 1 Jul 2004 08:47:16 +0000 (08:47 +0000)]
target.h (struct gcc_target): Add new field to struct cxx: import_export_class.

* target.h (struct gcc_target): Add new field to struct cxx: import_export_class.
* target-def.h (TARGET_CXX): Initialise the new field.
  (TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for the new field.
* doc/tm.texi: Document the new target hook.
* decl2.c (import_export_class): Invoke the import_export_class field in the
  gcc_target structure if it is not empty.

From-SVN: r83964

20 years ago* gcc.c-torture/compile/20040323-1.c: XFAIL on Solaris 2.
Eric Botcazou [Thu, 1 Jul 2004 08:33:36 +0000 (10:33 +0200)]
* gcc.c-torture/compile/20040323-1.c: XFAIL on Solaris 2.

From-SVN: r83963

20 years agobuiltins.c (fold_builtin_classify): Fix typo.
Paolo Bonzini [Thu, 1 Jul 2004 08:32:58 +0000 (08:32 +0000)]
builtins.c (fold_builtin_classify): Fix typo.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

* builtins.c (fold_builtin_classify): Fix typo.

From-SVN: r83962

20 years agofunction.c (identify_blocks, [...]): Remove.
Richard Henderson [Thu, 1 Jul 2004 08:23:29 +0000 (01:23 -0700)]
function.c (identify_blocks, [...]): Remove.

        * function.c (identify_blocks, identify_blocks_1): Remove.
        * function.h (identify_blocks): Remove.
        * rtl.h (NOTE_INSN_BLOCK_BEG): Update comment.

From-SVN: r83961

20 years agobuiltins.c (fold_builtin_classify): New.
Paolo Bonzini [Thu, 1 Jul 2004 08:02:34 +0000 (08:02 +0000)]
builtins.c (fold_builtin_classify): New.

gcc/ChangeLog:
2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

* builtins.c (fold_builtin_classify): New.
(fold_builtin_unordered_cmp): Fix commentary.
(fold_builtin): Use it.
* builtins.def: Define builtins for isnan,
isnanf, isnanl, finite, finitef, finitel,
isinf, isinff, isinfl.

gcc/testsuite/ChangeLog:
2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

* gcc.dg/builtins-43.c: New.
* gcc.dg/builtins-44.c: New.
* gcc.dg/builtins-45.c: New.

From-SVN: r83960

20 years agofunction.h (struct function): Remove dont_emit_block_notes.
Richard Henderson [Thu, 1 Jul 2004 08:00:47 +0000 (01:00 -0700)]
function.h (struct function): Remove dont_emit_block_notes.

        * function.h (struct function): Remove dont_emit_block_notes.
        * gimple-low.c (lower_function_body): Don't set it.
        * cfgexpand.c (expand_block): Don't check it.
        * cfglayout.c (insn_locators_initialize): Likewise.
        * expr.c (expand_expr_real, expand_expr_real_1): Likewise.
        * passes.c (rest_of_compilation): Likewise.
        * stmt.c (expand_start_bindings_and_block): Likewise.
        (expand_end_bindings): Likewise.

From-SVN: r83959

20 years agocgraph.h (cgraph_build_static_cdtor): Declare.
Richard Henderson [Thu, 1 Jul 2004 07:51:12 +0000 (00:51 -0700)]
cgraph.h (cgraph_build_static_cdtor): Declare.

        * cgraph.h (cgraph_build_static_cdtor): Declare.
        * cgraphunit.c (cgraph_build_static_cdtor): New.
        * c-objc-common.c (build_cdtor): Use it.
        * coverage.c (create_coverage): Likewise.
        * libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove.
        * optabs.c (init_optabs): Don't set gcov_init_libfunc.
java/
        * class.c (registerClass_libfunc): Remove.
        (init_class_processing): Don't set it.
        (emit_register_classes): Take list_p parameter.  Fill it in
        with _Jv_RegisterClass calls.
        * decl.c (java_init_decl_processing): Don't call
        init_resource_processing.
        * jcf-parse.c (java_emit_static_constructor): New.
        (java_parse_file): Call it.
        * resource.c (registerResource_libfunc): Remove.
        (init_resource_processing): Remove.
        (write_resource_constructor): Take list_p parameter.  Fill it in
        with _Jv_RegisterResource calls.
        * java-tree.h: Update prototypes.

From-SVN: r83958

20 years ago* match.c (var_element): Remove unused variable.
Richard Henderson [Thu, 1 Jul 2004 07:50:18 +0000 (00:50 -0700)]
* match.c (var_element): Remove unused variable.

From-SVN: r83957

20 years agoexpmed.c (expand_shift): Consider expanding LSHIFT_EXPR by a constant as a sequence...
Roger Sayle [Thu, 1 Jul 2004 04:27:09 +0000 (04:27 +0000)]
expmed.c (expand_shift): Consider expanding LSHIFT_EXPR by a constant as a sequence of additions...

* expmed.c (expand_shift): Consider expanding LSHIFT_EXPR by a
constant as a sequence of additions depending upon the rtx_costs.
(synth_mult): Update the "observed" cost of a shift, based upon
the above optimization.

From-SVN: r83956

20 years agoIndex: gcc/ChangeLog
Geoffrey Keating [Thu, 1 Jul 2004 04:09:07 +0000 (04:09 +0000)]
Index: gcc/ChangeLog
2004-06-28  Geoffrey Keating  <geoffk@apple.com>
    Andreas Tobler  <a.tobler@schweiz.ch>

PR 15813
* dwarf2out.c (reg_save): Output DW_CFA_same_value when a
register is saved in itself.
(initial_return_save): If the return address is a register,
it's already there, don't bother to mention it in the CFI.
(struct queued_reg_save): Add field saved_reg.
(struct reg_saved_in_data): New.
(regs_saved_in_regs): New.
(num_regs_saved_in_regs): New.
(queue_reg_save): Add extra parameter to specify register saved
in register.  Remove duplicate entries from queue.  Add comment
for function.
(flush_queued_reg_saves): Handle registers saved in registers.
Update regs_saved_in_regs.  Add comment for function.
(clobbers_queued_reg_save): Add comment for function.  Allow
for regs_saved_in_regs.
(reg_saved_in): New.
(dwarf2out_frame_debug_expr): Handle saving registers in other
registers.
(dwarf2out_frame_debug): Reset regs_saved_in_regs.
* unwind-dw2.c (execute_cfa_program): Correct handling of
DW_CFA_same_value.  Add FIXME comment about incorrect implementation
of DW_CFA_restore_extended.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Let
dwarf2out_frame_debug_expr see instructions that save registers
in other registers or save those other registers in memory.

* unwind-dw2.c (DWARF_FRAME_REGISTERS): Move to unwind-dw2.h.
(_Unwind_FrameState): Likewise.
* unwind-dw2.h: New.
* Makefile.in (LIB2ADDEHDEP): Add unwind-dw2.h.
* config/rs6000/darwin-fallback.c: New file.
* config/rs6000/darwin.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add darwin-fallback.o.

Index: gcc/testsuite/ChangeLog
2004-06-26  Geoffrey Keating  <geoffk@apple.com>
    Andreas Tobler  <a.tobler@schweiz.ch>

* gcc.dg/cleanup-10.c: Run on all Linux platforms and powerpc-darwin.
Use SA_RESETHAND rather than SA_ONESHOT.  Trap SIGBUS as well
as SIGSEGV.
* gcc.dg/cleanup-11.c: Likewise.
* gcc.dg/cleanup-8.c: Likewise.
* gcc.dg/cleanup-9.c: Likewise.
* gcc.dg/cleanup-5.c: Run on all platforms.

Index: libjava/ChangeLog
2004-06-26  Geoffrey Keating  <geoffk@apple.com>
    Andreas Tobler  <a.tobler@schweiz.ch>

* configure.host (powerpc-*-darwin*): New case, define
can_unwind_signal.
* configure.in (*-*-darwin*): New case, point to darwin-signal.h.
* configure: Regenerate.
* include/darwin-signal.h: New.

Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch>
From-SVN: r83953

20 years agors6000.c (rs6000_mixed_function_arg): Rewrite.
Alan Modra [Thu, 1 Jul 2004 03:17:31 +0000 (03:17 +0000)]
rs6000.c (rs6000_mixed_function_arg): Rewrite.

* config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite.
(function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in
calculating gpr size for altivec.  Simplify and correct
rs6000_mixed_function_arg calls.  Call rs6000_mixed_function_arg
for ABI_V4 gpr case too.  Fix off-by-one error in long double
reg test.  Generate the correct PARALLEL to handle long double
for ABI_AIX 32-bit.  Use this for -m32 -mpowerpc64 fpr case too.
(function_arg_partial_nregs): Align before calculating regs left.
Don't return info on partial fprs when we need info on gprs.
Correct long double fpr off-by-one error.

From-SVN: r83951

20 years agopa-protos.h (prefetch_operand): Add prototype.
John David Anglin [Thu, 1 Jul 2004 02:24:56 +0000 (02:24 +0000)]
pa-protos.h (prefetch_operand): Add prototype.

* pa-protos.h (prefetch_operand): Add prototype.
* pa.c (prefetch_operand): New function.
* pa.h (prefetch_operand): Add to PREDICATE_CODES.
* pa.md (prefetch, prefetch_32, prefetch_64): New prefetch patterns.

From-SVN: r83950

20 years agomt_allocator.h: Handle allocations at static initialization that happen before _S_opt...
Brad Spencer [Thu, 1 Jul 2004 02:21:51 +0000 (02:21 +0000)]
mt_allocator.h: Handle allocations at static initialization that happen before _S_options is...

2004-06-30  Brad Spencer  <spencer@infointeractive.com>

* include/ext/mt_allocator.h: Handle allocations at static
initialization that happen before _S_options is (automatically)
constructed; set _S_init even if _M_force_new is true.

From-SVN: r83949

20 years agofunction.h (struct function): Remove x_whole_function_mode_p.
Richard Henderson [Thu, 1 Jul 2004 01:12:19 +0000 (18:12 -0700)]
function.h (struct function): Remove x_whole_function_mode_p.

        * function.h (struct function): Remove x_whole_function_mode_p.
        * c-decl.c (store_parm_decls): Don't set it.
        * tree-optimize.c (tree_rest_of_compilation): Likewise.
        * passes.c (rest_of_compilation): Don't check it.
        * stmt.c (expand_fixup): Likewise.
        * function.c (fixup_var_refs_insn): Remove unused variable.
fortran/
        * trans-decl.c (gfc_generate_function_code): Don't set
        x_whole_function_mode_p.
        (gfc_generate_constructors): Likewise.

From-SVN: r83947

20 years agotree.h (immediate_size_expand): Delete.
Richard Henderson [Thu, 1 Jul 2004 00:38:38 +0000 (17:38 -0700)]
tree.h (immediate_size_expand): Delete.

        * tree.h (immediate_size_expand): Delete.
        * stor-layout.c (immediate_size_expand): Delete.
        (variable_size): Don't look at it.
        * c-decl.c (push_parm_decl): Don't frob immediate_size_expand.
        (start_function): Likewise.
        * cfgexpand.c (construct_exit_block): Likewise.
        * function.c (init_function_start, expand_function_end): Likewise.
        * tree-optimize.c (tree_rest_of_compilation): Likewise.
cp/
        * decl.c (start_preparsed_function): Don't set immediate_size_expand.
        * method.c (use_thunk): Likewise.
fortran/
        * trans-decl.c (gfc_generate_function_code): Don't set
        immediate_size_expand.
        (gfc_generate_constructors): Likewise.

From-SVN: r83946

20 years agoDaily bump.
GCC Administrator [Thu, 1 Jul 2004 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r83944

20 years agogimplify.c (gimplify_compound_lval): Take fallback argument instead of want_lvalue.
Richard Henderson [Thu, 1 Jul 2004 00:14:43 +0000 (17:14 -0700)]
gimplify.c (gimplify_compound_lval): Take fallback argument instead of want_lvalue.

        * gimplify.c (gimplify_compound_lval): Take fallback argument
        instead of want_lvalue.
        (gimplify_call_expr): Take want_value argument instead of test
        function.  Gimplify arguments to val only if reg_type; otherwise
        allow lvalue forms.
        (gimplify_expr): Update gimplify_compound_lval and gimplify_call_expr
        calls.
        * tree-gimple.c: Update GIMPLE grammer.  Use true/false not 1/0.
        Tidy commentary globally.
        (get_call_expr_in): Remove RETURN_EXPR handling.  Tidy.
        * tree-gimple.h (is_gimple_call_addr): Mark extern.

        * gimplify.c (gimplify_modify_expr_to_memcpy): Fix typo.

From-SVN: r83941

20 years agotree-gimple.c (right_assocify_expr): Kill
Richard Henderson [Thu, 1 Jul 2004 00:01:23 +0000 (17:01 -0700)]
tree-gimple.c (right_assocify_expr): Kill

        * tree-gimple.c (right_assocify_expr): Kill
        (rationalize_compound_expr): Kill.
        * tree-gimple.h: Likewise.
        * tree-inline.c (expand_call_inline): Don't call it.

From-SVN: r83940

20 years agofunction.h (struct function): Remove x_last_parm_insn, inl_last_parm_insn.
Richard Henderson [Wed, 30 Jun 2004 23:58:18 +0000 (16:58 -0700)]
function.h (struct function): Remove x_last_parm_insn, inl_last_parm_insn.

        * function.h (struct function): Remove x_last_parm_insn,
        inl_last_parm_insn.
        (last_parm_insn): Remove.
        * function.c (free_after_compilation): Don't clear them.
        (fixup_var_refs_insn, assign_parms): Don't set them.

From-SVN: r83939

20 years agoStatement.java (doExecute): Fix formatting.
Jerry Quinn [Wed, 30 Jun 2004 22:47:39 +0000 (22:47 +0000)]
Statement.java (doExecute): Fix formatting.

2004-06-30  Jerry Quinn  <jlquinn@optonline.net>

* java/beans/Statement.java (doExecute): Fix formatting.

From-SVN: r83938

20 years agocall.c (build_over_call), [...]): Call check_function_arguments instead of check_func...
Joseph Myers [Wed, 30 Jun 2004 22:30:34 +0000 (23:30 +0100)]
call.c (build_over_call), [...]): Call check_function_arguments instead of check_function_format.

cp:
* call.c (build_over_call), typeck.c (build_function_call): Call
check_function_arguments instead of check_function_format.

testsuite:
* g++.dg/warn/nonnull1.C: New test.

From-SVN: r83937

20 years ago* function.c, rtl.h (get_first_nonparm_insn): Remove.
Richard Henderson [Wed, 30 Jun 2004 22:30:30 +0000 (15:30 -0700)]
* function.c, rtl.h (get_first_nonparm_insn): Remove.

From-SVN: r83936

20 years agoc-common.h (check_function_format): Remove first parameter.
Joseph Myers [Wed, 30 Jun 2004 22:28:02 +0000 (23:28 +0100)]
c-common.h (check_function_format): Remove first parameter.

* c-common.h (check_function_format): Remove first parameter.
* c-format.c (format_check_context): Remove status.
(check_format_info, check_format_info_main,
maybe_read_dollar_number, avoid_dollar_number,
finish_dollar_format_checking, check_format_types,
check_function_format): Remove first parameter.  Don't use
status_warning.
(check_format_arg): Don't use status_warning.
(status_warning): Remove.
* c-common.c (check_function_arguments): Update call to
check_function_format.

cp:
* call.c (build_over_call), typeck.c (build_function_call): Update
calls to check_function_format.

From-SVN: r83935

20 years agosparc-protos.h (output_cbranch): Constify return value.
Eric Botcazou [Wed, 30 Jun 2004 21:45:28 +0000 (23:45 +0200)]
sparc-protos.h (output_cbranch): Constify return value.

* config/sparc/sparc-protos.h (output_cbranch): Constify return
value.
(output_v9branch): Likewise.
(sparc_v8plus_shift): Likewise.  Rename into output_v8plus_shift.
* config/sparc/sparc.c (output_cbranch): Constify return value.
Prettify output for delay slots.
(output_v9branch): Likewise.
(sparc_v8plus_shift): Constify return value.  Rename into
output_v8plus_shift.
* config/sparc/sparc.md (ashldi3_v8plus): Adjust call to
sparc_v8plus_shift.
(ashrdi3_v8plus): Likewise.
(lshrdi3_v8plus): Likewise.
(call_address_struct_value_sp32): Prettify output for delay slots.
(call_symbolic_struct_value_sp32): Likewise.
(call_address_untyped_struct_value_sp32): Likewise.
(call_symbolic_untyped_struct_value_sp32): Likewise.

From-SVN: r83934

20 years agocommon.opt (ftree-loop-optimize): New flag.
Zdenek Dvorak [Wed, 30 Jun 2004 21:29:00 +0000 (23:29 +0200)]
common.opt (ftree-loop-optimize): New flag.

* common.opt (ftree-loop-optimize): New flag.
* tree-flow.h (kill_redundant_phi_nodes): Declare.
* tree-optimize.c (init_tree_optimization_passes): Add pass_loop.
* tree-pass.h (pass_loop_init, pass_loop_done): Declare.
* tree-ssa-loop.c (current_loops): New variable.
(tree_loop_optimizer_init, gate_loop, tree_ssa_loop_init,
tree_ssa_loop_done): New functions.
(pass_loop, pass_loop_init, pass_loop_done): New passes.
* tree-ssa.c (kill_redundant_phi_nodes): Export.
* doc/invoke.texi (-ftree-loop-optimize): Document.

From-SVN: r83933

20 years agotree-ssa-loop-ch.c: New file.
Zdenek Dvorak [Wed, 30 Jun 2004 21:11:28 +0000 (23:11 +0200)]
tree-ssa-loop-ch.c: New file.

* tree-ssa-loop-ch.c: New file.
* Makefile.in (tree-ssa-loop-ch.o): Add.
(tree-into-ssa.o): Add GGC_H dependency.
* tree-cfg.c (tree_duplicate_bb): Copy virtual arguments.
* tree-flow.h (rewrite_into_ssa): Declaration changed.
(rewrite_ssa_into_ssa, compute_global_livein, duplicate_ssa_name):
Declare.
* tree-into-ssa.c: Include ggc.h.
(struct def_blocks_d): Add phi_blocks field.
(struct mark_def_sites_global_data): Add names_to_rename field.
(struct ssa_name_info): New.
(compute_global_livein): Export.
(set_def_block, insert_phi_nodes, mark_def_sites, set_livein_block,
insert_phi_nodes_1, rewrite_finalize_block, insert_phi_nodes_for,
register_new_def, get_reaching_def, def_blocks_free,
get_def_blocks_for, rewrite_into_ssa): Modified to work with
rewrite_ssa_into_ssa.
(get_ssa_name_ann, get_phi_state, set_phi_state, get_current_def,
set_current_def, ssa_mark_def_sites_initialize_block,
ssa_mark_phi_uses, ssa_mark_def_sites, duplicate_ssa_name,
ssa_register_new_def, ssa_rewrite_initialize_block,
ssa_rewrite_phi_arguments, ssa_rewrite_finalize_block,
ssa_rewrite_stmt, rewrite_ssa_into_ssa, rewrite_all_into_ssa): New
functions.
(pass_build_ssa): Call rewrite_all_into_ssa.
* tree-optimize.c (execute_todo, execute_one_pass,
tree_rest_of_compilation): Allocate vars_to_rename only once.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Provide parameter
to rewrite_into_ssa.
* tree-ssa-loop.c (should_duplicate_loop_header_p,
mark_defs_for_rewrite, duplicate_blocks, do_while_loop_p,
copy_loop_headers, gate_ch, pass_ch): Moved to tree-ssa-loop-ch.c.
Use rewrite_ssa_into_ssa.
* tree-ssa-operands.c (copy_virtual_operands): New function.
* tree-ssa-operands.h (copy_virtual_operands): Declare.
* tree.h (struct tree_ssa_name): Add aux field.
(SSA_NAME_AUX): New macro to access it.

From-SVN: r83932

20 years agocompat-common.h: Wrap up CINT in an #ifndef SKIP_COMPLEX_INT/#endif pair.
Eric Botcazou [Wed, 30 Jun 2004 21:08:03 +0000 (23:08 +0200)]
compat-common.h: Wrap up CINT in an #ifndef SKIP_COMPLEX_INT/#endif pair.

* gcc.dg/compat/compat-common.h: Wrap up CINT in
an #ifndef SKIP_COMPLEX_INT/#endif pair.
Special-case the Sun compiler wrt to <complex.h>.

From-SVN: r83931

20 years agocall.c (build_over_call): Use __builtin_memcpy for copying CLASS_AS_BASE rather than...
Richard Henderson [Wed, 30 Jun 2004 20:01:29 +0000 (13:01 -0700)]
call.c (build_over_call): Use __builtin_memcpy for copying CLASS_AS_BASE rather than funny casting.

        * call.c (build_over_call): Use __builtin_memcpy for copying
        CLASS_AS_BASE rather than funny casting.

From-SVN: r83928

20 years agoinit.c (build_new_1): Fill in TYPE_DOMAIN, TYPE_SIZE and TYPE_SIZE_UNIT of full_type.
Richard Henderson [Wed, 30 Jun 2004 19:53:14 +0000 (12:53 -0700)]
init.c (build_new_1): Fill in TYPE_DOMAIN, TYPE_SIZE and TYPE_SIZE_UNIT of full_type.

        * init.c (build_new_1): Fill in TYPE_DOMAIN, TYPE_SIZE and
        TYPE_SIZE_UNIT of full_type.

From-SVN: r83927

20 years agoprefix.c (lookup_key): Cast buffer to LPBYTE.
Aaron W. LaFramboise [Wed, 30 Jun 2004 18:45:58 +0000 (18:45 +0000)]
prefix.c (lookup_key): Cast buffer to LPBYTE.

2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
* prefix.c (lookup_key): Cast buffer to LPBYTE.

From-SVN: r83925

20 years agoline-map.h (fileline): Remove old typedef.
Per Bothner [Wed, 30 Jun 2004 18:35:18 +0000 (11:35 -0700)]
line-map.h (fileline): Remove old typedef.

* include/line-map.h (fileline):  Remove old typedef.
* internal.h (struct cpp_reader):  Use source_location typedef instead.

From-SVN: r83924

20 years agoConditionally compile support for --enable-mapped_location.
Per Bothner [Wed, 30 Jun 2004 18:23:35 +0000 (11:23 -0700)]
Conditionally compile support for --enable-mapped_location.

* decl.c (pop_label):  Handle (imperfectly) USE_MAPPED_LOCATION case.
* decl2.c:  If USE_MAPPED_LOCATION, don't do some line number
adjustments - which I don't understand.
* error.c (dump_decl):  Rename "<interrnal>" to "<built-in>".
* error.c:  Use LOCATION_FILE and EXPR_LOCATION macros.
(print_instantiation_partial_context):  Use expand_location.
* decl.c (duplicate_decl):  Use new DECL_IS_BUILTIN macro.
* name-lookup.c:  Likewise.
* lex.c (cxx_init):  Likewise.  Also use BUILTINS_LOCATION.
* name-lookup.c:  Use input_line macro.
* parser.c (cp_lexer_get_preprocessor_token):  Use UNKNOWN_LOCATION.
(cp_parser_statement):  Rename locaal variable statement_locus to
statement_location and use SET_EXPR_LOCATION macro.
* pt.c:  Handle USE_MAPPED_LOCATION case.  Use new macros.
* tree.c (cp_walk_subtrees):  Likewise.

From-SVN: r83923

20 years agoConditionally compile support for --enable-mapped_location.
Per Bothner [Wed, 30 Jun 2004 18:21:54 +0000 (11:21 -0700)]
Conditionally compile support for --enable-mapped_location.

* gengtype-lex.l:  Temporary kludge to avoid duplicate typedef.
* gengtype.c:  Update for now typdefs in input.h.  More kludges.
* modulo-sched.c (sms_schedule):  Use NOTE_EXPANDED_LOCATION macro.
* ra-debug.c (ra_print_rtl):  Likewise.
* sched-rgn.c:  Likewise.
* sched-vis.c:  Likewise.
* rtl.h (gen_rtx_ASM_OPERANDS):  Redefine if USE_MAPPED_LOCATION.
* stmt.c (expand_asm_operands):  Adjust calls to gen_rtx_ASM_OPERANDS.
* tree-cfg.c:  Use new macros and typedefs.
* tree-flow-inline.h:  Likewise.

From-SVN: r83922

20 years agoConditionally compile support for --enable-mapped_location.
Per Bothner [Wed, 30 Jun 2004 18:18:01 +0000 (11:18 -0700)]
Conditionally compile support for --enable-mapped_location.

* cfgexpand.c:  Handle USE_MAPPED_LOCATION case for function_end_locus.
* cfglayout.c (insn_locators_initialize):  Const cleanup.  New macros.
* cfgrtl.c (delete_insn):  Use new NOTE_DELETED_LABEL_NAME macro.
* print-rtl.c (print_rtx):  Likewise.
* emit-rtl.c:  Don't clear NOTE_SOURCE_FILE if USE_MAPPED_LOCATION.
* combine.c:  Use new SET_INSN_DELETED macro.
* flow.c:  Likewise.
* haifa-sched.c:  Likewise.
* ifcvt.c:  Likewise.
* recog.c:  Likewise.
* reload1.c:  Likewise.
* diagnostic.c:  Use expand_location macro.
* pretty-print.c (pp_base_format_text):  Likewise.
* profile.c:  Likewise.
  * dwarf2out.c:  Likewise.  Also use expand_location, DECL_IS_BUILTIN.
  * dwarf2out.c (dwarf2out_decl:  Use BUILTINS_LOCATION.
* emit-rtl.c (emit_line_note):  Simplify if USE_MAPPED_LOCATION.
(force_next_line_note, insn_emit):  Handle USE_MAPPED_LOCATION case.
* final.c (final):  Likewise.
* haifa-sched.c:  Likewise.
* integrate.c:  Likewise.
* jump.c:  Likewise.
* rtl-error.c:  Likewise.
* stmt.c (check_seenlabel):  Likewise.
* tree-pretty-print.c:  Likewise.

From-SVN: r83921

20 years agoConditionally compile support for --enable-mapped_location.
Per Bothner [Wed, 30 Jun 2004 18:11:14 +0000 (11:11 -0700)]
Conditionally compile support for --enable-mapped_location.

* tree-mudflap.c (mf_file_function_line_tree):  Take a location_t
rather than a pointer to one.  Use expand_location.
(mf_varname_tree):  Use expand_location.
* tree-dump.c:  Use expand_location on DECL_SOURCE_LOCATION.
* coverage.c:  Likewise.
* print-tree.c:  Likewise.
* c-aux-info.c (gen_aux_info_record):  Likewise.
* c-parse.in:  Use SET_EXPR_LOCATION macro.
* gimple-low.c:  Likewise.
* tree-mudflap.c:  Likewise.
* gimplify.c:  Likewise.  Also use EXPR_LOCATION and EXPR_HAS_LOCATION.
* c-ppoutput.c:  Use new source_location typedef instead of fileline.
* c-semantics.c:  Use new macros.
* c-typeck.c:  Likewise.

From-SVN: r83920

20 years agoConditionally compile support for --enable-mapped_location.
Per Bothner [Wed, 30 Jun 2004 18:05:07 +0000 (11:05 -0700)]
Conditionally compile support for --enable-mapped_location.

* basic-block.h (struct edge_def):  Use new source_locus typedef.
* c-common.c (fname_decl):  Update save/clear/store of input_location.
(c_do_switch_warnings):  Update for USE_MAPPED_LOCATION case.
* c-decl.c:  Likewise.
* c-dump.c (dump_stmt):  Likewise.
* c-gimplify.c (c-gimplify.c):  Generalize using SET_EXPR_LOCATION.
* c-lex.c (cb_line_change):  If USE_MAPPED_LOCATION use token's src_loc
to set input_location direction, rather than using linemap_lookup.
(fe_file_change, cb_def_pragma):  Again use source_location directly.
* c-opts.c (saved_lineno):  Remove static variable.
(c_common_post_options, c_common_init):  Don't bothner to save,
clear and restore input_Location - now handled by lang_dependent_init.
* function.c (init_function_start):  Use new DECL_IS_BUILTIN macro.
* xcoffout.c (xcoff_assign_fundamental_type_number):  Likewise.

From-SVN: r83919

20 years agoConditionally compile support for --enable-mapped_location.
Per Bothner [Wed, 30 Jun 2004 17:58:21 +0000 (10:58 -0700)]
Conditionally compile support for --enable-mapped_location.

* input.h:  #include line-map.h for source_location typedef.
(BUILTINS_LOCATION, UNKNOWN_LOCATION, expand_location,
LOCATION_FILE, LOCATION_LINE):  New macros and functions.
(expanded_location, source_locus):  New typedefs.
(push_srcloc):  Change parameter list if USE_MAPPED_LOCATION.
* rtl.def (NOTE, ASM_OPERANDS):  Modify specifcation, if
USE_MAPPED_LOCATION.
* rtl.h (NOTE_DELETED_LABEL_NAME):  New macro.
(NOTE_SOURCE_LOCATION, NOTE_EXPNDED_LOCATION, SET_INSN_DELETED):
New conditional macros.
(ASM_OPERANDS_SOURCE_FILE, ASM_OPERANDS_SOURCE_LINE):  Replace
by ASM_OPERANDS_SOURCE_LOCATION if USE_MAPPED_LOCATION.
* tree.h (EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_HAS_LOCATION,
EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LINENO,
DECL_IS_BUILTIN):  New macros, most depending on USE_MAPPED__LOCATION.
(tree_exp):  Change type of locus to use new source_locus typedef.
* tree.c (build1_stat):  Use SET_EXPR_LOCATION.
(annotate_with_locus, annotate_with_file_line):  Conditionalize.
(expand_location):  New function.
* toplev.c (unknown_location):  New static, when USE_MAPPED_LOCATION.
(push_srcloc, pop_loc):  Adjust parameter handling.
(process_options):  Don't set input_filename by itself.
(lang_dependent_init):  Save, set input_location to <built-in>.
(warn_deprecated_use):  Use expand_location.

From-SVN: r83918

20 years ago3000.md: Improve description.
Richard Sandiford [Wed, 30 Jun 2004 17:27:54 +0000 (17:27 +0000)]
3000.md: Improve description.

2004-06-30  Richard Sandiford  <rsandifo@redhat.com>
    Eric Christopher  <echristo@redhat.com>

* config/mips/3000.md: Improve description.

From-SVN: r83917

20 years agocirrus.md (cirrus_arm_movdi, [...]): Set pool ranges for coprocessor loads.
Paul Brook [Wed, 30 Jun 2004 16:51:33 +0000 (16:51 +0000)]
cirrus.md (cirrus_arm_movdi, [...]): Set pool ranges for coprocessor loads.

* config/arm/cirrus.md (cirrus_arm_movdi, cirrus_movsf_hard_insn,
cirrus_movdf_hard_insn): Set pool ranges for coprocessor loads.

From-SVN: r83915

20 years ago* gcc.dg/Wunreachable-8.c : New test.
Nitin Yewale [Wed, 30 Jun 2004 16:42:24 +0000 (16:42 +0000)]
* gcc.dg/Wunreachable-8.c : New test.

From-SVN: r83914

20 years agolinker-map.gnu: Revert.
Benjamin Kosnik [Wed, 30 Jun 2004 16:38:42 +0000 (16:38 +0000)]
linker-map.gnu: Revert.

2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>

* config/linker-map.gnu: Revert.

From-SVN: r83913

20 years ago* gcc.dg/h8300-ice2.c : New test
Nitin Yewale [Wed, 30 Jun 2004 16:36:47 +0000 (16:36 +0000)]
* gcc.dg/h8300-ice2.c : New test

From-SVN: r83912

20 years agolinker-map.gnu: Add destructor exports for abstract base classes to conform to LSB.
Benjamin Kosnik [Wed, 30 Jun 2004 16:19:45 +0000 (16:19 +0000)]
linker-map.gnu: Add destructor exports for abstract base classes to conform to LSB.

2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
            Stuart Anderson  <anderson@netsweng.com>

* config/linker-map.gnu: Add destructor exports for abstract base
classes to conform to LSB.

Co-Authored-By: Stuart Anderson <anderson@netsweng.com>
From-SVN: r83910

20 years agoMakefile.in (OBJS-common): Add tree-chrec.o.
Sebastian Pop [Wed, 30 Jun 2004 15:37:42 +0000 (17:37 +0200)]
Makefile.in (OBJS-common): Add tree-chrec.o.

* Makefile.in (OBJS-common): Add tree-chrec.o.
(tree-chrec.o): New rule.
(GTFILES): Add tree-chrec.h.
* gengtype.c (open_base_files): Add tree-chrec.h.
* tree-chrec.c: New file.
* tree-chrec.h: New file.
* tree.def (SCEV_KNOWN, SCEV_NOT_KNOWN, POLYNOMIAL_CHREC): New nodes.

From-SVN: r83909

20 years agocombine.c: Include "output.h" to define dump_file.
Roger Sayle [Wed, 30 Jun 2004 13:02:36 +0000 (13:02 +0000)]
combine.c: Include "output.h" to define dump_file.

* combine.c: Include "output.h" to define dump_file.
(uid_insn_cost, last_insn_cost): New global variables.
(combine_insn_cost): New function to estimate cost of an insn.
(combine_validate_cost): New function to determine whether a
try_combine replacement sequence is cheaper than the original.
(combine_instructions): Allocate and populate uid_insn_cost
array at the start of the combine pass, and deallocate it after.
(try_combine): Check combine_validate_cost to determine whether
a "recombination" should be rejected as being more expensive.
* Makefile.in (combine.o): Add dependency upon output.h.

From-SVN: r83908

20 years agore PR fortran/16161 ([gfortran] IMPLICIT CHARACTER not implemented)
Tobias Schlüter [Wed, 30 Jun 2004 12:48:51 +0000 (14:48 +0200)]
re PR fortran/16161 ([gfortran] IMPLICIT CHARACTER not implemented)

fortran/
PR fortran/16161
* decl.c (gfc_match_type_spec): Rename second argument to
'implicit_flag', reverse meaning. Don't match_char_spec if
'implicit_flag' is set. Rename to ...
(match_type_spec): ... this.
(gfc_match_implicit_none, match_implicit_range): Move here
from match.c.
(gfc_match_implicit): Move here from match.c, try to
match_char_len if match_implicit_range doesn't succeed for
CHARACTER implicits. Call renamed fucntion match_type_spec.
(gfc_match_data_decl, match_prefix): Call renamed function
match_type_spec.
* match.c (gfc_match_implicit_none, match_implicit_range,
gfc_match_implicit): Move to decl.c.
* match.h (gfc_match_implicit_none, gfc_match_implicit):
Move protoypes to section 'decl.c'.
(gfc_match_type_spec): Remove prototype.

testsuite/
PR fortran/16161
* gfortran.fortran-torture/compile/implicit.f90: Add test
for implicit character.

From-SVN: r83907

20 years agors6000.c (rs6000_rtx_costs): Handle subtractions identically to additions, always...
Roger Sayle [Wed, 30 Jun 2004 12:46:52 +0000 (12:46 +0000)]
rs6000.c (rs6000_rtx_costs): Handle subtractions identically to additions, always COSTS_N_INSNS (1).

* config/rs6000/rs6000.c (rs6000_rtx_costs) <MINUS_EXPR>: Handle
subtractions identically to additions, always COSTS_N_INSNS (1).

From-SVN: r83906

20 years ago* expmed.c (expand_smod_pow2): Fix sign of mask.
J"orn Rennecke [Wed, 30 Jun 2004 12:30:00 +0000 (12:30 +0000)]
* expmed.c (expand_smod_pow2): Fix sign of mask.

From-SVN: r83905

20 years agore PR fortran/16289 (Test intrinsic_nearest.f90 not portable?)
David Billinghurst [Wed, 30 Jun 2004 11:50:45 +0000 (11:50 +0000)]
re PR fortran/16289 (Test intrinsic_nearest.f90 not portable?)

 2004-06-30  David Billinghurst (David.Billinghurst@riotinto.com)

PR fortran/16289
* gfortran.fortran-torture/execute/intrinsic_nearest.f90
Use tiny() intrinsic to find smallest non-negative real

From-SVN: r83904

20 years agostruct-by-value-22_main.c: New test.
Jakub Jelinek [Wed, 30 Jun 2004 11:44:50 +0000 (13:44 +0200)]
struct-by-value-22_main.c: New test.

* gcc.dg/compat/struct-by-value-22_main.c: New test.
* gcc.dg/compat/struct-by-value-22_x.c: New.
* gcc.dg/compat/struct-by-value-22_y.c: New.

From-SVN: r83903

20 years agotree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant to check for constants.
Diego Novillo [Wed, 30 Jun 2004 11:06:28 +0000 (11:06 +0000)]
tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant to check for constants.

* tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant
to check for constants.
(set_remove): Likewise.
(value_replace_in_set): Likewise.
(find_leader): Likewise.
* tree-vn.c (set_value_handle): Likewise.
(vn_lookup): Likewise.
(vn_lookup_or_add): Likewise.

From-SVN: r83902

20 years agoRTL prologue/epilogue for SPARC
Eric Botcazou [Wed, 30 Jun 2004 10:31:30 +0000 (12:31 +0200)]
RTL prologue/epilogue for SPARC

RTL prologue/epilogue for SPARC
* config/sparc/sparc-protos.h (sparc_emitting_epilogue): Delete.
(sparc_skip_caller_unimp): Likewise.
(load_pic_register): Likewise.
(leaf_return_peephole_ok): Likewise.
(compute_frame_size): Rename into sparc_compute_frame_size.
(sparc_expand_prologue): New prototype.
(sparc_expand_epilogue): Likewise.
(output_return): Likewise.
(eligible_for_epilogue_delay): Rename into eligible_for_return_delay.
* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Adjust call to
compute_frame_size.  Move comment up.
(DELAY_SLOTS_FOR_EPILOGUE): Delete.
(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
(EPILOGUE_USES): Return true for %g1 if the function uses EH return.
* config/sparc/sparc.md (UNSPECV_SAVEW): New constant.
(type attribute): Add 'return' and 'savew'.
(eligible_for_return_delay): New attribute.
(return): New delay_slot.
(sibcall_epilogue): Call sparc_expand_epilogue.
(prologue): Likewise.  Move up.
(save_register_window): New expander.
(save_register_windowsi): New pattern.
(save_register_windowdi): Likewise.
(epilogue): New expander.
(return_internal): New pattern.
(Return peepholes): Delete.
* config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): New macro.
(sparc_emitting_epilogue): Delete.
(sparc_skip_caller_unimp): Likewise.
(sparc_sr_alias_set): New global variable.
(frame_base_name): Delete.
(frame_base_reg): New global variable.
(sparc_override_options): Get new alias set for save/restore.
(leaf_return_peephole_ok): Delete.
(eligible_for_epilogue_delay): Rename into eligible_for_return_delay.
Factor out code into eligible_for_restore_insn_delay.
(eligible_for_restore_insn_delay): New function extraced from above.
Use IN_UNCOND_BRANCH_DELAY_TRUE instead of IN_BRANCH_DELAY_TRUE.
(eligible_for_sibcall_delay): Use SIBCALL_SLOT_EMPTY_P.
Factor out code into eligible_for_restore_insn_delay.
(load_pic_register): Make static.  Remove check.
(save_regs): Delete.
(restore_regs): Likewise.
(compute_frame_size): Rename into sparc_compute_frame_size.
Rename leaf_function into leaf_function_p.
(build_big_number): Delete.
(save_or_restore_regs): New function.
(emit_save_regs): Likewise.
(emit_restore_regs): Likewise.
(emit_stack_pointer_increment ): Likewise.
(emit_stack_pointer_decrement): Likewise.
(sparc_expand_prologue): Likewise.
(sparc_function_prologue): Rename into sparc_asm_function_prologue.
Remove all code to emit instructions.
(sparc_expand_epilogue): New function.
(sparc_function_epilogue): Rename into sparc_asm_function_epilogue.
Remove all code to emit instructions.
(output_restore): New function.
(output_return): Likewise.
(output_sibcall): Factor out code into output_restore.
(print_operand): Adjust for frame_base_reg.
* target.h (struct gcc_target): New field 'late_rtl_prologue_epilogue'.
* target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): New define.
(TARGET_INITIALIZER): Add it.
* passes.c (rest_of_compilation): Set the conditional predicate
'current_function_uses_only_leaf_regs' before sched2.  If target
has 'late_rtl_prologue_epilogue', emit RTL prologue/epilogue right
before sched2.
* reorg.c (return_insn_p): New predicate.
(find_end_label): Use it.
(relax_delay_slots): Do not thread an unconditional jump that points
to the end return label.
* doc/tm.texi (Registers) <Leaf Functions>: Clarify the validity
domain of 'current_function_uses_only_leaf_regs'.
(Stack and Calling) <Function Entry>: Document new target hook
TARGET_LATE_RTL_PROLOGUE_EPILOGUE.

From-SVN: r83901

20 years agore PR tree-optimization/15310 ([tree-ssa] Optimize an addition in a bit field)
Jakub Jelinek [Wed, 30 Jun 2004 10:09:55 +0000 (12:09 +0200)]
re PR tree-optimization/15310 ([tree-ssa] Optimize an addition in a bit field)

* simplify-rtx.c (simplify_binary_operation): Simplify
((A & N) + B) & M -> (A + B) & M if M is pow2 minus 1 constant and
N has at least all bits in M set as well.

PR tree-optimization/15310
* expr.c (expand_assignment): Optimize += or -= on a bit field in
most significant bits.

* gcc.c-torture/execute/20040629-1.c: New test.

From-SVN: r83900

20 years agoffi_darwin.c (flush_icache): ';' is a comment character on Darwin, use '\n\t' instead.
Geoffrey Keating [Wed, 30 Jun 2004 09:55:13 +0000 (09:55 +0000)]
ffi_darwin.c (flush_icache): ';' is a comment character on Darwin, use '\n\t' instead.

* src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
character on Darwin, use '\n\t' instead.

From-SVN: r83899

20 years ago* config/c4x/c4x.md: Fix comment.
Steven Bosscher [Wed, 30 Jun 2004 09:32:41 +0000 (09:32 +0000)]
* config/c4x/c4x.md: Fix comment.

From-SVN: r83898

20 years ago[multiple changes]
Paolo Carlini [Wed, 30 Jun 2004 09:20:18 +0000 (09:20 +0000)]
[multiple changes]

2004-06-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
            Paolo Carlini  <pcarlini@suse.de>

* include/bits/cpp_type_traits.h: Add __is_pointer and
__is_trivially_copyable.
* include/bits/stl_algobase.h (fill, fill_n): Slightly
tweak to use the latter.
(__copy_backward_dispatch): Remove.
(__copy_backward_aux): Rewrite to use __is_pointer and
__is_trivially_copyable and __copy_backward::copy_b.
(__copy_backward): Rewrite as a class template and two
specializations.

2004-06-30  Paolo Carlini  <pcarlini@suse.de>

* testsuite/25_algorithms/copy.cc: Move to...
* testsuite/25_algorithms/copy/1.cc: ... here, extend.
* testsuite/25_algorithms/copy/2.cc: New.
* testsuite/25_algorithms/copy/3.cc: New.
* testsuite/25_algorithms/copy/4.cc: New.

From-SVN: r83897

20 years agoarm.md (cond_return_inverted): Add "length" attribute.
Akos Kiss [Wed, 30 Jun 2004 09:17:43 +0000 (09:17 +0000)]
arm.md (cond_return_inverted): Add "length" attribute.

2004-0630  Akos Kiss  <akiss@inf.u-szeged.hu>
* arm.md (cond_return_inverted): Add "length" attribute.

From-SVN: r83896

20 years agorand.c (rand): Wrap the irand() call from the previous commit in prefix.
Steve Kargl [Wed, 30 Jun 2004 08:21:54 +0000 (08:21 +0000)]
rand.c (rand): Wrap the irand() call from the previous commit in prefix.

* intrinsics/rand.c (rand): Wrap the irand() call from the previous
commit in prefix.

Co-Authored-By: Steven Bosscher <stevenb@suse.de>
From-SVN: r83895

20 years agotree.c (build_min_nt, [...]): Don't set TREE_COMPLEXITY from input_line.
Per Bothner [Wed, 30 Jun 2004 06:42:43 +0000 (23:42 -0700)]
tree.c (build_min_nt, [...]): Don't set TREE_COMPLEXITY from input_line.

* tree.c (build_min_nt, build_min, build_min_non_dep):
Don't set TREE_COMPLEXITY from input_line.

From-SVN: r83894

20 years agowinnt.c (i386_pe_encode_section_info): Smash rtlname's XSTR in place, so we don't...
Per Bothner [Wed, 30 Jun 2004 05:04:38 +0000 (22:04 -0700)]
winnt.c (i386_pe_encode_section_info): Smash rtlname's XSTR in place, so we don't lose SYMBOL_REF_DECL info.

* config/i386/winnt.c (i386_pe_encode_section_info):  Smash rtlname's
XSTR in place, so we don't lose SYMBOL_REF_DECL info.

From-SVN: r83893

20 years agojni.cc (_Jv_JNI_NewGlobalRef, [...]): Remove needless parenthesis...
Per Bothner [Wed, 30 Jun 2004 04:52:11 +0000 (21:52 -0700)]
jni.cc (_Jv_JNI_NewGlobalRef, [...]): Remove needless parenthesis...

* jni.cc (_Jv_JNI_NewGlobalRef, JNICALL _Jv_JNI_DeleteGlobalRef,
etc etc):  Remove needless parenthesis, which causes __stdcall__
attribute on MinGW to get ignored.

From-SVN: r83892

20 years ago* config/ia64/hpux.h: Target does too support thread-local storage.
Zack Weinberg [Wed, 30 Jun 2004 03:50:55 +0000 (03:50 +0000)]
* config/ia64/hpux.h: Target does too support thread-local storage.

From-SVN: r83891

20 years agoRevert accidental commit
Zack Weinberg [Wed, 30 Jun 2004 03:29:59 +0000 (03:29 +0000)]
Revert accidental commit

From-SVN: r83890

20 years agocombine.c (distribute_notes): Don't look at global_regs for pseudos.
Zack Weinberg [Wed, 30 Jun 2004 03:28:31 +0000 (03:28 +0000)]
combine.c (distribute_notes): Don't look at global_regs for pseudos.

* combine.c (distribute_notes): Don't look at global_regs for
pseudos.

From-SVN: r83889

20 years agogimplify.c (gimplify_modify_expr_rhs): Move immediately before gimplify_modify_expr.
Richard Henderson [Wed, 30 Jun 2004 00:38:18 +0000 (17:38 -0700)]
gimplify.c (gimplify_modify_expr_rhs): Move immediately before gimplify_modify_expr.

        * gimplify.c (gimplify_modify_expr_rhs): Move immediately before
        gimplify_modify_expr.
        (gimplify_init_constructor): Likewise.  Gimplify the null
        CONSTRUCTOR assignment.
        (gimplify_modify_expr_to_memcpy): New.
        (gimplify_modify_expr_to_memset): New.
        (gimplify_modify_expr): Use them.

From-SVN: r83888

20 years agoDaily bump.
GCC Administrator [Wed, 30 Jun 2004 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r83886

20 years agoweb.c (union_defs): use all defs of an instruction to create a union with a read...
Roman Zippel [Tue, 29 Jun 2004 23:19:20 +0000 (23:19 +0000)]
web.c (union_defs): use all defs of an instruction to create a union with a read/write use

        * web.c (union_defs): use all defs of an instruction to create a
        union with a read/write use

From-SVN: r83882

20 years agore PR middle-end/16216 (ICE in gimplify_va_arg_expr after error)
Richard Henderson [Tue, 29 Jun 2004 23:10:53 +0000 (16:10 -0700)]
re PR middle-end/16216 (ICE in gimplify_va_arg_expr after error)

        PR middle-end/16216
        * builtins.c (gimplify_va_arg_expr): Check for valist being
        an error_mark_node.

From-SVN: r83881

20 years agoPaul Brook <paul@codesourcery.com>
Tobias Schlüter [Tue, 29 Jun 2004 22:52:58 +0000 (00:52 +0200)]
Paul Brook <paul@codesourcery.com>

2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
Paul Brook  <paul@codesourcery.com>

* runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix
comments.
* intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4.

Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r83880

20 years ago[multiple changes]
Frank Ch. Eigler [Tue, 29 Jun 2004 22:30:53 +0000 (22:30 +0000)]
[multiple changes]

2004-06-29  Frank Ch. Eigler  <fche@redhat.com>

Splay tree implementation fork.
* splay-tree.c, splay-tree.h: Copied & modified from libiberty.
Use hard-coded comparison function for uintptr_t.  Remove key/value
deallocation logic.  Cache last splayed key for consecutive lookups.
* Makefile.am, Makefile.in: Use them, don't link to them.
* mf-runtime.c (__mf_object_tree): Adapt to simpler splay_tree_new.
(__mf_find_objects2): Flip successor/predecessor search sequence.
* ansidecl.h, libiberty.h: Removed dummy files.

2004-06-29  Nick Clifton  <nickc@redhat.com>

From-SVN: r83879