1. 22 Nov, 2006 15 commits
    • re PR tree-optimization/29921 (internal compiler error: in set_lattice_value, at… · 0446c9f3
      re PR tree-optimization/29921 (internal compiler error: in set_lattice_value, at tree-ssa-ccp.c:437)
      
      	PR tree-optimization/29921
      	* fold-const.c (operand_equal_p): Without HONOR_SIGNED_ZEROS, consider
      	signed and unsigned zero equal.
      
      	* gcc.dg/pr29921.c: New test.
      
      From-SVN: r119102
      Zdenek Dvorak committed
    • re PR fortran/29441 ([4.1/4.2 only] non-constant parameter (constant) accepted) · cbad2281
      fortran/
              PR fortran/29441
              * intrinsic.c (gfc_intrinsic_func_interface): Always check if
              intrinsic is allowed in initialization expression.
      testsuite/
              PR fortran/29441
              * gfortran.dg/initialization_4.f90: New test.
      
      From-SVN: r119101
      Tobias Schlüter committed
    • rs6000.c (get_store_dest): New. · e3a0e200
      	* config/rs6000/rs6000.c (get_store_dest): New.
      	(adjacent_mem_locations): Use get_store_dest() to get
      	the rtl of the store destination.
      
      From-SVN: r119099
      Peter Bergner committed
    • spe.md (SPE64): New mode macro. · 61c76239
      	* config/rs6000/spe.md (SPE64): New mode macro.
      	(mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0.  Add
      	memory load.
      	(mov_si<mode>_e500_subreg0_2): New.
      	(mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4.  Add
      	memory load.
      	(mov_si<mode>_e500_subreg4_2): New.
      	* config/rs6000/predicates.md (input_operand): Do not allow
      	invalid E500 subregs.
      	(rs6000_nonimmediate_operand): Check for invalid E500 subregs also
      	if TARGET_SPE.
      	* config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs
      	involving DFmode if TARGET_E500_DOUBLE.  Check for subregs
      	involving vector modes if TARGET_SPE.
      
      From-SVN: r119094
      Joseph Myers committed
    • revert: reorg.c (emit_delay_sequence): Copy the delay slot insn. · 7c21975d
      	Revert
      	2006-11-12  Kaz Kojima  <kkojima@gcc.gnu.org>
      	* reorg.c (emit_delay_sequence): Copy the delay slot insn.
      
      From-SVN: r119093
      Kaz Kojima committed
    • Update e-mail address in MAINTAINERS · 431041ea
      From-SVN: r119092
      Philipp Thomas committed
    • Makefile.am (stamp-host): Remove CCODECVT_H line. · 302ece50
      2006-11-22  Antony King <anthony.king@st.com>
                  J"orn Rennecke <joern.rennecke@st.com>
      
      	* include/Makefile.am (stamp-host): Remove CCODECVT_H line.
      	* include/Makefile.in: Regenerate.
      
      Co-Authored-By: J"orn Rennecke <joern.rennecke@st.com>
      
      From-SVN: r119091
      Antony King committed
    • predicates.md (d_register_operand, [...]): New predicates. · 36662eb1
      	* config/bfin/predicates.md (d_register_operand, mem_p_address_operand,
      	mem_i_address_operand): New predicates.
      	* config/bfin/bfin.c (bfin_issue_rate): New function.
      	(TARGET_SCHED_ISSUE_RATE): New macro.
      	* config/bfin/bfin.md (addrtype): New attribute.
      	(slot0, slot1, slot2, store, pregs): New cpu_units.
      	(core): Now a define_reservation.
      	(alu): Remove some insn types from this reservation.
      	(dsp32, load32, loadp, loadi, store32, storep, storei, multi): New
      	insn reservations.
      	(dummy reservation): Don't trigger for mcld insns.
      	(absence_sets): Two new absence sets to enforce slot ordering.
      	(popsi_insn): Set addrtype.
      
      From-SVN: r119090
      Bernd Schmidt committed
    • c-tree.texi: Document new tree codes. · 98b44b0e
              * doc/c-tree.texi: Document new tree codes.
              * doc/md.texi: Document new optabs.
              * tree-pretty-print.c (dump_generic_node): Handle print of new tree
              codes.
              * optabs.c (optab_for_tree_code, init_optabs): Handle new optabs.
              * optabs.h (optab_index): Add new.
              (vec_extract_even_optab, vec_extract_odd_optab,
              vec_interleave_high_optab, vec_interleave_low_optab): New optabs.
              * genopinit.c (vec_extract_even_optab, vec_extract_odd_optab,
              vec_interleave_high_optab, vec_interleave_low_optab): Initialize
              new optabs.
              * expr.c (expand_expr_real_1): Add implementation for new tree codes.
              * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields.
              * tree-vectorizer.h (stmt_vec_info): Add new fields for interleaving
              along with macros for their access.
              * tree-data-ref.h (first_location_in_loop, data_reference): Update
              comment.
              * tree-vect-analyze.c (toplev.h): Include.
              (vect_determine_vectorization_factor): Fix indentation.
              (vect_insert_into_interleaving_chain,
              vect_update_interleaving_chain, vect_equal_offsets): New functions.
              (vect_analyze_data_ref_dependence): Add argument for interleaving
              check. Check for interleaving if it's true.
              (vect_check_dependences): New function.
              (vect_analyze_data_ref_dependences): Call vect_check_dependences for
              every ddr. Call vect_analyze_data_ref_dependence with new argument.
              (vect_update_misalignment_for_peel): Update for interleaving.
              (vect_verify_datarefs_alignment): Check only first data-ref for
              interleaving.
              (vect_enhance_data_refs_alignment): Update for interleaving. Check
              only first data-ref for interleaving.
              (vect_analyze_data_ref_access): Check interleaving, update
              interleaving data.
              (vect_analyze_data_refs): Call compute_data_dependences_for_loop
              with different parameters.
              * tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR,
              VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): New tree codes.
              * tree-inline.c (estimate_num_insns_1): Add cases for new codes.
              * tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
              Update step in case of interleaving.
              (vect_strided_store_supported, vect_permute_store_chain): New
              functions.
              (vectorizable_store): Handle strided stores.
              (vect_strided_load_supported, vect_permute_load_chain,
              vect_transform_strided_load): New functions.
              (vectorizable_load): Handle strided loads.
              (vect_transform_stmt): Add argument. Handle strided stores. Check
              that vectorized stmt exists for patterns.
              (vect_gen_niters_for_prolog_loop): Update calculation for
              interleaving.
              (vect_transform_loop): Remove stmt_vec_info for strided stores after
              whole chain vectorization.
              * config/rs6000/altivec.md (UNSPEC_EXTEVEN, UNSPEC_EXTODD,
              UNSPEC_INTERHI, UNSPEC_INTERLO): New constants.
              (vpkuhum_nomode, vpkuwum_nomode, vec_extract_even<mode>,
              vec_extract_odd<mode>, altivec_vmrghsf, altivec_vmrglsf,
              vec_interleave_high<mode>, vec_interleave_low<mode>): Implement.
      
      From-SVN: r119088
      Ira Rosen committed
    • io.h (unit_flags): Add new flag has_recl. · b0c6db58
      2006-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	* io/io.h (unit_flags): Add new flag has_recl.
      	* io.open.c (new_unit): Set flag if RECL= was specified.
      	* io/transfer.c (us_write): If flag set, leave recl as initialized by
      	new_unit.
      
      From-SVN: r119087
      Jerry DeLisle committed
    • Daily bump. · 50bc8a4d
      From-SVN: r119084
      GCC Administrator committed
    • cse.c (enum taken): Remove PATH_AROUND. · 7dad9fb4
      	* cse.c (enum taken): Remove PATH_AROUND.
      	(addr_affects_sp_p, invalidate_skipped_set,
      	invalidate_skipped_block): Remove.
      	(cse_end_of_basic_block): Remove skip_blocks and related code.
      	(cse_main): Don't test for flag_cse_skip_blocks.
      	Update cse_end_of_basic_block call.
      	(cse_basic_block): Likewise.  Remove PATH_AROUND case.  Remove
      	code to lengthen the path if a jump was simplified.
      
      From-SVN: r119079
      Steven Bosscher committed
    • re PR rtl-optimization/29924 (pr24626-4.c fails on powerpc-aix and others) · 7d93d987
      	PR rtl-optimization/29924
      	* loop-unroll.c (split_edge_and_insert): Handle the case insns is NULL.
      	(unroll_loop_runtime_iterations): Assert that the argument passed to
      	split_edge_and_insert is not NULL.
      	* loop-doloop.c (add_test): Ditto.
      
      From-SVN: r119078
      Zdenek Dvorak committed
    • re PR fortran/25087 (Error for missing explicit interface needed.) · 92c59193
      2006-11-22 Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/25087
      	* resolve.c (resolve_fl_procedure): Add an error if an external
      	automatic character length function does not have an explicit
      	interface.
      
      2006-11-22 Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/25087
      	* gfortran.dg/auto_char_len_4.f90: New test.
      
      From-SVN: r119077
      Paul Thomas committed
    • re PR fortran/29652 (ambiguous interface declaration undetected) · 991f3b12
      2006-11-22 Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/29652
      	* interface.c (check_interface1): Use a local value, instead of
      	the dummy, as the inner iterator over interface symbols.
      
      2006-11-22 Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/29652
      	* gfortran.dg/generic_7.f90: New test.
      	* gfortran.dg/defined_operators_1.f90: Add new error.
      
      From-SVN: r119076
      Paul Thomas committed
  2. 21 Nov, 2006 25 commits
    • tree-loop-linear.c (linear_transform_loops): Use single_exit accessor functions. · ac8f6c69
      	* tree-loop-linear.c (linear_transform_loops): Use single_exit accessor
      	functions.
      	* tree-ssa-loop-niter.c (loop_only_exit_p): Ditto.
      	* cfgloopmanip.c (update_single_exits_after_duplication,
      	update_single_exit_for_duplicated_loop, loop_version): Ditto.
      	* tree-scalar-evolution.c (get_loop_exit_condition,
      	get_exit_conditions_rec, loop_closed_phi_def,
      	number_of_iterations_in_loop, scev_const_prop): Ditto.
      	* tree-ssa-loop-ivopts.c (single_dom_exit): Ditto.
      	* modulo-sched.c (generate_prolog_epilog, loop_canon_p, sms_schedule):
      	Ditto.
      	* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
      	Ditto.
      	* tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
      	slpeel_update_phi_nodes_for_guard1, slpeel_update_phi_nodes_for_guard2,
      	slpeel_make_loop_iterate_ntimes,
      	slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_can_duplicate_loop_p,
      	slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
      	Ditto.
      	* tree-if-conv.c (if_convertible_loop_p): Ditto.
      	* tree-vect-analyze.c (vect_analyze_operations, vect_stmt_relevant_p,
      	vect_analyze_loop_form): Ditto.
      	* lambda-code.c (lambda_loopnest_to_gcc_loopnest, exit_phi_for_loop_p,
      	can_convert_to_perfect_nest, perfect_nestify): Ditto.
      	* tree-vect-transform.c (vect_create_epilog_for_reduction,
      	vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
      	vect_transform_loop): Ditto.
      	* cfgloop.c (mark_single_exit_loops, verify_loop_structure): Ditto.
      	(single_exit, set_single_exit): New functions.
      	* cfgloop.h (struct loop): Rename single_exit field to single_exit_.
      	(single_exit, set_single_exit): Declare.
      	* doc/loop.texi: Undocument single_exit field.  Document single_exit
      	accessor function.
      
      From-SVN: r119075
      Zdenek Dvorak committed
    • re PR tree-optimization/29902 (ICE in coalesce_abnormal_edges, at tree-outof-ssa.c:644) · bf8dbe38
      	PR tree-optimization/29902
      	* tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
      	any involved ssa name appears in abnormal phi node.
      
      	* g++.dg/tree-ssa/pr29902.C: New test.
      
      From-SVN: r119074
      Zdenek Dvorak committed
    • re PR fortran/29820 (ICE in fold_convert, at fold-const.c:2146) · da2a24c3
      2006-11-21 Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/29820
      	* trans-array.c (gfc_get_derived_type): Once done, spread the
      	backend_decl to all identical derived types in all sibling
      	namespaces.
      
      2006-11-21 Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/29820
      	* gfortran.dg/used_types_13.f90: New test.
      
      From-SVN: r119073
      Paul Thomas committed
    • xtensa.c (xtensa_char_to_class): Delete. · 887af464
      	* config/xtensa/xtensa.c (xtensa_char_to_class): Delete.
      	(xtensa_const_ok_for_letter_p): Delete.
      	(xtensa_extra_constraint): Delete.
      	(override_options): Delete xtensa_char_to_class initialization.
      	* config/xtensa/xtensa.h (REG_CLASS_FROM_LETTER): Delete.
      	(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
      	(EXTRA_CONSTRAINT): Delete.
      	* config/xtensa/xtensa.md: Include constraints.md.
      	(call_internal): Combine alternatives.
      	(call_value_internal): Likewise, and remove invalid constraints.
      	* config/xtensa/constraints.md: New file.
      	* config/xtensa/xtensa-protos.h (xtensa_const_ok_for_letter_p): Delete.
      	(xtensa_extra_constraint): Delete.
      	* doc/md.texi (Machine Constraints): Refer to constraints.md for
      	Xtensa constraints.
      --Ths line, and those below, will be ignored--
      
      M    gcc/doc/md.texi
      M    gcc/ChangeLog
      M    gcc/config/xtensa/xtensa.c
      M    gcc/config/xtensa/xtensa.h
      M    gcc/config/xtensa/xtensa.md
      A    gcc/config/xtensa/constraints.md
      M    gcc/config/xtensa/xtensa-protos.h
      
      From-SVN: r119072
      Bob Wilson committed
    • MAINTAINERS (spu port): Add myself as maintainer. · df5487ee
      	* MAINTAINERS (spu port): Add myself as maintainer.
      	(Write After Approval): Remove myself.
      
      From-SVN: r119071
      Trevor Smigiel committed
    • configure.in (skipdirs): Don't build libssp for SPU. · 92c2f0ee
      	* configure.in (skipdirs): Don't build libssp for SPU.
      	* configure: Regenerate.
      
      From-SVN: r119070
      Ben Elliston committed
    • dfp-bits.c (DFP_TO_INT): Remove code to saturate result of conversion that doesn't fit. · cab82f5c
      	* config/dfp-bits.c (DFP_TO_INT): Remove code to saturate result
       	of conversion that doesn't fit.
      
      From-SVN: r119069
      Janis Johnson committed
    • decLibrary.c (__dec_type_swap): Add prototype. · d44963af
      decnumber/
      	* decLibrary.c (__dec_type_swap): Add prototype.
      	(__dfp_enable_traps, dfp_raise): Delete.
      gcc/
      	* config/dfp-bit.h (CONTEXT_TRAPS, CONTEXT_ERRORS, DFP_RAISE): Delete.
      	* config/dfp-bit.c (dfp_unary_op, dfp_binary_op, dfp_compare_op,
      	DFP_TO_DFP, INT_TO_DFP, BFP_TO_DFP): Remove calls to DFP_RAISE.
      testsuite/
      	* gcc.dg/dfp/snan.c: Delete.
      
      From-SVN: r119068
      Janis Johnson committed
    • * config/dfp-bit.c (dfp_binary_func): Fix typedef. · 0e07f200
      From-SVN: r119067
      Janis Johnson committed
    • cp-tree.def (STATIC_ASSERT): New. · 55a3debe
      2006-11-21      Douglas Gregor <doug.gregor@gmail.com>
      
              * cp-tree.def (STATIC_ASSERT): New.  
      	* cp-objcp-common.c (cp_tree_size): Handle STATIC_ASSERT.
      	* error.c (dump_decl): Handle STATIC_ASSERT.
      	* cp-tree.h (STATIC_ASSERT_CONDITION): New.
              (STATIC_ASSERT_MESSAGE): New.
      	(STATIC_ASSERT_SOURCE_LOCATION): New.
      	(struct tree_static_assert): New.
      	(enum cp_tree_node_structure_enum): Add TS_CP_STATIC_ASSERT.
      	(union lang_tree_node): Add static_assertion.
              (finish_static_assert): Declare.
      	* cxx-pretty-print.c (pp_cxx_statement): Handle STATIC_ASSERT.
      	(pp_cxx_declaration): Handle STATIC_ASSERT.
      	* pt.c (instantiate_class_template): Handle
      	STATIC_ASSERT members.
              (tsubst_expr): Handle STATIC_ASSERT statements.  
      	* semantics.c (finish_static_assert): New.
              * lex.c (D_CPP0X): New.
              (reswords): Add static_assert keyword.
              (init_reswords): If not flag_cpp0x, mask out C++0x keywords.
              * parser.c (cp_parser_block_declaration): Parse static
      	assertions.
              (cp_parser_static_assert): New.
              (cp_parser_member_declaration): Parse static assertions.
      
      From-SVN: r119066
      Douglas Gregor committed
    • c-common.h (enum rid): Add RID_STATIC_ASSERT. · 218f0015
      2006-11-21      Douglas Gregor <doug.gregor@gmail.com>
      
              * c-common.h (enum rid): Add RID_STATIC_ASSERT.
      
      From-SVN: r119065
      Douglas Gregor committed
    • static_assert1.C: New. · 200d6481
      2006-11-21      Douglas Gregor <doug.gregor@gmail.com>
      
              * g++.dg/cpp0x/static_assert1.C: New.
              * g++.dg/cpp0x/static_assert2.C: New.
              * g++.dg/cpp0x/static_assert3.C: New.
      
      From-SVN: r119063
      Douglas Gregor committed
    • MAINTAINERS (spu port): Add myself as maintainer. · a3b97199
      2006-11-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              * MAINTAINERS (spu port): Add myself as maintainer.
              (libobjc): Update my email address.
      
      From-SVN: r119062
      Andrew Pinski committed
    • hashtable.h: -Wshadow fixes. · 1ab79481
      2006-11-21  Benjamin Kosnik  <bkoz@redhat.com>
      	
      	* include/ext/hashtable.h: -Wshadow fixes.
      	* include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
      	* include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
      	* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
      	* include/ext/pb_ds/detail/gp_hash_table_map_/
      	constructor_destructor_fn_imps.hpp: Same.
      	* include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
      	* include/ext/pb_ds/detail/ov_tree_map_/
      	constructors_destructor_fn_imps.hpp: Same.
      	* src/mt_allocator.cc: Same.
      	* src/debug.cc: Same.
      	* config/locale/gnu/codecvt_members.cc: Same.
      
      From-SVN: r119061
      Benjamin Kosnik committed
    • Security.java: Merge with classpath. · 7ddd8380
      2006-11-21  Gary Benson  <gbenson@redhat.com>
      
      	* java/security/Security.java: Merge with classpath.
      	* java/lang/Package.java: Likewise.
      	* java/lang/Class.java (getDeclaredAnnotations): New method.
      
      From-SVN: r119057
      Gary Benson committed
    • tree-vectorizer.h (NUM_PATTERNS): Increase. · 0b2229b0
      2006-11-21  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vectorizer.h (NUM_PATTERNS): Increase.
      	* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
      	vect_recog_pow_pattern.
      	(vect_recog_pow_pattern): New function.
      
      	* gcc.dg/vect/vect-pow-1.c: New testcase.
      	* gcc.dg/vect/vect-pow-2.c: Likewise.
      
      From-SVN: r119056
      Richard Guenther committed
    • bfin.c (hard_regno_mode_ok): Only allow first 31 regs for DImode. · 84e32cbb
      	* config/bfin/bfin.c (hard_regno_mode_ok): Only allow first 31
      	regs for DImode.
      	(bfin_register_move_cost): Bump costs if trying to move plain
      	integer values through accumulators.
      
      From-SVN: r119055
      Bernd Schmidt committed
    • Adding myself as a mantainer · 0eb97064
      From-SVN: r119050
      Andrea Bona committed
    • bfin.opt (mstack-check-l1): New. · d6eb07dc
      	* config/bfin/bfin.opt (mstack-check-l1): New.
      	* doc/invoke.texi (Blackfin Options): Document it.
      	* config/bfin/bfin.c (bfin_expand_prologue): Generate code to use
      	stack bounds in L1 memory if the new option is enabled.
      	(override_options): Don't allow combinations of -fstack-limit and
      	-mstack-check-l1.
      	(add_to_reg): Renamed from add_to_sp.  All callers changed.  Lose some
      	dead code.
      
      From-SVN: r119049
      Bernd Schmidt committed
    • iostream-inst.cc: Remove iostream include. · ec414fed
      2006-11-21  Benjamin Kosnik  <bkoz@redhat.com>
      	    Howard Hinnant  <hhinnant@apple.com>
      
      	* src/iostream-inst.cc: Remove iostream include.
      
      From-SVN: r119048
      Benjamin Kosnik committed
    • iostream-inst.cc: Remove iostream include. · 82382c5a
      2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>
      	    Howard Hinnant  <hhinnant@apple.com>
      
      	* src/iostream-inst.cc: Remove iostream include.
      
      
      Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
      
      From-SVN: r119046
      Benjamin Kosnik committed
    • re PR c++/29570 (ICE with brace-enclosed initializer) · fd5b5108
      	PR c++/29570
      	* decl.c (cp_finish_decl): Check for value dependent brace enclosed
      	scalar initializer.
      
      	* g++.dg/template/static29.C: New test.
      
      From-SVN: r119045
      Jakub Jelinek committed
    • re PR c++/29734 (ICE with vector in switch condition) · 4576ceaf
      	PR c++/29734
      	* cp-tree.h (WANT_VECTOR): Define.
      	(WANT_ARITH): Add WANT_VECTOR.
      	* cvt.c (build_expr_type_conversion): Handle vector types.
      	* typeck.c (build_unary_op): Add WANT_VECTOR to
      	build_expr_type_conversion flags.
      
      	* g++.dg/conversion/simd4.C: New test.
      
      From-SVN: r119044
      Jakub Jelinek committed
    • * config/spu/spu.c (spu_expand_vector_init): Initialise x. · b509487e
      From-SVN: r119043
      Ben Elliston committed