platform/upstream/gcc.git
8 years agoAdd an asssert and testcase for PR 68064
Martin Jambor [Fri, 11 Dec 2015 11:27:11 +0000 (12:27 +0100)]
Add an asssert and testcase for PR 68064

2015-12-11  Martin Jambor  <mjambor@suse.cz>

PR ipa/68064
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Add checking
assert that align is nonzero.

testsuite/
* g++.dg/torture/pr68064.C: New test.

From-SVN: r231559

8 years agoS/390: Fix warnings in "*setmem_long..." patterns.
Dominik Vogt [Fri, 11 Dec 2015 11:16:13 +0000 (11:16 +0000)]
S/390: Fix warnings in "*setmem_long..." patterns.

gcc/ChangeLog

* config/s390/s390.c (s390_expand_setmem): Use new expanders.
* config/s390/s390.md ("*setmem_long")
("*setmem_long_and", "*setmem_long_31z"): Fix warnings.
("*setmem_long_and_31z"): New define_insn.
("setmem_long_<P:mode>"): New expanders.
* (<modesize>): New mode attribute

gcc/testsuite/ChangeLog

* gcc.target/s390/md/setmem_long-1.c: New test.

From-SVN: r231558

8 years agoS/390: Fix warnings in "*setmem_long..." patterns.
Dominik Vogt [Fri, 11 Dec 2015 11:03:21 +0000 (11:03 +0000)]
S/390: Fix warnings in "*setmem_long..." patterns.

gcc/ChangeLog

* config/s390/s390.md ("movstr", "*movstr"): Fix warning.
("movstr<P:mode>"): New indirect expanders used by "movstr".

gcc/testsuite/ChangeLog

* gcc.target/s390/md/movstr-1.c: New test.
* gcc.target/s390/s390.exp: Add subdir md.
Do not run hotpatch tests twice.

From-SVN: r231557

8 years agore PR target/67484 (options-save.c sanitizer asan detects freed storage referenced...
Martin Liska [Fri, 11 Dec 2015 10:59:29 +0000 (11:59 +0100)]
re PR target/67484 (options-save.c sanitizer asan detects freed storage referenced  heap-use-after-free)

Fix PR target/67484

    Uros Bizjak  <ubizjak@gmail.com>

PR target/67484
* config/i386/i386.c (ix86_valid_target_attribute_tree):
Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and
opts->x_ix86_tune_string.

From-SVN: r231556

8 years agolto-streamer.h (lto_simple_header_with_strings): Remove main_size field already in...
Richard Biener [Fri, 11 Dec 2015 10:53:53 +0000 (10:53 +0000)]
lto-streamer.h (lto_simple_header_with_strings): Remove main_size field already in lto_simple_header.

2015-12-11  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (lto_simple_header_with_strings): Remove
main_size field already in lto_simple_header.

From-SVN: r231555

8 years agotree-vect-stmts.c (vectorizable_mask_load_store): Check mask vectype.
Ilya Enkovich [Fri, 11 Dec 2015 10:51:04 +0000 (10:51 +0000)]
tree-vect-stmts.c (vectorizable_mask_load_store): Check mask vectype.

gcc/

* tree-vect-stmts.c (vectorizable_mask_load_store): Check
mask vectype.

From-SVN: r231554

8 years agoi386.c (ix86_get_mask_mode): Use scalar modes for 32 and 16 byte boolean vectors...
Ilya Enkovich [Fri, 11 Dec 2015 09:43:52 +0000 (09:43 +0000)]
i386.c (ix86_get_mask_mode): Use scalar modes for 32 and 16 byte boolean vectors when possible.

gcc/

* config/i386/i386.c (ix86_get_mask_mode): Use scalar
modes for 32 and 16 byte boolean vectors when possible.

gcc/testsuite/

* gcc.dg/vect/vect-32-chars.c: New test.

From-SVN: r231553

8 years agoFix shrink-wrapping bug (PR67778, PR68634)
Segher Boessenkool [Fri, 11 Dec 2015 00:27:14 +0000 (01:27 +0100)]
Fix shrink-wrapping bug (PR67778, PR68634)

After shrink-wrapping has found the "tightest fit" for where to place
the prologue, it tries move it earlier (so that frame saves are run
earlier) -- but without copying any more basic blocks.

Unfortunately a candidate block we select can be inside a loop, and we
will still allow it (because the loop always exits via our previously
chosen block).  We can do that just fine if we make a duplicate of the
block, but we do not want to here.

So we need to detect this situation.  We can place the prologue at a
previous block PRE only if PRE dominates every block reachable from
it, because then we will never need to duplicate that block (it will
always be executed with prologue).

2015-12-11  Segher Boessenkool  <segher@kernel.crashing.org>

PR rtl-optimization/67778
PR rtl-optimization/68634
* shrink-wrap.c (try_shrink_wrapping): Add a comment about why we want
to put the prologue earlier.  When determining if an earlier block is
suitable, make sure it dominates every block reachable from it.

From-SVN: r231552

8 years agoDaily bump.
GCC Administrator [Fri, 11 Dec 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r231551

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Thu, 10 Dec 2015 23:57:15 +0000 (00:57 +0100)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
* lto-symtab.c (lto_symtab_merge_p): Avoid merging across different
values of error and warning attributes.
* gcc.dg/lto/pr61886_0.c: New testcase

From-SVN: r231548

8 years agortlanal: Fix bits/bytes confusion in set_noop_p (PR68814)
Segher Boessenkool [Thu, 10 Dec 2015 23:47:31 +0000 (00:47 +0100)]
rtlanal: Fix bits/bytes confusion in set_noop_p (PR68814)

The meaning of ZERO_EXTRACT depends on BITS_BIG_ENDIAN, not on
BYTES_BIG_ENDIAN.  This caused PR68814.

2015-12-11  Segher Boessenkool  <segher@kernel.crashing.org>

PR rtl-optimization/68814
* rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of
BYTES_BIG_ENDIAN.

From-SVN: r231547

8 years agonvptx.c (nvptx_function_arg, [...]): Move earlier.
Nathan Sidwell [Thu, 10 Dec 2015 20:13:14 +0000 (20:13 +0000)]
nvptx.c (nvptx_function_arg, [...]): Move earlier.

* config/nvptx/nvptx.c (nvptx_function_arg,
nvptx_function_incoming_arg, nvptx_function_arg_advance,
nvptx_strict_argument_naming, nvptx_function_arg_boundary,
nvptx_libcall_value, nvptx_function_value,
nvptx_function_value_regno_p, nvptx_pass_by_reference,
nvptx_return_in_memory, nvptx_promote_function_mode,
nvptx_static_chain): Move earlier.
(write_one_arg): Break out as helper fn for ...
(write_arg): ... this new function.  Adjust all callers.

From-SVN: r231543

8 years ago* lto-streamer-out.c (wrap_refs): Only wrap public decls.
Jan Hubicka [Thu, 10 Dec 2015 19:21:31 +0000 (20:21 +0100)]
* lto-streamer-out.c (wrap_refs): Only wrap public decls.

From-SVN: r231541

8 years agoipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p.
Jan Hubicka [Thu, 10 Dec 2015 19:20:14 +0000 (20:20 +0100)]
ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p.

* ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p.
(good_cloning_opportunity_p): Likewise.
(gather_context_independent_values): Do not return true when
polymorphic call context is known or when we have known aggregate
value of unused parameter.
(estimate_local_effects): Try to create clone for all context
when either some params are substituted or devirtualization is possible
or some params can be removed; use local flag instead of
node->will_be_removed_from_program_if_no_direct_calls_p.
(identify_dead_nodes): Likewise.

* gcc.c-torture/execute/20010122-1.c: Disable cloning.

From-SVN: r231540

8 years agoAdd -Wmisleading-indentation to -Wall
David Malcolm [Thu, 10 Dec 2015 18:21:00 +0000 (18:21 +0000)]
Add -Wmisleading-indentation to -Wall

gcc/c-family/ChangeLog:
* c.opt (Wmisleading-indentation): Add to -Wall for C and C++.

gcc/ChangeLog:
* doc/invoke.texi (-Wall): Add -Wmisleading-indentation to the
list.
(-Wmisleading-indentation): Update documentation to reflect
being enabled by -Wall in C/C++.

From-SVN: r231539

8 years agore PR rtl-optimization/68691 (ICE at -O3 with -g enabled on x86_64-linux-gnu in alter...
Vladimir Makarov [Thu, 10 Dec 2015 18:00:47 +0000 (18:00 +0000)]
re PR rtl-optimization/68691 (ICE at -O3 with -g enabled on x86_64-linux-gnu in alter_subregs, at lra-spills.c:610 (in 32-bit mode))

2015-12-10  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/68691
* lra-spills.c (lra_final_code_change): Check pseudo occurrence
number in non-debug insns and remove debug insns if necessary.

2015-12-10  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/68691
* gcc.target/i386/pr68691.c: New.

From-SVN: r231538

8 years agoinvoke.texi (Warning Options): Update -Wall options.
Martin Sebor [Thu, 10 Dec 2015 17:16:32 +0000 (17:16 +0000)]
invoke.texi (Warning Options): Update -Wall options.

        * invoke.texi (Warning Options): Update -Wall options.  Clarify
        when some -Wextra options are enabled.  Add -Wplacement-new example.

From-SVN: r231533

8 years agore PR tree-optimization/68619 (error: loop with header 6 not in loop tree)
Uros Bizjak [Thu, 10 Dec 2015 17:14:07 +0000 (18:14 +0100)]
re PR tree-optimization/68619 (error: loop with header 6 not in loop tree)

PR tree-optimization/68619
* graphite-scop-detection.c (gather_bbs::before_dom_children):
Change return type to an edge.  Always return NULL.

From-SVN: r231532

8 years agotestsuite/lib/multline.exp: show test name and line numbers
David Malcolm [Thu, 10 Dec 2015 17:12:38 +0000 (17:12 +0000)]
testsuite/lib/multline.exp: show test name and line numbers

gcc/testsuite/ChangeLog:
* lib/multiline.exp (_multiline_expected_outputs): Update comment.
(dg-end-multiline-output): Capture line numbers within
_multiline_expected_outputs.
(handle-multiline-outputs): Access global $testname_with_flags
and add it as a prefix to pass/fail results.  Extract line numbers
from $_multiline_expected_outputs and print them within pass/fail
results, replacing the printing of $index.  Consolidate the
string prefix shared between pass/fail into a new local ($title).

From-SVN: r231530

8 years agore PR tree-optimization/68619 (error: loop with header 6 not in loop tree)
Jeff Law [Thu, 10 Dec 2015 16:34:43 +0000 (09:34 -0700)]
re PR tree-optimization/68619 (error: loop with header 6 not in loop tree)

2015-12-10  Jeff Law  <law@redhat.com>

PR tree-optimization/68619
* tree-ssa-dom.c (dom_opt_dom_walker::before_dom_children): Propgate
return value from optimize_stmt.
(dom_opt_dom_walker): Add new argument to dom_walker constructor.
(pass_dominator:execute): If a block has an unreachable edge,
remove all jump threads through any successor of the affected block.
(record_equivalences_from_phis): Ignore alternative if the edge
does not have EDGE_EXECUTABLE set.
(single_incoming_edge_ignoring_loop_edges): Similarly.
(optimize_stmt): If a gimple_code has a compile-time constant
condition, return the edge taken for that constant value.  Also
change the condition to true/false as necessary.
* domwalk.h (dom_walker::dom_walker): Add new argument
skip_unreachable_blocks.  Don't provide empty constructor body.
(dom_walker::before_dom_children): Change return type.
(dom_walker::bb_reachable): Declare new private method.
(dom_walker::propagate_unreachable_to_edges): Likewise.
(dom_walker::m_unreachable_dom): Declare new private data member.
(dom_walker::m_skip_unreachable_blocks): Likewise.
* domwalk.c: Include dumpfile.h.
(dom_walker::dom_walker): New constructor.  Initialize private data
members.  If needed, set EDGE_EXECUTABLE for all edges in the CFG,
extracted from tree-ssa-sccvn.c.
(dom_walker::bb_reachable): New method extracted from tree-ssa-sccvn.c
(dom_walker::propagate_unreachable_to_edges): Likewise.
(dom_walker::walk): Only call before_dom_children on reachable
blocks.  If before_dom_children returns an edge, then clear
EDGE_EXECUTABLE for all other outgoing edges from the same block.
For unreachable blocks, call propagate_unreachable_to_edges.
Similarly, only call after_dom_children on reachable blocks.  For
unreachable blocks, conditionally clear m_unreachable_dom.
* tree-ssa-sccvn.c (sccvn_dom_walker::unreachable_dom): Remove
private data member.
(sccvn_dom_walker::after_dom_children): Use methods from dom_walker
class.
(run_scc_vn): Likewise.
(sccvn_dom_walker::before_dom_children): Likewise.  Return the taken
outgoing edge if a COND, SWITCH, or GOTO are optimized.
* compare-elim.c (find_comparison_dom_walker::before_dom_children):
Change return type to an edge.  Always return NULL.
* fwprop.c (single_def_use_dom_walker::before_dom_children): Likewise.
* gimple-ssa-strength-reduction.c
(find_candidates_dom_walker::before_dom_children): Likewise.
* ipa-prop.c (analysis_dom_walker::before_dom_children): Likewise.
(ipcp_modif_dom_walker::before_dom_children): Likewise.
* tree-into-ssa.c (rewrite_dom_walker::before_dom_children): Likewise.
(rewrite_update_dom_walker::before_dom_children): Likewise.
(mark_def_dom_children::before_dom_children): Likewise.
* tree-ssa-dse.c (dse_dom_walker::before_dom_children): Likewise.
* tree-ssa-loop-im.c
(invariantness_dom_walker::before_dom_children): Likewise.
(move_computations_dom_walker::before_dom_walker): Likewise.
* tree-ssa-phiopt.c
(nontrapping_dom_walker::before_dom_children): Likewise.
* tree-ssa-pre.c
(eliminate_dom_walker::before_dom_children): Likewise.
* tree-ssa-propagate.c
(substitute_and_fold_dom_walker::before_dom_children): Likewise.
* tree-ssa-strlen.c
(strlen_dom_walker::before_dom_children): Likewise.
* tree-ssa-uncprop.c
(uncprop_dom_walker::before_dom_children): Likewise.

PR tree-optimization/68619
* gcc.dg/tree-ssa/pr68619-1.c: New test.
* gcc.dg/tree-ssa/pr68619-2.c: New test.
* gcc.dg/tree-ssa/pr68619-3.c: New test.
* gcc.dg/tree-ssa/pr68619-4.c: New test.
* gcc.dg/tree-ssa/pr68619-5.c: New test.

From-SVN: r231527

8 years agore PR rtl-optimization/68376 (wrong code at -O1 and above on x86_64-linux-gnu)
Jakub Jelinek [Thu, 10 Dec 2015 16:11:49 +0000 (17:11 +0100)]
re PR rtl-optimization/68376 (wrong code at -O1 and above on x86_64-linux-gnu)

PR rtl-optimization/68376
PR rtl-optimization/68670
* ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0
or > -1 conditions regardless of negate, and disallow
all other conditions.

* gcc.c-torture/execute/pr68376-2.c (f5, f6, f7, f8): New
tests.
(main): Call them.
* gcc.dg/pr68670-1.c: New test.
* gcc.dg/pr68670-2.c: New test.

From-SVN: r231526

8 years agotree-chkp.c (chkp_call_returns_bounds_p): Return true for VA_ARG call.
Ilya Enkovich [Thu, 10 Dec 2015 16:01:42 +0000 (16:01 +0000)]
tree-chkp.c (chkp_call_returns_bounds_p): Return true for VA_ARG call.

gcc/

* tree-chkp.c (chkp_call_returns_bounds_p): Return true
for VA_ARG call.
(chkp_fixup_inlined_call): New.
* tree-chkp.h (chkp_fixup_inlined_call): New.
* tree-stdarg.c: Include tree-chkp.h.
(expand_ifn_va_arg_1): Fixup bndret calls for removed
VA_ARG calls.

From-SVN: r231525

8 years agore PR c++/68348 (ICE: segfault in cxx_eval_constant_expression at cp/constexpr.c...
Marek Polacek [Thu, 10 Dec 2015 15:45:49 +0000 (15:45 +0000)]
re PR c++/68348 (ICE: segfault in cxx_eval_constant_expression at cp/constexpr.c:3172)

PR c++/68348
* g++.dg/cpp0x/pr68348.C: New test.

From-SVN: r231524

8 years agotree-inline.c (duplicate_remap_omp_clause_seq): New function.
Martin Jambor [Thu, 10 Dec 2015 15:40:57 +0000 (16:40 +0100)]
tree-inline.c (duplicate_remap_omp_clause_seq): New function.

2015-12-10  Martin Jambor  <mjambor@suse.cz>

* tree-inline.c (duplicate_remap_omp_clause_seq): New function.
(replace_locals_op): Duplicate gimple sequences in OMP clauses.

From-SVN: r231523

8 years agoFix -Wmisleading-indentation warning in graphite-optimize-isl.c
David Malcolm [Thu, 10 Dec 2015 15:20:53 +0000 (15:20 +0000)]
Fix -Wmisleading-indentation warning in graphite-optimize-isl.c

../../../src/gcc/graphite-optimize-isl.c: In function ‘isl_union_set* scop_get_domains(scop_p)’:
../../../src/gcc/graphite-optimize-isl.c:362:5: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
     return res;
     ^~~~~~

In file included from ../../../src/gcc/hash-table.h:236:0,
                 from ../../../src/gcc/coretypes.h:348,
                 from ../../../src/gcc/graphite-optimize-isl.c:28:
../../../src/gcc/vec.h:1343:3: note: ...this ‘for’ clause, but it is not
   for (I = 0; (V).iterate ((I), &(P)); ++(I))
   ^

../../../src/gcc/graphite-optimize-isl.c:359:3: note: in expansion of macro ‘FOR_EACH_VEC_ELT’
   FOR_EACH_VEC_ELT (scop->pbbs, i, pbb)
   ^~~~~~~~~~~~~~~~

   351  static isl_union_set *
   352  scop_get_domains (scop_p scop ATTRIBUTE_UNUSED)
   353  {
   354    int i;
   355    poly_bb_p pbb;
   356    isl_space *space = isl_set_get_space (scop->param_context);
   357    isl_union_set *res = isl_union_set_empty (space);
   358
   359    FOR_EACH_VEC_ELT (scop->pbbs, i, pbb)
   360      res = isl_union_set_add_set (res, isl_set_copy (pbb->domain));
   361
   362      return res;
            ^ warning is here
   363  }

gcc/ChangeLog:
* graphite-optimize-isl.c (scop_get_domains): Fix indentation.

From-SVN: r231522

8 years agoFix -Wmisleading-indentation warning in ifcvt.c
David Malcolm [Thu, 10 Dec 2015 15:18:26 +0000 (15:18 +0000)]
Fix -Wmisleading-indentation warning in ifcvt.c

../../../src/gcc/ifcvt.c: In function ‘bool noce_try_inverse_constants(noce_if_info*)’:
../../../src/gcc/ifcvt.c:1233:2: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
  seq = end_ifcvt_sequence (if_info);
  ^~~

../../../src/gcc/ifcvt.c:1230:7: note: ...this ‘if’ clause, but it is not
       if (target != if_info->x)
       ^~

due to the lack of an outdent after the conditional at lines 1230-1:

  1220    if (target)
  1221      {
  1222        rtx_insn *seq = get_insns ();
  1223
  1224        if (!seq)
  1225          {
  1226            end_sequence ();
  1227            return false;
  1228          }
  1229
>>1230        if (target != if_info->x)
>>1231          noce_emit_move_insn (if_info->x, target);
  1232
>>1233          seq = end_ifcvt_sequence (if_info);
  1234
  1235          if (!seq)
  1236            return false;
  1237
  1238          emit_insn_before_setloc (seq, if_info->jump,
  1239                                   INSN_LOCATION (if_info->insn_a));
  1240          return true;
  1241      }

gcc/ChangeLog:
* ifcvt.c (noce_try_inverse_constants): Fix indentation.

From-SVN: r231521

8 years agoFix -Wmisleading-indentation warning in gcc/regrename.c
David Malcolm [Thu, 10 Dec 2015 15:13:49 +0000 (15:13 +0000)]
Fix -Wmisleading-indentation warning in gcc/regrename.c

../../../src/gcc/regrename.c: In function ‘void scan_rtx_address(rtx_insn*, rtx_def**, reg_class, scan_actions, machine_mode, addr_space_t)’:
../../../src/gcc/regrename.c:1314:7: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
       break;
       ^
../../../src/gcc/regrename.c:1311:5: note: ...this ‘if’ clause, but it is not
     if (!AUTO_INC_DEC)
     ^

gcc/ChangeLog:
* regrename.c (scan_rtx_address): Fix indentation.

From-SVN: r231520

8 years agoFix misleading indentation in gcc/fortran/io.c
David Malcolm [Thu, 10 Dec 2015 15:11:37 +0000 (15:11 +0000)]
Fix misleading indentation in gcc/fortran/io.c

Fix this warning:
../../../src/gcc/fortran/io.c: In function ‘match gfc_match_open()’:
../../../src/gcc/fortran/io.c:2003:4: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
    if (!compare_to_allowed_values ("DELIM", delim, NULL, NULL,
    ^
../../../src/gcc/fortran/io.c:2000:2: note: ...this ‘if’ clause, but it is not
  if (!is_char_type ("DELIM", open->delim))
  ^

gcc/fortran/ChangeLog:
* io.c (gfc_match_open): Fix indentation.

From-SVN: r231519

8 years agoFix -Wmisleading-indentation warning in function.c
David Malcolm [Thu, 10 Dec 2015 15:06:05 +0000 (15:06 +0000)]
Fix -Wmisleading-indentation warning in function.c

Fix this warning:
../../../src/gcc/function.c: In function ‘void locate_and_pad_parm(machine_mode, tree, int, int, int, tree, args_size*, locate_and_pad_arg_data*)’:
../../../src/gcc/function.c:4123:2: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
  {
  ^
../../../src/gcc/function.c:4119:7: note: ...this ‘if’ clause, but it is not
       if (initial_offset_ptr->var)
       ^

gcc/ChangeLog:
* function.c (locate_and_pad_parm): Fix indentation.

From-SVN: r231518

8 years agoChange tests to use -std=gnu++14 not -std=gnu++1y
Jonathan Wakely [Thu, 10 Dec 2015 14:39:07 +0000 (14:39 +0000)]
Change tests to use -std=gnu++14 not -std=gnu++1y

* testsuite/experimental/memory/shared_ptr/assign/assign.cc: Replace
-std=gnu++1y with -std=gnu++14.
* testsuite/experimental/memory/shared_ptr/cast/cast.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/modifiers/reset.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/modifiers/swap.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/observers/operators.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
Likewise.

From-SVN: r231517

8 years agoFix dejagnu directives in shared_ptr test
Jonathan Wakely [Thu, 10 Dec 2015 14:32:16 +0000 (14:32 +0000)]
Fix dejagnu directives in shared_ptr test

PR libstdc++/68825
* include/experimental/bits/shared_ptr.h (__shared_ptr, __weak_ptr,
experimental::shared_ptr, experimental::weak_ptr): Constrain
assignment operators.
* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
Change to a compile-only test and change dg-excess-errors to dg-error.

From-SVN: r231516

8 years agore PR ada/48013 (generic instantiation breaks the No_Elaboration_Code restriction)
Eric Botcazou [Thu, 10 Dec 2015 14:20:50 +0000 (14:20 +0000)]
re PR ada/48013 (generic instantiation breaks the No_Elaboration_Code restriction)

PR ada/48013
* gcc-interface/trans.c (empty_stmt_list_p): New predicate.
(gigi): Invoke it to compute the No_Elaboration_Code property.
(insert_code_for): Do not insert the code if it's empty.

From-SVN: r231515

8 years agotree-ssa-structalias.c (struct variable_info): Add is_ipa_escape_point flag.
Richard Biener [Thu, 10 Dec 2015 14:15:34 +0000 (14:15 +0000)]
tree-ssa-structalias.c (struct variable_info): Add is_ipa_escape_point flag.

2015-12-10  Richard Biener  <rguenther@suse.de>

* tree-ssa-structalias.c (struct variable_info): Add
is_ipa_escape_point flag.
(new_var_info): Initialize to false.
(find_func_aliases): Generate escape constraints for stores
properly in IPA mode.
(ipa_pta_execute): Compute is_ipa_escape_point for globals.

From-SVN: r231514

8 years agotrans.c (Call_to_gnu): Remove guard for NULL_EXPR.
Eric Botcazou [Thu, 10 Dec 2015 14:06:15 +0000 (14:06 +0000)]
trans.c (Call_to_gnu): Remove guard for NULL_EXPR.

* gcc-interface/trans.c (Call_to_gnu): Remove guard for NULL_EXPR.
* gcc-interface/utils2.c (gnat_rewrite_reference) <ERROR_MARK>: Return
the reference unmodified.
<NULL_EXPR>: New case.  Likewise.

From-SVN: r231513

8 years agoImprove generated libstdc++ API docs
Jonathan Wakely [Thu, 10 Dec 2015 14:02:52 +0000 (14:02 +0000)]
Improve generated libstdc++ API docs

* doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers
to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update
PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages.
* include/backward/strstream: Correct @file comment.
* include/bits/forward_list.h: Improve Doxygen comments.
* include/bits/locale_facets_nonio.h: Likewise.
* include/bits/mutex.h: Likewise.
* include/bits/shared_ptr.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/debug/vector (_Safe_vector): Add @brief section to comment.
* include/experimental/bits/fs_dir.h: Correct @file comment.
* include/experimental/bits/fs_fwd.h: Likewise.
* include/experimental/bits/fs_ops.h: Likewise.
* include/experimental/bits/fs_path.h: Likewise.
* include/experimental/bits/string_view.tcc: Likewise.
* include/experimental/optional: Document experimental status.
* include/experimental/string_view: Correct @file comment.
* include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce
whitespace to avoid Doxygen bug.
* include/std/bitset: Remove redundant @class Doxygen command. Add
parentheses to avoid Doxygen bug.
* include/std/mutex: Improve Doxygen comments.
* include/tr2/dynamic_bitset: Add missing @param documentation.
* scripts/run_doxygen: Rename man pages for std::experimental types.

From-SVN: r231512

8 years agogigi.h (create_var_decl): Adjust comment.
Eric Botcazou [Thu, 10 Dec 2015 13:46:38 +0000 (13:46 +0000)]
gigi.h (create_var_decl): Adjust comment.

* gcc-interface/gigi.h (create_var_decl): Adjust comment.
(create_subprog_decl): Likewise.
* gcc-interface/utils.c (create_var_decl): Likewise.
(create_subprog_decl): Likewise.

From-SVN: r231511

8 years ago[ARC] Add support for atomic memory built-in. Add atomic.md file.
Claudiu Zissulescu [Thu, 10 Dec 2015 13:40:21 +0000 (14:40 +0100)]
[ARC] Add support for atomic memory built-in. Add atomic.md file.

gcc/

2015-12-10  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/atomic.md: Add new file.

From-SVN: r231510

8 years ago[ARC] Add support for atomic memory built-in.
Claudiu Zissulescu [Thu, 10 Dec 2015 13:32:21 +0000 (14:32 +0100)]
[ARC] Add support for atomic memory built-in.

gcc/

2015-12-10  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc-protos.h (arc_expand_atomic_op): Prototype.
(arc_split_compare_and_swap): Likewise.
(arc_expand_compare_and_swap): Likewise.
* config/arc/arc.c (arc_init): Check usage atomic option.
(arc_pre_atomic_barrier): New function.
(arc_post_atomic_barrier): Likewise.
(emit_unlikely_jump): Likewise.
(arc_expand_compare_and_swap_qh): Likewise.
(arc_expand_compare_and_swap): Likewise.
(arc_split_compare_and_swap): Likewise.
(arc_expand_atomic_op): Likewise.
* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): New C macro.
(ASM_SPEC): Enable mlock option when matomic is used.
* config/arc/arc.md (UNSPEC_ARC_MEMBAR): Define.
(VUNSPEC_ARC_CAS): Likewise.
(VUNSPEC_ARC_LL): Likewise.
(VUNSPEC_ARC_SC): Likewise.
(VUNSPEC_ARC_EX): Likewise.
* config/arc/arc.opt (matomic): New option.
* config/arc/constraints.md (ATO): New constraint.
* config/arc/predicates.md (mem_noofs_operand): New predicate.
* doc/invoke.texi: Document -matomic.
* config/arc/atomic.md: New file.

gcc/testsuite

2015-12-10  Claudiu Zissulescu  <claziss@synopsys.com>

* lib/target-supports.exp (check_effective_target_arc_atomic): New
function.
(check_effective_target_sync_int_long): Add checks for ARC atomic
feature.
(check_effective_target_sync_char_short): Likewise.

From-SVN: r231509

8 years agore PR tree-optimization/68817 (internal compiler error: Segmentation fault (program...
Richard Biener [Thu, 10 Dec 2015 13:23:22 +0000 (13:23 +0000)]
re PR tree-optimization/68817 (internal compiler error: Segmentation fault (program f951))

2015-12-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68817
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Detect
gaps early.

* gfortran.dg/pr68817.f90: New testcase.

From-SVN: r231508

8 years agoRevert [testsuite][ARM target attributes] Fix effective_target tests
Christophe Lyon [Thu, 10 Dec 2015 13:11:27 +0000 (13:11 +0000)]
Revert [testsuite][ARM target attributes] Fix effective_target tests

From-SVN: r231507

8 years ago* alias.c (get_alias_set): Add cut-off for recursion.
Eric Botcazou [Thu, 10 Dec 2015 12:12:59 +0000 (12:12 +0000)]
* alias.c (get_alias_set): Add cut-off for recursion.

From-SVN: r231505

8 years agofix typo in date format
Christian Bruel [Thu, 10 Dec 2015 11:41:38 +0000 (12:41 +0100)]
fix typo in date format

From-SVN: r231504

8 years agotree-vect-stmts.c (vectorizable_assignment): Support useless boolean conversion.
Ilya Enkovich [Thu, 10 Dec 2015 11:23:50 +0000 (11:23 +0000)]
tree-vect-stmts.c (vectorizable_assignment): Support useless boolean conversion.

gcc/

* tree-vect-stmts.c (vectorizable_assignment): Support
useless boolean conversion.

From-SVN: r231503

8 years agoCorrect previous ChangeLog (targets is correct, not hosts)
Alan Lawrence [Thu, 10 Dec 2015 10:49:52 +0000 (10:49 +0000)]
Correct previous ChangeLog (targets is correct, not hosts)

From-SVN: r231501

8 years ago[install.texi] Add note against GNAT 4.8 on ARM targets
Alan Lawrence [Thu, 10 Dec 2015 10:48:08 +0000 (10:48 +0000)]
[install.texi] Add note against GNAT 4.8 on ARM targets

* doc/install/texi: Add note against GNAT 4.8 on ARM hosts.

From-SVN: r231500

8 years agore PR middle-end/68785 (valgrind reports issues with folding on x86_64)
Jakub Jelinek [Thu, 10 Dec 2015 10:14:38 +0000 (11:14 +0100)]
re PR middle-end/68785 (valgrind reports issues with folding on x86_64)

PR tree-optimization/68785
* gimple-fold.c (fold_ctor_reference): Pass return value from
native_encode_expr to native_interpret_expr.
* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Likewise.

* gcc.dg/pr68785.c: New test.

From-SVN: r231499

8 years agore PR ipa/68331 ([meta-bug] fipa-pta issues)
Richard Biener [Thu, 10 Dec 2015 09:41:08 +0000 (09:41 +0000)]
re PR ipa/68331 ([meta-bug] fipa-pta issues)

2015-12-10  Richard Biener  <rguenther@suse.de>

PR ipa/68331
* tree-ssa-structalias.c (set_uids_in_ptset): Add fndecl
parameter and make vars_contains_nonlocal properly have
function-scope semantics in IPA mode.
(find_what_var_points_to): Add fndecl parameter.
(find_what_p_points_to): Likewise.
(pt_solution_includes_global): Remove IPA PTA early out.
(compute_points_to_sets): Adjust.
(ipa_pta_execute): Likewise.  Clear final_solutions after
each function.

* gcc.dg/torture/ipa-pta-3.c: New testcase.
* g++.dg/ipa/ipa-pta-1.C: Likewise.

From-SVN: r231498

8 years agoFix warnings from including fdl.texi into gnat-style.texi
Tom de Vries [Thu, 10 Dec 2015 09:19:04 +0000 (09:19 +0000)]
Fix warnings from including fdl.texi into gnat-style.texi

2015-12-10  Tom de Vries  <tom@codesourcery.com>

PR ada/65102
* doc/include/fdl.texi: Add nodefaultgnufreedocumentationlicensenode
ifdef to allow disabling default @node GNU Free Documentation License.

* gnat-style.texi: Set nodefaultgnufreedocumentationlicensenode and
define @node GNU Free Documentation License locally.

From-SVN: r231497

8 years agotree-ssa-structalias.c (create_function_info_for): Add missing constraint from nonloc...
Richard Biener [Thu, 10 Dec 2015 09:12:46 +0000 (09:12 +0000)]
tree-ssa-structalias.c (create_function_info_for): Add missing constraint from nonlocal for DECL_RESULT.

2015-12-10  Richard Biener  <rguenther@suse.de>

* tree-ssa-structalias.c (create_function_info_for): Add missing
constraint from nonlocal for DECL_RESULT.

From-SVN: r231496

8 years agotree-if-conv.c: Include params.h.
Richard Biener [Thu, 10 Dec 2015 09:10:40 +0000 (09:10 +0000)]
tree-if-conv.c: Include params.h.

2015-12-10  Richard Biener  <rguenther@suse.de>

* tree-if-conv.c: Include params.h.
(ifcvt_memrefs_wont_trap): Use PARAM_ALLOW_STORE_DATA_RACES
instead of flag_tree_loop_if_convert_stores to guard cases
we'd introduce store-data-races.

From-SVN: r231495

8 years agore PR ipa/68721 (wrong code at -Os and above on x86_64-linux-gnu)
Richard Biener [Thu, 10 Dec 2015 09:05:58 +0000 (09:05 +0000)]
re PR ipa/68721 (wrong code at -Os and above on x86_64-linux-gnu)

2015-12-10  Richard Biener  <rguenther@suse.de>

PR ipa/68721
* ipa-split.c (split_function): Record return value properly
when the split part doesn't set it.

* gcc.dg/torture/pr68721.c: New testcase.

From-SVN: r231494

8 years agore PR tree-optimization/68806 (internal compiler error: Segmentation fault)
Richard Biener [Thu, 10 Dec 2015 09:00:58 +0000 (09:00 +0000)]
re PR tree-optimization/68806 (internal compiler error: Segmentation fault)

2015-12-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68806
* tree-vect-loop.c (vect_analyze_loop_2): Properly detect
reduction chains and ignore SLP reductions.

* gcc.dg/torture/pr68806.c: New testcase.

From-SVN: r231493

8 years agotree-if-conv.c (if_convertible_loop_p_1): Do not compute dependences.
Richard Biener [Thu, 10 Dec 2015 09:00:07 +0000 (09:00 +0000)]
tree-if-conv.c (if_convertible_loop_p_1): Do not compute dependences.

2015-12-10  Richard Biener  <rguenther@suse.de>

* tree-if-conv.c (if_convertible_loop_p_1): Do not compute
dependences.
(if_convertible_loop_p): Adjust.

From-SVN: r231492

8 years agoRemove invalid assert in find_func_aliases_for_builtin_call
Tom de Vries [Thu, 10 Dec 2015 08:56:14 +0000 (08:56 +0000)]
Remove invalid assert in find_func_aliases_for_builtin_call

2015-12-10  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Remove
invalid assert.

From-SVN: r231491

8 years agoFix memory leaks in tree-vect-data-refs.c
Martin Liska [Thu, 10 Dec 2015 08:40:35 +0000 (09:40 +0100)]
Fix memory leaks in tree-vect-data-refs.c

* tree-vect-data-refs.c: Free an overwritten dataref.

From-SVN: r231490

8 years agofptr.c (__canonicalize_funcptr_for_compare): Remove code to initialize call to __dl_f...
John David Anglin [Thu, 10 Dec 2015 01:32:10 +0000 (01:32 +0000)]
fptr.c (__canonicalize_funcptr_for_compare): Remove code to initialize call to __dl_fixup once.

* config/pa/fptr.c (__canonicalize_funcptr_for_compare): Remove code
to initialize call to __dl_fixup once.

From-SVN: r231486

8 years agoPR 68115/libfortran
John David Anglin [Thu, 10 Dec 2015 01:08:13 +0000 (01:08 +0000)]
PR 68115/libfortran

PR 68115/libfortran
* configure.ac: Set libbacktrace_cv_sys_sync to no on hppa*-*-hpux*.
* configure: Regenerate.
* elf.c (backtrace_initialize): Cast __sync_bool_compare_and_swap call
to void.

From-SVN: r231485

8 years agore PR target/68729 (../Xbae/Methods.c:1772:1: ICE: in extract_insn, at recog.c:2343)
John David Anglin [Thu, 10 Dec 2015 00:41:17 +0000 (00:41 +0000)]
re PR target/68729 (../Xbae/Methods.c:1772:1: ICE: in extract_insn, at recog.c:2343)

PR target/68729
* config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is
consistent with modes of the input and output operands when doing
reloads to and from floating point registers.  Do reload for all
address forms.

From-SVN: r231482

8 years agoDaily bump.
GCC Administrator [Thu, 10 Dec 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r231481

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Wed, 9 Dec 2015 23:28:01 +0000 (00:28 +0100)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
PR middle-end/25140
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use compare_base_decls
(nonoverlapping_component_refs_of_decl_p): Update sanity check.
(decl_refs_may_alias_p): Use compare_base_decls.
* alias.c: Include cgraph.h
(rtx_equal_for_memref_p): Use rtx_equal_for_memref_p.
(compare_base_decls): New function.
(base_alias_check): Likewise.
(memrefs_conflict_p): Likewise.
(nonoverlapping_memrefs_p): Likewise.
* alias.h (compare_base_decls): Declare.

* gcc.c-torture/execute/alias-2.c: New testcase.

From-SVN: r231478

8 years agore PR lto/68811 (ICE: in get, at cgraph.h:1218)
Jan Hubicka [Wed, 9 Dec 2015 22:37:02 +0000 (23:37 +0100)]
re PR lto/68811 (ICE: in get, at cgraph.h:1218)

PR lto/68811
* lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
DECL.
(LTO_NO_PREVAIL): Use gcc_checking_assert.

From-SVN: r231477

8 years agotrans.c (gfc_allocate_using_lib,gfc_deallocate_with_status): Introducing __asm__...
Tobias Burnus [Wed, 9 Dec 2015 22:15:47 +0000 (23:15 +0100)]
trans.c (gfc_allocate_using_lib,gfc_deallocate_with_status): Introducing __asm__ __volatile__ ("":::"memory") after image control statements.

2015-12-09  Tobias Burnus  <burnus@net-b.de>
            Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>

        * trans.c (gfc_allocate_using_lib,gfc_deallocate_with_status):
        Introducing __asm__ __volatile__ ("":::"memory")
        after image control statements.
        * trans-stmt.c  (gfc_trans_sync, gfc_trans_event_post_wait,
        gfc_trans_lock_unlock, gfc_trans_critical): Ditto.
        * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
        conv_caf_send): Introducing __asm__ __volatile__ ("":::"memory")
        after send, before get and around sendget.

2015-12-09  Tobias Burnus  <burnus@net-b.de>
            Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>

        * gfortran.dg/coarray_40.f90: New.

Co-Authored-By: Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
From-SVN: r231476

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Wed, 9 Dec 2015 19:40:10 +0000 (20:40 +0100)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
* ipa-visibility.c (function_and_variable_visibility): Fix vtable
rewritting guard.

From-SVN: r231474

8 years agore PR lto/68811 (ICE: in get, at cgraph.h:1218)
Jan Hubicka [Wed, 9 Dec 2015 19:35:18 +0000 (20:35 +0100)]
re PR lto/68811 (ICE: in get, at cgraph.h:1218)

PR lto/68811
* g++.dg/lto/pr68811_0.C: New testcase.
* g++.dg/lto/pr68811_1.C: New testcase.

* lto-symtab.c (lto_symtab_merge_decls_2): Decl can never be prevailed
by itself.

From-SVN: r231473

8 years agore PR fortran/68815 (Error/warning diagnostic: '%s' should be converted to %qs-like...
Tobias Burnus [Wed, 9 Dec 2015 19:29:46 +0000 (20:29 +0100)]
re PR fortran/68815 (Error/warning diagnostic: '%s' should be converted to %qs-like or %<%s%>-like string strings)

2015-12-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/68815
        * decl.c (gfc_verify_c_interop_param, variable_decl): Use
        %< ... %> for quoting in diagnostics.
        * io.c (check_format): Ditto.
        * resolve.c (resolve_operator): Ditto.
        * symbol.c (check_conflict): Ditto.
        * trans-common.c (translate_common): Ditto.

From-SVN: r231472

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Wed, 9 Dec 2015 19:29:38 +0000 (19:29 +0000)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
PR middle-end/25140
* ipa-reference.c (ipa_reference_get_not_read_global,
ipa_reference_get_not_read_global): Fix WRT aliases.
(is_improper): Break out from ...
(is_proper_for_analysis): ... here; fix WRT aliases.
(analyze_function, generate_summary,
ipa_reference_write_optimization_summary,
ipa_reference_read_optimization_summary): Use ipa_reference_var_uid.
* ipa-refrence.h (ipa_reference_var_uid): New inline.
* tree-ssa-alias.c: Revert my accidental previous commit.
(ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Use ipa_reference_var_uid.

From-SVN: r231471

8 years agofreebsd64.h: Remove the redefinition of WCHAR_TYPE.
Andreas Tobler [Wed, 9 Dec 2015 19:12:24 +0000 (20:12 +0100)]
freebsd64.h: Remove the redefinition of WCHAR_TYPE.

2015-12-09  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE.

From-SVN: r231470

8 years agospecify more isl codegen options
Aditya Kumar [Wed, 9 Dec 2015 18:40:15 +0000 (18:40 +0000)]
specify more isl codegen options

* graphite-optimize-isl.c: Include isl/ast_build.h
(optimize_isl): Set several isl_options_set_* options.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r231467

8 years agoadd array access function in the right order
Aditya Kumar [Wed, 9 Dec 2015 18:35:47 +0000 (18:35 +0000)]
add array access function in the right order

we used to add the access functions in the wrong order, Fortran style, leading to unprofitable interchanges.

* graphite-sese-to-poly.c (pdr_add_memory_accesses): Iterate in
the same order as adding data reference access functions.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r231465

8 years agodump param name when timing out
Aditya Kumar [Wed, 9 Dec 2015 18:33:12 +0000 (18:33 +0000)]
dump param name when timing out

     * graphite-optimize-isl.c (optimize_isl): Improve dump message.

From-SVN: r231464

8 years agore PR c++/60218 ([c++11] ICE using __bases for broken class hierarchy)
Paolo Carlini [Wed, 9 Dec 2015 16:59:26 +0000 (16:59 +0000)]
re PR c++/60218 ([c++11] ICE using __bases for broken class hierarchy)

/cp
2015-12-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60218
* semantics.c (calculate_bases_helper): Don't call dfs_walk_all
when TYPE_BINFO (type) is null.
(calculate_bases): Handle gracefully a null vector->length ().

/testsuite
2015-12-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60218
* g++.dg/ext/bases2.C: New.

From-SVN: r231460

8 years agosse4_1-roundps-1.c: Remove ASM_SUFFIX define.
Uros Bizjak [Wed, 9 Dec 2015 16:09:02 +0000 (17:09 +0100)]
sse4_1-roundps-1.c: Remove ASM_SUFFIX define.

* gcc.target/i386/sse4_1-roundps-1.c: Remove ASM_SUFFIX define.
* gcc.target/i386/sse4_1-roundps-2.c: Ditto.
* gcc.target/i386/sse4_1-roundps-3.c: Ditto.
* gcc.target/i386/sse4_1-roundsd-1.c: Ditto.
* gcc.target/i386/sse4_1-roundsd-2.c: Ditto.
* gcc.target/i386/sse4_1-roundsd-3.c: Ditto.
* gcc.target/i386/sse4_1-roundss-1.c: Ditto.
* gcc.target/i386/sse4_1-roundss-2.c: Ditto.
* gcc.target/i386/sse4_1-roundss-3.c: Ditto.

From-SVN: r231459

8 years ago980716-1.c: Avoid undefined behavior due to passing terminating NULL as int rather...
Alexander Monakov [Wed, 9 Dec 2015 15:42:41 +0000 (18:42 +0300)]
980716-1.c: Avoid undefined behavior due to passing terminating NULL as int rather than pointer.

* gcc.c-torture/execute/980716-1.c: Avoid undefined behavior due to
passing terminating NULL as int rather than pointer.

From-SVN: r231458

8 years agore PR tree-optimization/66949 (ICE at -O2 and -O3 on x86_64-linux-gnu in tree_ssa_phi...
Marek Polacek [Wed, 9 Dec 2015 14:58:22 +0000 (14:58 +0000)]
re PR tree-optimization/66949 (ICE at -O2 and -O3 on x86_64-linux-gnu in tree_ssa_phiopt_worker, at tree-ssa-phiopt.c:335)

PR tree-optimization/66949
* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Don't call
single_non_singleton_phi_for_edges to get the PHI from
factor_out_conditional_conversion.  Use NULL_TREE instead of NULL.
(factor_out_conditional_conversion): Adjust declaration.  Make it
return the newly-created PHI.

* gcc.dg/torture/pr66949-1.c: New test.
* gcc.dg/torture/pr66949-2.c: New test.

From-SVN: r231457

8 years ago[Patch AArch64] Reinstate CANNOT_CHANGE_MODE_CLASS to fix pr67609
James Greenhalgh [Wed, 9 Dec 2015 13:47:19 +0000 (13:47 +0000)]
[Patch AArch64] Reinstate CANNOT_CHANGE_MODE_CLASS to fix pr67609

gcc/

PR rtl-optimization/67609
* config/aarch64/aarch64-protos.h
(aarch64_cannot_change_mode_class): Bring back.
* config/aarch64/aarch64.c
(aarch64_cannot_change_mode_class): Likewise.
* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
* config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use
zero_extract rather than truncate.
(aarch64_movdi_<mode>high): Likewise.

gcc/testsuite/

PR rtl-optimization/67609
* gcc.dg/torture/pr67609.c: New.

From-SVN: r231455

8 years agore PR tree-optimization/68786 (Aligned masked store is generated for unaligned pointer)
Jakub Jelinek [Wed, 9 Dec 2015 13:42:06 +0000 (14:42 +0100)]
re PR tree-optimization/68786 (Aligned masked store is generated for unaligned pointer)

PR tree-optimization/68786
* tree-if-conv.c: Include builtins.h.
(predicate_mem_writes): Put result of get_object_alignment (ref)
into second argument's value.
* tree-vect-stmts.c (vectorizable_mask_load_store): Put minimum
pointer alignment into second argument's value.
* tree-data-ref.c (get_references_in_stmt): Use value of second
argument for build_aligned_type, and only the type to build
a zero second argument for MEM_REF.
* internal-fn.c (expand_mask_load_optab_fn,
expand_mask_store_optab_fn): Likewise.

From-SVN: r231454

8 years agore PR tree-optimization/68583 (Missed if-conversion)
Richard Biener [Wed, 9 Dec 2015 13:30:41 +0000 (13:30 +0000)]
re PR tree-optimization/68583 (Missed if-conversion)

2015-12-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68583
* tree-if-conv.c (if_convertible_phi_p): Drop
flag_tree_loop_if_convert_stores check in favor of the
existing any_mask_load_store check.
(insert_gimplified_predicates): Likewise.
(combine_blocks): Likewise.
(tree_if_conversion): Likewise.
(ifcvt_memrefs_wont_trap): Properly check
flag_tree_loop_if_convert_stores in all places that can end
up introducing store-data-races.
(if_convertible_gimple_assign_stmt_p): Remove restriction
on flag_tree_loop_if_convert_stores for stores we can if-convert
without introducing store-data-races.  Force versioning for
all if-converted stores.

* gcc.dg/tree-ssa/ifc-pr68583.c: New testcase.
* gcc.dg/vect/vect-72.c: Adjust.
* gcc.dg/vect/vect-cselim-2.c: Likewise.
* gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise.

From-SVN: r231453

8 years agore PR tree-optimization/68417 (Missed vectorization opportunity when setting struct...
Richard Biener [Wed, 9 Dec 2015 12:29:19 +0000 (12:29 +0000)]
re PR tree-optimization/68417 (Missed vectorization opportunity when setting struct field)

2015-12-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68417
* gcc.dg/vect/pr68417.c: New testcase.

From-SVN: r231452

8 years agore PR ada/66526 (apparent use of uninitialized variables in g-expect.adb)
Eric Botcazou [Wed, 9 Dec 2015 11:07:08 +0000 (11:07 +0000)]
re PR ada/66526 (apparent use of uninitialized variables in g-expect.adb)

PR ada/66526
* g-expect.adb (Set_Up_Child_Communications): Add matching condition
for uses of Input, Ouput and Error variables after the Execvp call.

From-SVN: r231450

8 years agoFix GOMP/GOACC_parallel handling in find_func_clobbers
Tom de Vries [Wed, 9 Dec 2015 10:13:35 +0000 (10:13 +0000)]
Fix GOMP/GOACC_parallel handling in find_func_clobbers

2015-12-09  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/68716
* tree-ssa-structalias.c (find_func_clobbers): Fix handling of
BUILT_IN_GOMP_PARALLEL and BUILT_IN_GOACC_PARALLEL.

* testsuite/libgomp.c/omp-nested-2.c: New test.

From-SVN: r231449

8 years agoFix newly introduced memory leak in
Martin Liska [Wed, 9 Dec 2015 09:38:53 +0000 (10:38 +0100)]
Fix newly introduced memory leak in

* hash-traits.h (struct typed_delete_remove): New function.
(typed_delete_remove ::remove): Likewise.
* tree-ssa-loop-ivopts.c (struct iv_common_cand): Replace
auto_vec with vec.
(record_common_cand): Replace XNEW with operator new.

From-SVN: r231448

8 years agoFix memory leak in tree-if-conv.c
Martin Liska [Wed, 9 Dec 2015 09:38:00 +0000 (10:38 +0100)]
Fix memory leak in tree-if-conv.c

* tree-if-conv.c (ifcvt_local_dce): Replace vec with auto_vec.

From-SVN: r231447

8 years agore PR ipa/68790 (gcc.c-torture/execute/20050713-1.c FAILs with -O0 -fipa-icf)
Martin Liska [Wed, 9 Dec 2015 09:34:59 +0000 (10:34 +0100)]
re PR ipa/68790 (gcc.c-torture/execute/20050713-1.c FAILs with -O0 -fipa-icf)

Fix PR ipa/68790

PR ipa/68790
* ipa-icf.c (sem_function::param_used_p): Return true
if ipa_node_params_sum equals to NULL.
* gcc.dg/ipa/pr68790.c: New test.

From-SVN: r231446

8 years agoMinor fixes
Eric Botcazou [Wed, 9 Dec 2015 08:45:41 +0000 (08:45 +0000)]
Minor fixes

From-SVN: r231445

8 years agore PR tree-optimization/68583 (Missed if-conversion)
Richard Biener [Wed, 9 Dec 2015 08:32:49 +0000 (08:32 +0000)]
re PR tree-optimization/68583 (Missed if-conversion)

2015-12-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68583
* tree-if-conv.c (ifc_dr): Make flags bool, add w_unconditionally
flag and rename predicates to w_predicate, rw_predicate and
base_w_predicate.
(DR_WRITTEN_AT_LEAST_ONCE): Rename to ...
(DR_BASE_W_UNCONDITIONALLY): ... this.
(DR_W_UNCONDITIONALLY): Add.
(hash_memrefs_baserefs_and_store_DRs_read): Adjust.  Compute
unconditionally written separately from read or written.
(ifcvt_memrefs_wont_trap): Properly treat reads.
(ifcvt_could_trap_p): Inline ...
(if_convertible_gimple_assign_stmt_p): ... here.  Refactor
to avoid code duplication.
(if_convertible_loop_p_1): Adjust and properly initialize
predicates.

From-SVN: r231444

8 years agotree-vect-stmts.c (vectorizable_load): Set new vinfo only if it was not yet set.
Richard Biener [Wed, 9 Dec 2015 08:23:37 +0000 (08:23 +0000)]
tree-vect-stmts.c (vectorizable_load): Set new vinfo only if it was not yet set.

2015-12-09  Richard Biener  <rguenther@suse.de>

* tree-vect-stmts.c (vectorizable_load): Set new vinfo only
if it was not yet set.
* tree-vectorizer.h (set_vinfo_for_stmt): Assert we don't
overwrite an existing entry.

From-SVN: r231443

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Wed, 9 Dec 2015 07:34:16 +0000 (08:34 +0100)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
PR middle-end/25140
* ipa-reference.c (is_improper): Break out from ...
(is_proper_for_analysis): ... here; fix WRT aliases.
(analyze_function, generate_summary,
ipa_reference_write_optimization_summary,
ipa_reference_read_optimization_summary): Use ipa_reference_var_uid.
* ipa-refrence.h (ipa_reference_var_uid): New inline.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Use ipa_reference_var_uid.

* gcc.c-torture/execute/alias-3.c: New testcase.

From-SVN: r231442

8 years agoc-omp.c (c_finish_oacc_wait): Remove add_stmt() call.
Chung-Lin Tang [Wed, 9 Dec 2015 07:18:51 +0000 (07:18 +0000)]
c-omp.c (c_finish_oacc_wait): Remove add_stmt() call.

2015-12-09  Chung-Lin Tang  <cltang@codesourcery.com>

* c-family/c-omp.c (c_finish_oacc_wait): Remove add_stmt() call.
* c/c-parser.c (c_parser_oacc_wait): Add add_stmt() call.
* cp/parser.c (cp_parser_oacc_wait): Add finish_expr_stmt() call.

From-SVN: r231441

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Wed, 9 Dec 2015 05:07:18 +0000 (06:07 +0100)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
* symtab.c (symtab_node::equal_address_to): New parameter
MEMORY_ACCESSED.
* cgraph.h (symtab_node::equal_address_to): Update prototype.

From-SVN: r231440

8 years agorx.opt (-mjsr): Add.
DJ Delorie [Wed, 9 Dec 2015 02:59:05 +0000 (21:59 -0500)]
rx.opt (-mjsr): Add.

* config/rx/rx.opt (-mjsr): Add.
* config/rx/predicates.md (rx_call_operand): Avoid overflowing
calls when -mjsr.
* config/rx/rx.c (rx_function_ok_for_sibcall): Likewise for
overflowing jumps.
* doc/invoke.texi (-mjsr): Document it.

From-SVN: r231439

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Wed, 9 Dec 2015 02:15:05 +0000 (03:15 +0100)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
* lto-streamer.h (lto_symtab_merge_decls, lto_symtab_merge_symbols,
lto_symtab_prevailing_decl): MOve to lto-symtab.h.
* lto-streamer-out.c (DFS::DFS_write_tree_body): Check that
DECL_ABSTRACT_ORIGIN is not error_mark_node.

* lto-symtab.c: Include lto-symtab.h.
(lto_cgraph_replace_node): Do not merge profiles here.
(lto_symtab_merge_p): New function.
(lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
(lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
aliases.
(lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
(lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
* lto.c: Include lto-symtab.h
* lto-symtab.h: New.

From-SVN: r231438

8 years agoFix PR c++/68711 - [6 regression] SEGV on an invalid offsetof of a member
Martin Sebor [Wed, 9 Dec 2015 01:35:59 +0000 (01:35 +0000)]
Fix PR c++/68711 - [6 regression] SEGV on an invalid offsetof of a member
of a virtual base.

gcc/testsuite/ChangeLog:
* g++.dg/other/offsetof8.C: New test.

gcc/cp/ChangeLog:
* typeck.c (build_class_member_access_expr): Strip NOPs before
        testing a potentially null operand for equality to zero.

From-SVN: r231437

8 years agoFix misleading indentation in tree-nested.c
David Malcolm [Wed, 9 Dec 2015 00:46:31 +0000 (00:46 +0000)]
Fix misleading indentation in tree-nested.c

gcc/ChangeLog:
* tree-nested.c (convert_tramp_reference_stmt): Fix indentation.

From-SVN: r231436

8 years agoFix misleading indentation in tree-ssa-loop-unswitch.c
David Malcolm [Wed, 9 Dec 2015 00:44:14 +0000 (00:44 +0000)]
Fix misleading indentation in tree-ssa-loop-unswitch.c

gcc/ChangeLog:
* tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Fix
indentation.

From-SVN: r231435

8 years agoDaily bump.
GCC Administrator [Wed, 9 Dec 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r231434

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Tue, 8 Dec 2015 22:03:36 +0000 (23:03 +0100)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
* lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets
into the boundary.

From-SVN: r231430

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Tue, 8 Dec 2015 22:02:23 +0000 (23:02 +0100)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
* varpool.c (varpool_node::get_availability): Recurse only on
weakrefs with definition in the target.
(symbol_table::remove_unreferenced_decls): Keep aliases in the boundary.

From-SVN: r231429

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Tue, 8 Dec 2015 22:01:41 +0000 (23:01 +0100)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
* ipa-visibility.c (can_replace_by_local_alias): Look through transparent
aliaes; refuse weakrefs.
(update_visibility_by_resolution_info): Skip transparent aliases in the
analysis part

From-SVN: r231428

8 years agore PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
Jan Hubicka [Tue, 8 Dec 2015 22:00:55 +0000 (23:00 +0100)]
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)

PR ipa/61886
* symtab.c (symtab_node::verify_base): Fix thinko in a conditional.
(symtab_node::noninterposable_alias): Do not accept transparent
aliases.

From-SVN: r231427

8 years agonvptx.c (decl_chunk_size, [...]): Replace with ...
Nathan Sidwell [Tue, 8 Dec 2015 21:06:42 +0000 (21:06 +0000)]
nvptx.c (decl_chunk_size, [...]): Replace with ...

gcc/
* config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode,
decl_offset, init_part, object_size, object_finished): Replace
with ...
(struct init_frag): ... this new struct variable.
(begin_decl_field, output_decl_chunk): Replace with ...
(output_init_frag): ... this new function.
(nvptx_assemble_value): Reimplement.
(nvptx_assemble_integer, nvptx_output_skip): Adjust.
(nvptx_assemble_decl_begin, nvptx_assemble_decl_end): Adjust.
(nvptx_output_aligned_decl): Call nvptx_assemble_decl_end.

gcc/testsuite/
* gcc.target/nvptx/trailing-init.c: New.

From-SVN: r231426