Commit Graph

68517 Commits

Author SHA1 Message Date
Bryce McKinlay
f5ea88a3c8 [multiple changes]
2005-05-12  Bryce McKinlay  <mckinlay@redhat.com>

	* include/jvm.h (gcj::verifyClasses): Declare.
	* link.cc (gcj::verbose_class_flag): Moved.
	* prims.cc (gcj::verifyClasses): Define here.
	(gcj::verbose_class_flag): Move definition here.
	(_Jv_Linker::wait_for_state): Don't call verify_class
	if gcj::verifyClasses is not set.
	* gij.cc (main): Set gcj::verifyClasses when '-noverify' is given.

2005-05-12  Aaron Luchko  <aluchko@redhat.com>

	* gij.cc (main): Recognize '-verify', '-noverify', and
	'-verifyremote'

2005-05-12  Aaron Luchko <aluchko@redhat.com>

        * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.

From-SVN: r99646
2005-05-13 02:02:39 +01:00
Kaz Kojima
87255f602f numeric_limits.cc (dg-options): Add -mieee to options on sh*-*-*.
* testsuite/18_support/numeric_limits.cc (dg-options): Add
	-mieee to options on sh*-*-*.

From-SVN: r99643
2005-05-13 00:23:28 +00:00
Kaz Kojima
760ceba9ed * configure.host: Set IEEESPEC to -mieee for sh*-*-*.
From-SVN: r99642
2005-05-13 00:21:01 +00:00
GCC Administrator
585ac9fb12 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r99640.2
2005-05-13 00:16:20 +00:00
Richard Henderson
9325973e95 function.c (instantiate_virtual_regs_in_insn): Do not simplify addition to move unless dest is a register.
* function.c (instantiate_virtual_regs_in_insn): Do not simplify
        addition to move unless dest is a register.  Do not skip
        instantiation in dest on addition simplification.

From-SVN: r99637
2005-05-12 16:52:37 -07:00
Thomas Fitzsimmons
8fd1590ca6 Makefile.am (cond_gtk_gcjawt_ltlibrary): Rename libjawt.la libgcjawt.la.
2005-05-12  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (cond_gtk_gcjawt_ltlibrary): Rename libjawt.la
	libgcjawt.la.

From-SVN: r99636
2005-05-12 23:45:17 +00:00
Hans-Peter Nilsson
2239ced831 cris.c (cris_print_operand): Use operand_subword and HOST_WIDE_INT_PRINT_DEC for output...
* config/cris/cris.c (cris_print_operand) <case 'H'; case
	CONST_INT>: Use operand_subword and HOST_WIDE_INT_PRINT_DEC for
	output; don't have special case for HOST_BITS_PER_WIDE_INT == 32.

From-SVN: r99635
2005-05-12 23:36:46 +00:00
Jan Hubicka
a930a4efe7 basic-block.h (FOR_ALL_BB_FN): New macro.
* basic-block.h (FOR_ALL_BB_FN): New macro.
	(init_flow): Initialize cfg structure.
	* function.c (allocate_struct_function): Do not initialize cfg structure.
	* tree-cfg.c (init_empty_tree_cfg): Break out from ...
	(build_tree_cfg): ... here.
	* tree-flow.h (init_empty_tree_cfg): Declare.

From-SVN: r99633
2005-05-12 22:32:16 +00:00
Steven Bosscher
0995a441f5 re PR tree-optimization/21520 (missing PRE opportunity with operand after operand)
Fix PR tree-optimization/21520
	* tree-ssa-pre.c (phi_translate): Use fully_constant_expression
	to attempt to fold constants.

From-SVN: r99632
2005-05-12 22:13:00 +00:00
Kaz Kojima
02f20dc3fd sh.c: Declare the prototype of sh_adjust_unroll_max only when...
* config/sh/sh.c: Declare the prototype of sh_adjust_unroll_max
	only when TARGET_ADJUST_UNROLL_MAX is defined.
	(general_movsrc_operand): Use the C style comment.
	(ua_offset): Use prototype.

From-SVN: r99631
2005-05-12 21:45:05 +00:00
Zdenek Dvorak
ed9c043b26 tree-ssa-loop-im.c (struct mem_ref): Add field "next".
* tree-ssa-loop-im.c (struct mem_ref): Add field "next".
	(struct hmr_data, hoist_memory_reference, memref_del,
	struct fmrv_data): Removed.
	(hoist_memory_references, free_mem_ref, free_mem_refs): New functions.
	(gather_mem_refs, gather_mem_refs_stmt): Add new references to the
	list.
	(find_more_ref_vops): Traverse the list of memory references.
	(determine_lsm_loop): Work with the list of memory references instead
	of traversing the hashtable.

From-SVN: r99627
2005-05-12 19:41:10 +00:00
Steve Ellcey
dbaef7e22b libiberty.h: Do not define empty basename prototype.
From-SVN: r99626
2005-05-12 19:29:53 +00:00
Steven Bosscher
98f464e058 except.c (duplicate_eh_region_1, [...]): New functions, based on old implementation removed with RTL inliner.
* except.c  (duplicate_eh_region_1, duplicate_eh_region_2,
	duplicate_eh_regions): New functions, based on old
	implementation removed with RTL inliner.
	(reachable_next_level): Modify behaviour pre-inline.
	* except.h (duplicate_eh_regions_map, duplicate_eh_regions):
	Declare.
	* function.h (struct function): Add after_inlining flag.
	* tree-optimize.c (tree_rest_of_compilation): Set it.
	* tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable
	when needed.
	* tree-cfg.c (label_to_block_fn): Deal with cases where
	label was never insterted into code.

Co-Authored-By: Jan Hubicka <jh@suse.cz>
Co-Authored-By: Stuart Hastings <stuart@apple.com>

From-SVN: r99625
2005-05-12 19:29:21 +00:00
Zack Weinberg
1ed17cd539 directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
libcpp:
	* directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
	(do_sccs): Delete function definition, #define to do_ident.
	(do_ident): Don't hardwire directive name.
gcc:
	* doc/cpp.texi: Document that #sccs is a synonym for #ident.

From-SVN: r99623
2005-05-12 18:31:38 +00:00
Tobias Schlüter
4588b60480 * trans-types.c (gfc_is_nodesc_array): Remove redundant check.
From-SVN: r99621
2005-05-12 20:19:37 +02:00
Thomas Koenig
c42a19d5e3 re PR libfortran/21324 (#undef GFC_CLEAR_MEMORY causes testsuite failures)
2005-05-12  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/21324
        * runtime/memory.c:  Don't define GFC_CLEAR_MEMORY (it's a
        performance hog).
        * io/open.c (new_unit): Zero freshly allocated memory for
        unit structure.
        * io/unit.c (init_units):  Zero freshly allocated memory for
        STDIN, STDOUT and STDERR.
        * io/unix.c (open_internal):  Zero freshly allocated memory
        for unix_stream.
        (fd_to_stream):  Likewise.

From-SVN: r99619
2005-05-12 17:50:33 +00:00
Daniel Berlin
7cc70b5e3c re PR tree-optimization/21532 (ICE caused by PRE dead instruction removal)
2005-05-12  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/21532
	* tree-ssa-pre.c (create_expression_by_pieces): stmt
	needs to go onto the inserted_exprs list.

From-SVN: r99617
2005-05-12 17:11:16 +00:00
Ian Lance Taylor
feea5b18cc c-common.h (statement_code_p): Don't declare.
./:	* c-common.h (statement_code_p): Don't declare.
	(STATEMENT_CODE_P): Don't define.
	(INIT_STATEMENT_CODES): Don't define.
	* c-common.c (statement_code_p): Don't define.
cp/:
	* cp-tree.h (cp_stmt_codes): Don't define.
	(statement_code_p): Declare.
	(STATEMENT_CODE_P): Define.
	* lex.c (statement_code_p): Define.
	(cxx_init): Use actual codes in stmt_codes initializer, not
	cp_stmt_codes macro.  Initialize statement_code_p directly, rather
	than using INIT_STATEMENT_CODES.

From-SVN: r99615
2005-05-12 13:06:15 +00:00
Ryota Kunisawa
5a8c20ce52 re PR bootstrap/21230 (bootstrap failed unless bootstrap compiler is gcc.)
config/
        PR bootstrap/21230
        * warnings.m4 (ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Add
        double quotes around GCC variable.

libcpp/
        PR bootstrap/21230
        * configure: Regenerate.

From-SVN: r99613
2005-05-12 12:22:08 +00:00
Eric Botcazou
47bebcf3ba Revert latest accidental commit.
From-SVN: r99610
2005-05-12 12:07:07 +00:00
Eric Botcazou
f8ece00085 sparc.h: Remove dead code.
* config/sparc/sparc.h: Remove dead code.
	* config/sparc/sparc.c (sparc_compute_frame_size): Use
	FIRST_PARM_OFFSET for the size of the register window area.
	(emit_save_regs): Rename into emit_save_or_restore_regs.
	Add 'action' parameter.  Use 4095 as upper bound for the offset.
	Pass 'action' to save_or_restore_regs.
	(emit_restore_regs): Delete.
	(sparc_expand_prologue): Call emit_save_or_restore_regs.
	(sparc_expand_epilogue): Likewise.
	* config/sparc/sparc.md (mode macro P): Move.
	(movdi_insn_sp32_v9, movdi_insn_sp32): Swap.
	(mov<V32:mode> expander): Move to the top of the V32 section.
	(movdf_insn_sp32_v9_no_fpu, movdf_insn_sp32_v9): Swap.
	(movtf_insn_sp64_hq, movtf_insn_sp64): Swap.
	(sibcall_epilogue): Move.

From-SVN: r99609
2005-05-12 11:43:05 +00:00
Richard Earnshaw
fa2c88a05b re PR target/21501 (ICE in extract_insn, at recog.c:2082)
PR target/21501
	* arm.c (arm_gen_constant): Sign-extend intermediate values when
	synthesizing a constant of the difference of two immediates.

From-SVN: r99608
2005-05-12 10:36:03 +00:00
Richard Earnshaw
81632f1168 vfp.md (negsf2_vfp): Add alternative using integer registers.
* arm/vfp.md (negsf2_vfp): Add alternative using integer registers.
	(negdf2_vfp): Likewise.  Convert to define_insn_and_split and split
	the alternatives using integer registers into the appropriate
	primitives.

From-SVN: r99607
2005-05-12 08:05:11 +00:00
Eli Zaretskii
5db1c53105 pex-djgpp.c: Include string.h, fcntl.h, unistd.h, and sys/stat.h.
2005-05-11  Eli Zaretskii  <eliz@gnu.org>

	* pex-djgpp.c: Include string.h, fcntl.h, unistd.h, and
	sys/stat.h.
	(pex_init): Fix last argument to pex_init_common.
	(pex_djgpp_exec_child): Remove leading underscore from _open,
	_dup, _dup2, _close, and _spawnv/_spawnvp.  Replace `program',
	which is undeclared, with `executable', which was unused.  Remove
	unused variable `e'.  Fix casting of last arg to spawnv/spawnvp.
	(pex_djgpp_wait): Declare arguments with ATTRIBUTE_UNUSED.

From-SVN: r99606
2005-05-12 03:44:58 +00:00
Kenneth Zadeck
5765e55258 bitmap.c (bitmap_elmt_to_freelist, [...]): Changed freelist structure.
2005-05-11 Kenneth Zadeck <zadeck@naturalbridge.com>

	* bitmap.c (bitmap_elmt_to_freelist, bitmap_element_allocate,
	bitmap_elt_clear_from, bitmap_clear): Changed freelist structure.
	* bitmap.h: Fixed comments.

From-SVN: r99605
2005-05-12 03:01:44 +00:00
Tom Tromey
cca1655eab gcj.texi (Code Generation): Document -fbootstrap-classes.
gcc/java:
	* gcj.texi (Code Generation): Document -fbootstrap-classes.
	* decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
	(parse_version): Use it.
	* lang.opt (-fbootstrap-classes): New option.
libjava:
	* external/w3c_dom/Makefile.in: Rebuilt.
	* external/w3c_dom/Makefile.am (libw3c_gcj_la_GCJFLAGS): Added
	-fbootstrap-classes.
	* external/sax/Makefile.in: Rebuilt.
	* external/sax/Makefile.am (libsax_gcj_la_GCJFLAGS): Added
	-fbootstrap-classes.
	* java/lang/Class.h (_Jv_CopyClassesToSystemLoader): Declare as
	friend.
	* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
	Call _Jv_CopyClassesToSystemLoader.
	* java/lang/natClassLoader.cc (system_class_list): New global.
	(_Jv_RegisterClassHookDefault): Handle bootstrap and system
	classes differently.
	(_Jv_CopyClassesToSystemLoader): New function.
	(SYSTEM_LOADER_INITIALIZED): New define.
	* include/jvm.h (GCJ_BOOTSTRAP_LOADER_ADDITION): New define.
	(_Jv_CheckABIVersion): Use it.
	(_Jv_ClassForBootstrapLoader): New function.
	* Makefile.in: Rebuilt.
	* Makefile.am (AM_GCJFLAGS): Added -fbootstrap-classes.

From-SVN: r99604
2005-05-12 01:27:15 +00:00
GCC Administrator
cd0b240bf1 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r99602.2
2005-05-12 00:16:20 +00:00
Tobias Schlüter
b160dd2803 re PR fortran/21260 (Conflict between comment and H edit descriptor)
fortran/
	PR fortran/21260
	* io.c (check_format): Look for literal characters inside
	hollerith constant.
testsuite/
	PR fortran/21260
	* gfortran.dg/hollerith_1.f90: New test.

From-SVN: r99597
2005-05-12 00:32:04 +02:00
Richard Henderson
5e6c8b6428 re PR target/21412 (ICE loading TLS address)
PR target/21412
        * config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
        (ia64_cannot_force_const_mem): New.
        (tls_symbolic_operand_type): New.
        (ia64_legitimate_constant_p): New.
        (ia64_expand_load_address): Return true on success.  Improve
        checks for when we should not split.
        (ia64_expand_tls_address): New addend operand.  Distribute it
        as appropriate to the tls_kind.  Delay referencing gp.
        (ia64_expand_move): Split symbolic addend as necessary.  Handle
        tls symbols with addends.
        * config/ia64/ia64-protos.h: Update.
        * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
        p0, f0, f1, and r13.
        (LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
        * config/ia64/ia64.md (UNSPEC_DTPMOD): New.
        (symbolic_operand splitter): Pass everything through
        ia64_expand_load_address and FAIL or DONE as appropriate.
        (load_fptr): Only accept after reload.
        (load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
        load_symptr_low, load_ltoff_dtpmod,
        (load_dtpmod): New.
        (load_dtprel): Only accept tls symbols.
        (load_dtprel64, load_dtprel22): Likewise.
        (load_tprel, load_tprel64, load_tprel22): Likewise.
        (load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New.
        (add_dtprel): Only accept tls symbols.  Canonicalize PLUS.
        (add_dtprel14, add_dtprel22): Likewise.
        (add_tprel, add_tprel14, add_tprel22): Likewise.
        * config/ia64/predicates.md (small_addr_symbolic_operand): New.
        (any_offset_symbol_operand, aligned_offset_symbol_operand): New.
        (got_symbolic_operand): Check CONST offsets.
        (tls_symbolic_operand, ld_tls_symbolic_operand): New.
        (ie_tls_symbolic_operand, le_tls_symbolic_operand): New.
        (move_operand): Don't handle tls here.  Check CONST offsets.

From-SVN: r99596
2005-05-11 14:34:19 -07:00
Richard Sandiford
b331525311 7000.md (rm7_impy_si_mult): Just match imul and imadd.
* config/mips/7000.md (rm7_impy_si_mult): Just match imul and imadd.
	Remove hilo_operand check.
	(rm7_impy_si_mul): Just match imul3.  Remove hilo_operand check.
	* config/mips/predicates.md (hilo_operand): Delete.

From-SVN: r99592
2005-05-11 20:03:39 +00:00
Richard Sandiford
a8cdbec028 * config/mips/sr71k.md, config/mips/7000.md: Reformat.
From-SVN: r99591
2005-05-11 19:02:35 +00:00
Kazu Hirata
f8535b4dcb re PR tree-optimization/18472 (TREE_OPERAND (t, 1) is referenced for t being GOTO_EXPR)
PR tree-optimizer/18472
	* tree-if-conv.c (tree_if_convert_stmt,
	if_convertible_modify_expr_p): Don't handle GOTO_EXPR.

From-SVN: r99588
2005-05-11 18:27:33 +00:00
Tobias Schlüter
3da7937d88 Fix incomplete ChagneLog from previous checkin.
From-SVN: r99586
2005-05-11 19:04:32 +02:00
Jan Hubicka
b4660e5a25 Makefile.in (tree-eh.o): Kill gt-tree-eh.h dependency.
* Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
	(GTFILES): add except.h.
	* except.c (eh_status): Add throw_stmt_table.
	(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions.
	* except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn,
	lookup_stmt_eh_region_fn): Declare.
	(throw_stmt_node): New structure.
	(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New.
	* gengtype.c (open_base_files): Add except.h to inlines.
	* tree-eh.c (throw_stmt_node): Kill.
	(record_stmt_eh_region): Update.
	(add_stmt_to_eh_region_fn): Break out from ...
	(add_stmt_to_eh_region): ... here.
	(remove_stmt_from_eh_region_fn): Break out from ...
	(remove_stmt_from_eh_region): ... here.
	(lookup_stmt_eh_region_fn): Break out from ...
	(lookup_stmt_eh_region): ... here.
	(honor_protect_cleanup_actions): Use build_resx.
	(lower_try_finally_onedest): Likewise.
	(lower_try_finally_copy): Likewise.
	(lower_try_finally_switch): Likewise.
	(lower_eh_constructs): Update eh table construction.
	* tree.c (build_resx): New.
	* tree.h (build_resx): Declare.

From-SVN: r99585
2005-05-11 16:25:30 +00:00
H.J. Lu
3ca48b3e72 libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation is needed.
2005-05-11  H.J. Lu  <hongjiu.lu@intel.com>

	* libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation
	is needed.

From-SVN: r99584
2005-05-11 09:08:27 -07:00
Kazu Hirata
78f4111d6a tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove redundant code.
* tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove
	redundant code.

From-SVN: r99583
2005-05-11 16:06:36 +00:00
Kazu Hirata
9d6aab7ef8 * fold-const.c, libgcov.c: Fix comment typos.
From-SVN: r99582
2005-05-11 15:21:28 +00:00
Daniel Jacobowitz
a15900b51c linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
* config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
	* config/arm/arm.h (SUBTARGET_FRAME_POINTER_REQUIRED): Provide
	default definition.
	(FRAME_POINTER_REQUIRED): Use SUBTARGET_FRAME_POINTER_REQUIRED.

From-SVN: r99581
2005-05-11 14:59:09 +00:00
Tobias Schlüter
09e7f68631 resolve.c (resolve_symbol): Copy 'pointer' and 'dimension' attribute from result symbol to function symbol.
fortran/
	* resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
	attribute from result symbol to function symbol.
testsuite/
	* gfortran.dg/func_result_2.f90: New test.

From-SVN: r99580
2005-05-11 16:52:51 +02:00
Nathan Sidwell
9d48ad93c6 re PR bootstrap/21481 (crtstuff.c should not include auto-host.h)
PR bootstrap/21481
	* crtstuff.c: Include auto-host.h again, for now.

From-SVN: r99579
2005-05-11 13:40:12 +00:00
Richard Sandiford
99917bc339 * config/mips/24k.md: Remove trailing whitespace.
From-SVN: r99578
2005-05-11 13:08:50 +00:00
David Ung
95177e1760 mips.md (type): Add imul3.
* config/mips/mips.md (type): Add imul3.
	(length, hazard, may_clobber_hilo): Check for imul3.
	(mulsi3_mult3, muldi3_mult3, *muls, <su>mulsi3_highpart_mulhi_internal)
	(*<su>mulsi3_highpart_neg_mulhi_internal): Set attr to imul3.
	* config/mips/24k.md (r24k_int_mul3): Enable this reservation
	for a 3 operand mul and its bypasses.
	* config/mips/3000.md (r3k_imul): Add imul3 to reservations.
	* config/mips/4000.md (r4k_imul): Likewise.
	* config/mips/4100.md (r4100_imul_si, r4100_imul_di):  Likewise.
	* config/mips/4130.md (vr4130_class, vr4130_mulsi)
	(vr4130_muldi): Likewise.
	* config/mips/4300.md (r4300_imul_si, r4300_imul_di): Likewise.
	* config/mips/4600.md (r4600_imul, r4650_imul): Likewise.
	* config/mips/5000.md (r5k_imul_si, r5k_imul_di): Likewise.
	* config/mips/5400.md (ir_vr54_imul_si, ir_vr54_imul_di)
	(ir_vr54_imadd_si): Likewise.
	* config/mips/5500.md (ir_vr55_imul_si, ir_vr55_imul_di):  Likewise.
	* config/mips/7000.md (rm7_impy_si_mult, rm7_impy_si_mul)
	(rm7_impy_di): Likewise.
	* config/mips/9000.md (rm9k_mulsi, rm9k_muldi):  Likewise.
	* config/mips/generic.md (generic_imul): Likewise.
	* config/mips/sb1.md (ir_sb1_mulsi, ir_sb1_muldi): Likewise.
	* config/mips/sr71k.md (ir_sr70_imul_si, ir_sr70_imul_di):  Likewise.

From-SVN: r99577
2005-05-11 12:52:58 +00:00
J"orn Rennecke
cbbaf4aefa re PR middle-end/20371 (Some corner cases of MS bitfields don't work)
PR middle-end/20371:
	* tree.h (record_layout_info_s): New member prev_packed.
	* stor-layout.c (update_alignment_for_field): Fix comment about
	KNOWN_ALIGN.  For MS bitfields, if we start a new run, make sure
	we start it properly aligned.
	(place_field): At the beginning of a record, pass 0 as KNOWN_ALIGN
	to update_alignment_for_field, and recompute it afterwards using
	the alignment of the record.
	When a packed bitfield precedes an MS bitfield, don't add padding
	at the end of the packed bitfield on behalf of the base type of
	the packed bit field.
	Don't adjust rli->bitpos at the end
	of an MS bitfield run if we already adjusted bitpos/offset for an
	alignment as large or larger than the bitfield type size.
	Take possible record alignment > BIGGEST_ALIGNMENT into account
	when calculating actual_align.
	Only put packed buit fields into rli->prev_field if they end up
	suitably aligned.
	Also set rli->remaining_in_alignment when we re-set rli->prev_field.
	Update rli->remaining_in_alignment when we have already started a
	run of bit fields and we process a packed bit field.

From-SVN: r99574
2005-05-11 13:24:43 +01:00
Sebastian Pop
4aad410db7 tree-data-ref.c (find_data_references_in_loop): Give up when the body of the loop contains a CALL_EXPR or an ASM_EXPR...
* tree-data-ref.c (find_data_references_in_loop): Give up when
	the body of the loop contains a CALL_EXPR or an ASM_EXPR: they
	may embed arbitrary side effects.
	Remove the assumption that GIMPLE form contains a single array
	access per statement.
	When the statement contains virtual operands, fail if it is not
	a MODIFY_EXPR or a CALL_EXPR.
	Return after the dont know node is inserted.

From-SVN: r99573
2005-05-11 11:03:31 +00:00
Bud Davis
802fc8260d re PR libfortran/19478 (reading back from /dev/null)
PR fortran/19478
	* io/unix.c (fd_truncate): update positions when ftruncate
	fails (like writing to /dev/null).
	* gfortran.dg/dev_null.f90: New test.

From-SVN: r99570
2005-05-11 10:34:05 +00:00
Richard Earnshaw
5a942c07c2 arm.md (negsf2, negdf2): Permit these expands when compiling for VFP.
* arm.md (negsf2, negdf2): Permit these expands when compiling for VFP.
	* gcc.dg/arm-vfp1.c: Revert last change.

From-SVN: r99569
2005-05-11 10:13:23 +00:00
Richard Guenther
c554294001 re PR middle-end/19807 (fold does not fold &a[4]-1)
2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>

	PR middle-end/19807
	PR tree-optimization/19639
	* fold-const.c (try_move_mult_to_index): Handle INTEGER_CST
	and generic summands for char* as s * delta, too, folding &a[i]
	CODE x to &a[i CODE x/s].  Use tree_int_cst_equal
	for comparison of steps.  Convert types for index addition.
	(fold_binary): Adjust the callers to always dispatch to
	try_move_mult_to_index.
	* tree-ssa-propagate.c (set_rhs): Avoid setting rhs to
	expr with non-gimple ARRAY_REF offset.

	* g++.dg/tree-ssa/pr19807.C: New testcase.

From-SVN: r99568
2005-05-11 08:14:44 +00:00
Richard Guenther
8a29ce604b fold-const.c (fold_indirect_ref_1): Avoid removing NOP_EXPRs with type qualifiers like const.
2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>

	* fold-const.c (fold_indirect_ref_1): Avoid removing
	NOP_EXPRs with type qualifiers like const.

From-SVN: r99566
2005-05-11 07:43:33 +00:00
Richard Henderson
317a9ac39e re PR c/21502 (small data relocation mismatch)
PR c/21502
        * c-decl.c (finish_decl): Propagate the completed array type of
        a global variable into the binding.

From-SVN: r99563
2005-05-11 00:33:31 -07:00
Francois-Xavier Coudert
da32fddcb6 re PR libfortran/21471 ('POSITION = "APPEND"' doesn't seem to work)
PR libfortran/21471
	* open.c (new_unit): Take care of the case where POSITION_APPEND
	is specified (sseek to the end, and set u>-endfile).
	* gfortran.dg/append-1.f90: New test.

From-SVN: r99560
2005-05-11 05:56:20 +00:00