aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2005-04-06re PR target/17824 (Hard-coded AS and LD in c4x.h)Ralf Corsepius2-8/+5
2005-04-06 Ralf Corsepius <ralf.corsepius@rtems.org> PR target/17824 * config/c4x/c4x.h (ASM_PROG, LD_PROG): Remove. From-SVN: r97708
2005-04-06* gfortran.dg/vect/vect-5.f90: xfail for lp64.Dorit Naishlos2-3/+15
From-SVN: r97705
2005-04-06tree-vect-analyze.c (vect_analyze_loop_form): Call split_loop_exit_edge ↵Dorit Naishlos2-1/+6
instead of loop_split_edge_with. * tree-vect-analyze.c (vect_analyze_loop_form): Call split_loop_exit_edge instead of loop_split_edge_with. From-SVN: r97702
2005-04-06Add ChangeLog.Feng Wang1-0/+14
From-SVN: r97701
2005-04-06altivec.md (UNSPEC_VSLW, [...]): New constants, used throughout.Paolo Bonzini2-72/+102
2005-04-06 Paolo Bonzini <bonzini@gnu.org> * config/rs6000/altivec.md (UNSPEC_VSLW, UNSPEC_SUBS, UNSPEC_SET_VSCR): New constants, used throughout. (*andc3_v4sf): New. (altivec_vspltisb, altivec_vsplitish, altivec_vsplitisw): Replace with... (altivec_vspltis<VI_char>): ... this pattern, using a QImode const_int_operand for the immediate. (abs<mode>2, absv4sf2, altivec_abss_<mode>): Rewrite as define_expands. From-SVN: r97699
2005-04-06re PR c++/20734 (rejects valid pointer to member)Mark Mitchell5-53/+42
PR c++/20734 * cp-tree.def (OFFSET_REF): Correct comments. * init.c (build_offset_ref): Remove misleading comment. * typeck.c (build_unary_op): Handle pointer-to-member creation here, rather than ... (unary_complex_lvalue): ... here. PR c++/20734 * g++.dg/template/ptrmem13.C: New test. From-SVN: r97696
2005-04-06re PR target/17822 ([3.4 only] avr: Hard-coded XXX_FOR_TARGET)Ralf Corsepius2-4/+5
2005-04-06 Ralf Corsepius <ralf.corsepius@rtems.org> PR target/17822 * config/avr/t-avr (AR_FOR_TARGET,RANLIB_FOR_TARGET): Remove. From-SVN: r97694
2005-04-06re PR c++/19312 (ICE in stabilize_call when throwing a copy)Jason Merrill3-1/+18
PR c++/19312 * tree.c (stabilize_init): Don't bother trying to stabilize something with no side-effects. From-SVN: r97691
2005-04-06Makefile.in (LIBGCC2_CFLAGS): Compile with -pipe.Kelley Cook2-1/+7
2005-04-06 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in (LIBGCC2_CFLAGS): Compile with -pipe. From-SVN: r97686
2005-04-06Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r97681.2
2005-04-06gcc.c: Correct comment about DEFAULT_SWITCH_TAKES_ARG and...Ben Elliston2-1/+7
* gcc.c: Correct comment about DEFAULT_SWITCH_TAKES_ARG and DEFAULT_WORD_SWITCH_TAKES_ARG which incorrectly reported these macros as living in "this file" and not gcc.h. From-SVN: r97678
2005-04-06invoke.texi (Optimize Options): Mention -ftree-lrs, not -ftree-live_range_split.Ben Elliston2-1/+6
* doc/invoke.texi (Optimize Options): Mention -ftree-lrs, not -ftree-live_range_split. Perhaps renamed at some point? From-SVN: r97676
2005-04-05re PR target/20625 (ivopts produces code that generates "unaligned access ↵Zdenek Dvorak2-4/+26
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-05tree-flow.h (number_of_iterations_cond): Declaration removed.Zdenek Dvorak3-125/+270
* 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-05re PR libgcj/20750 (libgcj needs a --with-java-home configure option)Thomas Fitzsimmons2-0/+11
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-06* rw.po: New file.Joseph Myers2-0/+24891
From-SVN: r97666
2005-04-05re PR target/20342 (ICE in spill_failure, at reload1.c:1872)Richard Henderson5-25/+75
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* lib/gcc.exp: Always add -fno-show-column, for now.Per Bothner2-0/+5
From-SVN: r97662
2005-04-05re PR testsuite/20767 (gcc.dg/tree-ssa/ssa-pre-8.c scan-tree-dump-times ↵Andrew Pinski2-1/+8
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-05tree-ssa-operands.c (verify_abort): Use %p for pointers.Andrew MacLeod2-3/+7
2005-04-05 Andrew MacLeod <amacleod@redhat.com> * tree-ssa-operands.c (verify_abort): Use %p for pointers. From-SVN: r97659
2005-04-05tree-pretty-print.c (dump_generic_node): Use %p for pointer.Andrew MacLeod2-1/+5
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[multiple changes]Jakub Jelinek9-15/+246
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-05re PR tree-optimization/20076 (__builtin_return(__builtin_apply()) inlined ↵Jakub Jelinek4-0/+50
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-05re PR preprocessor/19475 (missing whitespace after macro name in C90 or C++)Jakub Jelinek3-0/+128
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* gfortran.dg/pr20755.f: Fixed bad format.Francois-Xavier Coudert2-1/+5
From-SVN: r97650
2005-04-05lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use update_stmt.Andrew MacLeod40-979/+1607
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-05Fix typoMark Mitchell1-1/+1
From-SVN: r97646
2005-04-05invoke.texi (Optimization Options): Remove duplicate -fcse-follow-jumps.Dale Johannesen2-5/+12
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-05tree-ssa.c (execute_early_warn_uninitialized): Pass context node to ↵Per Bothner2-7/+21
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-05Fix typoMark Mitchell2-0/+10
From-SVN: r97643
2005-04-05c-decl.c (finish_function): If USE_MAPPED_LOCATION set the location of the ↵Per Bothner3-4/+17
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-05re PR target/20673 (C PCH testsuite assembly comparison failure)Mark Mitchell2-5/+23
PR c++/20673 * decl.c (grokdeclarator): Correct attribute handling. PR c++/20673 * g++.dg/ext/attrib21.C: New test. From-SVN: r97640
2005-04-05altivec.md (altivec_vsr<VI_char>): Rename to ..Devang Patel6-12/+67
* 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-05re PR c++/19159 (Undefined symbol: vtable for __cxxabiv1::__vmi_class_type_info)Mark Mitchell2-14/+42
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-05combine.c (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Use gen_lowpart_for_combine.Paolo Bonzini4-45/+61
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-05sparc.c (TARGET_ASM_FILE_END): Undefine before overriding.Eric Botcazou2-0/+6
* config/sparc/sparc.c (TARGET_ASM_FILE_END): Undefine before overriding. From-SVN: r97631
2005-04-05re PR libfortran/20755 (gfortran - prints the same number with 1p4G12.3 two ↵Francois-Xavier Coudert2-0/+15
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-05system.h: Fix typo.Paolo Bonzini2-1/+5
2005-04-05 Paolo Bonzini <bonzini@gnu.org> * system.h: Fix typo. From-SVN: r97624
2005-04-05bfin-modes.def: New file.Bernd Schmidt19-9/+6602
* 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-05iris6.h (DWARF_FRAME_RETURN_COLUMN): Redefine to match what the system ↵Olivier Hainque3-1/+25
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-05re PR fortran/15959 (ICE and assertion failure in trans-decl.c with ↵Feng Wang6-2/+125
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-05backspace.f, [...]: Correct dejagnu syntax.Francois-Xavier Coudert7-6/+13
* 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-05mn10300-protos.h (mn10300_override_options): Declare.Richard Sandiford6-44/+110
* 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-05re PR tree-optimization/19903 (ACATS cxa4006 cxa4017 fail at runtime)Eric Botcazou2-1/+36
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* gcc.c-torture/compile/20040323-1.c (_rtld_global): Set to 1.Eric Botcazou2-3/+7
From-SVN: r97605
2005-04-05re PR target/20421 (387 mode switching clobbers flags)Uros Bizjak2-87/+154
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-05re PR debug/9963 ([CygWin] g++ -gcoff report "C_EFCN symbol out of scope")Ian Lance Taylor4-6/+22
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-05m68k-protos.h: Add a prototype for valid_dbcc_comparison_p_2.Kazu Hirata6-183/+213
* 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-05i386.md (*truncdfsf2_i387_1): New pattern.Roger Sayle3-1/+22
* config/i386/i386.md (*truncdfsf2_i387_1): New pattern. * fold-const.c (maybe_lvalue_p): Delete orphaned comment. From-SVN: r97594
2005-04-05c-typeck.c (struct c_switch): Rename switch_stmt field to switch_expr.Ian Lance Taylor4-29/+68
* 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