* dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
(loc_list_from_tree): Don't handle unsigned division. Handle
signed modulo using DW_OP_{over,over,div,mul,minus}.
* unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
modulo instead of signed.
* gcc.dg/cleanup-13.c: Expect DW_OP_mod to do unsigned modulo instead
of signed, add a few new tests.
From-SVN: r156063
gcc/fortran/
2010-01-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/42804
* resolve.c (extract_compcall_passed_object): Set locus for
passed-object argument.
(extract_ppc_passed_object): Set locus and correctly remove PPC
reference.
gcc/testsuite/
2010-01-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/42804
* gfortran.dg/proc_ptr_comp_pass_6.f90: New test.
* gfortran.dg/typebound_call_12.f03: New test.
From-SVN: r156049
2010-01-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/42783
* trans-decl.c (add_argument_checking): Do not use the backend
decl directly to test for the presence of an optional dummy
argument. Use gfc_conv_expr_present, remembering to set the
symbol referenced.
PR fortran/42772
* trans-decl.c (gfc_generate_function_code): Small white space
changes. If 'recurcheckvar' is NULL do not try to reset it.
2010-01-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/42783
* gfortran.dg/bounds_check_15.f90 : New test.
From-SVN: r156046
PR tree-optimization/41783
* tree-data-ref.c (toplevel): Include flags.h.
(dump_data_dependence_relation): Also dump the inputs if the
result will be unknown.
(split_constant_offset_1): Look through some conversions.
* tree-predcom.c (determine_roots_comp): Restart a new chain if
the offset from last element is too large.
(ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
(reassociate_to_the_same_stmt): Handle vector registers.
* tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
(e.g. conversions).
* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
wide_prolog_niters argument, emit widening instructions.
(vect_do_peeling_for_alignment): Adjust caller, use widened
variant of the iteration cound.
* Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
testsuite/
* gfortran.dg/vect/fast-math-mgrid-resid.f: New.
From-SVN: r156043
gcc/fortran/
2010-01-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/42545
* resolve.c (resolve_fl_derived): Set the accessibility of the parent
component for extended types.
* symbol.c (gfc_find_component): Remove a wrongly-worded error message
and take care of parent component accessibility.
gcc/testsuite/
2010-01-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/42545
* gfortran.dg/extends_6.f03: Modified an error message.
* gfortran.dg/extends_10.f03: New test.
* gfortran.dg/private_type_6.f03: Modified an error message.
* gfortran.dg/structure_constructor_8.f03: Ditto.
From-SVN: r156040
PR debug/42728
* fwprop.c (all_uses_available_at): Return false if def_set dest
is a REG that is used in def_insn.
* gcc.dg/pr42728.c: New test.
From-SVN: r156037
2010-01-19 Johannes Singler <singler@kit.edu>
PR libstdc++/42712
* include/parallel/settings.h (_Settings): Add search_minimal_n.
* include/parallel/algo.h (__search_switch):
Add serial fallback for too small inputs.
(__search_n_switch): Likewise. Call serial fallback on higher level
to gain special treatment for __count 0 or 1.
* testsuite/25_algorithms/search_n/iterator.cc:
Reenable full test depth for parallel mode.
From-SVN: r156036
gcc/cp/ChangeLog:
* error.c (dump_template_parms, count_non_default_template_args):
Revert fix of PR c++/42634.
gcc/testsuite/ChangeLog:
* g++.dg/template/error45.C: reverted as part of reverting the
fix of PR c++/42634.
From-SVN: r156026
Fix PR c++/42634
gcc/cp/ChangeLog:
PR c++/42634
* error.c (dump_template_parms): Use innermost template
arguments before calling count_non_default_template_args.
(count_non_default_template_args): We are being called with
template innermost arguments now. There is no need to ensure
that again.
gcc/testsuite/ChangeLog:
PR c++/42634
* g++.dg/template/error45.C: New test.
From-SVN: r156022
2010-01-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/42781
* tree-ssa-structalias.c (find_what_var_points_to): Skip
restrict processing only if the original variable was
artificial.
* gfortran.fortran-torture/compile/pr42781.f90: New testcase.
From-SVN: r156006
* doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
find number of popped argument bytes.
(TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
Fix the text that describes the return value for invalid insns.
(TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
(TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
Clarify what 'cost of the -dependence' is. Fix quoting.
From-SVN: r155999
2010-01-17 Richard Guenther <rguenther@suse.de>
PR middle-end/42248
* function.c (split_complex_args): Take a VEC to modify.
(assign_parms_augmented_arg_list): Build a VEC instead of
a chain of PARM_DECLs.
(assign_parms_unsplit_complex): Take a VEC of arguments.
Do not fixup unmodified parms.
(assign_parms): Deal with the VEC.
(gimplify_parameters): Likewise.
* gcc.c-torture/execute/pr42248.c: New testcase.
From-SVN: r155984
gcc/fortran/
2010-01-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/42677
* gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
* interface.c (check_interface1): Move a warning message here from
resolve_fl_procedure.
(check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
* module.c (read_module): Remove call to gfc_check_interfaces, since
this comes too early here.
* resolve.c (resolve_fl_procedure): Move warning message to
check_interface1.
gcc/testsuite/
2010-01-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/42677
* gfortran.dg/interface_assignment_5.f90: New test.
From-SVN: r155979