2016-02-09 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69599
* tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
function.
(find_func_aliases_for_builtin_call, find_func_clobbers)
(ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
partition.
* testsuite/libgomp.c/omp-nested-3.c: New test.
* testsuite/libgomp.c/pr46032-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
From-SVN: r233240
2016-02-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/69715
* tree-ssa.c (execute_update_addresses_taken): Mark non-decl
LHS on calls as non-rewritable.
* gcc.dg/torture/pr69715.c: New testcase.
From-SVN: r233239
gcc/cp/ChangeLog:
PR c++/69139
* parser.c (cp_parser_simple_type_specifier): Make the check
for disambiguating between an 'auto' placeholder and an implicit
template parameter more robust.
gcc/testsuite/ChangeLog:
PR c++/69139
* g++.dg/cpp0x/trailing12.C: New test.
* g++.dg/cpp0x/trailing13.C: New test.
From-SVN: r233231
gcc/cp/ChangeLog:
PR c++/69283
PR c++/67835
* decl2.c (mark_used): When given a TEMPLATE_DECL, return after
setting its TREE_USED flag.
gcc/testsuite/ChangeLog:
PR c++/69283
PR c++/67835
* g++.dg/cpp1y/auto-fn29.C: New test.
* g++.dg/cpp1y/auto-fn30.C: New test.
From-SVN: r233230
PR tree-optimization/69209
* ipa-split.c (split_function): If split part is not
returning retval, retval has gimple type but is not
gimple value, force it into a SSA_NAME first.
* gcc.c-torture/compile/pr69209.c: New test.
From-SVN: r233228
PR tree-optimization/68541
* gcc.dg/tree-ssa/split-path-1.c: Increase limit for number
of statements allowed in join block for path splitting.
From-SVN: r233227
PR c++/59627
* parser.c (cp_parser_omp_declare_reduction): Set assembler name
of the DECL_OMP_DECLARE_REDUCTION_P decls.
* g++.dg/gomp/pr59627.C: New test.
From-SVN: r233225
gcc/testsuite/ChangeLog:
PR preprocessor/69664
* gcc.dg/cpp/trad/comment-2.c: Add expected column number.
* gcc.dg/cpp/warn-comments.c: Likewise.
libcpp/ChangeLog:
PR preprocessor/69664
* errors.c (cpp_diagnostic_with_line): Only call
rich_location::override_column if the column is non-zero.
* line-map.c (rich_location::override_column): Update columns
within m_ranges[0]. Add assertions to verify that doing so is
sane.
From-SVN: r233223
PR rtl-optimization/68730
* lra-remat.c (insn_to_cand_activation): New static variable.
(lra_remat): Allocate and free it.
(create_cand): New arg activation. Initialize a field in
insn_to_cand_activation if it is nonnull.
(create_cands): Pass the activation insn to create_cand when making
a candidate involving an output reload. Reorganize code a little.
(do_remat): Keep track of active status of candidates in a separate
bitmap.
From-SVN: r233215
PR libstdc++/48891
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
checks for all targets except *-*-solaris2.* and ensure we find the
libc math.h header not our own.
* configure: Regenerate.
From-SVN: r233214
2016-02-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/69719
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Properly use absolute of the difference of the two offsets to
compare or adjust the segment length.
* gcc.dg/torture/pr69719.c: New testcase.
From-SVN: r233212
2016-02-08 Richard Biener <rguenther@suse.de>
Jeff Law <law@redhat.com>
PR target/68273
* tree-ssanames.c (make_ssa_name_fn): Always use unqualified
types for anonymous SSA names.
* gcc.target/mips/pr68273.c: New testcase.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r233211
PR tree-optimization/65917
* tree-ssa-dom.c (record_temporary_equivalences): Record both
equivalences from if (x == y) style conditionals.
(loop_depth_of_name): Remove.
(record_equality): Remove loop depth check.
* tree-ssa-scopedtables.h (const_and_copies): Refine comments.
(const_and_copies::record_const_or_copy_raw): New member function.
* tree-ssa-scopedtables.c
(const_and_copies::record_const_or_copy_raw): New, factored out of
(const_and_copies::record_const_or_copy): Call new member function.
PR tree-optimization/65917
* gcc.dg/tree-ssa/20030922-2.c: No longer xfailed.
From-SVN: r233207
2016-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/50555
* primary.c (match_actual_arg): If symbol has attribute flavor of
namelist, generate an error. (gfc_match_rvalue): Likewise return
MATCH_ERROR.
* resolve.c (resolve_symbol): Scan arument list of procedures and
generate an error if a namelist is found.
PR fortran/50555
* gfortran.dg/namelist_args.f90: New test.
From-SVN: r233203
PR tree-optimization/68541
* gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
(count_stmts_in_block): New function.
(poor_ifcvt_candidate_code): Likewise.
(is_feasible_trace): Add some heuristics to determine when path
splitting is profitable.
(find_block_to_duplicate_for_splitting_paths): Make sure the graph
is a diamond with a single exit.
PR tree-optimization/68541
* gcc.dg/tree-ssa/split-path-2.c: New test.
* gcc.dg/tree-ssa/split-path-3.c: New test.
* gcc.dg/tree-ssa/split-path-4.c: New test.
* gcc.dg/tree-ssa/split-path-5.c: New test.
* gcc.dg/tree-ssa/split-path-6.c: New test.
* gcc.dg/tree-ssa/split-path-7.c: New test.
From-SVN: r233191
gcc/testsuite/ChangeLog:
PR c++/69662
* g++.dg/warn/Wplacement-new-size-1.C: New test.
* g++.dg/warn/Wplacement-new-size-2.C: New test.
gcc/cp/ChangeLog:
PR c++/69662
* init.c (find_field_init): New function.
(warn_placement_new_too_small): Call it. Handle one-element arrays
at ends of structures special.
gcc/c-family/ChangeLog:
PR c++/69662
* c.opt (Warning options): Update -Wplacement-new to take
an optional argument.
gcc/ChangeLog:
PR c++/69662
* doc/invoke.texi: Update -Wplacement-new to take an optional
argument.
From-SVN: r233190
PR c/69643
* tree.c (tree_nop_conversion_p): Do not strip casts into or
out of non-standard address spaces.
testsuite/
* gcc.target/i386/addr-space-4.c: New.
* gcc.target/i386/addr-space-5.c: New.
From-SVN: r233189
PR fortran/66089
gcc/fortran/
* trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
the former to the latter and make it non-static. Update callers.
* gfortran.h (gfc_expr_is_variable): New declaration.
(struct gfc_ss_info): Add field needs_temporary.
* trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
Tighten the condition on aggregate expressions with a check
that the expression is a variable and doesn't need a temporary.
(gfc_conv_resolve_dependency): Add intermediary reference variable.
Set the needs_temporary field.
gcc/testsuite/
* gfortran.dg/elemental_dependency_6.f90: New.
From-SVN: r233188
PR c++/69628
* charset.c (cpp_interpret_charconst): Clear *PCHARS_SEEN
and *UNSIGNEDP if bailing out early due to errors.
* g++.dg/parse/pr69628.C: New test.
From-SVN: r233186