1. 19 Aug, 2007 2 commits
    • dorit's avatar
      * tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info · 221e9a92
      dorit authored
              as argument instead of struct loop.
              (nested_in_vect_loop_p): New function.
              (vect_relevant): Add enum values vect_used_in_outer_by_reduction and
              vect_used_in_outer.
              (is_loop_header_bb_p): New. Used to differentiate loop-header phis
              from other phis in the loop.
              (destroy_loop_vec_info): Add additional argument to declaration.
      
              * tree-vectorizer.c (supportable_widening_operation): Also check if
              nested_in_vect_loop_p (don't allow changing the order in this case).
              (vect_is_simple_reduction): Takes a loop_vec_info as argument instead
              of struct loop. Call nested_in_vect_loop_p and don't require
              flag_unsafe_math_optimizations if it returns true.
              (new_stmt_vec_info): When setting def_type for phis differentiate
              loop-header phis from other phis.
              (bb_in_loop_p): New function.
              (new_loop_vec_info): Inner-loop phis already have a stmt_vinfo, so just
              update their loop_vinfo.  Order of BB traversal now matters - call
              dfs_enumerate_from with bb_in_loop_p.
              (destroy_loop_vec_info): Takes additional argument to control whether
              stmt_vinfo of the loop stmts should be destroyed as well.
              (vect_is_simple_reduction): Allow the "non-reduction" use of a
              reduction stmt to be defines by a non loop-header phi.
              (vectorize_loops): Call destroy_loop_vec_info with additional argument.
      
              * tree-vect-transform.c (vectorizable_reduction): Call
              nested_in_vect_loop_p. Check for multitypes in the inner-loop.
              (vectorizable_call): Likewise.
              (vectorizable_conversion): Likewise.
              (vectorizable_operation): Likewise.
              (vectorizable_type_promotion): Likewise.
              (vectorizable_type_demotion): Likewise.
              (vectorizable_store): Likewise.
              (vectorizable_live_operation): Likewise.
              (vectorizable_reduction): Likewise. Also pass loop_info to
              vect_is_simple_reduction instead of loop.
              (vect_init_vector): Call nested_in_vect_loop_p.
              (get_initial_def_for_reduction): Likewise.
              (vect_create_epilog_for_reduction): Likewise.
              (vect_init_vector): Check which loop to work with, in case there's an
              inner-loop.
              (get_initial_def_for_inducion): Extend to handle outer-loop
              vectorization. Fix indentation.
              (vect_get_vec_def_for_operand): Support phis in the case vect_loop_def.
              In the case vect_induction_def get the vector def from the induction
              phi node, instead of calling get_initial_def_for_inducion.
              (get_initial_def_for_reduction): Extend to handle outer-loop
              vectorization.
              (vect_create_epilog_for_reduction): Extend to handle outer-loop
              vectorization.
              (vect_transform_loop): Change assert to just skip this case.  Add a
              dump printout.
              (vect_finish_stmt_generation): Add a couple asserts.
      
              (vect_estimate_min_profitable_iters): Multiply
              cost of inner-loop stmts (in outer-loop vectorization) by estimated
              inner-loop bound.
              (vect_model_reduction_cost): Don't add reduction epilogue cost in case
              this is an inner-loop reduction in outer-loop vectorization.
      
              * tree-vect-analyze.c (vect_analyze_scalar_cycles_1): New function.
              Same code as what used to be vect_analyze_scalar_cycles, only with
              additional argument loop, and loop_info passed to
              vect_is_simple_reduction instead of loop.
              (vect_analyze_scalar_cycles): Code factored out into
              vect_analyze_scalar_cycles_1. Call it for each relevant loop-nest.
              Updated documentation.
              (analyze_operations): Check for inner-loop loop-closed exit-phis during
              outer-loop vectorization that are live or not used in the outerloop,
              cause this requires special handling.
              (vect_enhance_data_refs_alignment): Don't consider versioning for
              nested-loops.
              (vect_analyze_data_refs): Check that there are no datarefs in the
              inner-loop.
              (vect_mark_stmts_to_be_vectorized): Also consider vect_used_in_outer
              and vect_used_in_outer_by_reduction cases.
              (process_use): Also consider the case of outer-loop stmt defining an
              inner-loop stmt and vice versa.
              (vect_analyze_loop_1): New function.
              (vect_analyze_loop_form): Extend, to allow a restricted form of nested
              loops.  Call vect_analyze_loop_1.
              (vect_analyze_loop): Skip (inner-)loops within outer-loops that have
              been vectorized.  Call destroy_loop_vec_info with additional argument.
      
              * tree-vect-patterns.c (vect_recog_widen_sum_pattern): Don't allow
              in the inner-loop when doing outer-loop vectorization. Add
              documentation and printout.
              (vect_recog_dot_prod_pattern): Likewise. Also add check for
              GIMPLE_MODIFY_STMT (in case we encounter a phi in the loop).
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127623 138bc75d-0d04-0410-961f-82ee72b054a4
      221e9a92
    • dorit's avatar
      * testsuite/gcc.dg/vect/pr20122.c: Fix test (now vectorized, with · 4ab0f833
      dorit authored
              versioning for aliasing).
              * testsuite/gcc.dg/vect/vect-35.c: Likewise.
      
              * testsuite/gcc.dg/vect/vect-iv-6.c: Fix test for vect_no_align targets.
              * testsuite/gcc.dg/vect/vect-multitypes-11.c: Likewise.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127621 138bc75d-0d04-0410-961f-82ee72b054a4
      4ab0f833
  2. 18 Aug, 2007 4 commits
    • tromey's avatar
      gcc/testsuite · 36ec4203
      tromey authored
      	PR preprocessor/32974:
      	* gcc.dg/cpp/pr32974.c: New file.
      libcpp
      	PR preprocessor/32974:
      	* directives.c (parse_include): Don't check for EOL when
      	processing #pragma dependency.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127614 138bc75d-0d04-0410-961f-82ee72b054a4
      36ec4203
    • burnus's avatar
      2007-08-18 Paul Thomas <pault@gcc.gnu.org> · 94fa7146
      burnus authored
      	    Janus Weil  <jaydub66@gmail.com>
      
      	* interface.c (gfc_match_interface,gfc_match_abstract_interface,
      	gfc_match_end_interface,gfc_add_interface): Add abstract interface.
      	* dump-parse-tree.c (gfc_show_attr): Ditto.
      	* gfortran.h (interface_type,symbol_attribute): Ditto.
      	* module.c (gfc_match_use,ab_attribute,attr_bits,
      	mio_symbol_attribute): Ditto.
      	* resolve.c (resolve_function): Ditto.
      	* match.h: Ditto.
      	* parse.c (decode_statement): Ditto.
      	(parse_interface): Ditto, check for C1203 (name of abstract interface
      	cannot be the same as an intrinsic type).
      	* decl.c (gfc_match_bind_c): Check for NAME= with abstract interfaces.
      	(access_attr_decl): Handle Abstract interfaces.
      
      
      2007-08-17  Tobias Burnus  <burnus@net-b.de>
      
      	* gfortran.dg/interface_abstract_1.f90: New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127612 138bc75d-0d04-0410-961f-82ee72b054a4
      94fa7146
    • pault's avatar
      2007-08-18 Paul Thomas <pault@gcc.gnu.org> · a80b45af
      pault authored
      	PR fortran/32881
      	* expr.c (gfc_check_pointer_assign): If the rhs is the
      	initialization expression for the rhs, there is no error.
      
      2007-08-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/32881
      	* gfortran.dg/pure_initializer_1.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127611 138bc75d-0d04-0410-961f-82ee72b054a4
      a80b45af
    • pault's avatar
      2007-08-18 Paul Thomas <pault@gcc.gnu.org> · 34989da6
      pault authored
      	PR fortran/32875
      	* trans-array.c	(get_array_ctor_strlen): Set the character
      	length of a zero length array to zero.
      
      2007-08-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/32875
      	* gfortran.dg/array_constructor_18.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127608 138bc75d-0d04-0410-961f-82ee72b054a4
      34989da6
  3. 17 Aug, 2007 8 commits
    • pinskia's avatar
      2007-08-17 Andrew Pinski <andrew_pinski@playstation.sony.com> · d9547f28
      pinskia authored
              PR c++/28989
              * tree.c (lvalue_p_1 <case SAVE_EXPR>): SAVE_EXPRs are never
              lvalues.
      
      2007-08-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR c++/28989
              * g++.dg/expr/lval3.C: New test.
              * g++.dg/expr/lval4.C: New test.
      
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127603 138bc75d-0d04-0410-961f-82ee72b054a4
      d9547f28
    • aaw's avatar
      PR c++/31749 · 69525376
      aaw authored
      	gcc/cp/
      	* name-lookup.c (do_nonmember_using_decl): Shift implicit type
      	declarations into appropriate slots for comparison.  Fix type
      	comparison.
      
      	gcc/testsuite/
      	* g++.dg/lookup/builtin3.C: New test.
      	* g++.dg/lookup/builtin4.C: New test.
      	* g++.dg/lookup/using19.C: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127600 138bc75d-0d04-0410-961f-82ee72b054a4
      69525376
    • paolo's avatar
      2007-08-17 Paolo Carlini <pcarlini@suse.de> · 61b5da6f
      paolo authored
      	PR c++/32190
      	* g++.dg/parse/error31.C: New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127597 138bc75d-0d04-0410-961f-82ee72b054a4
      61b5da6f
    • paolo's avatar
      /cp · d676ce6e
      paolo authored
      2007-08-17  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/32112
      	* error.c (dump_decl): Deal with UNBOUND_CLASS_TEMPLATE.
      	* cxx-pretty-print.c (pp_cxx_unqualified_id): Likewise.
      
      /testsuite
      2007-08-17  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/32112
      	* g++.dg/template/error26.C: New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127596 138bc75d-0d04-0410-961f-82ee72b054a4
      d676ce6e
    • fxcoudert's avatar
      PR fortran/33079 · 4ec67f4e
      fxcoudert authored
      	* intrinsics/string_intrinsics.c (string_trim, string_minmax): Fix
      	the zero-length result case.
      
      	* gfortran.dg/zero_length_2.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127584 138bc75d-0d04-0410-961f-82ee72b054a4
      4ec67f4e
    • burnus's avatar
      2007-08-17 Tobias Burnus <burnus@net-b.de> · 918da989
      burnus authored
              * gfortran.dg/kind_tests_2.f03: Add cleanup-modules.
              * gfortran.dg/kind_tests_3.f03: Ditto.
              * gfortran.dg/global_vars_f90_init.f90: Ditto.
              * gfortran.dg/interface_13.f90: Ditto.
              * gfortran.dg/pr32738.f90: Ditto.
              * gfortran.dg/module_private_1.f90: Ditto.
              * gfortran.dg/test_only_clause.f90: Ditto.
              * gfortran.dg/bind_c_vars.f90: Ditto.
              * gfortran.dg/bind_c_dts.f90: Ditto.
              * gfortran.dg/use_9.f90: Ditto.
              * gfortran.dg/generic_8.f90: Ditto.
              * gfortran.dg/bind_c_implicit_vars.f03: Ditto.
              * gfortran.dg/private_type_6.f90: Ditto.
              * gfortran.dg/c_assoc.f90: Ditto.
              * gfortran.dg/private_type_7.f90: Ditto.
              * gfortran.dg/global_vars_c_init.f90: Ditto.
              * gfortran.dg/bind_c_dts_2.f03: Ditto.
              * gfortran.dg/c_f_pointer_tests.f90: Ditto.
              * gfortran.dg/c_size_t_test.f03: Ditto.
              * gfortran.dg/used_types_12.f90: Ditto.
              * gfortran.dg/pr25923.f90: Ditto.
              * gfortran.dg/test_com_block.f90: Ditto.
              * gfortran.dg/iso_c_binding_rename_1.f03: Ditto.
              * gfortran.dg/equiv_constraint_7.f90: Ditto.
              * gfortran.dg/com_block_driver.f90: Ditto.
              * gfortran.dg/iso_c_binding_rename_2.f03: Ditto.
              * gfortran.dg/use_iso_c_binding.f90: Ditto.
              * gfortran.dg/c_loc_test.f90: Ditto.
              * gfortran.dg/c_ptr_tests.f03: Ditto.
              * gfortran.dg/module_interface_1.f90: Ditto.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127582 138bc75d-0d04-0410-961f-82ee72b054a4
      918da989
    • paolo's avatar
      /cp · b2df4109
      paolo authored
      2007-08-17  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/32870
      	* parser.c (cp_parser_class_head): Improve error message.
      
      /testsuite
      2007-08-17  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/32870
      	* g++.dg/other/error17.C: Adjust.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127581 138bc75d-0d04-0410-961f-82ee72b054a4
      b2df4109
    • bje's avatar
      PR middle-end/32970 · e3c15b04
      bje authored
      gcc/
      	* tree.c (reconstruct_complex_type): For a pointer to a vector,
      	use build_qualified_type to retain qualifiers of the base type.
      testsuite/
      	* g++.dg/ext/altivec-14.C: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127578 138bc75d-0d04-0410-961f-82ee72b054a4
      e3c15b04
  4. 16 Aug, 2007 8 commits
    • uros's avatar
      * gcc.dg/tree-ssa/ssa-dse-10.c: Clean up all dse dump files. · 068f4029
      uros authored
              * gcc.dg/vect/dump-tree-dceloop-pr26359.c: Clean up all dceloop
              dump files.
              * gcc.dg/vect/pr25371.c: Clean up vect dump file.
              * gcc.dg/vect/pr32366.c: Ditto.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127567 138bc75d-0d04-0410-961f-82ee72b054a4
      068f4029
    • uros's avatar
      PR testsuite/33082 · 2c18e346
      uros authored
      	* gcc.dg/dfp/convert-dfp-fold.c: Use -O2 instead of -O in dg-options.
      	* gcc.dg/dfp/convert-bfp-fold.c: Ditto.
      	* gcc.dg/dfp/convert-int-fold.c: Ditto.
      	* gcc.dg/dfp/operator-arith-fold.c: Ditto.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127565 138bc75d-0d04-0410-961f-82ee72b054a4
      2c18e346
    • burnus's avatar
      2007-08-16 Tobias Burnus <burnus@net-b.de> · 6d39b1be
      burnus authored
      	PR fortran/33072
      	* module.c (gfc_match_use): Mark user operators as such.
      	(find_use_name_n): Distinguish between operators and other symbols.
      	(find_use_name,number_use_names,mio_namelist,
      	 load_operator_interfaces,load_generic_interfaces,read_module,
      	 write_generic): Update find_use_name_n calls.
      
      2007-08-16  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/33072
      	* gfortran.dg/use_9.f90: New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127564 138bc75d-0d04-0410-961f-82ee72b054a4
      6d39b1be
    • spark's avatar
      gcc/testsuite/ChangeLog: · df464291
      spark authored
      2007-08-16  Seongbae Park <seongbae.park@gmail.com>
      
              * g++.dg/gcov/gcov-5.C: New test.
      
      
      gcc/cp/ChangeLog:
      
      2007-08-16  Seongbae Park <seongbae.park@gmail.com>
      
              * pt.c (instantiate_decl): Set input_location
              for the function end.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127563 138bc75d-0d04-0410-961f-82ee72b054a4
      df464291
    • spark's avatar
      gcc/ChangeLog: · d43d1c7f
      spark authored
      2007-08-16  Seongbae Park <seongbae.park@gmail.com>
      
      	* tree-eh.c (lower_try_finally_onedest): Reset the locus
      	of GOTO that's relocated to a different block.
      
      gcc/testsuite/ChangeLog:
      2007-08-16  Seongbae Park  <seongbae.park@gmail.com>
      
      	* g++.dg/gcov/gcov-4.C: New test.
      	* lib/gcov.exp (verify-lines): Add support for
      	checking no-coverage lines.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127562 138bc75d-0d04-0410-961f-82ee72b054a4
      d43d1c7f
    • victork's avatar
      · 45b13dc3
      victork authored
      gcc/ChangeLog
      
      	* tree-vectorizer.c (new_loop_vec_info): Initialize new 
      	field.
      	(destroy_loop_vec_info): Add call to VEC_free.
      	* tree-vectorizer.h (may_alias_ddrs): Define.
      	(LOOP_VINFO_MAY_ALIAS_DDRS): Define.
      	* tree-vect-analyze.c (vect_analyze_data_ref_dependence):
      	Change reporting to dump.
      	(vect_is_duplicate_ddr): New.
      	(vect_mark_for_runtime_alias_test): New.
      	(vect_analyze_data_ref_dependences) Add call to
      	vect_mark_for_runtime_alias_test.
      	(vect_enhance_data_refs_alignment): Define local variable
      	vect_versioning_for_alias_required, don't perform
      	peeling for alignment if versioning for alias is
      	required.
      	(vect_enhance_data_refs_alignment): Use
      	PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS instead of
      	PARAM_VECT_MAX_VERSION_CHECKS.
      	* tree-vect-transform.c
      	(vect_create_cond_for_alias_checks): New.
      	(vect_transform_loop): Add call to
      	vect_create_cond_for_alias_checks.
      	(vect_vfa_segment_size): New.
      	* params.def (PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS):
      	Rename.
      	(PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS): Define.
      	* gcc/doc/invoke.texi
      	(vect-max-version-for-alignment-checks): Document.
      	(vect-max-version-for-alias-checks): Document.
      	(vect-max-version-checks): Remove.
           
      gcc/testsuite/ChangeLog
      
      	* gcc.dg/vect/vect-vfa-01.c: New.
      	* gcc.dg/vect/vect-vfa-02.c: New.
      	* gcc.dg/vect/vect-vfa-03.c: New.
      	* gcc.dg/vect/vect-vfa-04.c: New.
      	* gcc.dg/vect/vect-102a.c, gcc.dg/vect/vect-51.c,
      	gcc.dg/vect/pr29145.c, gcc.dg/vect/vect-43.c,
      	gcc.dg/vect/vect-61.c, gcc.dg/vect/vect-53.c,
      	gcc.dg/vect/vect-45.c, gcc.dg/vect/vect-101.c,
      	gcc.dg/vect/vect-37.c, gcc.dg/vect/vect-79.c,
      	gcc.dg/vect/vect-102.c, gcc.dg/vect/vect-dv-2.c,
      	gcc.dg/vect/vect-57.c, gcc.dg/vect/vect-49.c,
      	gfortran.dg/vect/pr19049.f90: Rename to start with
      	prefix no-vfa-.
      	* gcc.dg/vect/vect.exp: Disable versioning for alias
      	when test starts with no-vfa-.
      	* gfortran.dg/vect/vect.exp: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127559 138bc75d-0d04-0410-961f-82ee72b054a4
      45b13dc3
    • rsandifo's avatar
      gcc/ · 8a72adf4
      rsandifo authored
      	PR middle-end/32897
      	* reload.c (find_reloads): Check that the memory returned by
      	find_reloads_toplev was not the result of forcing a constant
      	to memory.
      	(find_reloads_toplev): Always use simplify_gen_subreg to get
      	the subreg of a constant.  If the result is also a constant,
      	but not a legitimate one, force it into the constant pool
      	and reload its address.
      
      gcc/testsuite/
      	* gcc.dg/torture/pr32897.c: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127536 138bc75d-0d04-0410-961f-82ee72b054a4
      8a72adf4
    • paolo's avatar
      /cp · a86a1d8b
      paolo authored
      2007-08-16  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/31132
      	* pt.c (tsubst_friend_function): When check_classfn
      	returns error_mark_node likewise return it.
      
      /testsuite
      2007-08-16  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/31132
      	* g++.dg/template/crash69.C: New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127535 138bc75d-0d04-0410-961f-82ee72b054a4
      a86a1d8b
  5. 15 Aug, 2007 7 commits
  6. 14 Aug, 2007 5 commits
    • fxcoudert's avatar
      PR fortran/33066 · 33e86520
      fxcoudert authored
      	* decl.c (gfc_get_type_attr_spec): Fix whitespace.
      	(gfc_match_derived_decl): Fix logic.
      
      	* gfortran.dg/use_8.f90: New test.
      	* gfortran.dg/c_loc_tests_2.f03: Fix code.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127497 138bc75d-0d04-0410-961f-82ee72b054a4
      33e86520
    • paolo's avatar
      /cp · e5252ce9
      paolo authored
      2007-08-14  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/27211
      	* decl2.c (check_classfn): Return error_mark_node in case of error;
      	in that case, do not call add_method.
      	* decl.c (start_decl): Deal with check_classfn returning
      	error_mark_node.
      	(grokfndecl): Likewise.
      	* pt.c (tsubst_friend_function): Likewise.
      
      /testsuite
      2007-08-14  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/27211
      	* g++.dg/template/error27.C: New.
      	* g++.dg/template/error28.C: New.
      	* g++.dg/other/pr28304.C: Adjust.
      	* g++.old-deja/g++.mike/p811.C: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127492 138bc75d-0d04-0410-961f-82ee72b054a4
      e5252ce9
    • rask's avatar
      PR target/30315 · aa8c6aad
      rask authored
      	* config/i386/i386.h (CANONICALIZE_COMPARISON): New.
      	* config/i386/i386.md (plusminus)(addsub)(SWI): New.
      	(*<addsub><mode>3_cc_overflow): New.
      	(*add<mode>3_cconly_overflow): New.
      	(*sub<mode>3_cconly_overflow): New.
      	(*<addsub>si3_zext_cc_overflow): New.
      	* config/i386/predicates.md (fcmov_comparison_operator): Accept
      	CCCmode for LTU, GTU, LEU and GEU.
      	(ix86_comparison_operator): Likewise.
      	(ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode.
      	* gcc/config/i386/i386.c (put_condition_code): Support CCCmode.
      	(ix86_cc_mode): Use CCCmode when testing for overflow of PLUS
      	or MINUS expressions.
      
      testsuite/
      	PR target/30315
      	* gcc.target/i386/pr30315.c: New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127481 138bc75d-0d04-0410-961f-82ee72b054a4
      aa8c6aad
    • fxcoudert's avatar
      PR fortran/32594 · 24756408
      fxcoudert authored
      	* trans-expr.c (gfc_conv_substring_expr): Only call
      	gfc_conv_substring if expr->ref is not NULL.
      	* expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
      	expression might be a constant.
      	(gfc_simplify_expr): Handle missing start and end, as well as
      	missing ref.
      
      	* gfortran.dg/substr_5.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127478 138bc75d-0d04-0410-961f-82ee72b054a4
      24756408
    • pinskia's avatar
      2007-08-14 Andrew Pinski <pinskia@gmail.com> · f8629d35
      pinskia authored
              PR c/30428
              * c-typeck.c (build_binary_op): Disallow vector float types with
              BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.
      
      2007-08-14  Andrew Pinski  <pinskia@gmail.com>
      
              PR c++/30428
              * typeck.c (build_binary_op): Disallow vector float types with
              BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.
      
      2007-08-14  Andrew Pinski  <pinskia@gmail.com>
      
              PR c/30428
              * gcc.dg/vector-2.c: New test.
      
              PR c++/30428
              * g++.dg/ext/vector8.C: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127477 138bc75d-0d04-0410-961f-82ee72b054a4
      f8629d35
  7. 13 Aug, 2007 6 commits
    • dsh's avatar
      gcc/ · 7b3a7c6b
      dsh authored
      2007-08-3 1 Dan Hipschman  <dsh@google.com>
      
      	PR 32953
      	* c-format.c (check_format_arg): Move check for zero-length
      	format strings below the check for unterminated strings.
      
      testsuite/
      2007-08-13  Dan Hipschman  <dsh@google.com>
      
      	PR 32953
      	* gcc.dg/format/array-1.c: Add an additional test for
      	unterminated format strings of length 1.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127399 138bc75d-0d04-0410-961f-82ee72b054a4
      7b3a7c6b
    • pault's avatar
      2007-08-13 Paul Thomas <pault@gcc.gnu.org> · eb4a5c3e
      pault authored
      	PR fortran/32926
      	* match.c (gfc_match_call): Do not create a new symtree in the
      	case where the existing symbol is external and not referenced.
      
      2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/32926
      	* gfortran.dg/external_procedures_3.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127398 138bc75d-0d04-0410-961f-82ee72b054a4
      eb4a5c3e
    • pault's avatar
      2007-08-13 Paul Thomas <pault@gcc.gnu.org> · c723595c
      pault authored
      	PR fortran/32827
      	* decl.c (variable_decl): Check for an imported symbol
      	by looking for its symtree and testing for the imported
      	attribute.
      	(gfc_match_import): Remove change of symbol's namespace
      	and set the attribute imported instead.
      	* symbol.c (gfc_get_sym_tree): It is not an error if a
      	symbol is imported.
      	* gfortran.h : Add the 'imported' to symbol_attribute.
      
      2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/32827
      	* gfortran.dg/import6.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127397 138bc75d-0d04-0410-961f-82ee72b054a4
      c723595c
    • pinskia's avatar
      2007-08-13 Andrew Pinski <pinskia@gmail.com> · 0eb14c3d
      pinskia authored
              PR C/30427
              * c-typeck.c (build_unary_op <case BIT_NOT_EXPR>): Reject vector float
              types.
      
      2007-08-13  Andrew Pinski  <pinskia@gmail.com>
      
              PR C/30427
              *  gcc.dg/vector-1.c: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127396 138bc75d-0d04-0410-961f-82ee72b054a4
      0eb14c3d
    • rsandifo's avatar
      gcc/testsuite/ · 0c0a0909
      rsandifo authored
      	* gcc.dg/pr21255-4.c: Skip for PIC.
      	* gcc.dg/tree-ssa/loop-1.c: Allow bsrf as well as jsr for SH targets.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127393 138bc75d-0d04-0410-961f-82ee72b054a4
      0c0a0909
    • rsandifo's avatar
      gcc/testsuite/ · 02847f90
      rsandifo authored
      	* gcc.dg/attr-isr.c: Skip for PIC.
      	* gcc.dg/attr-isr-nosave_low_regs.c: Likewise.
      	* gcc.dg/attr-isr-trapa.c: Likewise.
      	* gcc.dg/pragma-isr-nosave_low_regs.c: Likewise.
      	* gcc.dg/pragma-isr-trapa.c: Likewise.
      	* gcc.dg/pragma-isr-trapa2.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127392 138bc75d-0d04-0410-961f-82ee72b054a4
      02847f90