Joseph Myers [Tue, 5 Apr 2005 23:31:22 +0000 (00:31 +0100)]
* rw.po: New file.
From-SVN: r97666
Richard Henderson [Tue, 5 Apr 2005 22:53:08 +0000 (15:53 -0700)]
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
Per Bothner [Tue, 5 Apr 2005 22:50:44 +0000 (15:50 -0700)]
* lib/gcc.exp: Always add -fno-show-column, for now.
From-SVN: r97662
Andrew Pinski [Tue, 5 Apr 2005 22:28:02 +0000 (22:28 +0000)]
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
Tom Tromey [Tue, 5 Apr 2005 22:26:26 +0000 (22:26 +0000)]
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
Andrew MacLeod [Tue, 5 Apr 2005 22:23:11 +0000 (22:23 +0000)]
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
Tom Tromey [Tue, 5 Apr 2005 21:11:49 +0000 (21:11 +0000)]
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
Andrew MacLeod [Tue, 5 Apr 2005 20:44:29 +0000 (20:44 +0000)]
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
Jakub Jelinek [Tue, 5 Apr 2005 20:20:42 +0000 (22:20 +0200)]
[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
Jakub Jelinek [Tue, 5 Apr 2005 20:10:13 +0000 (22:10 +0200)]
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
Jakub Jelinek [Tue, 5 Apr 2005 20:07:06 +0000 (22:07 +0200)]
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
Francois-Xavier Coudert [Tue, 5 Apr 2005 19:45:41 +0000 (21:45 +0200)]
* gfortran.dg/pr20755.f: Fixed bad format.
From-SVN: r97650
Andrew MacLeod [Tue, 5 Apr 2005 19:05:20 +0000 (19:05 +0000)]
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
Mark Mitchell [Tue, 5 Apr 2005 19:02:03 +0000 (19:02 +0000)]
Fix typo
From-SVN: r97646
Dale Johannesen [Tue, 5 Apr 2005 18:40:15 +0000 (18:40 +0000)]
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
Per Bothner [Tue, 5 Apr 2005 18:24:32 +0000 (11:24 -0700)]
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
Mark Mitchell [Tue, 5 Apr 2005 18:21:00 +0000 (18:21 +0000)]
Fix typo
From-SVN: r97643
Per Bothner [Tue, 5 Apr 2005 17:45:32 +0000 (10:45 -0700)]
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
Mark Mitchell [Tue, 5 Apr 2005 17:35:54 +0000 (17:35 +0000)]
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
Devang Patel [Tue, 5 Apr 2005 16:33:29 +0000 (09:33 -0700)]
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
Mark Mitchell [Tue, 5 Apr 2005 15:40:16 +0000 (15:40 +0000)]
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
Paolo Bonzini [Tue, 5 Apr 2005 14:50:35 +0000 (14:50 +0000)]
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
Eric Botcazou [Tue, 5 Apr 2005 14:42:39 +0000 (16:42 +0200)]
sparc.c (TARGET_ASM_FILE_END): Undefine before overriding.
* config/sparc/sparc.c (TARGET_ASM_FILE_END): Undefine before
overriding.
From-SVN: r97631
Francois-Xavier Coudert [Tue, 5 Apr 2005 14:20:10 +0000 (16:20 +0200)]
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
Paolo Bonzini [Tue, 5 Apr 2005 12:10:59 +0000 (12:10 +0000)]
system.h: Fix typo.
2005-04-05 Paolo Bonzini <bonzini@gnu.org>
* system.h: Fix typo.
From-SVN: r97624
Bernd Schmidt [Tue, 5 Apr 2005 11:26:48 +0000 (11:26 +0000)]
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
Jonathan Wakely [Tue, 5 Apr 2005 11:08:55 +0000 (12:08 +0100)]
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
Olivier Hainque [Tue, 5 Apr 2005 09:36:06 +0000 (09:36 +0000)]
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
Feng Wang [Tue, 5 Apr 2005 08:54:50 +0000 (08:54 +0000)]
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
Francois-Xavier Coudert [Tue, 5 Apr 2005 08:24:55 +0000 (10:24 +0200)]
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
Richard Sandiford [Tue, 5 Apr 2005 07:40:31 +0000 (07:40 +0000)]
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
Eric Botcazou [Tue, 5 Apr 2005 07:06:23 +0000 (09:06 +0200)]
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
Eric Botcazou [Tue, 5 Apr 2005 06:45:50 +0000 (06:45 +0000)]
* gcc.c-torture/compile/
20040323-1.c (_rtld_global): Set to 1.
From-SVN: r97605
Uros Bizjak [Tue, 5 Apr 2005 05:23:14 +0000 (07:23 +0200)]
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
Ian Lance Taylor [Tue, 5 Apr 2005 04:08:56 +0000 (04:08 +0000)]
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
Kelley Cook [Tue, 5 Apr 2005 03:20:59 +0000 (03:20 +0000)]
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
Kelley Cook [Tue, 5 Apr 2005 03:11:32 +0000 (03:11 +0000)]
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
Kelley Cook [Tue, 5 Apr 2005 03:04:38 +0000 (03:04 +0000)]
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
Kelley Cook [Tue, 5 Apr 2005 03:01:51 +0000 (03:01 +0000)]
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
Kelley Cook [Tue, 5 Apr 2005 02:55:43 +0000 (02:55 +0000)]
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
Kazu Hirata [Tue, 5 Apr 2005 01:59:58 +0000 (01:59 +0000)]
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
Roger Sayle [Tue, 5 Apr 2005 01:38:56 +0000 (01:38 +0000)]
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
Ian Lance Taylor [Tue, 5 Apr 2005 01:15:08 +0000 (01:15 +0000)]
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
John David Anglin [Tue, 5 Apr 2005 00:17:25 +0000 (00:17 +0000)]
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
GCC Administrator [Tue, 5 Apr 2005 00:16:22 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r97587.2
David Edelsohn [Mon, 4 Apr 2005 22:50:53 +0000 (22:50 +0000)]
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
Dale Johannesen [Mon, 4 Apr 2005 22:45:10 +0000 (22:45 +0000)]
ChangeLog: remove reference to ChangeLog.12.
2005-04-04 Dale Johannesen <dalej@apple.com>
* ChangeLog: remove reference to ChangeLog.12.
From-SVN: r97581
Hans-Peter Nilsson [Mon, 4 Apr 2005 22:43:34 +0000 (22:43 +0000)]
CRIS epilogue as RTL.
* config/cris/cris.md: Change all 0 in unspec 0 to
CRIS_UNSPEC_PLT.
(CRIS_UNSPEC_PLT, CRIS_UNSPEC_FRAME_DEALLOC): New constants.
("*cris_load_multiple", "cris_frame_deallocated_barrier"): New
patterns.
("return"): Change to define_expand. Call cris_expand_return for
actual expansion.
("*return_expanded"): New pattern.
("epilogue"): New define_expand.
* config/cris/cris.h (PREDICATE_CODES): Add
cris_load_multiple_op.
* config/cris/cris.c (ASSERT_PLT_UNSPEC): Correct test for unspec
type.
(enum cris_retinsn_type): New.
(struct machine_function): New member return_type.
(TARGET_ASM_FUNCTION_EPILOGUE): Don't override.
(cris_target_asm_function_epilogue): Remove, moving RTLified
contents to...
(cris_expand_epilogue): New function.
(cris_reg_saved_in_regsave_area, cris_movem_load_rest_p,
(cris_gen_movem_load, cris_load_multiple_op)
(cris_return_address_on_stack_for_return, cris_expand_return): New
functions.
(cris_target_asm_function_prologue)
(cris_initial_frame_pointer_offset): Call
cris_reg_saved_in_regsave_area instead of complicated expression.
Call cris_return_address_on_stack instead of an expression.
(cris_print_operand) <case 'o', case 'O'>: New cases.
(cris_return_address_on_stack): Change return-type to bool.
(cris_simple_epilogue): Ditto. Return false if registers are
saved.
* config/cris/cris-protos.h (cris_simple_epilogue)
(cris_return_address_on_stack): Adjust prototype return type.
(cris_gen_movem_load, cris_expand_epilogue, cris_expand_return)
(cris_return_address_on_stack_for_return): New prototypes.
From-SVN: r97580
Steve Pribyl [Mon, 4 Apr 2005 22:18:59 +0000 (22:18 +0000)]
re PR libgcj/20761 (fastjar not correctly defined when compiling with cross compilers.)
2005-04-04 Steve Pribyl <steve@netfuel.com>
PR libgcj/20761
* configure.ac: Fix fastjar definition for cross builds.
* configure: Rebuilt.
From-SVN: r97578
Kazu Hirata [Mon, 4 Apr 2005 21:53:22 +0000 (21:53 +0000)]
frv-protos.h: Add a prototype to frv_legitimate_memory_operand and frv_const_unspec_p.
* config/frv/frv-protos.h: Add a prototype to
frv_legitimate_memory_operand and frv_const_unspec_p.
(frv_unspec): Move from frv.c.
* config/frv/frv.c (frv_unspec): Move to frv-protos.h.
(frv_const_unspec_p, frv_legitimate_memory_operand_): Export.
(ldd_address_operand, fdpic_fptr_operand, frv_load_operand,
gpr_or_fpr_operand, gpr_or_int12_operand,
gpr_fpr_or_int12_operand, fpr_or_int6_operand,
gpr_or_int10_operand, gpr_or_int_operand, int12_operand,
int6_operand, int5_operand, uint5_operand, uint4_operand,
uint1_operand, int_2word_operand, uint16_operand,
upper_int16_operand, integer_register_operand,
gpr_no_subreg_operand, fpr_operand, even_reg_operand,
odd_reg_operand, even_gpr_operand, odd_gpr_operand,
quad_fpr_operand, even_fpr_operand, odd_fpr_operand,
dbl_memory_one_insn_operand, dbl_memory_two_insn_operand,
move_destination_operand, movcc_fp_destination_operand,
frv_function_symbol_referenced_p, move_source_operand,
condexec_dest_operand, condexec_source_operand,
reg_or_0_operand, lr_operand, fdpic_operand, got12_operand,
const_unspec_operand, gpr_or_memory_operand,
gpr_or_memory_operand_with_scratch, fpr_or_memory_operand,
icc_operand, fcc_operand, cc_operand, icr_operand,
fcr_operand, cr_operand, call_operand, sibcall_operand,
symbolic_operand, relational_operator,
integer_relational_operator, float_relational_operator,
ccr_eqne_operator, minmax_operator,
condexec_si_binary_operator, condexec_si_media_operator,
condexec_si_divide_operator, condexec_si_unary_operator,
condexec_sf_conv_operator, condexec_sf_add_operator,
condexec_memory_operand, intop_compare_operator, acc_operand,
even_acc_operand, quad_acc_operand, accg_operand: Move to
predicates.md.
* config/frv/frv.h (PREDICATE_CODES): Remove.
* config/frv/frv.md: Include predicates.md.
* config/frv/predicates.md: New.
From-SVN: r97577
Ian Lance Taylor [Mon, 4 Apr 2005 20:58:00 +0000 (20:58 +0000)]
test-pexecute.c (TEST_PEX_RUN): Move variable declaration before statement.
* testsuite/test-pexecute.c (TEST_PEX_RUN): Move variable
declaration before statement.
From-SVN: r97576
Kazu Hirata [Mon, 4 Apr 2005 20:42:11 +0000 (20:42 +0000)]
frv.h (PREDICATE_CODES): Add CONST to gpr_or_int12_operand.
* config/frv/frv.h (PREDICATE_CODES): Add CONST to
gpr_or_int12_operand.
From-SVN: r97575
Eric Botcazou [Mon, 4 Apr 2005 20:15:09 +0000 (20:15 +0000)]
Fix last but one entry.
From-SVN: r97574
Richard Sandiford [Mon, 4 Apr 2005 19:43:52 +0000 (19:43 +0000)]
Add PR number to last entry.
From-SVN: r97572
Richard Sandiford [Mon, 4 Apr 2005 19:42:51 +0000 (19:42 +0000)]
Makefile.in (tree-ssa-loop-ivopts.o): Depend on langhooks.h.
* Makefile.in (tree-ssa-loop-ivopts.o): Depend on langhooks.h.
* tree-ssa-loop-ivopts.c: Include langhooks.h.
(add_standard_iv_candidates_for_size): New function, extracting code
from add_standard_iv_candidates and parameterizing it by type size.
(add_standard_iv_candidates): Use add_standard_iv_candidates_for_size.
From-SVN: r97571
Richard Sandiford [Mon, 4 Apr 2005 19:41:14 +0000 (19:41 +0000)]
system.h (GCOV_SIZE_TYPE): Unposion.
* system.h (GCOV_SIZE_TYPE): Unposion.
* gcov-io.h (GCOV_TYPE_NODE): Delete, replacing with...
(GCOV_TYPE_SIZE): ...this new macro.
* coverage.h (get_gcov_type, GCOV_TYPE_NODE): Declare.
* coverage.c (get_gcov_type, get_gcov_unsigned_t): New functions.
(rtl_coverage_counter_ref): Use GCOV_TYPE_SIZE.
(build_fn_info_type, build_fn_info_value, build_ctr_info_type)
(build_ctr_info_value, build_gcov_info): Use get_gcov_unsigned_t
instead of unsigned_intSI_type_node.
* rtl-profile.c (rtl_gen_interval_profiler, rtl_gen_pow2_profiler)
(rtl_gen_one_value_profiler_no_edge_manipulation)
(rtl_gen_const_delta_profiler): Use GCOV_TYPE_SIZE.
* value-prof.c: Include coverage.h.
From-SVN: r97570
Mark Mitchell [Mon, 4 Apr 2005 19:11:07 +0000 (19:11 +0000)]
re PR c++/20679 (Parse error when accessing attributes of an inner class. Enclosing class is template and have methods with the same name.)
PR c++/20679
* parser.c (cp_parser_template_name): Fix thinko.
PR c++/20679
* g++.dg/template/overload4.C: New test.
From-SVN: r97569
Daniel Berlin [Mon, 4 Apr 2005 19:02:16 +0000 (19:02 +0000)]
Fix PR tree-optimization/20703 Fix PR tree-optimization/20725
2005-04-02 Daniel Berlin <dberlin@dberlin.org>
Diego Novillo <dnovillo@redhat.com>
Fix PR tree-optimization/20703
Fix PR tree-optimization/20725
* tree-ssa-pre.c (phi_translate): Handle tcc_comparison.
(create_expression_by_pieces): Ditto.
(valid_in_set): Ditto. Also handle tcc_declaration.
(find_or_generate_expression): Handle comparison class.
(insert_into_preds_of_block): Ditto.
(insert_aux): Ditto.
(create_value_expr_from): Handle comparison class, recursively
handle reference nodes.
(compute_avail): Handle comparison classes, rewrite a little cleaner.
(execute_pre): Fix spacing.
(do_fre): Renamed to execute_fre.
Co-Authored-By: Diego Novillo <dnovillo@redhat.com>
From-SVN: r97567
Tom Tromey [Mon, 4 Apr 2005 18:40:24 +0000 (18:40 +0000)]
ClassLoader.java (loadClass): Resolve class even if it was already found.
* java/lang/ClassLoader.java (loadClass): Resolve class even if
it was already found.
From-SVN: r97565
Eric Botcazou [Mon, 4 Apr 2005 18:11:46 +0000 (20:11 +0200)]
invoke.texi (SPARC options): Document that -mlittle-endian is not supported on Linux either.
* doc/invoke.texi (SPARC options): Document that
-mlittle-endian is not supported on Linux either.
From-SVN: r97561
Tom Tromey [Mon, 4 Apr 2005 18:00:53 +0000 (18:00 +0000)]
URL.java (DEFAULT_SEARCH_PATH): Added org.metastatic.jessie.
* java/net/URL.java (DEFAULT_SEARCH_PATH): Added
org.metastatic.jessie.
From-SVN: r97560
Mark Mitchell [Mon, 4 Apr 2005 17:52:49 +0000 (17:52 +0000)]
Makefile.am (check-local): Remove.
* testsuite/Makefile.am (check-local): Remove.
(curent_symbols.txt): Likewise.
(check-abi): Do not depend on current_symbols.txt.
* testsuite/Makefile.in: Regenerated.
* testsuite/libstdc++-abi/abi.exp: Build current_symbols.txt.
From-SVN: r97558
Nathan Sidwell [Mon, 4 Apr 2005 17:45:16 +0000 (17:45 +0000)]
re PR c++/20746 ([4.0 only] Incorrect return value for covariant return function returning null ptr)
cp:
PR c++/20746
* method.c (use_thunk): Protect covariant pointer return
adjustments from NULL pointers.
testsuite:
PR c++/20746
* g++.dg/abi/covariant5.C: New.
From-SVN: r97557
Eric Botcazou [Mon, 4 Apr 2005 17:18:54 +0000 (17:18 +0000)]
re PR target/4198 ([sparclite-elf] does not build, needs tweaking for crtstuff.c changes)
PR target/4198
PR target/12027
* config.gcc (Obsolete configurations): Remove
sparclite-*-coff*, sparclite-*-elf* and sparc-*-openbsd*.
(sparclite-*-coff*): Delete.
(sparclite-*-elf*): Likewise.
(sparc86x-*-elf*): Likewise.
(target_cpu_default) <sparc*-*-*>: Remove sparc86x.
* config/sparc/lite.h: Delete.
* config/sparc/litecoff.h: Likewise.
* config/sparc/liteelf.h: Likewise.
* config/sparc/sp86x-elf.h: Likewise.
* config/sparc/t-sparclite: Likewise.
* config/sparc/t-sp86x: Likewise.
From-SVN: r97555
Adrian Straetling [Mon, 4 Apr 2005 16:25:05 +0000 (16:25 +0000)]
s390-protos.h: (s390_comparison...
2005-04-04 Adrian Strae�tling <straetling@de.ibm.com>
* config/s390/s390-protos.h: (s390_comparison,
s390_alc_comparison, s390_slb_comparison, const0_operand,
consttable_operand, larl_operand, s_operand,
shift_count_operand, bras_sym_operand, load_multiple_operation,
store_multiple_operation, s390_plus_operand): Remove prototypes.
(s390_legitimate_address_without_index_p): New prototype.
* config/s390/s390.c: (SYMBOL_FLAG_ALIGN1, DISP_IN_RANGE): Move
to s390.h.
(s390_comparison, s390_alc_comparison, s390_slb_comparison,
const0_operand, consttable_operand, larl_operand, s_operand,
shift_count_operand, bras_sym_operand, load_multiple_operation,
store_multiple_operation, s390_plus_operand): Move to
predicates.md.
(check_mode): Remove.
(s390_branch_condition_mask): Remove 'static'. Move prototype to
s390-protos.h.
(s390_legitimate_address_without_index_p): New.
* config/s390/s390.h (PREDICATE_CODES): Remove.
* config/s390/s390.md: Include predicates.md.
* config/s390/predicates.md: New.
From-SVN: r97554
Kazu Hirata [Mon, 4 Apr 2005 15:29:52 +0000 (15:29 +0000)]
gcj.texi: Fix a typo.
* gcj.texi: Fix a typo.
* lang.c: Fix a comment typo.
From-SVN: r97551
Eric Botcazou [Mon, 4 Apr 2005 15:29:10 +0000 (17:29 +0200)]
re PR target/20446 (invalid assembly with -gstabs+)
PR target/20446
* config/sparc/sparc.h (NEED_INDICATE_EXEC_STACK): Define to 0.
* config/sparc/linux.h (TARGET_ASM_FILE_END): Delete.
(NEED_INDICATE_EXEC_STACK): Define to 1.
* config/sparc/linux64.h (TARGET_ASM_FILE_END): Delete.
(NEED_INDICATE_EXEC_STACK): Define to 1.
* config/sparc/sparc.c (TARGET_ASM_FILE_END): Set to sparc_file_end.
(add_pc_to_pic_symbol): Rename into pic_helper_symbol.
(add_pc_to_pic_symbol_name): Rename into pic_helper_symbol_name.
(pic_helper_emitted_p): New global.
(emit_pic_helper): New function extracted from...
(load_pic_register): ...here. Add 'delay_pic_helper' parameter.
Do not call emit_pic_helper if delay_pic_helper is true.
(sparc_expand_prologue): Pass 'false' to load_pic_register.
(sparc_output_mi_thunk): Pass 'true' to load_pic_register.
(sparc_file_end): New function.
From-SVN: r97550
Kazu Hirata [Mon, 4 Apr 2005 15:25:17 +0000 (15:25 +0000)]
* config/mcore/predicates.md: Fix a comment typo.
From-SVN: r97549
Kazu Hirata [Mon, 4 Apr 2005 15:17:10 +0000 (15:17 +0000)]
mcore-protos.h: Remove the prototypes for mcore_arith_reg_operand...
* config/mcore/mcore-protos.h: Remove the prototypes for
mcore_arith_reg_operand, mcore_general_movsrc_operand,
mcore_general_movdst_operand, mcore_reload_operand,
mcore_arith_J_operand, mcore_arith_K_operand,
mcore_arith_K_operand_not_0, mcore_arith_M_operand,
mcore_arith_K_S_operand, mcore_arith_imm_operand,
mcore_arith_any_imm_operand, mcore_arith_O_operand,
mcore_literal_K_operand, mcore_addsub_operand,
mcore_compare_operand, mcore_load_multiple_operation,
mcore_store_multiple_operation, mcore_call_address_operand.
Add a prototype for const_ok_for_mcore.
* config/mcore/mcore.c (mcore_call_address_operand,
mcore_general_movsrc_operand, mcore_general_movdst_operand,
mcore_arith_reg_operand, mcore_reload_operand,
mcore_arith_J_operand, mcore_arith_K_operand,
mcore_arith_K_operand_not_0, mcore_arith_K_S_operand,
mcore_arith_M_operand, mcore_arith_imm_operand,
mcore_arith_any_imm_operand, mcore_arith_O_operand,
mcore_literal_K_operand, mcore_addsub_operand,
mcore_compare_operand, mcore_load_multiple_operation,
mcore_store_multiple_operation): Move to predicates.md.
(const_ok_for_mcore): Export.
* config/mcore/mcore.h (PREDICATE_CODES): Remove.
* config/mcore/mcore.md: Include predicates.md.
* config/mcore/predicates.md: New.
From-SVN: r97548
Jan Hubicka [Mon, 4 Apr 2005 15:12:55 +0000 (17:12 +0200)]
decl2.c (finish_objects): Revert my previous patch.
* decl2.c (finish_objects): Revert my previous patch.
(cp_finish_file): Likewise.
From-SVN: r97547
Jon Grimm [Mon, 4 Apr 2005 15:12:36 +0000 (15:12 +0000)]
Add myself to MAINTAINERS.
From-SVN: r97546
Andreas Krebbel [Mon, 4 Apr 2005 14:31:07 +0000 (14:31 +0000)]
2064.md ("z_mul", "z_inf"): New insn reservations.
2005-04-04 Andreas Krebbel <krebbel1@de.ibm.com>
Adrian Straetling <straetling@de.ibm.com>
* config/s390/2064.md ("z_mul", "z_inf"): New insn reservations.
* config/s390/2084.md ("x_mul_hi", "x_mul_sidi", "x_div"): Likewise.
* config/s390/s390.md ("imulhi", "imulsi", "imuldi"): Added to "type"
attribute.
("imul"): Removed from "type" attribute.
("*muldi3_sign", "muldi3"): Changed type to imuldi.
("mulsi3/1", "mulsi3/3", "mulsi/4", "mulsidi3", "umulsidi3"):
Changed type to imulsi.
("*mulsi3_sign", "mulsi3/2"): Changed type to imulhi.
Co-Authored-By: Adrian Straetling <straetling@de.ibm.com>
From-SVN: r97545
Richard Sandiford [Mon, 4 Apr 2005 14:22:02 +0000 (14:22 +0000)]
* config/mcore/mcore.h (target_flags, HARDLIT_BIT, ALIGN8_BIT, DIV_BIT)
(RELAX_IMM_BIT, W_FIELD_BIT, OVERALIGN_FUNC_BIT, CGDATA_BIT)
(SLOW_BYTES_BIT, LITTLE_END_BIT, M340_BIT, TARGET_HARDLIT)
(TARGET_DIV, TARGET_RELAX_IMM, TARGET_W_FIELD, TARGET_OVERALIGN_FUNC)
(TARGET_CG_DATA, TARGET_SLOW_BYTES, TARGET_LITTLE_END, TARGET_M340)
(TARGET_SWITCHES, mcore_stack_increment_string)
(TARGET_OPTIONS): Delete.
(TARGET_DEFAULT, OPTIMIZATION_OPTIONS): Use MASK_* constants rather
than *_BIT constants.
(TARGET_8ALIGN): #undef old definition before redefining to 1.
* config/mcore/mcore.c (mcore_stack_increment_string): Delete.
(TARGET_DEFAULT_TARGET_FLAGS): Override default to TARGET_DEFAULT.
(mcore_override_options): Delete mcore_stack_increment code.
Change use of M340_BIT to MASK_M340.
* config/mcore/mcore.opt: New file.
From-SVN: r97544
Ian Lance Taylor [Mon, 4 Apr 2005 13:59:20 +0000 (13:59 +0000)]
arm.c (replace_symbols_in_block): Remove static function.
* config/arm/arm.c (replace_symbols_in_block): Remove static
function.
From-SVN: r97543
Kazu Hirata [Mon, 4 Apr 2005 13:55:05 +0000 (13:55 +0000)]
sh.h (PREDICATE_CODES): Add CONST to general_movsrc_operand.
* config/sh/sh.h (PREDICATE_CODES): Add CONST to
general_movsrc_operand.
From-SVN: r97542
Kazu Hirata [Mon, 4 Apr 2005 13:51:28 +0000 (13:51 +0000)]
mcore.h (PREDICATE_CODES): Add SYMBOL_REF and LABEL_REF to mcore_general_movsrc_operand.
* config/mcore/mcore.h (PREDICATE_CODES): Add SYMBOL_REF and
LABEL_REF to mcore_general_movsrc_operand. Add SYMBOL_REF to
mcore_call_address_operand.
From-SVN: r97541
Kazu Hirata [Mon, 4 Apr 2005 13:45:53 +0000 (13:45 +0000)]
fr30-protos.h: Remove the prototypes for stack_add_operand...
* config/fr30/fr30-protos.h: Remove the prototypes for
stack_add_operand, add_immediate_operand,
high_register_operand, low_register_operand, call_operand,
di_operand, and nonimmediate_di_operand.
* config/fr30/fr30.c (stack_add_operand,
add_immediate_operand, high_register_operand,
low_register_operand, call_operand, di_operand,
nonimmediate_di_operand): Move to predicates.md.
* config/fr30/fr30.h (PREDICATE_CODES): Remove.
* config/fr30/fr30.md: Include predicates.md.
* config/fr30/predicates.md: New.
From-SVN: r97540
Francois-Xavier Coudert [Mon, 4 Apr 2005 12:10:21 +0000 (14:10 +0200)]
* intrinsic.texi: BES?? functions are not in the f95 standard.
From-SVN: r97538
Nathan Sidwell [Mon, 4 Apr 2005 12:04:38 +0000 (12:04 +0000)]
re PR c++/20505 (internal error when compiling with -ggdb2 and no error with -ggdb1)
PR debug/20505
* g++.dg/debug/const2.C: New.
From-SVN: r97537
Alan Modra [Mon, 4 Apr 2005 11:53:15 +0000 (11:53 +0000)]
passes.c (rest_of_handle_final): NULL unlikely_text_section_name after freeing.
* passes.c (rest_of_handle_final): NULL unlikely_text_section_name
after freeing.
From-SVN: r97536
Richard Earnshaw [Mon, 4 Apr 2005 10:51:38 +0000 (10:51 +0000)]
re PR target/14812 (ARM optimizer changes rsb/cmp to cmn, but condition codes different)
PR target/14812
* arm.c (arm_select_cc_mode): Return CC_Zmode when comparing against
a negated value.
From-SVN: r97533
Alan Modra [Mon, 4 Apr 2005 10:09:46 +0000 (10:09 +0000)]
* mf-runtime.c (__mfu_unregister): Warning fix for char unsigned.
From-SVN: r97532
Jakub Jelinek [Mon, 4 Apr 2005 08:50:35 +0000 (10:50 +0200)]
re PR rtl-optimization/16104 (ICE in reload_cse_simplify_operands, at postreload.c:378 with SSE2 code on -O2)
PR rtl-optimization/16104
* fold-const.c (fold_unary): Fix folding of vector conversions.
* gcc.c-torture/execute/
20050316-1.c: New test.
From-SVN: r97529
Nathan Sidwell [Mon, 4 Apr 2005 08:18:55 +0000 (08:18 +0000)]
* g++.dg/template/spec23.C: Fix dg-error text.
From-SVN: r97527
Richard Sandiford [Mon, 4 Apr 2005 07:47:01 +0000 (07:47 +0000)]
config.gcc (xstormy16-*-elf): Set extra_options.
* config.gcc (xstormy16-*-elf): Set extra_options.
* config/stormy16/stormy16.h (target_flags, TARGET_SWITCHES): Delete.
* config/stormy16/stormy16.opt: New file.
From-SVN: r97526
Richard Sandiford [Mon, 4 Apr 2005 07:44:33 +0000 (07:44 +0000)]
* config/pdp11/pdp11.h (target_flags, TARGET_SWITCHES, TARGET_DEFAULT)
(TARGET_FPU, TARGET_SOFT_FLOAT, TARGET_AC0, TARGET_NO_AC0, TARGET_45)
(TARGET_BCOPY_BUILTIN, TARGET_INT16, TARGET_INT32, TARGET_FLOAT32)
(TARGET_FLOAT64, TARGET_ABSHI_BUILTIN, TARGET_BRANCH_EXPENSIVE)
(TARGET_BRANCH_CHEAP, TARGET_SPLIT, TARGET_NOSPLIT)
(TARGET_UNIX_ASM): Delete.
(TARGET_40_PLUS): Redefine in terms of TARGET_40 and TARGET_45.
* config/pdp11/2bsd.h (TARGET_UNIX_ASM_DEFAULT): Use MASK_UNIX_ASM.
* config/pdp11/pdp11.c (pdp11_handle_option): New function.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
* config/pdp11/pdp11.opt: New file.
From-SVN: r97525
Roger Sayle [Mon, 4 Apr 2005 05:02:10 +0000 (05:02 +0000)]
re PR c++/19199 (Wrong warning about returning a reference to a temporary)
2005-04-03 Roger Sayle <roger@eyesopen.com>
Alexandre Oliva <aoliva@redhat.com>
PR c++/19199
* fold-const.c (non_lvalue): Split tests into...
(maybe_lvalue_p): New function.
(fold_cond_expr_with_comparison): Preserve lvalue-ness for the
C++ front-end prior to lowering into gimple form.
* g++.dg/expr/lval2.C: New.
* expr2.C: Fixed.
From-SVN: r97522
GCC Administrator [Mon, 4 Apr 2005 00:16:29 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r97511.2
Kaveh R. Ghazi [Sun, 3 Apr 2005 22:08:12 +0000 (22:08 +0000)]
builtins.def (BUILT_IN_STPNCPY, [...]): New.
* builtins.def (BUILT_IN_STPNCPY, BUILT_IN_STRCASECMP,
BUILT_IN_STRNCASECMP): New.
* doc/extend.texi: Document stpncpy, strcasecmp, strncasecmp
and strndup.
testsuite:
* gcc.dg/nonnull-3.c: Also test __builtin_stpncpy,
__builtin_strcasecmp and __builtin_strncasecmp.
From-SVN: r97498
Francois-Xavier Coudert [Sun, 3 Apr 2005 19:15:41 +0000 (21:15 +0200)]
* intrinsic.texi: Document COS, EXP, LOG, LOG10, SIN, SQRT, TAN.
From-SVN: r97496
Francois-Xavier Coudert [Sun, 3 Apr 2005 17:46:07 +0000 (19:46 +0200)]
intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1, BESYN, ATAN, COSH, ERF, ERC, SINH, TANH.
* intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1,
BESYN, ATAN, COSH, ERF, ERC, SINH, TANH.
From-SVN: r97495
Richard Earnshaw [Sun, 3 Apr 2005 14:41:22 +0000 (14:41 +0000)]
re PR target/14812 (ARM optimizer changes rsb/cmp to cmn, but condition codes different)
PR target/14812
* arm.md (addsi3_compare0_for_combiner): Delete.
(addsi3_compare0_scratch_for_combiner): Delete.
(cmpsi_neg_shiftsi): Delete.
(compare_negsi_si): New pattern.
(cmpsi_negshiftsi_si): New pattern.
(negated_cbranchsi4): Restrict to equality_operator.
* arm.md (movhi_insn_arch4): delete trailing white space from assembler
template.
From-SVN: r97493
Kazu Hirata [Sun, 3 Apr 2005 14:30:29 +0000 (14:30 +0000)]
* doc/install.texi: Fix a typo.
From-SVN: r97492
Kazu Hirata [Sun, 3 Apr 2005 14:24:28 +0000 (14:24 +0000)]
* pt.c: Fix comment typos.
From-SVN: r97491
Kazu Hirata [Sun, 3 Apr 2005 14:09:57 +0000 (14:09 +0000)]
cfghooks.c, [...]: Fix comment typos.
* cfghooks.c, cfgrtl.c, modulo-sched.c, config/i386/winnt.c:
Fix comment typos.
From-SVN: r97490
Nathan Sidwell [Sun, 3 Apr 2005 12:33:02 +0000 (12:33 +0000)]
re PR c++/20723 (ICE in more_specialized_fn, more than one user-defined conversion "srp<int>" to "ptr<int>")
cp:
PR c++/20723
* pt.c (more_specialized_fn): Member functions are unordered wrt
non-members. Conversion operators are unordered wrt other
functions.
testsuite:
PR c++/20723
* g++.dg/template/spec22.C: New.
* g++.dg/template/spec23.C: New.
From-SVN: r97489
Steven Bosscher [Sun, 3 Apr 2005 11:26:41 +0000 (11:26 +0000)]
re PR middle-end/20648 (ICE in cfg_layout_redirect_edge_and_branch_force)
PR middle-end/20648
* bb-reorder.c (duplicate_computed_gotos): Do not unfactor
a computed goto if the edge to the computed goto block has
incoming abnormal edges. Clarify how the function works.
From-SVN: r97486
Nathan Sidwell [Sun, 3 Apr 2005 10:27:51 +0000 (10:27 +0000)]
params.c (set_param_value): Use gcc_assert & gcc_unreachable.
* params.c (set_param_value): Use gcc_assert & gcc_unreachable.
* passes.c (open_dump_file, rest_of_handle_final): Likewise.
* postreload-gcse.c (expr_equiv_p, oprs_unchanged_p,
hash_scan_set, reg_set_between_after_reload_p,
reg_used_between_after_reload_p, get_avail_load_store_reg,
eliminate_partially_redundant_load): Likewise.
* postreload.c (reload_cse_simplify_set,
reload_combine_note_use): Likewise.
* predict.c (predict_insn, expected_value_to_br_prob,
propagate_freq, expensive_function_p): Likewise.
* print-rtl.c (print_rtx): Likewise.
* profile.c (instrument_edges, instrument_values,
compute_branch_probabilities, branch_prob, union_groups,
tree_register_profile_hooks, rtl_register_profile_hooks): Likewise.
* protoize.c (in_system_include_dir, file_could_be_converted,
file_normally_convertible, gen_aux_info_file, seek_to_line,
do_cleaning): Likewise.
* tree-ssa-alias.c (collect_points_to_info_r): Likewise.
* tree-ssa-ccp.c (execute_fold_all_builtins): Likewise.
* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
From-SVN: r97485
Mostafa Hagog [Sun, 3 Apr 2005 09:27:07 +0000 (09:27 +0000)]
cfg.c (clear_bb_flags): Don't clear BB_DISABLE_SCHEDULE.
2005-03-31 Mostafa Hagog <mustafa@il.ibm.com>
* cfg.c (clear_bb_flags): Don't clear BB_DISABLE_SCHEDULE.
* modulo-sched.c (undo_replace_buff_elem): New structure.
(kernel_number_of_cycles, ps_unschedule_node,
undo_generate_reg_moves,free_undo_replace_buff,
undo_permute_partial_schedule, loop_single_full_bb_p,
SIMPLE_SMS_LOOP_P, loop_canon_p, canon_loop,
build_loops_structure, get_sched_window): New.
(generate_reg_moves): Return undo_replace_buff_elem and other
fixes.
(generate_prolog_epilog): Remove old loop versioning.
(sms_schedule): Use loop information and loop_version.
(sms_schedule_by_order): Split part of it to get_sched_window.
* passes.c (rest_of_handle_sms): call cfg_layout_initialize
cfg_layout_finalize and free_dominance_info before/after SMS.
From-SVN: r97484
Mostafa Hagog [Sun, 3 Apr 2005 08:44:33 +0000 (08:44 +0000)]
cfghooks.c (lv_flush_pending_stmts, [...]): New.
2005-03-30 Mostafa Hagog <mustafa@il.ibm.com>
* cfghooks.c (lv_flush_pending_stmts,
cfg_hook_duplicate_loop_to_header_edge, extract_cond_bb_edges,
lv_adjust_loop_header_phi, lv_add_condition_to_bb): New.
* cfghooks.h (cfg_hook_duplicate_loop_to_header_edge,
lv_add_condition_to_bb,
lv_adjust_loop_header_phi, extract_cond_bb_edges,
flush_pending_stmts): New in cfg_hooks structure.
(cfg_hook_duplicate_loop_to_header_edge, lv_flush_pending_stmts,
extract_cond_bb_edges, lv_adjust_loop_header_phi,
lv_add_condition_to_bb): New declarations.
* cfgloop.h (duplicate_loop_to_header_edge): Change return type to
bool.
(loop_version): Declare.
* cfgloopmanip.c (cfghooks.h): Include.
(duplicate_loop_to_header_edge): Change return type to bool.
(loop_version, lv_adjust_loop_entry_edge): Move here.
* cfgrtl.c (cfgloop.h): Include.
(rtl_verify_flow_info_1): Fix.
(rtl_lv_add_condition_to_bb, rtl_extract_cond_bb_edges): New.
(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Add hooks to
initialization.
* tree-cfg.c (tree_lv_adjust_loop_header_phi,
tree_lv_add_condition_to_bb): New.
(tree_cfg_hooks): Add new hooks to initialization.
* tree-ssa-loop-manip.c (lv_adjust_loop_header_phi,
lv_adjust_loop_entry_edge, tree_ssa_loop_version): Remove.
From-SVN: r97481