Commit Graph

67210 Commits

Author SHA1 Message Date
Zdenek Dvorak
d482f417e4 re PR target/20625 (ivopts produces code that generates "unaligned access exception")
PR target/20625
	* tree-ssa-loop-ivopts.c (generic_type_for): New function.
	(add_candidate_1): Use generic_type_for instead of unsigned_type_for.

From-SVN: r97674
2005-04-05 23:57:01 +00:00
Zdenek Dvorak
c33e657d34 tree-flow.h (number_of_iterations_cond): Declaration removed.
* tree-flow.h (number_of_iterations_cond): Declaration removed.
	* tree-ssa-loop-niter.c (number_of_iterations_cond): Made static.
	(number_of_iterations_special): New function.
	(number_of_iterations_exit): Use number_of_iterations_special.
	Use simplify_using_outer_evolutions only at -O3.
	(number_of_iterations_cond, tree_simplify_using_condition,
	simplify_using_initial_conditions, loop_niter_by_eval,
	compare_trees, can_count_iv_in_wider_type_bound,
	simplify_using_outer_evolutions): Use fold_build.

From-SVN: r97673
2005-04-05 23:52:41 +00:00
Thomas Fitzsimmons
c33b7bf04a re PR libgcj/20750 (libgcj needs a --with-java-home configure option)
2005-04-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* doc/install.texi (Configuration): Document --with-java-home.

2005-04-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/20750
	* Makefile.am (AM_CXXFLAGS): Define JAVA_HOME.
	* Makefile.in: Regenerate.
	* configure.ac: Add --with-java-home option.
	* configure: Regenerate.
	* external/Makefile.in: Regenerate.
	* external/sax/Makefile.in: Regenerate.
	* external/w3c_dom/Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* java/lang/natRuntime.cc (insertSystemProperties): Set java.home
	to JAVA_HOME macro.

From-SVN: r97671
2005-04-05 23:46:09 +00:00
Joseph Myers
c72a879da7 rw.po: New file.
* rw.po: New file.

[[Split portion of a mixed commit.]]

From-SVN: r97668.2
2005-04-06 00:35:41 +01:00
Joseph Myers
cfc5104a5a * rw.po: New file.
From-SVN: r97666
2005-04-06 00:31:22 +01:00
Richard Henderson
b4e82619bc re PR target/20342 (ICE in spill_failure, at reload1.c:1872)
PR target/20342
        PR target/20447
        * config/i386/i386.c (print_operand): Handle vector zeros.
        (ix86_split_to_parts): Handle CONST_VECTOR.
        (ix86_hard_regno_mode_ok): Allow MMX modes in general regs.
        (ix86_modes_tieable_p): Use ix86_hard_regno_mode_ok to decide
        what modes to tie for MMX and SSE registers.
        * config/i386/i386.h (MMX_REG_MODE_P): Remove.
        * config/i386/i386.md: Extend move 0 -> xor peephole to apply
        to vector modes as well.
        * config/i386/predicates.md (const0_operand): Handle VOIDmode
        properly as an input mode.

From-SVN: r97663
2005-04-05 15:53:08 -07:00
Per Bothner
aca32e16b0 * lib/gcc.exp: Always add -fno-show-column, for now.
From-SVN: r97662
2005-04-05 15:50:44 -07:00
Andrew Pinski
ebabaeceda re PR testsuite/20767 (gcc.dg/tree-ssa/ssa-pre-8.c scan-tree-dump-times Eliminated: 4 1 fails on 64-bit systems)
2005-04-05  Andrew Pinski  <pinskia@physics.uc.edu>

        PR testsuite/20767
        * gcc.dg/tree-ssa/ssa-pre-8.c (foo): Use __SIZE_TYPE__ instead
        of plain old "unsigned int" for the type of "i".  Makes this test
        64bit clean.

From-SVN: r97661
2005-04-05 15:28:02 -07:00
Tom Tromey
8b6e769053 jni.cc (_Jv_JNI_GetAnyFieldID): Throw ClassNotFoundException.
* jni.cc (_Jv_JNI_GetAnyFieldID): Throw ClassNotFoundException.
	* java/lang/reflect/natMethod.cc (_Jv_GetTypesFromSignature):
	Rewrote to use _Jv_FindClassFromSignature.
	* verify.cc (resolve): throw NoClassDefFoundError.
	* link.cc (resolve_field): Throw NoClassDefFoundError.
	(find_field): Likewise.
	* prims.cc (_Jv_FindClassFromSignature): Removed recursion.
	Handle error cases.  Added 'endp' argument.
	* include/jvm.h (_Jv_FindClassFromSignature): Updated prototype.

From-SVN: r97660
2005-04-05 22:26:26 +00:00
Andrew MacLeod
13148dd26a tree-ssa-operands.c (verify_abort): Use %p for pointers.
2005-04-05  Andrew MacLeod  <amacleod@redhat.com>

	* tree-ssa-operands.c (verify_abort): Use %p for pointers.

From-SVN: r97659
2005-04-05 22:23:11 +00:00
Tom Tromey
3078e92940 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (lib_gnu_java_awt_peer_gtk_la_SOURCES): Removed
	gtk_awt_peer_sources.
	(lib_gnu_java_awt_peer_gtk_la_LIBADD): Added gtk-awt-peer.lo.
	(lib_gnu_java_awt_peer_gtk_la_DEPENDENCIES): Likewise.
	($(gtk_awt_peer_sources:.java=.lo)): Removed.
	(gtk-awt-peer.lo): New target.

From-SVN: r97656
2005-04-05 21:11:49 +00:00
Andrew MacLeod
dbb9a00fc9 tree-pretty-print.c (dump_generic_node): Use %p for pointer.
2005-04-05  Andrew MacLeod  <amacleod@redhat.com>

	* tree-pretty-print.c (dump_generic_node): Use %p for pointer.

From-SVN: r97655
2005-04-05 20:44:29 +00:00
Jakub Jelinek
f19e3a64ad [multiple changes]
2005-04-05  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/i386.c (init_cumulative_args): For -m32 -mfpmath=sse
	and local functions, set sse_nregs to 8 and float_in_sse.
	(function_arg_advance, function_arg): If float_in_sse, pass
	SFmode and DFmode arguments in SSE registers.
	* config/i386/i386.h (CUMULATIVE_ARGS): Add float_in_sse field.

	* config/i386/i386.c (ix86_value_regno): Only optimize local functions
	of -funit-at-a-time.

2005-04-05  Paolo Bonzini  <bonzini@gnu.org>

	* config/i386/i386-protos.h (ix86_function_value): Accept two
	arguments, like the target macro.
	* config/i386/i386.h (FUNCTION_VALUE): Pass both arguments.
	* config/i386/i386.c (ix86_function_value): Accept the second
	argument of the target macro.
	(ix86_function_ok_for_sibcall): Pass a function pointer to
	ix86_function_value.
	(ix86_function_value, ix86_libcall_value) [!TARGET_64BIT]: Adjust
	call to ix86_value_regno).
	(ix86_value_regno): Add support for returning floating point values
	in SSE registers.

2005-04-05  Paolo Bonzini  <bonzini@gnu.org>

	* gcc.dg/i386-ssefn-1.c: New test.
	* gcc.dg/i386-ssefn-2.c: New test.
	* gcc.dg/i386-ssefn-3.c: New test.
	* gcc.dg/i386-ssefn-4.c: New test.

From-SVN: r97654
2005-04-05 22:20:42 +02:00
Jakub Jelinek
4b2841117b re PR tree-optimization/20076 (__builtin_return(__builtin_apply()) inlined incorrectly)
PR tree-optimization/20076
	* tree-inline.c (inline_forbidden_p_1): Prevent inlining functions
	that call __builtin_return or __builtin_apply_args.

	* gcc.dg/builtin-apply4.c: New test.

From-SVN: r97653
2005-04-05 22:10:13 +02:00
Jakub Jelinek
cae064e798 re PR preprocessor/19475 (missing whitespace after macro name in C90 or C++)
PR preprocessor/19475
	* macro.c (create_iso_definition): For < ISO C99, don't
	pedwarn if there is no whitespace between macro name and its
	replacement, but the replacement starts with a basic character
	set character.

	* gcc.dg/cpp/macspace1.c: New test.
	* gcc.dg/cpp/macspace2.c: New test.

From-SVN: r97652
2005-04-05 22:07:06 +02:00
Francois-Xavier Coudert
87ac6a500a * gfortran.dg/pr20755.f: Fixed bad format.
From-SVN: r97650
2005-04-05 19:45:41 +00:00
Andrew MacLeod
f430bae872 lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use update_stmt.
2005-04-05  Andrew MacLeod  <amacleod@redhat.com>

	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use update_stmt.
	Use immediate use iterator.
	(stmt_is_bumper_for_loop): Use immediate use iterator.
	* predict.c (strip_builtin_expect): Use update_stmt.
	* tree-cfg.c (update_modified_stmts): New. Call update_stmt_if_modified
	on all elements of a STATEMENT_LIST.
	(bsi_insert_before, bsi_insert_after): Call update_modified_stmts.
	(bsi_remove): Remove imm_use links and mark the stmt as modified.
	(bsi_replace): Mark stmt as modified and the update it.
	* tree-complex.c (update_complex_assignment): Call mark_stmt_modified.
	(expand_complex_libcal): Call update_stmt.
	(expand_complex_comparison): Call mark_stmt_modified.
	(expand_complex_operations_1): Call update_stmt_if_modified.
	(expand_vector_operations_1): Call mark_stmt_modified.
	* tree-dfa.c (compute_immediate_uses, free_df_for_stmt, free_df,
	compute_immediate_uses_for_phi, compute_immediate_uses_for_stmt,
	add_immediate_use, redirect_immediate_use,
	redirect_immediate_uses, dump_immediate_uses, debug_immediate_uses,
	dump_immediate_uses_for, debug_immediate_uses_for): Delete.
	(mark_new_vars_to_rename): Call update_stmt.
	* tree-dump.c (dump_option_value_in): Add "stmtaddr".
	* tree-flow-inline.h (modify_stmt): Rename to mark_stmt_modified.
	Ignore PHI nodes.
	(unmodify_stmt): Delete.
	(update_stmt): New.  Force an update of a stmt.
	(update_stmt_if_modified): update a stmt if it is out of date.
	(get_stmt_operands): Verify stmt is NOT modified.
	(stmt_modified_p): Update comment.
	(delink_imm_use): Remove a use node from its immuse list.
	(link_imm_use_to_list): Link a use node to a specific list.
	(link_imm_use): Link a node to the correct list.
	(set_ssa_use_from_ptr): Set a use node to a specific value, and insert
	it in the correct list, if appropriate.
	(link_imm_use_stmt): Link a use node, and set the stmt pointer.
	(relink_imm_use): Link a use node in place of another node in a list.
	(relink_imm_use_stmt): LInk a node in place of another node, and set
	the stmt pointer.
	(end_safe_imm_use_traverse): New.  Terminate a safe immuse iterator.
	(end_safe_imm_use_p): New.  Check for the end of a safe immuse iterator.
	(first_safe_imm_use): New.  Initialize a safe immuse iterator.
	(next_safe_imm_use): New.  Proceed to next safe immuse iterator value.
	(end_readonly_imm_use_p): New.  Check for end of a fast immuse iterator.
	(first_readonly_imm_use): New.  Initialize a fast immuse iterator.
	(next_readonly_imm_use): New.  Get the next fast immuse iterator value.
	(has_zero_uses): New.  Return true if there are no uses of a var.
	(has_single_use): New.  Return true if there is only a single use of a
	variable.
	(single_imm_use): New.  Return the simgle immediate use.
	(num_imm_uses): New.  Return the number of immediate uses.
	(get_v_must_def_ops): Use is now a pointer.
	(use_operand_p, get_v_may_def_op_ptr, get_vuse_op_ptr,
	get_v_must_def_kill_ptr, get_phi_arg_def_ptr): Return the address of
	the use node.
	(get_immediate_uses, num_immediate_uses, immediate_use): Delete.
	(delink_stmt_imm_use): Delink all immuses from a stmt.
	(phi_arg_index_from_use): New.  Return a phi arg index for a use.
	* tree-flow.h (struct dataflow_d): Delete.
	(immediate_use_iterator_d): New.  Immediate use iterator struct.
	(FOR_EACH_IMM_USE_FAST): New.  Macro for read only immuse iteration.
	(FOR_EACH_IMM_USE_SAFE): New.  Macro for write-safe immuse iteration.
	(BREAK_FROM_SAFE_IMM_USE): New.  Macro for earlyu exit from write-safe
	iteration.
	(struct stmt_ann_d): Remove dataflow_t from struct.
	* tree-if-conv.c (tree_if_conversion).  Don't call free_df.
	(if_convertible_phi_p): Use FAST immuse iterator.
	(if_convertible_loop_p): Don't call compute_immediate_uses.
	(replace_phi_with_cond_modify_expr): Call update_stmt.
	* tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites): Call
	update_stmt_if_modified.
	(rewrite_all_into_ssa): Initialize ssa operands.
	* tree-loop-linear.c (linear_transform_loops): Don't call free_df or
	compute_immediate_uses.
	* tree-optimize.c (execute_todo): Call verify_ssa whenever the
	ssa_property is available.
	(execute_one_pass):  Change parameters passed to execute_todo.
	* tree-outof-ssa.c (rewrite_trees): Don't call modify_stmt.
	(remove_ssa_form): Call fini_ssa_operands.
	(insert_backedge_copies): Delete call to modify_stmt.
	* tree-phinodes.c (make_phi_node): Initialize use nodes.
	(release_phi_node): Delink any use nodes before releasing.
	(resize_phi_node): Relink any use nodes.
	(remove_phi_arg_num): Delink the use node.
	(remove_phi_node): Release the ssa_name AFTER releasing the phi node.
	(remove_all_phi_nodes_for): Release phi node first.
	* tree-pretty-print.c (dump_generic_node): Print stmt address.
	* tree-sra.c (mark_all_v_defs): Call update_stmt_if_modified.
	(scalarize_use, scalarize_copy): Call update_stmt.
	* tree-ssa-alias.c (compute_may_aliases): Update all modified stmts.
	(compute_points_to_and_addr_escape): Call mark_stmt_modified.
	* tree-ssa-cpp.c (need_imm_uses_for): Delete.
	(ccp_initialize): Remove call to compute_immediate_uses.
	(substitute_and_fold, execute_fold_all_builtins): Call update_stmt.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Update all modified
	stmts.
	(simplify_cond_and_lookup_avail_expr): Call mark_stmt_modified.
	(simplify_switch_and_lookup_avail_expr): Call mark_stmt_modified.
	(eliminate_redundant_computations): Call mark_stmt_modified.
	(cprop_operand): Call mark_stmt_modified.
	(optimize_stmt): Call update_stmt_if_modified and mark_stmt_modified.
	* tree-ssa-dse.c (fix_phi_uses, fix_stmt_v_may_defs): Delete.
	(dse_optimize_stmt): Use new immuse interface.
	(tree_ssa_dse): Remove calls to compute_immediate_uses and free_df.
	* tree-ssa-forwprop.c (need_imm_uses_for): Delete.
	(substitute_single_use_vars): Use new immuse interface.
	(tree_ssa_forward_propagate_single_use_vars): Remove calls to free_df
	and compute_immediate_uses.
	* tree-ssa-loop-im.c (single_reachable_address): Use new immuse
	interface.
	(rewrite_mem_refs): Call update_stmt.
	(determine_lsm): Remove call to compute_imm_uses and free_df.
	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Call update_stmt.
	(try_unroll_loop_completely): Call update_stmt.
	* tree-ssa-loop-ivopts.c (rewrite_address_base): Call update_stmt.
	(rewrite_use_compare): Call update_stmt.
	(compute_phi_arg_on_exit): Insert each stmt before trying to process.
	(rewrite_use) : Call update_stmt.
	* tree-ssa-loop-manip.c (verify_loop_closed_ssa): Add arg to call.
	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Call
	update_stmt.
	* tree-ssa-operands.c (NULL_USE_OPERAND_P): Remove declaration.
	(allocate_use_optype, allocate_vuse_optype): Adjust allocation size.
	(free_uses, free_vuses, free_v_may_defs, free_v_must_defs): Delink
	use nodes.
	(initialize_vuse_operand): New.  Initialize a vuse operand.
	(initialize_v_may_def_operand): New.  Initialize a maydef operand.
	(initialize_v_must_def_operand): New.  Initialize a mustdef operand.
	(finalize_ssa_defs): Use stmt parameter.
	(correct_use_link): Ensure a use node is in the correct list, and has
	the correct stmt pointer.
	(finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_vuses,
	finalize_ssa_v_must_defs): Also initialize use nodes.
	(finalize_ssa_stmt_operands): Pass extra stmt operands.
	(build_ssa_operands): Seperate parsing from final operand construction.
	(parse_ssa_operands): New.  Parse entry point for operand building.
	(swap_tree_operands): New.  Swap 2 tree operands.
	(update_stmt_operands): Ranamed from get_stmt_operands.  Always builds
	operands.
	(get_expr_operands): Call swap_tree_operands when needed.
	(copy_virtual_operands): Use initialize routines for virtual use ops.
	(create_ssa_artficial_load_stmt): Add extra stmt parameter.
	(verify_abort): New.  Issue imm_use error.
	(verify_imm_links): New Verify imm_use links for a var.
	(dump_immediate_uses_for): New.  Dump imm_uses for a var to file.
	(dump_immediate_uses): New.  Dump imm_uses for all vars to file.
	(debug_immediate_uses): New.  Dump imm_uses for all vars to stderr.
	(debug_immediate_uses_for): New.  Dump imm_uses for a var to stderr.
	* tree-ssa-operands.h (struct use_operand_ptr): Delete.
	(NULL_USE_OPERAND_P) Define.
	(use_optype_d, v_def_use_operand_type, vuse_optype_d): Add immediate
	use node.
	(struct vuse_operand_type): New struct.
	(SET_USE): Call set_ssa_use_from_ptr.
	(USE_STMT): Define.
	(PHI_ARG_INDEX_FROM_USE): Define.
	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Set the phi
	argument via SET_USE, not PHI_ARG_DEF_TREE.
	* tree-ssa-pre.c (eliminate): Call update_stmt.
	* tree-ssa-propagate.c (cfg_blocks_get): Use imm_use iterators.  Don't
	call free_df.
	* tree-ssa-sink.c (all_immediate_uses_same_place): Use imm_use iterator.
	(nearest_common_dominator_of_uses): Use imm_use iterator.
	(statement_sink_location): Use imm_use iterator and interface.
	(execute_sink_code): Don't call compute_immediate_uses or free-df.
	* tree-ssa-threadupdate.c (create_edge_and_update_destination_phis): Use
	PHI_ARG_DEF, not PHI_ARG_DEF_TREE.
	* tree-ssa.c (verify_use, verify_phi_args): Verify some imm_use info.
	(verify_ssa): Ensure no stmt is marked modify after optimization pass
	if new parameter is true.
	(init_tree_ssa): Don't initialize operand cache here.
	(delete_tree_ssa): Don't destroy operand cache here.
	(propagate_into_addr): Pass in a use pointer, return true if anything
	was changed.
	(replace_immediate_uses): Use imm_use iterator, call update_stmt.
	(check_phi_redundancy): Use imm_use iterator.
	(kill_redundant_phi_nodes): Don't call compute_immediate_uses or
	free_df.
	* tree-ssanames.c (make_ssa_name): Initialize imm_use node.
	(release_ssa_name): Delink node and all elements in its imm_use list.
	* tree-tailcall.c (adjust_return_value): Call update_stmt.
	* tree-vect-analyze.c (vect_stmt_relevant_p): Use imm_use iterator.
	* tree-vectorizer.c (need_imm_uses_for): Delete.
	(vectorize_loops): Dont call compute_immediate_uses or free_df.
	* tree.h (struct ssa_imm_use_d): Define.
	(SSA_NAME_IMM_USE_NODE): Define.
	(struct tree_ssa_name): Add imm_use node.
	(PHI_DF): Delete.
	(PHI_ARG_IMM_USE_NODE): Define.
	(struct phi_arg_d): Add imm_use node.
	(struct tree_phi_node): Remove struct dataflow_d element.
	(TDF_STMTADDR): Define.

From-SVN: r97648
2005-04-05 19:05:20 +00:00
Mark Mitchell
7701dad790 Fix typo
From-SVN: r97646
2005-04-05 19:02:03 +00:00
Dale Johannesen
3450cbc4a6 invoke.texi (Optimization Options): Remove duplicate -fcse-follow-jumps.
2005-04-05  Dale Johannesen  <dalej@apple.com>

        * doc/invoke.texi (Optimization Options):  Remove
        duplicate -fcse-follow-jumps.  Add -fweb.
        (-ftree-lim):  Fix spelling (-ftree-loop-im, invariants).
        (-fivcanon):  Fix spelling (-ftree-loop-ivcanon).

From-SVN: r97645
2005-04-05 18:40:15 +00:00
Per Bothner
bb0a4525ce tree-ssa.c (execute_early_warn_uninitialized): Pass context node to talk_tree as 'data' parameter, rather than EXPR_LOCUS.
* tree-ssa.c (execute_early_warn_uninitialized): Pass context node
	to talk_tree as 'data' parameter, rather than EXPR_LOCUS.
	(warn_uninit): Get EXPR_LOCUS from context now instead.
	This fixes a USE_MAPPED_LOCATION testsuite failure.

	* tree-ssa.c (warn_uninitialized_var): Remove useless local.

From-SVN: r97644
2005-04-05 11:24:32 -07:00
Mark Mitchell
3d3c0aeaf2 Fix typo
From-SVN: r97643
2005-04-05 18:21:00 +00:00
Per Bothner
b747e45d26 c-decl.c (finish_function): If USE_MAPPED_LOCATION set the location of the artification 'return 0' in...
* c-decl.c (finish_function): If USE_MAPPED_LOCATION set the location
	of the artification 'return 0' in main() to BUILTINS_LOCATION.
	* tree-cfg.c (remove_bb): Check that location isn't BUILTINS_LOCATION
	before warning.

From-SVN: r97641
2005-04-05 10:45:32 -07:00
Mark Mitchell
f4f18103ee re PR target/20673 (C PCH testsuite assembly comparison failure)
PR c++/20673
	* decl.c (grokdeclarator): Correct attribute handling.

	PR c++/20673
	* g++.dg/ext/attrib21.C: New test.

From-SVN: r97640
2005-04-05 17:35:54 +00:00
Devang Patel
3e0de9d188 altivec.md (altivec_vsr<VI_char>): Rename to ..
* config/rs600/altivec.md (altivec_vsr<VI_char>): Rename to ..
         (lhsr<mode>3): ... new name.
         (altivec_vsra<VI_char>): Rename to ..
         (ashr<mode>3): ... new name.
         * config/rs6000/rs6000.c (builtin_description): Rename shift
         operations.

         testsuite:
         * lib/target-supports.exp (check_effective_target_vect_shif): New.
         * gcc.dg/vect/vect-shift-1.c: New test.

From-SVN: r97636
2005-04-05 09:33:29 -07:00
Mark Mitchell
e72f3fa192 re PR c++/19159 (Undefined symbol: vtable for __cxxabiv1::__vmi_class_type_info)
PR c++/19159
	* decl2.c (import_export_decl): Use non-COMDAT external linkage
	for virtual tables, typeinfo, etc. that will be emitted in only
	one translation unit on systems without weak symbols.

From-SVN: r97635
2005-04-05 15:40:16 +00:00
Paolo Bonzini
bf66727567 combine.c (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Use gen_lowpart_for_combine.
2004-04-05  Paolo Bonzini  <bonzini@gnu.org>

	* combine.c (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Use
	gen_lowpart_for_combine.
	* cse.c (gen_lowpart_if_possible): Move...
	* rtlhooks.c (gen_lowpart_if_possible): ... here.  Also try
	gen_lowpart_SUBREG.
	(gen_lowpart_no_emit_general): Use it.

From-SVN: r97633
2005-04-05 14:50:35 +00:00
Eric Botcazou
c81739f769 sparc.c (TARGET_ASM_FILE_END): Undefine before overriding.
* config/sparc/sparc.c (TARGET_ASM_FILE_END): Undefine before
	overriding.

From-SVN: r97631
2005-04-05 14:42:39 +00:00
Francois-Xavier Coudert
51e9d74cb8 re PR libfortran/20755 (gfortran - prints the same number with 1p4G12.3 two different ways)
PR libfortran/20755
	* write.c (write_float): A G edit descriptor may locally change
	the scale factor, but it needs to be restored afterwards.

	* gfortran.dg/pr20755.f: New test.

From-SVN: r97627
2005-04-05 14:20:10 +00:00
Paolo Bonzini
9e9126f355 system.h: Fix typo.
2005-04-05  Paolo Bonzini  <bonzini@gnu.org>

	* system.h: Fix typo.

From-SVN: r97624
2005-04-05 12:10:59 +00:00
Bernd Schmidt
0d4a78eb9e bfin-modes.def: New file.
* config/bfin/bfin-modes.def: New file.
	* config/bfin/bfin-protos.h: New file.
	* config/bfin/bfin.c: New file.
	* config/bfin/bfin.h: New file.
	* config/bfin/bfin.md: New file.
	* config/bfin/bfin.opt: New file.
	* config/bfin/crti.s: New file.
	* config/bfin/crtn.s: New file.
	* config/bfin/elf.h: New file.
	* config/bfin/lib1funcs.asm: New file.
	* config/bfin/predicates.md: New file.
	* config/bfin/t-bfin: New file.
	* config/bfin/t-bfin-elf: New file.
	* doc/extend.texi (exception_handler, kspisusp, nesting, nmi_handler):
	Document new attributes.
	(interrupt, interrupt_handler, saveall): Update documentation for
	these attributes.
	* doc/install.texi (Specific): Add entry for the Blackfin.
	* doc/invoke.texi (Blackfin Options): New section.
	* doc/md.texi (Blackfin family): New section to document constraints.
	* config.gcc: Add bfin*-* and bfin*-elf configurations.

From-SVN: r97622
2005-04-05 11:26:48 +00:00
Jonathan Wakely
fcec20a758 memory, [...]: Use mutex to make _Sp_counted_base::add_ref_lock() thread-safe.
* include/tr1/memory, include/tr1/boost_shared_ptr.h: Use mutex
	to make _Sp_counted_base::add_ref_lock() thread-safe. Check whether
	to destroy resources by testing for equality, not inequality. Add
	empty critical sections to solve memory visibility issues.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/auto_ptr_neg.cc: Use dg-excess-errors instead of
	explicitly listing line numbers which need to be kept in sync.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/assign/auto_ptr_neg.cc: Same.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/assign/auto_ptr_rvalue_neg.cc: Same.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/weak_ptr_expired.cc: Make XFAIL for consistency when
	-fno-exceptions.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/not_shared.cc: Add explanatory comments.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/not_shared2.cc: Same.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/not_shared3.cc: Same.

From-SVN: r97620
2005-04-05 12:08:55 +01:00
Olivier Hainque
1de2bc2a00 iris6.h (DWARF_FRAME_RETURN_COLUMN): Redefine to match what the system unwinder expects.
* config/mips/iris6.h (DWARF_FRAME_RETURN_COLUMN): Redefine to
	match what the system unwinder expects.
	* config/mips/mips.c (mips_frame_set): If we're saving the return
	address register and the dwarf return address column number differs
	from the hard register number, adjust the note reg to refer to the
	former.

From-SVN: r97617
2005-04-05 09:36:06 +00:00
Feng Wang
df7cc9b576 re PR fortran/15959 (ICE and assertion failure in trans-decl.c with character initialization)
2005-04-05  Feng Wang  <fengwang@nudt.edu.cn>

	PR fortran/15959
	PR fortran/20713

	* array.c (resolve_character_array_constructor): New function. Set
	constant character array's character length.
	(gfc_resolve_array_constructor): Use it.
	* decl.c (add_init_expr_to_sym): Set symbol and initializer character
	length.
	(gfc_set_constant_character_len): New function. Set constant character
	expression according the given length.
	* match.h (gfc_set_constant_character_len): Add prototype.

2005-04-05  Feng Wang  <fengwang@nudt.edu.cn>

	* gfortran.dg/pr15959.f90: New test.
	* gfortran.dg/string_pad_trunc.f90: New test.

From-SVN: r97613
2005-04-05 08:54:50 +00:00
Francois-Xavier Coudert
3eebd7765d backspace.f, [...]: Correct dejagnu syntax.
* gfortran.dg/backspace.f, gfortran.dg/g77_intrinsics_funcs.f,
	gfortran.dg/g77_intrinsics_sub.f, gfortran.dg/negative_unit.f,
	gfortran.dg/pr18025.f90, gfortran.dg/g77/12002.f: Correct dejagnu
	syntax.

From-SVN: r97611
2005-04-05 08:24:55 +00:00
Richard Sandiford
13dd556c07 mn10300-protos.h (mn10300_override_options): Declare.
* config/mn10300/mn10300-protos.h (mn10300_override_options): Declare.
	* config/mn10300/mn10300.h (target_flags, TARGET_MULT_BUG)
	(TARGET_SWITCHES, TARGET_DEFAULT): Delete.
	(processor_type): New enum.
	(mn10300_processor): New variable.
	(TARGET_AM33, TARGET_AM33_2): Redefine in terms of mn10300_processor.
	(PROCESSOR_DEFAULT, OVERRIDE_OPTIONS): New macros.
	* config/mn10300/linux.h (TARGET_SWITCHES, TARGET_DEFAULT): Delete.
	(PROCESSOR_DEFAULT): New macro.
	* config/mn10300/mn10300.c (mn10300_processor): New variable.
	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
	(mn10300_handle_option, mn10300_override_options): New functions.
	* config/mn10300/mn10300.opt: New file.

From-SVN: r97609
2005-04-05 07:40:31 +00:00
Eric Botcazou
c4cdbeb480 re PR tree-optimization/19903 (ACATS cxa4006 cxa4017 fail at runtime)
PR tree-optimization/19903
	* tree-chrec.c (chrec_convert): Return chrec_dont_know for constants
	that don't fit in their type after conversion.

Co-Authored-By: Sebastian Pop <sebastian.pop@cri.ensmp.fr>

From-SVN: r97607
2005-04-05 07:06:23 +00:00
Eric Botcazou
3c5ead4814 * gcc.c-torture/compile/20040323-1.c (_rtld_global): Set to 1.
From-SVN: r97605
2005-04-05 06:45:50 +00:00
Uros Bizjak
c9d3aededb re PR target/20421 (387 mode switching clobbers flags)
PR target/20421
	* config/i386/i386.md (frndintxf2_floor, frndintxf2_ceil)
	(frndintxf2_trunc, frndintxf2_mask_pm): Add FLAGS_REG clobber.
	Allocate local stack slots here.  Set ix86_optimize_mode_switching.
	flag here. Implement using define_insn_and_split.
	(frndintxf2_floor_i387, frndintxf2_ceil_i387, frndintxf2_trunc_i387)
	(frndintxf2_mask_pm_i387): New insn patterns.
	(floorsf2, floordf2, floorxf2): Remove local stack slot allocations.
	Do not set ix86_optimize_mode_switching flag.
	(ceilsf2, ceildf2, ceilxf2): Same.
	(btruncsf2, btruncdf2, btruncxf2): Same.
	(nearbyintsf2, nearbyintdf2, nearbyintxf2): Same.

From-SVN: r97604
2005-04-05 07:23:14 +02:00
Ian Lance Taylor
3ce9c82463 re PR debug/9963 ([CygWin] g++ -gcoff report "C_EFCN symbol out of scope")
PR debug/9963
	* config/i386/cygming.h (ASM_OUTPUT_EXTERNAL): Pass DECL to
	i386_pe_record_external_function.
	(i386_pe_record_external_function): Update declaration.
	* config/i386/winnt.c (struct extern_list): Add decl field.
	(i386_pe_record_external_function): Add decl parameter.
	(i386_pe_file_end): Check TREE_ASM_WRITTEN on decl, not
	identifier.
	* config/i386/i386-protos.h (i386_pe_record_external_function):
	Update declaration.

From-SVN: r97602
2005-04-05 04:08:56 +00:00
Kelley Cook
b683f9fec6 acconfig.h: Delete macros already ACDEFINED.
2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>

	* acconfig.h: Delete macros already ACDEFINED.
	* config.h.in: Regenerate.

From-SVN: r97601
2005-04-05 03:20:59 +00:00
Kelley Cook
3a642d509f acconfig.h (HAVE_MODF): Remove.
2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>

	* acconfig.h (HAVE_MODF): Remove.
	* linkage.m4: Check for modf.
	* config.h.in, configure: Regenerate.

From-SVN: r97599
2005-04-05 03:11:32 +00:00
Kelley Cook
470386b7af acconfig.h (ENABLE_NLS, [...]): Remove.
2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>

	* acconfig.h (ENABLE_NLS, HAVE_CATGETS): Remove.
	(HAVE_GETTEXT, HAVE_STPCPY): Likewise.
	* config.h.in: Regenerate.

From-SVN: r97598
2005-04-05 03:04:38 +00:00
Kelley Cook
6db61f5052 linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Use m4 translit macro to convert to uppercase instead of shelling out to tr.
2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>

	* linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Use m4 translit macro
	to convert to uppercase instead of shelling out to tr.
	* acconfig.h: Remove now redundant HAVE__BUILTINS_*.
	* configure, config.h.in: Regenerate.

From-SVN: r97597
2005-04-05 03:01:51 +00:00
Kelley Cook
b2ef856a16 acconfig.h (HAVE_TANL): Correct cut-and-paste typo.
2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>

	* acconfig.h (HAVE_TANL): Correct cut-and-paste typo.
	* config.h.in: Regenerate.

From-SVN: r97596
2005-04-05 02:55:43 +00:00
Kazu Hirata
41b6a5e2c0 m68k-protos.h: Add a prototype for valid_dbcc_comparison_p_2.
* config/m68k/m68k-protos.h: Add a prototype for
	valid_dbcc_comparison_p_2.
	* config/m68k/m68k.c (not_sp_operand, symbolic_operand,
	extend_operator, const_uint32_operand, const_sint32_operand,
	general_src_operand, nonimmediate_src_operand,
	memory_src_operand, post_inc_operand, pre_dec_operand,
	pcrel_address): Move to predicates to predicates.md.
	* config/m68k/m68k.h (PREDICATE_CODES): Remove.
	* config/m68k/m68k.md: Include predicates.md.
	* config/m68k/predicates.md: New.

From-SVN: r97595
2005-04-05 01:59:58 +00:00
Roger Sayle
acaa3bf7a1 i386.md (*truncdfsf2_i387_1): New pattern.
* config/i386/i386.md (*truncdfsf2_i387_1): New pattern.

	* fold-const.c (maybe_lvalue_p): Delete orphaned comment.

From-SVN: r97594
2005-04-05 01:38:56 +00:00
Ian Lance Taylor
604f5adf98 c-typeck.c (struct c_switch): Rename switch_stmt field to switch_expr.
* c-typeck.c (struct c_switch): Rename switch_stmt field to
	switch_expr.
	(c_start_case): Build SWITCH_EXPR, not SWITCH_STMT.
	(do_case): Use SWITCH_COND rather than SWITCH_STMT_COND.
	(c_finish_case): Use SWITCH_BODY rather than SWITCH_STMT_BODY.
	Call c_do_switch_expr_warnings rather than c_do_switch_warnings.
	* c-common.c (c_do_switch_warnings_1): New static function broken
	out of c_do_switch_warnings.
	(c_do_switch_warnings): Call c_do_switch_warnings_1.
	(c_do_switch_expr_warnings): New function.
	* c-common.h (c_do_switch_expr_warnings): Declare.

From-SVN: r97593
2005-04-05 01:15:08 +00:00
John David Anglin
bfcf81bf39 20011119-1.c: Require weak and alias support.
* gcc.c-torture/compile/20011119-1.c: Require weak and alias support.
	* gcc.c-torture/compile/20011119-2.c: Likewise.
	* gcc.c-torture/compile/981001-2.c: Likewise.

From-SVN: r97589
2005-04-05 00:17:25 +00:00
GCC Administrator
26bbdeb3d0 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r97587.2
2005-04-05 00:16:22 +00:00
David Edelsohn
f90130752f tree-eh.c (tree_could_trap_p): Allow non-constant floating point trapping divide.
2005-04-02  David Edelsohn  <edelsohn@gnu.org>
            Daniel Jacobowitz  <dan@codesourcery.com>

        * tree-eh.c (tree_could_trap_p): Allow non-constant floating point
        trapping divide.
        * rtlanal.c (may_trap_p): Same.

Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>

From-SVN: r97582
2005-04-04 18:50:53 -04:00