1. 31 Mar, 2009 20 commits
    • PR c++/38030, 38850, 39070 · 5094a795
              PR c++/38030, 38850, 39070
              * pt.c (type_dependent_expression_p_push): New fn.
              (tsubst_copy_and_build) [CALL_EXPR]: Only do arg-dep lookup when the
              substitution makes the call non-dependent.  Preserve koenig_p.
              * parser.c (cp_parser_postfix_expression): Only do arg-dep lookup
              for non-dependent calls.
              * semantics.c (finish_call_expr): Revert earlier changes.
              * cp-tree.h: Revert change to finish_call_expr prototype.
      
      From-SVN: r145360
      Jason Merrill committed
    • loop-iv.c (replace_single_def_regs, [...]): New static functions. · 60081874
      	* loop-iv.c (replace_single_def_regs, replace_in_expr): New static
      	functions.
      	(simplify_using_assignment, simplify_using_initial_values): Call 
      	replace_in_expr to make replacements.  Call replace_single_def_regs
      	once on the initial version of the expression.
      
      From-SVN: r145357
      Bernd Schmidt committed
    • loop-iv.c (simple_rhs_p): Allow more kinds of expressions. · b30321cd
      	* loop-iv.c (simple_rhs_p): Allow more kinds of expressions.
      
      From-SVN: r145355
      Bernd Schmidt committed
    • loop-iv.c (determine_max_iter): New arg OLD_NITER. · 28af33b0
      	* loop-iv.c (determine_max_iter): New arg OLD_NITER.  All callers
      	changed.  Use this when trying to improve the upper bound.
      	Generate the comparison by using simplify_gen_relational.
      
      From-SVN: r145354
      Bernd Schmidt committed
    • simplify-rtx.c (simplify_relational_operation_1): Simplify (LTU (PLUS a C) C) or… · 1d1eb80c
      simplify-rtx.c (simplify_relational_operation_1): Simplify (LTU (PLUS a C) C) or (LTU (PLUS a C) a) to (GEU a -C)...
      
      	* simplify-rtx.c (simplify_relational_operation_1): Simplify
      	(LTU (PLUS a C) C) or (LTU (PLUS a C) a) to (GEU a -C); likewise with
      	GEU/LTU reversed.
      
      From-SVN: r145353
      Bernd Schmidt committed
    • loop-iv.c (simplify_using_condition): A condition of the form (EQ REG CONST) can… · 1569e190
      loop-iv.c (simplify_using_condition): A condition of the form (EQ REG CONST) can be used to simply make a substitution.
      
      	* loop-iv.c (simplify_using_condition): A condition of the form
      	(EQ REG CONST) can be used to simply make a substitution.
      	(simplify_using_initial_values): Keep track of conditions we have seen
      	and keep using them to simplify new expressions, while applying the
      	same substitutions to them as to the expression.
      
      From-SVN: r145352
      Bernd Schmidt committed
    • loop-iv.c (suitable_set_for_replacement): Renamed from simplify_using_assignment... · ed853664
      	* loop-iv.c (suitable_set_for_replacement): Renamed from
      	simplify_using_assignment; changed to return bool and to accept new
      	args DEST and SRC.  Return true iff we find a source/destination pair
      	that can be used to make a replacement, and fill SRC and DEST if so.
      	Remove arg ALTERED.  Don't deal with altered regs here.  All callers
      	changed.
      	(simplify_using_initial_values): Deal with altered regs here and track
      	more precisely the effect they have on the validity of our expression.
      
      From-SVN: r145351
      Bernd Schmidt committed
    • Fix documentation for -mthumb · bebc6e07
      From-SVN: r145347
      Ramana Radhakrishnan committed
    • re PR middle-end/31029 (Fold does not fold C - a == a) · 6b12efe9
      2009-03-31  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/31029
      	* fold-const.c (fold_binary): Fold X +- Y CMP X to Y CMP 0 for
      	equality comparisons.  Fold C - X CMP X if C % 2 == 1.
      
      	* gcc.dg/fold-compare-4.c: New testcase.
      	* gcc.dg/fold-compare-5.c: Likewise.
      
      From-SVN: r145345
      Richard Guenther committed
    • tree.h (div_if_zero_remainder): Declare. · 108f6c2f
      2009-03-31  Richard Guenther  <rguenther@suse.de>
      
      	* tree.h (div_if_zero_remainder): Declare.
      	* fold-const.c (div_if_zero_remainder): Export.
      	* tree-ssa-forwprop.c
      	(forward_propagate_addr_into_variable_array_index): Handle
      	constant array index addition outside of the variable index.
      
      	* gcc.dg/tree-ssa/forwprop-12.c: New testcase.
      
      From-SVN: r145343
      Richard Guenther committed
    • re PR target/39592 (Revision 145272 breaks -ansi -msse) · 8f612190
      	PR target/39592
      	* config/i386/i386.md (*floatunssi<mode>2_1, two unnamed
      	define_splits, floatunssi<mode>2): Require x87 conversions from
      	DImode to be permitted.
      
      testsuite:
      	* gcc.target/i386/pr39592-1.c: New test.
      
      From-SVN: r145342
      Joseph Myers committed
    • re PR preprocessor/15638 (gcc should have option to treat missing headers as fatal) · 47580d22
      	PR preprocessor/15638
      gcc:
      	* c-common.c (c_cpp_error): Handle CPP_DL_FATAL.
      
      gcc/fortran:
      	* cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.
      
      gcc/testsuite:
      	* gcc.dg/cpp/missing-header-1.c: New test.
      	* gcc.dg/cpp/include2.c: Only test #include <>.  Expect
      	"compilation terminated" message.
      	* gcc.dg/cpp/include2a.c: New test.  Copy of include2.c but only
      	test #include "".
      	* gcc.dg/pch/counter-2.c, gcc.dg/pch/valid-1.c,
      	gcc.dg/pch/valid-2.c, gcc.dg/pch/warn-1.c: Expect "compilation
      	terminated" message.
      
      libcpp:
      	* files.c (_cpp_find_file): Call open_file_failed after diagnosing
      	invalid PCH.
      	(open_file_failed): Make error for missing file fatal.
      	* include/cpplib.h (CPP_DL_FATAL): Define.
      
      From-SVN: r145341
      Joseph Myers committed
    • re PR middle-end/23401 (Gimplifier produces too many temporaries) · ba4d8f9d
      2009-03-31  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/23401
      	PR middle-end/27810
      	* tree.h (DECL_GIMPLE_FORMAL_TEMP_P): Remove.
      	(struct tree_decl_with_vis): Remove gimple_formal_temp member.
      	* tree-eh.c (lower_eh_constructs_2): Move LHS assignment to
      	a separate statement.
      	* gimplify.c (pop_gimplify_context): Remove formal temp handling.
      	(lookup_tmp_var): Likewise.
      	(is_gimple_formal_tmp_or_call_rhs): Remove.
      	(is_gimple_reg_or_call_rhs): Rename to ...
      	(is_gimple_reg_rhs_or_call): ... this.
      	(is_gimple_mem_or_call_rhs): Rename to ...
      	(is_gimple_mem_rhs_or_call): ... this.
      	(internal_get_tmp_var): Use is_gimple_reg_rhs_or_call.  Set
      	DECL_GIMPLE_REG_P only if is_formal is true.
      	(gimplify_compound_lval): Use is_gimple_reg.  Remove workaround
      	for non-proper post-modify expression gimplification.
      	(gimplify_self_mod_expr): For post-modify expressions gimplify
      	the lvalue to a minimal lvalue.
      	(rhs_predicate_for): Remove formal temp case.
      	(gimplify_modify_expr_rhs): Likewise.
      	(gimplify_addr_expr): Use is_gimple_reg.
      	(gimplify_expr): Remove formal temp cases.
      	(gimple_regimplify_operands): Likewise.
      	* tree-ssa-pre.c (get_or_alloc_expr_for): Treat EXC_PTR_EXPR
      	and FILTER_EXPR like constants.
      	* gimple.c (walk_gimple_op): Fix val_only initialization, use
      	is_gimple_reg.
      	(is_gimple_formal_tmp_rhs): Remove.
      	(is_gimple_reg_rhs): Remove special casing.
      	(is_gimple_mem_rhs): Fix.
      	(is_gimple_reg): Move DECL_GIMPLE_REG_P handling earlier.
      	(is_gimple_formal_tmp_var): Remove.
      	(is_gimple_formal_tmp_reg): Likewise.
      	(is_gimple_min_lval): Allow invariant component ref parts.
      	* gimple.h (is_gimple_formal_tmp_rhs, is_gimple_formal_tmp_var,
      	is_gimple_formal_tmp_reg): Remove declarations.
      	* tree-cfg.c (verify_expr): Verify that variables with address
      	taken do not have DECL_GIMPLE_REG_P set.
      	* tree-mudflap.c (mf_build_check_statement_for): Use
      	force_gimple_operand instead of gimplify_expr.
      
      	java/
      	* java-gimplify.c (java_gimplify_expr): Do not manually gimplify
      	the first operand of binary and comaprison expressions.
      
      	* gcc.dg/tree-ssa/pr23401.c: New testcase.
      	* gcc.dg/tree-ssa/pr27810.c: Likewise.
      
      From-SVN: r145338
      Richard Guenther committed
    • SMS - Pass the actual schedulable rows to compute_split_row · 8de9b877
      From-SVN: r145333
      Ayal Zaks committed
    • re PR target/31635 (-mno-vrsave ignored on ppc64) · b5e3caf2
      	PR target/31635
      	* config/rs6000/rs6000.c (rs6000_handle_option): Handle
      	OPT_mvrsave.
      
      From-SVN: r145332
      Ben Elliston committed
    • alloc_alloc_expr_1.f90: Adjust for new error message. · 3759634f
      2008-12-10  Steven G. Kargl  <kargls@comcast.net>
      
      	* gfortran.dg/alloc_alloc_expr_1.f90: Adjust for new error message.
      	* gfortran.dg/allocate_alloc_opt_1.f90: New test.
      	* gfortran.dg/allocate_alloc_opt_2.f90: Ditto.
      	* gfortran.dg/allocate_alloc_opt_3.f90: Ditto.
      	* gfortran.dg/deallocate_alloc_opt_1.f90: Ditto.
      	* gfortran.dg/deallocate_alloc_opt_2.f90: Ditto.
      	* gfortran.dg/deallocate_alloc_opt_3.f90: Ditto.
      
      
      2008-12-10  Steven G. Kargl  <kargls@comcast.net>
      
      	* trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG.
      	(gfc_trans_deallocate): Add translation of ERRMSG.  Remove stale
      	comments.  Minor whitespace cleanup.
      	* resolve.c(is_scalar_expr_ptr): Whitespace cleanup.
      	(resolve_deallocate_expr (gfc_expr *e): Update error message.
      	(resolve_allocate_expr):  Remove dead code.  Update error message.
      	Move error checking to ...
      	(resolve_allocate_deallocate): ... here.  Add additional error
      	checking for STAT, ERRMSG, and allocate-objects.
      	* match.c(gfc_match_allocate,gfc_match_deallocate):  Parse ERRMSG.
      	Check for redundant uses of STAT and ERRMSG.  Reword error message
      	and add checking for pointer, allocatable, and proc_pointer attributes.
      
      From-SVN: r145331
      Steven G. Kargl committed
    • * doc/invoke.texi (RS/6000 and PowerPC Options):Document mtls-markers. · 9752c4ad
      	* configure.ac (HAVE_AS_TLS_MARKERS): New gas feature check.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* config/rs6000/rs6000.opt (mtls-markers): Add.
      	* config/rs6000/rs6000.h (TARGET_TLS_MARKERS): Define.
      	* config/rs6000/rs6000.md (tls_gd_aix, tls_gd_sysv): Add splitter.
      	(tls_ld_aix, tls_ld_sysv): Likewise.
      	(tls_gd, tls_gd_call_aix, tls_gd_call_sysv): New insns.
      	(tls_ld, tls_ld_call_aix, tls_ld_call_sysv): Likewise.
      
      From-SVN: r145330
      Alan Modra committed
    • re PR libmudflap/38462 (test libmudflap.c/fail27-frag.c fails output pattern test for ppc64) · 89da36ae
      	PR libmudflap/38462
      	* testsuite/libmudflap.c/fail27-frag.c: Match `mudflap dead
      	object', not `mudflap object'.
      
      From-SVN: r145328
      Ben Elliston committed
    • spu.c (spu_expand_prologue): Delete redundant code. · b597d1b6
      	* config/spu/spu.c (spu_expand_prologue): Delete redundant code.
      
      From-SVN: r145327
      Alan Modra committed
    • Daily bump. · f2e2ecda
      From-SVN: r145326
      GCC Administrator committed
  2. 30 Mar, 2009 20 commits