* exp_dbug.ads: Fix outdated description. Mention link between XVS
and XVZ objects.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
XVZ variable as unit size of XVS type.
(maybe_pad_type): Likewise.
From-SVN: r158703
2010-04-25 Paolo Bonzini <bonzini@gnu.org>
* combine.c (find_split_point): Add third argument. Use it
to find nested multiply-accumulate instructions. Adjust calls.
(try_combine): Adjust call to find_split_point.
testsuite:
2010-04-25 Paolo Bonzini <bonzini@gnu.org>
* gcc.target/arm/mla-1.c: New test.
From-SVN: r158698
2010-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/30073
PR fortran/43793
* trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
of mucking with a tree directly.
2010-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/30073
PR fortran/43793
gfortran.dg/pr43793.f90: New test.
From-SVN: r158692
2010-04-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43832
* io.c (gfc_match_open): Remove branch to syntax error. Add call to
gfc_error with new error message.
From-SVN: r158684
2010-04-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43841
PR fortran/43843
* trans-expr.c (gfc_conv_expr): Supply an address expression for
GFC_SS_REFERENCE.
(gfc_conv_expr_reference): Call gfc_conv_expr and return for
GFC_SS_REFERENCE.
* trans-array.c (gfc_add_loop_ss_code): Store the value rather
than the address of a GFC_SS_REFERENCE.
* trans.h : Change comment on GFC_SS_REFERENCE.
2010-04-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43841
PR fortran/43843
* gfortran.dg/elemental_scalar_args_1.f90 : New test.
From-SVN: r158683
2010-04-24 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/unique_ptr (unique_ptr::pointer): Use deleter's
pointer type if it exists.
* testsuite/20_util/unique_ptr/requirements/pointer_type.cc: New.
* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
From-SVN: r158682
2010-04-23 Pedro Alves <pedro@codesourcery.com>
include/
* filenames.h (IS_DIR_SEPARATOR_1): Rename from IS_DIR_SEPARATOR,
always define it independently of host, add `dos_based' parameter,
and handle it.
(HAS_DRIVE_SPEC_1): Rename from HAS_DRIVE_SPEC, always define it
independently of host, add `dos_based' parameter, and handle it.
(IS_ABSOLUTE_PATH_1): Rename from IS_ABSOLUTE_PATH, always define
it independently of host, add `dos_based' parameter, and handle
it.
(IS_DOS_DIR_SEPARATOR, IS_DOS_ABSOLUTE_PATH)
(IS_UNIX_DIR_SEPARATOR, IS_UNIX_ABSOLUTE_PATH)
(HAS_DOS_DRIVE_SPEC): New.
(HAS_DRIVE_SPEC): Reimplement on top of HAS_DRIVE_SPEC_1.
(IS_DIR_SEPARATOR): Reimplement on top of IS_DIR_SEPARATOR_1.
(IS_ABSOLUTE_PATH): Reimplement on top of IS_ABSOLUTE_PATH_1.
* libiberty.h (dos_lbasename, unix_lbasename): Declare.
libiberty/
* lbasename.c (lbasename): Split into ...
(unix_lbasename, dos_basename): ... these.
(lbasename): ... and reimplement on top of them.
* Makefile.in (lbasename.o): Add dependency on
$(INCDIR)/filenames.h.
From-SVN: r158681
2010-04-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/43846
* tree-sra.c (struct access): New flag grp_assignment_read.
(build_accesses_from_assign): Set grp_assignment_read.
(sort_and_splice_var_accesses): Propagate grp_assignment_read.
(enum mark_read_status): New type.
(analyze_access_subtree): Propagate grp_assignment_read, create
accesses also if both direct_read and root->grp_assignment_read.
* testsuite/gcc.dg/tree-ssa/sra-10.c: New test.
From-SVN: r158668
2010-04-23 Martin Jambor <mjambor@suse.cz>
PR middle-end/43835
* tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
function does not have type attributes.
* testsuite/gcc.c-torture/execute/pr43835.c: New test.
From-SVN: r158667
2010-04-23 Richard Guenther <rguenther@suse.de>
PR lto/42653
* tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
of FUNCTION_DECLs.
* g++.dg/lto/20100423-1_0.C: New testcase.
From-SVN: r158666
2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* sese.h (create_if_region_on_edge): Remove.
* sese.c (create_if_region_on_edge): Make static.
* tree-inline.c: Do not include ggc.h.
* expr.c: Do not include ggc.h.
* Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
dependencies.
From-SVN: r158661
PR tree-optimization/43842
* tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
loop unrolling in update of exit phis. Fix comment.
* tree-vect-slp.c (vect_analyze_slp): Check that there are at
least two reduction statements in the loop before starting SLP
analysis.
From-SVN: r158650
2010-04-22 Alexander Monakov <amonakov@ispras.ru>
* tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
to simplify a + ~a.
* gfortran.dg/reassoc_6.f: New testcase.
From-SVN: r158645
2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* tree-parloops.c (loop_parallel_p): New argument
parloop_obstack. Pass it down.
(parallelize_loops): New variable parloop_obstack. Initialize it,
pass it down, free it.
* tree-loop-linear.c (linear_transform_loops): Pass down
lambda_obstack.
* tree-data-ref.h (lambda_compute_access_matrices): New argument
of type struct obstack *.
* tree-data-ref.c (analyze_subscript_affine_affine): New variable
scratch_obstack. Initialize it, pass down, free it.
* lambda.h (lambda_loop_new): Remove.
(lambda_matrix_new, lambda_matrix_inverse)
(lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
argument of type struct obstack *.
* lambda-trans.c (lambda_trans_matrix_new): New argument
lambda_obstack. Pass it down, use obstack allocation for ret.
(lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
it down.
* lambda-mat.c (lambda_matrix_get_column)
(lambda_matrix_project_to_null): Remove.
(lambda_matrix_new): New argument lambda_obstack. Use obstack
allocation for mat.
(lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
lambda_obstack.
* lambda-code.c (lambda_loop_new): New function.
(lambda_lattice_new, compute_nest_using_fourier_motzkin)
(lambda_compute_auxillary_space, lambda_compute_target_space)
(lambda_loopnest_transform, gcc_loop_to_lambda_loop)
(lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
(build_access_matrix): New argument lambda_obstack. Use obstack
allocation for am.
(lambda_compute_step_signs, lambda_compute_access_matrices): New
argument lambda_obstack. Pass it down.
From-SVN: r158644
2010-04-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43845
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
lookup the CALL_EXPR function and arguments.
* gcc.c-torture/compile/pr43845.c: New testcase.
From-SVN: r158641
* ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
df_simulate_find_noclobber_defs as appropriate. Keep track of an
extra set merge_set_noclobber, and use it to relax the final test
slightly.
* df.h (df_simulate_find_noclobber_defs): Declare.
* df-problems.c (df_simulate_find_defs): Don't ignore partial or
conditional defs.
(df_simulate_find_noclobber_defs): New function.
From-SVN: r158639
2010-04-22 Johannes Singler <singler@kit.edu>
* include/parallel/partition.h (__parallel_partition):
Improve scalability by:
-introducing new variables __leftold, __rightold, __dist, thus
-getting rid of omp lock by using atomic operations
-getting rid of two omp barriers
From-SVN: r158636