OSDN Git Service

pf3gnuchains/gcc-fork.git
19 years ago* gfortran.dg/implicit_1.f90: New test.
tobi [Fri, 9 Jul 2004 15:11:41 +0000 (15:11 +0000)]
* gfortran.dg/implicit_1.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84376 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-10 David Billinghurst (David.Billinghurst@riotinto.com)
billingd [Fri, 9 Jul 2004 15:03:17 +0000 (15:03 +0000)]
2004-07-10  David Billinghurst (David.Billinghurst@riotinto.com)

        * lib/gfortran-dg.exp (gfortran-dg-test):  Adapt regular
        expression to match gfortran warning/error messages

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84375 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agofortran/
tobi [Fri, 9 Jul 2004 14:54:43 +0000 (14:54 +0000)]
fortran/
2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

PR fortran/15481
PR fortran/13372
PR fortran/13575
PR fortran/15978
* module.c (write_symbol, write_symtree): Remove workaround.
* primary.c (match_actual_arglist): Enhance comment.
(gfc_match_rvalue): Handle function call with first argument
a keyword argument correctly.
* resolve.c (resolve_symbol): Change call to
gfc_set_default_type to issue error if no implicit type
can be found.
* trans-decl.c (gfc_create_module_variable): Remove workaround.

Add missing ChangeLog

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84374 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agofortran/
tobi [Fri, 9 Jul 2004 14:53:45 +0000 (14:53 +0000)]
fortran/
2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

PR fortran/15481
PR fortran/13372
PR fortran/13575
PR fortran/15978
* module.c (write_symbol, write_symtree): Remove workaround.
* primary.c (match_actual_arglist): Enhance comment.
(gfc_match_rvalue): Handle function call with first argument
a keyword argument correctly.
* resolve.c (resolve_symbol): Change call to
gfc_set_default_type to issue error if no implicit type
can be found.
* trans-decl.c (gfc_create_module_variable): Remove workaround.

testsuite/
PR fortran/15481
 PR fortran/13372
 PR fortran/13575
 PR fortran/15978
* gfortran.fortran-torture/compile/implicit_2.f90: New test.

Also fixed David Billinghursts ChangeLog entry to use GMT

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84373 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-10 David Billinghurst (David.Billinghurst@riotinto.com)
billingd [Fri, 9 Jul 2004 14:34:12 +0000 (14:34 +0000)]
2004-07-10  David Billinghurst (David.Billinghurst@riotinto.com)

* lib/gfortran-dg.exp (gfortran-dg-test):  Adapt regular
expression to match gfortran warning/error messages
* gfortran.dg/g77/12632.f: Copy from g77.dg and fix
dg-error text.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84372 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 Michael Koch <konqueror@gmx.de>
mkoch [Fri, 9 Jul 2004 14:32:30 +0000 (14:32 +0000)]
2004-07-09  Michael Koch  <konqueror@gmx.de>

* javax/imageio/IIOException.java,
javax/imageio/event/IIOReadProgressListener.java,
javax/imageio/event/IIOReadUpdateListener.java,
javax/imageio/event/IIOReadWarningListener.java,
javax/imageio/event/IIOWriteProgressListener.java,
javax/imageio/event/IIOWriteWarningListener.java:
New files.
* Makefile.am: Added new files.
* Makefile.in: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84371 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 Guilhem Lavaux <guilhem@kaffe.org>
mkoch [Fri, 9 Jul 2004 14:09:01 +0000 (14:09 +0000)]
2004-07-09  Guilhem Lavaux <guilhem@kaffe.org>

* java/text/RuleBasedCollator.java
(mergeRules): Use ArrayList instead of Vector.
(subParseString): likewise.
(parseString): likewise.
(buildCollationVector): likewise.
(getCollationKey): likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84369 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 Dalibor Topic <robilad@kaffe.org>
mkoch [Fri, 9 Jul 2004 14:02:21 +0000 (14:02 +0000)]
2004-07-09  Dalibor Topic  <robilad@kaffe.org>

* java/text/DateFormat.java (parse):
Improved javadoc. Improved exception message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84368 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 Mark Wielaard <mark@klomp.org>
mkoch [Fri, 9 Jul 2004 13:56:08 +0000 (13:56 +0000)]
2004-07-09  Mark Wielaard  <mark@klomp.org>

* gnu/java/nio/SelectorImpl.java (select): Call static Thread
interrupted() method to clear interupt flag of our Thread.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84367 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 Dalibor Topic <robilad@kaffe.org>
mkoch [Fri, 9 Jul 2004 13:40:29 +0000 (13:40 +0000)]
2004-07-09  Dalibor Topic  <robilad@kaffe.org>

* java/nio/Buffer.java,
java/nio/ByteBuffer.java,
java/nio/ByteBufferHelper.java,
java/nio/ByteBufferImpl.java,
java/nio/CharBuffer.java,
java/nio/CharBufferImpl.java,
java/nio/CharViewBufferImpl.java,
java/nio/DirectByteBufferImpl.java,
java/nio/DoubleBuffer.java,
java/nio/DoubleBufferImpl.java,
java/nio/DoubleViewBufferImpl.java,
java/nio/FloatBuffer.java,
java/nio/FloatBufferImpl.java,
java/nio/FloatViewBufferImpl.java,
java/nio/IntBuffer.java,
java/nio/IntBufferImpl.java,
java/nio/IntViewBufferImpl.java,
java/nio/LongBuffer.java,
java/nio/LongBufferImpl.java,
java/nio/LongViewBufferImpl.java,
java/nio/MappedByteBufferImpl.java,
java/nio/ShortBuffer.java,
java/nio/ShortBufferImpl.java,
java/nio/ShortViewBufferImpl.java:
        Fixed javadocs all over. Improved input error
        checking.

* java/nio/Buffer.java
(checkForUnderflow, checkForOverflow, checkIndex,
checkIfReadOnly, checkArraySize): New helper methods
        for error checking.

* java/nio/ByteBufferHelper.java
(checkRemainingForRead, checkRemainingForWrite,
checkAvailableForRead, checkAvailableForWrite): Removed
        no longer needed methods.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84366 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 Michael Koch <konqueror@gmx.de>
mkoch [Fri, 9 Jul 2004 13:27:27 +0000 (13:27 +0000)]
2004-07-09  Michael Koch  <konqueror@gmx.de>

* gnu/regexp/CharIndexedInputStream.java:
Reordered imports to match classpath.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84365 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 Michael Koch <konqueror@gmx.de>
mkoch [Fri, 9 Jul 2004 13:20:26 +0000 (13:20 +0000)]
2004-07-09  Michael Koch  <konqueror@gmx.de>

* gnu/java/awt/EmbeddedWindow.java:
Load native library for setWindowPeer method.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84364 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 Paolo Bonzini <bonzini@gnu.org>
bonzini [Fri, 9 Jul 2004 11:40:09 +0000 (11:40 +0000)]
2004-07-09  Paolo Bonzini  <bonzini@gnu.org>

* config/arc/arc.md: Switch to DFA-based scheduler description.
* config/arc/arc.c: Switch to DFA-based scheduler description.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84363 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago* arm/unknown-elf.h (TARGET_DEFAULT): Don't require an APCS frame
rearnsha [Fri, 9 Jul 2004 11:11:53 +0000 (11:11 +0000)]
* arm/unknown-elf.h (TARGET_DEFAULT): Don't require an APCS frame
pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84362 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 David Billinghurst (David.Billinghurst@riotinto.com)
billingd [Fri, 9 Jul 2004 10:20:42 +0000 (10:20 +0000)]
2004-07-09  David Billinghurst (David.Billinghurst@riotinto.com)

PR other/16444
* lib/fortran-torture.exp: Rename proc search_for to
search_for_re.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84361 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/xtensa/xtensa-protos.h (xtensa_va_arg): Remove.
rth [Fri, 9 Jul 2004 10:13:16 +0000 (10:13 +0000)]
    * config/xtensa/xtensa-protos.h (xtensa_va_arg): Remove.
        * config/xtensa/xtensa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (xtensa_gimplify_va_arg_expr): Rewrite from xtensa_va_arg.
        * config/xtensa/xtensa.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84360 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/v850/v850-protos.h (v850_va_arg): Remove.
rth [Fri, 9 Jul 2004 10:10:51 +0000 (10:10 +0000)]
    * config/v850/v850-protos.h (v850_va_arg): Remove.
        * config/v850/v850.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (v850_gimplify_va_arg_expr): Rewrite from v850_va_arg.
        * config/v850/v850.h (EXPAND_BUILTIN_VA_ARG): Remove.
        (FUNCTION_ARG_PASS_BY_REFERENCE): Handle variable size types.
        (FUNCTION_ARG_CALLEE_COPIES): Use FUNCTION_ARG_PASS_BY_REFERENCE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84359 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_arg):
rth [Fri, 9 Jul 2004 10:07:54 +0000 (10:07 +0000)]
    * config/stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_arg):
        Remove.
        * config/stormy16/stormy16.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (xstormy16_gimplify_va_arg_expr): Rewrite from
        xstormy16_expand_builtin_va_arg.
        * config/stormy16/stormy16.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84358 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoPR target/12133
rearnsha [Fri, 9 Jul 2004 10:05:59 +0000 (10:05 +0000)]
PR target/12133
* arm.c (arm_legitimate_index_p) Allow DFmode for soft-float
and DImode to use +/-4k offset.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84357 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/sparc/sparc-protos.h (sparc_va_arg): Remove.
rth [Fri, 9 Jul 2004 10:04:34 +0000 (10:04 +0000)]
    * config/sparc/sparc-protos.h (sparc_va_arg): Remove.
        * config/sparc/sparc.c (sparc_gimplify_va_arg): Mark static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84356 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/sh/sh-protos.h (sh_va_arg): Remove.
rth [Fri, 9 Jul 2004 09:59:18 +0000 (09:59 +0000)]
    * config/sh/sh-protos.h (sh_va_arg): Remove.
        * config/sh/sh.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (sh_gimplify_va_arg_expr): Rewrite from sh_va_arg.
        * config/sh/sh.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84355 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/pa/pa-protos.h (hppa_va_arg): Remove.
rth [Fri, 9 Jul 2004 09:55:52 +0000 (09:55 +0000)]
    * config/pa/pa-protos.h (hppa_va_arg): Remove.
        * config/pa/pa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (hppa_gimplify_va_arg_expr): Rewrite from hppa_va_arg.
        * config/pa/pa.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84354 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/mn10300/mn10300-protos.h (mn10300_va_arg): Remove.
rth [Fri, 9 Jul 2004 09:50:10 +0000 (09:50 +0000)]
    * config/mn10300/mn10300-protos.h (mn10300_va_arg): Remove.
        * config/mn10300/mn10300.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (mn10300_gimplify_va_arg_expr): Rewrite from mn10300_va_arg.
        * config/mn10300/mn10300.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84353 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/sparc/sparc.md (return): Rewrite length formula.
ebotcazou [Fri, 9 Jul 2004 09:35:48 +0000 (09:35 +0000)]
* config/sparc/sparc.md (return): Rewrite length formula.
* config/sparc/sparc.c (output_return): Pass 1 as 5th
argument to final_scan_insn when in a delay slot.
(output_sibcall): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84352 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago* arm.c (arm_cpp_interwork): New variable.
rearnsha [Fri, 9 Jul 2004 09:30:46 +0000 (09:30 +0000)]
* arm.c (arm_cpp_interwork): New variable.
(arm_override_options): Set it if TARGET_INTERWORK was on the command
line.
* arm.h (arm_cpp_interwork): Declare it.
(TARGET_CPU_CPP_BUILTINS): Use it to control definition of
__THUMB_INTERWORK__ in the preprocessor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84351 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * gcc.c-torture/execute/simd-5.x: New file.
ebotcazou [Fri, 9 Jul 2004 09:06:36 +0000 (09:06 +0000)]
* gcc.c-torture/execute/simd-5.x: New file.
XFAIL on SPARC 64-bit at -O0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84350 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * vec.h (VEC_T_alloc): Fix MEM_STAT_DECL pasto.
nathan [Fri, 9 Jul 2004 08:33:22 +0000 (08:33 +0000)]
* vec.h (VEC_T_alloc): Fix MEM_STAT_DECL pasto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84349 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago PR target/16416
ebotcazou [Fri, 9 Jul 2004 08:31:34 +0000 (08:31 +0000)]
PR target/16416
* config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro.
Override default settings to account for -m32 and -m64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84347 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoAdjust date of Casey's change.
rsandifo [Fri, 9 Jul 2004 07:29:02 +0000 (07:29 +0000)]
Adjust date of Casey's change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84346 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * jartool.c (find_entry, looks_like_dir): Remove inline spec.
rsandifo [Fri, 9 Jul 2004 06:28:17 +0000 (06:28 +0000)]
* jartool.c (find_entry, looks_like_dir): Remove inline spec.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84345 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * gcc/config/pa/pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
danglin [Fri, 9 Jul 2004 03:39:35 +0000 (03:39 +0000)]
* gcc/config/pa/pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
* libjava/configure.in (SIGNAL_HANDLER): Use pa-signal.h for hppa.
* libjava/configure: Regenerate.
* libjava/configure.host: Set can_unwind_signal for hppa*-linux.
* libjava/pa-signal.h: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84344 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago* builtins.c (fold_builtin_strncpy): Make sure len is a constant
aoliva [Fri, 9 Jul 2004 03:37:13 +0000 (03:37 +0000)]
* builtins.c (fold_builtin_strncpy): Make sure len is a constant
before comparing it as such.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84343 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * builtins.c (std_gimplify_va_arg_expr): Hoist valist into a
rth [Fri, 9 Jul 2004 03:36:31 +0000 (03:36 +0000)]
    * builtins.c (std_gimplify_va_arg_expr): Hoist valist into a
        temporary.  Use bit arithmetic to align.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84342 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-08 Jerry Quinn <jlquinn@optonline.net>
jlquinn [Fri, 9 Jul 2004 03:29:35 +0000 (03:29 +0000)]
2004-07-08  Jerry Quinn  <jlquinn@optonline.net>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84341 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * tree-scalar-evolution.c: New file.
rakdver [Fri, 9 Jul 2004 03:19:14 +0000 (03:19 +0000)]
* tree-scalar-evolution.c: New file.
* tree-scalar-evolution.h: New file.
* tree-ssa-loop-niter.c: New file.
* Makefile.in (SCEV_H): New.
(tree-scalar-evolution.o, tree-ssa-loop-niter.o): Add new files.
* cfgloop.h (struct loop): Add bounds field.
* tree-flow.h (struct tree_niter_desc): New type.
(number_of_iterations_cond, number_of_iterations_exit,
loop_niter_by_eval, find_loop_niter_by_eval,
estimate_numbers_of_iterations, can_count_iv_in_wider_type,
free_numbers_of_iterations_estimates): Declare.
* tree.h (lower_bound_in_type, upper_bound_in_type): Declare.
* params.def (PARAM_MAX_ITERATIONS_TO_TRACK): New parameter.
* doc/invoke.texi (max-iterations-to-track): Document.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84340 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago PR c++/8211
giovannibajo [Fri, 9 Jul 2004 00:59:05 +0000 (00:59 +0000)]
PR c++/8211
PR c++/16165
* class.c (check_field_decls): Improve -Weffc++ warning: do not
warn for pointers to functions/members, or for classes without
destructors.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84338 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/sh/sh.c (sh_va_arg): Initinalize lab_over.
kkojima [Fri, 9 Jul 2004 00:47:47 +0000 (00:47 +0000)]
* config/sh/sh.c (sh_va_arg): Initinalize lab_over.
* config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses.
(MODE_AFTER): Add cast appropriately.
* config/sh/sh.md (movdi splitter): Likewise.
(casesi_worker_2): Add const qualifier appropriately.
(eh_return): Remove unused variable.
(insv): Initialize v;

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84337 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove.
rth [Fri, 9 Jul 2004 00:29:14 +0000 (00:29 +0000)]
    * config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove.
        * config/mmix/mmix.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (mmix_gimplify_va_arg_expr): Rewrite from mmix_expand_builtin_va_arg.
        * config/mmix/mmix.h (EXPAND_BUILTIN_VA_ARG): Remove.
        (FRAME_POINTER_REQUIRED): Use current_function_has_nonlocal_label.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84336 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/m32r/m32r-protos.h (m32r_va_arg): Remove.
rth [Fri, 9 Jul 2004 00:19:25 +0000 (00:19 +0000)]
    * config/m32r/m32r-protos.h (m32r_va_arg): Remove.
        * config/m32r/m32r.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (m32r_gimplify_va_arg_expr): Rewrite from m32r_va_arg.
        * config/m32r/m32r.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84335 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoDaily bump.
gccadmin [Fri, 9 Jul 2004 00:16:13 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84333 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/iq2000/iq2000-protos.h (iq2000_va_arg): Remove.
rth [Fri, 9 Jul 2004 00:02:54 +0000 (00:02 +0000)]
    * config/iq2000/iq2000-protos.h (iq2000_va_arg): Remove.
        * config/iq2000/iq2000.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (iq2000_gimplify_va_arg_expr): Rewrite from iq2000_va_arg.
        * config/iq2000/iq2000.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84330 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/frv/frv-protos.h (frv_expand_builtin_va_arg): Remove.
rth [Thu, 8 Jul 2004 23:53:14 +0000 (23:53 +0000)]
    * config/frv/frv-protos.h (frv_expand_builtin_va_arg): Remove.
        * config/frv/frv.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (frv_gimplify_va_arg_expr): Rewrite from frv_expand_builtin_va_arg.
        * config/frv/frv.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84329 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 David Billinghurst (David.Billinghurst@riotinto.com)
billingd [Thu, 8 Jul 2004 23:43:13 +0000 (23:43 +0000)]
2004-07-09  David Billinghurst (David.Billinghurst@riotinto.com)

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84328 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/i860/i860-protos.h (i860_va_arg): Remove.
rth [Thu, 8 Jul 2004 23:37:00 +0000 (23:37 +0000)]
    * config/i860/i860-protos.h (i860_va_arg): Remove.
        * config/i860/i860.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (i860_gimplify_va_arg_expr): Rewrite from i860_va_arg.
        * config/i860/i860.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84327 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 David Billinghurst (David.Billinghurst@riotinto.com)
billingd [Thu, 8 Jul 2004 23:36:52 +0000 (23:36 +0000)]
2004-07-09  David Billinghurst (David.Billinghurst@riotinto.com)

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84326 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 David Billinghurst (David.Billinghurst@riotinto.com)
billingd [Thu, 8 Jul 2004 23:29:43 +0000 (23:29 +0000)]
2004-07-09  David Billinghurst (David.Billinghurst@riotinto.com)

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84325 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-09 David Billinghurst (David.Billinghurst@riotinto.com)
billingd [Thu, 8 Jul 2004 23:12:47 +0000 (23:12 +0000)]
2004-07-09   David Billinghurst (David.Billinghurst@riotinto.com)

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84324 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * system.h: Prototype getpagesize if missing.
bothner [Thu, 8 Jul 2004 23:05:29 +0000 (23:05 +0000)]
* system.h: Prototype getpagesize if missing.
* configure.ac: Add getpagesize to gcc_AC_CHECK_DECLS.
* configure: Regenerate.
* config.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84323 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/fr30/fr30-protos.h (fr30_va_arg): Remove.
rth [Thu, 8 Jul 2004 22:38:18 +0000 (22:38 +0000)]
    * config/fr30/fr30-protos.h (fr30_va_arg): Remove.
        * config/fr30/fr30.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (fr30_gimplify_va_arg_expr): New.
        (fr30_pass_by_reference, fr30_pass_by_value, fr30_va_arg): Remove.
        * config/fr30/fr30.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84322 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove.
rth [Thu, 8 Jul 2004 22:17:48 +0000 (22:17 +0000)]
    * config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove.
        * config/cris/cris.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (cris_gimplify_va_arg_expr): Rewrite from cris_expand_builtin_va_arg.
        * config/cris/cris.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84321 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-08 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 8 Jul 2004 22:13:40 +0000 (22:13 +0000)]
2004-07-08  Vladimir Makarov  <vmakarov@redhat.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84318 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * builtins.c (ind_gimplify_va_arg_expr): New.
rth [Thu, 8 Jul 2004 22:03:57 +0000 (22:03 +0000)]
    * builtins.c (ind_gimplify_va_arg_expr): New.
        * tree.h (ind_gimplify_va_arg_expr): Declare.
        * config/arc/arc.c (arc_gimplify_va_arg_expr): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84317 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * expmed.c (extract_bit_field): Correct condition to use vec_extract
rth [Thu, 8 Jul 2004 21:52:36 +0000 (21:52 +0000)]
    * expmed.c (extract_bit_field): Correct condition to use vec_extract
        patterns also on vector elements other than the first one.
        * config/i386/i386.md (vec_extractv2df, vec_extractv4sf): Add missing
        break statements.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84316 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago PR target/16344
danglin [Thu, 8 Jul 2004 21:49:44 +0000 (21:49 +0000)]
PR target/16344
* Makefile.tpl (profiledbootstrap): Build runtime libraries with
feedback based compiler.
* Makefile.in: Rebuilt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84315 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/rs6000/darwin-ldouble.c: Correct reference
geoffk [Thu, 8 Jul 2004 21:16:17 +0000 (21:16 +0000)]
* config/rs6000/darwin-ldouble.c: Correct reference
to the Linnainmaa paper.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84314 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/arc/arc-protos.h (arc_va_arg): Remove.
rth [Thu, 8 Jul 2004 21:10:16 +0000 (21:10 +0000)]
    * config/arc/arc-protos.h (arc_va_arg): Remove.
        * config/arc/arc.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (arc_gimplify_va_arg_expr): Rewrite from arc_va_arg.
        * config/arc/arc.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84313 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-08 Paolo Carlini <pcarlini@suse.de>
paolo [Thu, 8 Jul 2004 20:48:04 +0000 (20:48 +0000)]
2004-07-08  Paolo Carlini  <pcarlini@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84312 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/c4x/c4x-protos.h (c4x_va_arg): Remove.
rth [Thu, 8 Jul 2004 20:34:26 +0000 (20:34 +0000)]
    * config/c4x/c4x-protos.h (c4x_va_arg): Remove.
        * config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg.
        * config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84311 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * pa.md (prefetch_32, prefetch_64): Simplify constraint checks.
danglin [Thu, 8 Jul 2004 20:21:00 +0000 (20:21 +0000)]
* pa.md (prefetch_32, prefetch_64): Simplify constraint checks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84310 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * gcc.c-torture/execute/920428-2.x: Delete.
ebotcazou [Thu, 8 Jul 2004 20:17:01 +0000 (20:17 +0000)]
* gcc.c-torture/execute/920428-2.x: Delete.
* gcc.c-torture/execute/920501-7.x: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84309 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago PR fortran/16291
pbrook [Thu, 8 Jul 2004 19:58:56 +0000 (19:58 +0000)]
PR fortran/16291
* libgfortran/io/write.c: (write_float): Added length check.
Remove pointless memset calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84308 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * c-decl.c (static_ctors, static_dtors): Make static.
zack [Thu, 8 Jul 2004 19:50:17 +0000 (19:50 +0000)]
* c-decl.c (static_ctors, static_dtors): Make static.
(pop_file_scope): Call c_common_write_pch and
cgraph_finalize_compilation_unit here.
(build_cdtor): Moved here from c-objc-common.c; simplify.
(c_write_global_declarations_1): Clarify comment.
(c_write_global_declarations): Close the external scope before
doing anything else.  Call build_cdtor, cgraph_optimize, and
mudflap_finish_file here.
* c-lang.c (finish_file): Don't call c_objc_common_finish_file.
Clarify comment.
* c-objc-common.c: No need to include cgraph.h.
(build_cdtor): Moved to c-decl.c.
(c_objc_common_finish_file): Delete.
* c-tree.h: Update to match.
* objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file.
(generate_static_references): Set TREE_USED before calling finish_decl.
Eliminate unnecessary dummy declaration.  Call rest_of_decl_compilation
on the static_instances_decl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84307 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope
zack [Thu, 8 Jul 2004 19:49:08 +0000 (19:49 +0000)]
* c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope
decls when there is only one input translation unit.
* langhooks.c (lhd_set_decl_assembler_name): Partially revert
change of 2004-07-05; do not treat declarations with
DECL_CONTEXT a TRANSLATION_UNIT_DECL specially.
* opts.c (cur_in_fname): Delete.
* opts.h: Likewise.
* tree.c: Revert changes of 2004-07-05; no special treatment
for TRANSLATION_UNIT_DECLs.
* Makefile.in (tree.o): Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84306 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago* Makefile.def (host_modules): Set bootstrap=true for flex.
aoliva [Thu, 8 Jul 2004 19:45:01 +0000 (19:45 +0000)]
* Makefile.def (host_modules): Set bootstrap=true for flex.
* Makefile.tpl (all-gcc): Depend on texinfo and flex.
* Makefile.in: Rebuilt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84305 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * intrinsic.c (add_sym_4s): New function.
pbrook [Thu, 8 Jul 2004 19:42:26 +0000 (19:42 +0000)]
* intrinsic.c (add_sym_4s): New function.
(add_subroutines): Change gfc_add_sym_? to gfc_add_sym_?s.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84304 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-08 Frank Ch. Eigler <fche@redhat.com>
fche [Thu, 8 Jul 2004 19:11:44 +0000 (19:11 +0000)]
2004-07-08  Frank Ch. Eigler  <fche@redhat.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84303 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * builtins.c (fold_builtin_strcpy): Merge functionality from
sayle [Thu, 8 Jul 2004 17:40:22 +0000 (17:40 +0000)]
* builtins.c (fold_builtin_strcpy): Merge functionality from
simplify_builtin_strcpy.  Add additional len argument.  No longer
static.  Remove function prototype.
(fold_builtin_strncpy): Likewise integrate functionality from
simplify_builtin_strncpy.  Add additional slen argument.  No
longer static.  Remove function prototype.
(simplify_builtin_strcy, simplify_builtin_strncpy): Delete.
(simplify_builtin_fputs): Rename to fold_builtin_fputs.  Change
types of "ignore" and "unlocked" parameters to bool.
(fold_builtin_1):  Add additional ignore argument.  Call renamed
fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked"
builtins.  Update arguments to fold_builtin_strncpy and
fold_builtin_strcpy.  Add function prototype.
(fold_builtin): Add additional Boolean ignore argument to pass
to fold_builtin_1.
(simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy
and fold_builtin_strncpy instead of simplify_builtin_fputs,
simplify_builtin_strcpy and simplify_builtin_strncpy respectively.

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

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84302 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago* builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy
aoliva [Thu, 8 Jul 2004 17:16:24 +0000 (17:16 +0000)]
* builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy
to strcpy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84301 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0.
aoliva [Thu, 8 Jul 2004 16:57:48 +0000 (16:57 +0000)]
* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0.
(FUNCTION_ARG_PASS_BY_REFERENCE): Likewise.
(FUNCTION_ARG_CALLEE_COPIES): Likewise.
* calls.c: Remove ifdefs of macros above.
* functions.c: Likewise.
* expr.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84300 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete.
ebotcazou [Thu, 8 Jul 2004 16:39:10 +0000 (16:39 +0000)]
* config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete.
(arch attribute): Delete.
(current_function_calls_alloca attribute): Rename into calls_alloca.
(calls_eh_return): New attribute.
(leaf_function): Likewise.
(length attribute): Fix formula for sibcalls.
(return insn): Correctly compute the 'length' attribute.
(do_builtin_setjmp_setup): Adjust use of current_function_calls_alloca.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84299 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * tree-cfg.c (make_exit_edges): Use get_call_expr_in.
rth [Thu, 8 Jul 2004 16:16:41 +0000 (16:16 +0000)]
    * tree-cfg.c (make_exit_edges): Use get_call_expr_in.
        (remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise.
        (tree_block_ends_with_call_p, need_fake_edge_p): Likewise.
        * tree-eh.c (lower_eh_constructs_1): Likewise.
        * tree-sra.c (sra_walk_modify_expr): Likewise.
        * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
        (eliminate_unnecessary_stmts): Likewise.
        * tree-ssa-dse.c (dse_optimize_stmt): Likewise.
        * tree-tailcall.c (optimize_tail_call): Likewise.
        * tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84298 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-08 Paolo Bonzini <bonzini@gnu.org>
jakub [Thu, 8 Jul 2004 15:58:22 +0000 (15:58 +0000)]
2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
            Jakub Jelinek  <jakub@redhat.com>

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

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

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84297 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-08 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 8 Jul 2004 15:56:21 +0000 (15:56 +0000)]
2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84296 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago PR c/16437
dnovillo [Thu, 8 Jul 2004 15:50:55 +0000 (15:50 +0000)]
PR c/16437
* gcc.c-torture/execute/991118-1.x: XFAIL for x86_64.
* gcc.c-torture/execute/bf64-1.x: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84295 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago PR target/10567
ebotcazou [Thu, 8 Jul 2004 15:25:04 +0000 (15:25 +0000)]
PR target/10567
* config/sparc/sparc.md (update_return): Honor flag_delayed_branch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84293 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in
dnovillo [Thu, 8 Jul 2004 15:03:10 +0000 (15:03 +0000)]
* tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in
the handling of clobbering ASM_EXPRs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84292 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * name-lookup.h (struct cp_binding_level): Update documentation
mmitchel [Thu, 8 Jul 2004 14:53:42 +0000 (14:53 +0000)]
* name-lookup.h (struct cp_binding_level): Update documentation
for class_shadowed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84291 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago PR target/16430
ebotcazou [Thu, 8 Jul 2004 14:33:20 +0000 (14:33 +0000)]
PR target/16430
* config/sparc/sparc.c (function_value): In 64-bit mode,
return the aggregates larger than 16 bytes like unions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84289 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago PR target/16199
ebotcazou [Thu, 8 Jul 2004 12:54:53 +0000 (12:54 +0000)]
PR target/16199
* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When
'temp' is zero, generate new pseudos as needed and emit the
sequence of insns in single-assignment form.  Resync comments
with code.
(sparc_emit_set_const64): Pass zero as 'temp' argument to above
function before reload.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84285 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago PR c++/16169
giovannibajo [Thu, 8 Jul 2004 10:03:59 +0000 (10:03 +0000)]
PR c++/16169
* typeck.c (check_return_expr): Improve -Weffc++ warning: handle
returning CALL_EXPR, and non-reference return type.

PR c++/16169
* g++.dg/warn/effc2.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84283 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * vec.c (vec_assert_fail): Remove duplicate 'function'.
nathan [Thu, 8 Jul 2004 09:45:19 +0000 (09:45 +0000)]
* vec.c (vec_assert_fail): Remove duplicate 'function'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84282 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago.:
nathan [Thu, 8 Jul 2004 09:39:17 +0000 (09:39 +0000)]
.:
* vec.c (vec_p_reserve, vec_o_reserve): Allocation is signed.
* vec.h (VEC_alloc, VEC_embedded_size, VEC_embedded_init):
Allocation is signed.
(VEC_reserve): Return flag, allocation is signed.
cp:
* name-lookup.c (push_binding): Use VEC_reserve.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84281 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * tree-ssa-ccp.c (fold_stmt): Get type directly from
nathan [Thu, 8 Jul 2004 08:50:00 +0000 (08:50 +0000)]
* tree-ssa-ccp.c (fold_stmt): Get type directly from
OBJ_TYPE_REF_OBJECT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84280 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-08 Joseph S. Myers <jsm@polyomino.org.uk>
jsm28 [Thu, 8 Jul 2004 08:45:05 +0000 (08:45 +0000)]
2004-07-08  Joseph S. Myers  <jsm@polyomino.org.uk>
            Neil Booth  <neil@daikokuya.co.uk>

PR c/2511
PR c/3325
* c-decl.c (finish_struct): Ensure bit-fields are given the
correct type.
* c-common.c (c_common_signed_or_unsigned_type): For C, require
the precision to match as well as the mode.
* expr.c (reduce_to_bit_field_precision): New function.
(expand_expr_real_1): Reduce expressions of bit-field type to
proper precision.
* langhooks.h (reduce_bit_field_operations): New hook.
* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
Define.
* c-lang.c, objc/objc-lang.c
(LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
* objc/objc-act.c (check_ivars): Convert types to bit-field types
before checking.
* tree.c (build_nonstandard_integer_type): New function.
* tree.h (build_nonstandard_integer_type): New prototype.
* tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't treat
conversions between integer and boolean types as useless.

testsuite:
* gcc.c-torture/execute/bitfld-1.x: Remove.
* gcc.c-torture/execute/bitfld-3.c: New test.
* gcc.dg/bitfld-2.c: Remove XFAILs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84279 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-08 Paolo Bonzini <bonzini@gnu.org>
bonzini [Thu, 8 Jul 2004 08:25:52 +0000 (08:25 +0000)]
2004-07-08  Paolo Bonzini  <bonzini@gnu.org>

* c-common.c (c_common_nodes_and_builtins): Do not
create __builtin_ptrdiff_t and __builtin_size_t.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84278 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-08 Andrew Pinski <apinski@apple.com>
pinskia [Thu, 8 Jul 2004 08:19:58 +0000 (08:19 +0000)]
2004-07-08  Andrew Pinski  <apinski@apple.com>

        * Makefile.in (libbackend.o): Add -combine to the gcc
        command line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84277 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago(TARGET_LIBGCC2_CFLAGS): Define. Set to -Os.
nickc [Thu, 8 Jul 2004 07:53:14 +0000 (07:53 +0000)]
(TARGET_LIBGCC2_CFLAGS): Define. Set to -Os.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84276 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * except.c (expand_eh_region_start, expand_eh_region_end,
rth [Thu, 8 Jul 2004 07:46:07 +0000 (07:46 +0000)]
* except.c (expand_eh_region_start, expand_eh_region_end,
expand_eh_handler, expand_eh_region_end_cleanup,
expand_start_all_catch, expand_start_catch, expand_end_catch,
expand_end_all_catch, expand_eh_region_end_allowed,
expand_eh_region_end_must_not_throw, expand_eh_region_end_throw,
expand_eh_region_end_fixup): Remove.
* stmt.c (struct nesting): Remove stack_level, innermost_stack_block,
cleanups, outer_cleanups, label_chain, exception_region.
(struct goto_fixup): Remove stack_level, cleanup_list_list.
(struct label_chain): Remove.
(struct stmt_status): Remove x_stack_block_stack.
(stack_block_stack, expand_goto_internal, expand_fixup, expand_fixups,
fixup_gotos, save_stack_pointer, expand_decl_cleanup,
expand_decl_cleanup_eh, expand_cleanups, start_cleanup_deferral,
end_cleanup_deferral, last_cleanup_this_contour,
containing_blocks_have_cleanups_or_stack_level,
any_pending_cleanups): Remove.
(expand_null_return_1): Take no arguments.
(expand_label, expand_naked_return, expand_return,
expand_start_bindings_and_block, expand_end_bindings, expand_decl,
expand_anon_union_decl, expand_start_case, pushcase, pushcase_range,
expand_end_case_type): Don't use any of them.
* calls.c (expand_call): Likewise.
* dojump.c (do_jump): Likewise.
* function.c (expand_function_end): Likewise.
* expr.c (store_expr, expand_expr_real_1): Likewise.
(safe_from_p): Don't handle WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR.
(expand_expr_real_1): Don't handle WITH_CLEANUP_EXPR,
CLEANUP_POINT_EXPR, TARGET_EXPR, TRY_CATCH_EXPR, CATCH_EXPR,
EH_FILTER_EXPR, TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR.
* fold-const.c (fold_checksum_tree): Use first_rtl_op.
* gengtype.c (adjust_field_tree_exp): Remove rtl op handling.
* gimplify.c (gimplify_cleanup_point_expr): Renumber operands
for WITH_CLEANUP_EXPR.
(gimple_push_cleanup): Likewise.
* integrate.c (copy_decl_for_inlining): Don't DECL_TOO_LATE.
* print-tree.c (print_node): Likewise.
* tree-pretty-print.c (dump_generic_node): Remove GOTO_SUBROUTINE_EXPR.
* tree.c (first_rtl_op): Always just TREE_CODE_LENGTH.
(has_cleanups): Remove GOTO_SUBROUTINE_EXPR.
* tree.def (WITH_CLEANUP_EXPR): Remove op1 and op2.
(GOTO_SUBROUTINE_EXPR): Remove.
* tree.h (WITH_CLEANUP_EXPR_RTL): Remove.
(DECL_TOO_LATE): Remove.
* except.h, tree.h: Update decls.
ada/
* trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
commentary.
cp/
* cp-tree.h (expand_eh_spec_block): Remove.
java/
* expr.c (case_identity, get_primitive_array_vtable,
java_expand_expr, emit_init_test_initialization): Remove.
* java-tree.h (java_expand_expr): Remove.
* lang.c (LANG_HOOKS_EXPAND_EXPR): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84275 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-08 Paolo Bonzini <bonzini@gnu.org>
bonzini [Thu, 8 Jul 2004 07:42:02 +0000 (07:42 +0000)]
2004-07-08  Paolo Bonzini  <bonzini@gnu.org>

* explow.c (optimize_save_area_alloca): Do not accept parameters.
* passes.c (rest_of_handle_final): Handle symout.
(rest_of_handle_new_regalloc, rest_of_handle_old_regalloc):
Push timevar here.
(rest_of_handle_sched): Break out SMS.  Remove ifs for
flag_schedule_insns and flag_modulo_sched.
(rest_of_handle_addressof, rest_of_handle_cse2): Garbage
collect at the end.
(rest_of_handle_gcse2): Put under timevar TV_RELOAD_CSE_REGS.
(rest_of_handle_partition_blocks, rest_of_handle_sms,
rest_of_handle_if_after_reload, rest_of_handle_peephole2,
rest_of_handle_mode_switching, rest_of_handle_jump,
rest_of_handle_guess_branch_prob, rest_of_handle_eh,
rest_of_handle_jump2, rest_of_handle_postreload,
rest_of_handle_flow2, rest_of_clean_state,
rest_of_handle_shorten_branches,
rest_of_handle_prologue_epilogue,
rest_of_handle_branch_target_load_optimize): New.
(rest_of_compilation): Call the above.  Remove ggc_collect
calls moved to rest_of_handle_*.
* rtl.h (optimize_save_area_alloca): Do not accept parameters.

* dwarf2out.c (dwarf2out_begin_prologue): Use TREE_NOTHROW.
* except.c (set_nothrow_function_flags): Set TREE_NOTHROW.
* except.h (set_nothrow_function_flags): Update comment.
* function.c (current_function_nothrow): Remove.
* output.h (current_function_nothrow): Remove.
* passes.c (rest_of_compilation): Do not set TREE_NOTHROW.
* config/arm/arm.c (arm_compute_func_type): Use TREE_NOTHROW.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84274 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago PR bootstrap/16326
ebotcazou [Thu, 8 Jul 2004 06:41:13 +0000 (06:41 +0000)]
PR bootstrap/16326
* reorg.c: Revert 2004-06-30 change.
(find_end_label): If HAVE_epilogue and !HAVE_return,
return 0 instead of creating a label at the end of the insn chain.
(optimize_skip): Account for the failure mode of find_end_label.
(fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
(relax_delay_slots): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84273 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * tree-flow.h (addressable_vars): Declare.
dnovillo [Thu, 8 Jul 2004 06:34:23 +0000 (06:34 +0000)]
* tree-flow.h (addressable_vars): Declare.
* tree-ssa-alias.c (addressable_vars): Define.
(setup_pointers_and_addressables): Add addressable variables
to addressable_vars.
* tree-ssa-operands.c (get_stmt_operands): Move
handling of ASM_EXPRs ...
(get_asm_expr_operands): ... here.
When the ASM_EXPR clobbers memory, also clobber addressable
variables.
* tree-ssa.c (init_tree_ssa): Initialize addressable_vars.
(delete_tree_ssa): Reset addressable_vars.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84272 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * varasm.c (assemble_variable): Use assemble_zeros for
rth [Thu, 8 Jul 2004 06:26:08 +0000 (06:26 +0000)]
    * varasm.c (assemble_variable): Use assemble_zeros for
        zero-initialized variables.
        (categorize_decl_for_section): Honor flag_zero_initialized_in_bss
        for SECCAT_BSS and SECCAT_TBSS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84271 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * varasm.c (asm_output_bss): Don't declare unless BSS_SECTION_ASM_OP.
rth [Thu, 8 Jul 2004 06:14:19 +0000 (06:14 +0000)]
    * varasm.c (asm_output_bss): Don't declare unless BSS_SECTION_ASM_OP.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84269 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * expmed.c (emit_store_flag): Also special-case double-word
rth [Thu, 8 Jul 2004 06:08:52 +0000 (06:08 +0000)]
    * expmed.c (emit_store_flag): Also special-case double-word
        (in-)equality comparison against -1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84268 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * calls.c (emit_library_call_value_1): Use mode of function parameter
rth [Thu, 8 Jul 2004 05:58:35 +0000 (05:58 +0000)]
    * calls.c (emit_library_call_value_1): Use mode of function parameter
        rather than that of argument since constants have none.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84267 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * config/i386/i386.c (ix86_gimplify_va_arg): Don't need temporary for
rth [Thu, 8 Jul 2004 05:53:38 +0000 (05:53 +0000)]
    * config/i386/i386.c (ix86_gimplify_va_arg): Don't need temporary for
        passing arguments the containers for which are registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84266 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-07 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 8 Jul 2004 05:24:33 +0000 (05:24 +0000)]
2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>

* configure.ac (libtool_VERSION): To 6:2:0.
* configure: Regenerated.

* testsuite/testsuite_abi.cc (check_version): Add 3.4.2.

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

PR libstdc++/16411
* config/linker-map.gnu: Add stdio_sync_filebuf::file exports.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84264 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago2004-07-07 H.J. Lu <hongjiu.lu@intel.com>
hjl [Thu, 8 Jul 2004 04:58:11 +0000 (04:58 +0000)]
2004-07-07  H.J. Lu  <hongjiu.lu@intel.com>

PR c++/16276
* g++.dg/rtti/tinfo1.C: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84261 138bc75d-0d04-0410-961f-82ee72b054a4

19 years ago * cp-tree.h (saved_scope): Remove x_previous_class_type and
mmitchel [Thu, 8 Jul 2004 04:32:27 +0000 (04:32 +0000)]
* cp-tree.h (saved_scope): Remove x_previous_class_type and
x_previous_class_values; add x_previous_class_level.
(previous_class_type): Remove.
(previous_class_values): Remove.
(previous_class_level): New macro.
* class.c (pushclass): Restore the identifier cache more
expeditiously.
(invalidate_class_lookup_cache): Use vector for class_shadowed and
previous_class_values.
* decl.c (poplevel): Likewise.
* name-lookup.c (cxx_binding_init): New function.
(cxx_binding_make): Use it.
(push_binding): For a binding in a class level, use a vector of
cp_class_binding nodes.
(push_binding_level): New function.
(begin_scope): Use it.
(leave_scope): Do not put class binding levels on the free list.
(print_binding_level): Adjust for the fact that class_shadowed is
a vector.
(poplevel_class): Likewise.
(clear_identifier_class_values): Likewise.
(push_class_level_binding): Likewise.
(set_class_shadows): Remove.
(store_binding): New function.
(store_class_bindings): New function.
(push_to_top_level): Use store_class_bindings as appropriate.
(pop_from_top_level): Use previous_class_level, not
previous_class_type.
* name-lookup.h (cp_class_binding): New type.
(cp_binding_level): Use a vector object for class_shadowed.
(push_binding_level): Declare.
(set_class_shadows): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84259 138bc75d-0d04-0410-961f-82ee72b054a4

19 years agoIntroduce H8SX support.
aoliva [Thu, 8 Jul 2004 03:40:34 +0000 (03:40 +0000)]
Introduce H8SX support.
* expr.c (expand_strcpy): Renamed and moved to...
* builtins.c (expand_movstr): ... here.  Tweak.
(expand_builtin_strcpy): Adjust.  Use movstr if len can't be
computed or has side effects.
(expand_builtin_stpcpy): Likewise.  Use strcpy if return value is
unused, or if mempcpy fails.  Adjust the return value in the
latter case.  Use movstr if everything else fails.
* doc/md.texi (movstr): Document.
(movmemM, clrmemM): Fix explanation of memory block operands.
* config/h8300/h8300.md (stpcpy): Renamed to...
(movstr): ... this.  Adjust.
2004-07-07  Alexandre Oliva  <aoliva@redhat.com>
* config/h8300/h8300.md: Rename movstr*, except for movstrict*, to
movmem* and clrstr* to clrmem*.
2004-06-27  Alexandre Oliva  <aoliva@redhat.com>
* config/h8300/h8300.c (h8300_reg_class_from_letter): Map 'D' to
GENERAL_REGS, always.
(h8300_swap_into_er6, h8300_swap_into_er6): Handle the case of
getting the stack pointer as addr.
* config/h8300/h8300.h (PREDICATE_CODES): Remove constant rtxes
from general_operand_dst.
* config/h8300/h8300.md (movmd_internal_normal): New, normal-mode
variant of...
(movmd_internal): ... this.  Add modes to operands.  Disparage `D'
instead of requiring it to match only before reload.
(stpcpy_internal_normal): New, normal-mode variant of...
(stpcpy_internal): ... this.  Add modes to operands.  Disparage
`D' instead of requiring it to match only before reload.
* config/h8300/h8300-protos.h (h8300_legitimate_address_p): Add
mode argument.
* config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Pass it to...
* config/h8300/h8300.c (h8300_legitimate_address_p): Pass it to
h8300_get_index.
* config/h8300/h8300.md (attr type): Add call.
(attr can_delay): If type is call, set it no.
(call, call_value): Set type to call.
2004-06-21  Alexandre Oliva  <aoliva@redhat.com>
* config/h8300/h8300.md (logicalhi3_sn, logicalsi3_sn): New.
2004-06-16  Alexandre Oliva  <aoliva@redhat.com>
* tree.c (get_narrower): Don't narrow integral types into
non-integral types.
* config/h8300/h8300.c (h8300_expand_epilogue): Initialize
frame_size *before* the first use.
* config/h8300/h8300.md (movstrictqi): Reintroduce post-increment
on input.
(peephole2): Don't widen instructions that push SP.  Move
decrement of SP to the end of all stm-generating peepholes.
2003-07-24  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.md (insv): Prefer to use AND to clear a bitfield
and OR to set it to all ones.
2003-07-24  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.md (can_delay): Default to "no" for bit branches.
(call, call_value): Set can_delay to "no".
2003-07-22  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.md (extzv): Make subreg check more robust.
2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.md (*brabit): Remove.
* config/h8300/h8300.md (*brabc, *brabs): Remove mode from
zero_extract.  Use bit_memory_operand as the predicate for
operand 1 and 'WU' as the constraint.  Check the difference
between the base length and the final one when deciding which
type of branch to use.
2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.md (extzv): Remove mode from operands 0 and 1.
Use convert_move to extend the result for TARGET_H8300SX.  Check
for QImode memory references.  Optimize the case where the
destination is a paradoxical subreg.
2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.md (*movsf_h8sx): Add an r <- G alternative.
* config/h8300/h8300.md (andqi): Remove bclr from h8sx version.
2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.md: Include mova.md
(length_table): Add mova and mova_zero.
* config/h8300/h8300.c (print_operand): Handle '%o'.  Print a length
after all constant addresses for '%R', '%X', '%T' and '%S'.
(h8300_mova_length): New function.
(h8300_insn_length_from_table): Use it to handle mova and mova_zero.
* config/h8300/t-h8300 (mova.md): Generate from genmova.sh.  Add to
dependencies for s-config, etc.
* config/h8300/gemova.sh: New file.
* config/h8300/mova.md: Generated.
2003-07-20  Alexandre Oliva  <aoliva@redhat.com>
* config/h8300/h8300.c (h8300_bitfield_length): New.
(nibble_operand): Adjust.
(h8300_binary_length): Handle conditional binary op.
(h8300_insn_length_from_table): Handle bitfield and bitbranch.
* config/h8300/h8300.h: Change constraints W# and Y# to P#>X and
P#<X, respectively.  The original P is now IP4>X.  Introduced P#>0
and P#<0, unused so far.  W and Y are now prefixes to multi-letter
constraints.  WU is introduced as a variant of U that requires a
mem, and is therefore considered an EXTRA_MEMORY_CONSTRAINT.
* config/h8300/h8300.md (attr type): Added bitbranch.
(attr length_table): Added bitfield and bitbranch.
(attr length): Compute bitbranch length.
(andqi): Separate pattern for H8300SX.  Use bfld for loading the
least-significant bit of a byte.
(brabit, brabc, brabs): New.
(insv, extzv): Emit bfst and bfld on H8300SX.
(bfld, bfst, seq, sne): New.
(bstzhireg, cmpstz, bstz, bistz): New.
(cmpcondbset, condbset, cmpcondbclr, condbclr): New.
(cmpcondbsetreg, condbsetreg, cmpcondbclrreg, condbclrreg): New.
2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.c (h8sx_binary_memory_operator): New function.
(h8sx_unary_memory_operator): New function.
* config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Disable.
(PREDICATE_CODES): Add h8sx_{unary,binary}_memory_operator.
* config/h8300/h8300.md: Add peepholes to combine reloads and
arithmetic insns.
2003-07-10  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h830.md (cmpqi): Use 'i' rather than 'n' in constraints.
(*cmphi_h8300hs, *addqi3, *addhi3_h8sx, subhi3): Likewise.
(and?i, ior?i, xor?i): Likewise.
2003-07-10  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.c: Move enums and prototypes to head of file.
Various whitespace fixes.
(h8300_constant_length): New function, split out from...
(h8300_displacement_size): ...here.  Rename h8300_displacement_length.
(h8300_classify_operand): Use IN_RANGE.
(h8300_classify_operand): Use h8300_constant_length.
(h8300_short_move_mem_p): Tighten size check.
(h8sx_mergeable_memrefs_p): Tighten equality check.
2003-06-30  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Define __H8300SX__
for -msx.
* config/h8300/crti.asm: Use .h8300sx or .h8300sxn for -msx code.
* config/h8300/crtn.asm: Likewise.
* config/h8300/lib1funcs.asm: Likewise.  Use 32-bit pointers
if __H8300SX__ is defined.
2003-06-27  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300-protos.h (h8300_get_index): Add mode parameter.
* config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Update accordingly.
(GO_IF_MODE_DEPENDENT_ADDRESS): Treat POST_DEC, PRE_INC and indexed
addresses as mode-dependent.
* config/h8300/h8300.c (print_operand_address): Update call to
h8300_get_index.
(h8300_get_index): Take a mode argument.  Rework to fix an
earlier misunderstanding.
2003-06-26  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.c (zero_extendqisi2): Force the source operand
into a register if TARGET_H8300SX.
(*zero_extendqisi2_h8300hs, *extendqisi2_h8300): Disable for
TARGET_H8300SX.  Also disable related define_splits.
(*zero_extendqisi2_h8sx, *extendqisi2_h8sx): New patterns.
2003-06-23  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.c (h8300_rtx_costs): Add h8sx handling.
2003-06-20  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.h (OK_FOR_Z): New macro.
(EXTRA_CONSTRAINT_STR): Check it.
* config/h8300/h8300.c (h8300_classify_operand): Accept null
class arguments.
(h8300_insn_length_from_table): Handle LENGTH_TABLE_MOV_IMM4.
* config/h8300/h8300.md (length_table): Add mov_imm4.
(movqi, movhi): Add Z <- W4 alternatives to h8sx patterns.
2003-06-20  Richard Sandiford  <rsandifo@redhat.com>
* genattrtab.c (write_eligible_delay): Allow candidate_insn to
be a label.
* config/h8300/h8300.h (DELAY_SLOT_LENGTH): New macro.
* config/h8300/h8300.c (h8300_reorg): New function.
(TARGET_MACHINE_DEPENDENT_REORG): Define.
* config/h8300/h8300.md (length): Subtract the length of the
delay slot from (pc) when checking the range of forward branches.
(delay_slot, can_delay): New attributes.
(define_delay): Add bra/s handling.
(movmd_internal, return_h8sx, *return_1): Set can_delay to no.
(jump): Add delayed-branch handling.
2003-06-17  Richard Sandiford  <rsandifo@redhat.com>
* expr.c (expand_strcpy): New function.
* builtins.c (expand_builtin_strcpy): Fall back on expand_strcpy.
(expand_builtin_stpcpy): Likewise.
* config/h8300/h8300-protos.h (h8sx_split_movmd): Remove.
(h8300_swap_into_er6, h8300_swap_out_of_er6): Declare.
* config/h8300/h8300.c (h8300_reg_class_from_letter): Tweak 'd'
handling to improve register allocation for -fno-omit-frame-pointer.
(h8sx_split_movmd): Delete, moving er6 handling into...
(h8300_swap_into_er6, h8300_swap_out_of_er6): ...these new functions.
* config/h8300/h8300.md (UNSPEC_STPCPY): New unspec constant.
(movmd): Add calls to copy_rtx.
(movmd_internal): In the second alternative, allow the initial and
final destination registers to be different .  Update the splitter
accordingly.  Call h8300_swap_into_er6 and h8300_swap_out_of_er6
instead of h8sx_split_movmd.
(stpcpy, movsd): New expanders.
(movsd_internal): New define_insn.
2003-06-13  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Declare.
(h8sx_emit_movmd, h8sx_split_movmd): Declare.
* config/h8300/h8300.h (reg_class): Add COUNTER_REGS, SOURCE_REGS
and DESTINATION_REGS.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
(REGNO_REG_CLASS): Map er4, er5 and er6 to the new classes.
(REG_CLASS_FROM_LETTER): Use h8300_reg_class_from_letter.
(h8300_move_ratio): Declare.
(MOVE_RATIO): Use it.
* config/h8300/h8300.c (h8300_move_ratio): New variable.
(h8300_init_once): Initialize it.
(h8300_reg_class_from_letter): New function.
(print_operand): Add an 'm' prefix for printing ".b", ".w" or ".l".
(h8sx_emit_movmd, h8sx_split_movmd): New functions.
* config/h8300/h8300.md (UNSPEC_MOVMD): New unspec constant.
(COUNTER_REG, SOURCE_REG, DESTINATION_REG): New register constants.
(movstrsi, movmd): New expanders.
(movmd_internal): New insn.
2003-06-06  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Define.
2003-06-04  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/elf.h (LINK_SPEC): Use -m h8300sxnelf for -msx -mn.
* config/h8300/h8300.c (asm_file_start): Use .h8300sxn likewise.
2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.c (nibble_operand): Fix warning.
* config/h8300/h8300.md (movstricthi): Set adjust_length to no.
(movsi_h8sx): Likewise here and the normal h8sx movhi pattern.
(movsf_h8300h): Disable for TARGET_H8300SX.
2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.h (PREDICATE_CODES): Add h8300_ldm_parallel,
h8300_stm_parallel and h8300_return_parallel.
* config/h8300/h8300.c (h8300_push_pop, h8300_stack_offset_p,
h8300_ldm_stm_regno, h8300_ldm_stm_parallel, h8300_ldm_parallel,
h8300_stm_parallel, h8300_return_parallel): New functions.
(h8300_expand_prologue): Don't enforce ldm/stm register alignment
if TARGET_H8300SX.  Use h8300_push_pop.
(h8300_expand_epilogue): Likewise.  Try to merge the return insn
and final pop when generating h8sx code.  Always emit some form
of return insn.
* config/h8300/h8300.md: Don't enforce register alignment in
stm peepholes if TARGET_H8300SX.
(ldm_h8300s, stm_h8300s, return_h8sx): New patterns.
(ldm_h8300s_[234], stm_h8300_[234]): Disable.
(epilogue): Expect h8300_expand_epilogue to emit a return insn.
2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/t-h8300 (MULTILIB_OPTIONS): Add a -msx multilib.
(MULTILIB_DIRNAMES): Add a directory for it.
(MULTILIB_MATCHES): Delete.
2003-05-28  Richard Sandiford  <rsandifo@redhat.com>
* final.c (walk_alter_subreg): Handle addresses with subregs
inside a ZERO_EXTEND or AND.
* config/h8300/h8300-protos.h (h8300_get_index): Declare.
* config/h8300/h8300.h (INDEX_REG_CLASS): Set to GENERAL_REGS
if TARGET_H8300SX.
(GO_IF_LEGITIMATE_ADDRESS): Use h8300_get_index.
* config/h8300/h8300.c (print_operand_address): Handle @(dd,RnL.b),
@(dd,Rn.w) and @(dd,ERn.L).
(h8300_displacement_size): Take the whole address as argument.
(h8300_classify_operand, h8300_short_move_mem_p): Adjust accordingly.
2003-05-28  Richard Sandiford  <rsandifo@redhat.com>
* config/mips/mips-protos.h (h8300_operands_match_p): Declare.
(h8sx_mergeable_memrefs_p): Declare.
* config/h8300/h8300.h (HAVE_POST_DECREMENT): Define to TARGET_H8300SX.
(HAVE_PRE_INCREMENT): Likewise.
(GO_IF_LEGITIMATE_ADDRESS): Accept pre/post increment/decrement
addresses for TARGET_H8300SX,
* config/h8300/h8300.c (print_operand_address): Deal with PRE_INC
and POST_DEC.
(movb_length_table, movl_length_table): New tables.
(movw_length_table): Define to movb_length_table.
(h8300_displacement_size): New, split out from...
(h8300_classify_address): ...here.  Handle pre/post inc/dec.
(h8300_short_immediate_length): Allow H8OP_MEM_COMPLEX operands.
(h8300_insn_length_from_table): Add cases for movb, movw and movl.
(h8sx_mergeable_memrefs_p, h8300_operands_match_p): New functions.
(output_plussi): Use add.l #xx:3,Rn and sub.l #xx:3,Rn for h8sx.
(compute_plussi_length, compute_plussi_cc): Update accordingly.
(h8sx_unary_shift_operator): Get the mode from the operator.
(binary_shift_operator): Likewise.
* config/h8300/h8300.md: If a peephole2 applies gen_lowpart to
a memory reference, check whether the reference is offsettable.
(length_table): Add movb, movw and movl.
(movqi): Add new h8sx pattern.  Don't force one operand to be a
register when generating h8sx code.
(movhi, movsi, movsf): Likewise.
(movstrictqi): Use the length_table attribute.
(movstricthi): Likewise.  Add h8sx alternative for mov.w #xx:3,Rn.
(addqi3): Split into a define_expand and define_insn.  Don't accept
memory operands in the expander.  Use h8300_operands_match_p to
check for matching operands in the define_insn.
(subqi3, negqi2, one_cmplqi2): Likewise.
(add[hs]i3): Don't accept memory operands in the expander.  Likewise
in any patterns that are unused in h8sx code.  In the h8sx patterns,
use h8300_operands_match_p to check whether operands match.
(sub[hs]i3, and[hi]3, ior[hs]i3, xor[hs]i3, neg[hsi]3,
one_cmpl[hs]i3): Likewise.
(andqi3, iorqi3, xorqi3): Likewise.  Don't call fix_bit_operand
in the expander.
2003-05-23  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300-protos.h (expand_a_shift): Return a bool.
(h8300_insn_length_from_table): Add a second parameter.
(output_h8sx_shift): Declare.
* config/h8300/h8300.h (OK_FOR_W, OK_FOR_Y): New macros.
(EXTRA_CONSTRAINT): Replace with...
(EXTRA_CONSTRAINT_STR): ...this.  Use OK_FOR_W and OK_FOR_Y.
(CONSTRAINT_LEN): Define, returning 2 for 'W' and 'Y'.
(PREDICATE_CODES): Add entries for h8sx_unary_shift_operator
and h8sx_binary_shift_operator.
* config/h8300/h8300.c (two_insn_adds_subs_operand): Return false
for TARGET_H8300SX.
(bit_operand): Replace use of EXTRA_CONSTRAINT with OK_FOR_U.
(bit_memory_operand, fix_bit_operand): Likewise.
(h8300_length_table_for_insn): Remove.
(h8300_classify_operand): Fix check for 16-bit operands in 32-bit
instructions.
(h8300_short_immediate_length, h8300_binary_length): New functions.
(h8300_insn_length_from_table): Add an opcodes parameter.  Rework.
(output_plussi): Use sub to add negative constants.
(compute_plussi_length): Adjust accordingly.
(h8sx_single_shift_type): New enum.
(h8sx_single_shift, h8sx_unary_shift_operator,
h8sx_binary_shift_operator, output_h8sx_shift): New functions.
(expand_a_shift, expand_a_rotate): Emit nothing if the shift is a
single h8sx instruction.  Return false in this case.
* config/h8300/h8300.md (length_table): Add short_immediate.
(length): Pass the operand array to h8300_insn_length_from_table.
(adjust_length): Assume "no" for insns with a length_table attribute.
(*cmphi_h8300hs, cmpsi): Add alternatives for #xx:3.
(*addhi3_h8300hs): Don't use for h8sx.
(*addhi3_h8sx): New pattern, with alternatives for add.w #xx:3
and sub.w #xx:3.
(ashl[qhs]i3, lshr[qhs]i3, ashr[qhs]i3, rotl[qhs]i3): Change operand
1's predicate to nonimmediate_operand.  Only skip default expansion
if expand_a_shift or expand_a_rotate returns true.  Add new patterns
for single h8sx shift instructions.
2003-05-22  Alexandre Oliva  <aoliva@redhat.com>
* config/h8300/h8300.c (nibble_operand): Split out of...
(reg_or_nibble_operand): ... this.
* config/h8300/h8300.h (PREDICATE_CODES): Added nibble_operand.
* config/h8300/h8300.md: (mulqihi3, mulhisi3, umulqihi3,
umulhisi3): Introduce expand, and introduce separate insns for
sign- or zero-extended REG and already-extended CONST_INT.
2003-05-20  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.c (h8300_unary_length): Fix miscounting.
* config/h8300/h8300.md (subqi3): Generalize for h8sx.
(subhi3): Likewise.  Don't accept immediates for operand 1.
Remove the early clobber from second alternative of the h8300s pattern.
(subsi3): Generalize for h8sx.  Force operand 2 into a register
on plain h8300 targets.
(subsi3_h8300): Use h8300_dst_operand for consistency with expander.
(subsi3_h8300h): Generalize for h8sx.
(one_cmplqi2, one_cmplhi2, one_cmplsi2): Likewise.
2003-05-19  Alexandre Oliva  <aoliva@redhat.com>
* config/h8300/h8300.c (reg_or_nibble_operand): New.
* config/h8300/h8300.h (PREDICATE_CODES): Adjust.
(TARGET_H8300SXMUL): New.
(CONST_OK_FOR_P): New.
(CONST_OK_FOR_LETTER_P): Adjust.
* config/h8300/h8300.md (mulqihi3, mulhisi3, umulqihi3,
umulhisi3): Accept 4-bit immediate on H8SX.
(mulhi3, mulsi3, smulsi3_highpart, umulsi3_highpart): New.
(udivsi3, divhi3, udivsi3, divsi3): New.
2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300-protos.h (h8300_insn_length_from_table): Declare.
* config/h8300/h8300.h (OK_FOR_Q): New macro.
(EXTRA_CONSTRAINT): Use it to check the 'Q' constraint.
(PREDICATE_CODES): Add h8300_src_operand and h8300_dst_operand.
Add ADDRESSOF to the bit_operand entry.
* config/h8300/h8300.c (h8300_dst_operand): New predicate.
(h8300_src_operand): Likewise.
(bit_operand): Check nonimmediate_operand rather than general_operand.
Accept any nonimmediate_operand in h8sx code.
(h8300_and_costs): Initialize operands[1].
(h8300_rtx_costs) <AND>: Return false if the operands aren't valid.
(h8300_operand_class): New enum.
(h8300_length_table): New typedef.
(addb_length_table, addw_length_table, addl_length_table,
logicl_length_table): New tables.
(logicb_length_table, logicw_length_table): New macros.
(h8300_classify_operand, h8300_length_from_table,
h8300_length_table_for_insn, h8300_unary_length,
h8300_insn_length_from_table): New functions.
(output_plussi): Only use adds and subs for register destinations.
Disable redundant clause.
(compute_plussi_cc): Likewise.
(compute_plussi_length): Likewise.  Use h8300_length_from_table
to work out the length of an insn.
(output_logical_op): Only use narrower immediate instructions
if the destination is a register.
(compute_logical_op_cc): Likewise.
(compute_logical_op_length): Likewise.  Use h8300_length_from_table.
(h8300_adjust_insn_length): Tighten check for reg<->mem moves.
* config/h8300/h8300.md (length_table): New attribute.
(length): When an instruction has a length_table attribute, use
h8300_insn_length_from_table to calculate its default length.
(cmpqi): Use h8300_dst_operand for the first operand and
h8300_src_operand for the second.
(cmphi, *cmphi_h8300hs, cmpsi, negqi2, neghi2, neghi2_h8300h, negsi2,
negsi2_h8300h, addqi3, addhi3, *addhi3_h8300, *addhi3_h8300hs, addsi3,
addsi_h8300, addsi_h8300h, andhi3, andsi3, iorhi3,
iorsi3, xorhi3, xorsi3): Likewise.
(andqi3): Use h8300_src_operand for operand 2.  Adjust the condition
so that it allows any combination of operands for TARGET_H8300SX.
(iorqi3, xorqi3): Likewise.
(cmpqi): Use the length_table attribute.
(*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, andqi3, iorqi3,
xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise.
(cmpqi): Add 'Q' constraint.
(*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, addsi_h8300h, andqi3,
iorqi3, xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise.
2003-05-14  Richard Sandiford  <rsandifo@redhat.com>
* config/h8300/h8300.h (MASK_H8300SX): New macro.
(TARGET_H8300S): True for both -ms and -msx.
(TARGET_H8300SX): New macro.
(TARGET_SWITCHES): Add entries for -msx and -mno-sx.
* config/h8300/h8300.c (asm_file_start): Write .h8300sx for -msx.
* config/h8300/elf.h (LINK_SPEC): Use -m h8300sxelf for -msx.
* config/h8300/t-h8300 (MULTILIB_MATCHES): Use -ms multilibs for -msx.
[Temporary change.]
2003-02-28  Alexandre Oliva  <aoliva@redhat.com>
* config/h8300/h8300.h (SIZE_TYPE, PTRDIFF_TYPE): Use short with
16-bit pointers and 32-bit ints.
* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Accept
CONST_DOUBLE with mode no wider than SImode.
* config/h8300/h8300.md (extendqisi2_h8300): Add constraints for
output operand.
2003-02-27  Alexandre Oliva  <aoliva@redhat.com>
* config/h8300/h8300.c (general_operand_src): Match CONSTANT_P_RTX
or SUBREG thereof.
* config/h8300/h8300.h (PREDICATE_CODES): Adjust.
2003-02-22  Alexandre Oliva  <aoliva@redhat.com>
* config/h8300/h8300.c (dosize): Truncate sign * size to Pmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84257 138bc75d-0d04-0410-961f-82ee72b054a4