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

From-SVN: r231580

8 years ago[PATCH][PR tree-optimization/68844] Fix testcase expected output
Jeff Law [Fri, 11 Dec 2015 23:18:22 +0000 (16:18 -0700)]
[PATCH][PR tree-optimization/68844] Fix testcase expected output

PR tree-optimization/68844
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output.

2015-12-11  Jan Beulich  <jbeulich@suse.com>

From-SVN: r231577

8 years agore PR middle-end/68215 (FAIL: c-c++-common/opaque-vector.c -std=c++11 (internal...
Eric Botcazou [Fri, 11 Dec 2015 21:58:48 +0000 (21:58 +0000)]
re PR middle-end/68215 (FAIL: c-c++-common/opaque-vector.c  -std=c++11 (internal compiler error))

PR middle-end/68215
* tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
Do not gimplify the result.
(do_unop): Adjust call to tree_vec_extract.
(do_binop): Likewise.
(do_compare): Likewise.
(do_plus_minus): Likewise.
(do_negate): Likewise.
(expand_vector_condition): Likewise.
(do_cond): Likewise.

From-SVN: r231575

8 years agoFix std::invoke support for reference_wrappers
Jonathan Wakely [Fri, 11 Dec 2015 21:45:51 +0000 (21:45 +0000)]
Fix std::invoke support for reference_wrappers

PR libstdc++/59768
* include/std/functional (_Unwrap, __invfwd): Define.
(__invoke_impl): Remove reference_wrapper overloads and use __invfwd.
* include/std/type_traits (__result_of_memobj, __result_of_memfun):
Add partial specializations for const reference_wrappers and simplify.
* testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors.
* testsuite/20_util/function_objects/invoke/59768.cc: New.

From-SVN: r231574

8 years agonvptx.h (RETURN_ADDR_REGNO): Delete.
Nathan Sidwell [Fri, 11 Dec 2015 18:06:37 +0000 (18:06 +0000)]
nvptx.h (RETURN_ADDR_REGNO): Delete.

* config/nvptx/nvptx.h (RETURN_ADDR_REGNO): Delete.
(OUTGOING_ARG_POINTER_REGNUM): Delete.
(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
(REGISTER_NAMES): Name static chain regs.
* config/nvptx/nvptx.c (nvptx_function_arg): Add ARG_UNUSED, merge
ifs.
(nvptx_incoming_arg): Merge ifs.
(nvptx_function_arg_boundary): Reimplement to avoid mixing units.
(nvptx_function_value): Tail call nvptx_libcall_value.
(nvptx_pass_by_reference): Add ARG_UNUSED.
(nvptx_static_chain): Use conditional op.
(nvptx_handle_kernel_attribute): Use VOID_TYPE_P.

From-SVN: r231572

8 years agore PR target/26427 (with -fsection-anchors with zero sized structs)
Jan-Benedict Glaw [Fri, 11 Dec 2015 16:39:49 +0000 (16:39 +0000)]
re PR target/26427 (with -fsection-anchors with zero sized structs)

2015-12-11  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
    Dominique d'Humieres  <dominiq@lps.ens.fr>

PR target/26427
PR target/33120
PR testsuite/35710

* config/darwin.c (darwin_use_anchors_for_symbol_p): Fix indention and
trailing whitespace.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r231571

8 years ago* gcc.dg/pr59605-1.c: Reduce iterations for nvptx.
Nathan Sidwell [Fri, 11 Dec 2015 15:55:48 +0000 (15:55 +0000)]
* gcc.dg/pr59605-1.c: Reduce iterations for nvptx.

From-SVN: r231570

8 years agoavoid alignment of static variables affecting stack's
Jan Beulich [Fri, 11 Dec 2015 15:53:24 +0000 (15:53 +0000)]
avoid alignment of static variables affecting stack's

Function (or more narrow) scope static variables (as well as others not
placed on the stack) should also not have any effect on the stack
alignment. I noticed the issue first with Linux'es dynamic_pr_debug()
construct using an 8-byte aligned sub-file-scope local variable.

According to my checking bad behavior started with 4.6.x (4.5.3 was
still okay), but generated code got quite a bit worse as of 4.9.0.

gcc/
2015-12-11  Jan Beulich  <jbeulich@suse.com>

* cfgexpand.c (expand_one_var): Exit early for static and
external variables when adjusting stack alignment related.

gcc/testsuite/
2015-12-11  Jan Beulich  <jbeulich@suse.com>

* gcc.c-torture/execute/stkalign.c: New.

From-SVN: r231569

8 years ago* ChangeLog: Remove confusign PR marker.
Uros Bizjak [Fri, 11 Dec 2015 15:08:00 +0000 (16:08 +0100)]
* ChangeLog: Remove confusign PR marker.

From-SVN: r231567

8 years agoS/390: Wide int support.
Dominik Vogt [Fri, 11 Dec 2015 14:43:26 +0000 (14:43 +0000)]
S/390: Wide int support.

gcc/ChangeLog

* config/s390/s390.c (s390_rtx_costs)
(s390_cannot_force_const_mem, legitimate_pic_operand_p)
(s390_preferred_reload_class, s390_reload_symref_address)
(legitimate_reload_constant_p, print_operand): Wide int support.
* config/s390/predicates.md ("const0_operand", "constm1_operand")
("consttable_operand"): Likewise.
("larl_operand"): Add a comment.
* config/s390/s390.h (TARGET_SUPPORTS_WIDE_INT): Enable wide int
support.

From-SVN: r231566

8 years agoMakefile.am (libmpx_la_LDFLAGS): Add -version-info option.
Tsvetkova Alexandra [Fri, 11 Dec 2015 14:38:53 +0000 (14:38 +0000)]
Makefile.am (libmpx_la_LDFLAGS): Add -version-info option.

libmpx/

2015-12-11  Tsvetkova Alexandra  <aleksandra.tsvetkova@intel.com>

* mpxrt/Makefile.am (libmpx_la_LDFLAGS): Add -version-info
option.
* libmpxwrap/Makefile.am (libmpx_la_LDFLAGS): Likewise and
fix include path.
* libmpx/Makefile.in: Regenerate.
* mpxrt/Makefile.in: Regenerate.
* libmpxwrap/Makefile.in: Regenerate.
* mpxrt/libtool-version: New version.
* libmpxwrap/libtool-version: Likewise.
* mpxrt/libmpx.map: Add new version and a new symbol.
* mpxrt/mpxrt.h: New file.
* mpxrt/mpxrt.c (NUM_L1_BITS): Moved to mpxrt.h.
(REG_IP_IDX): Moved to mpxrt.h.
(REX_PREFIX): Moved to mpxrt.h.
(XSAVE_OFFSET_IN_FPMEM): Moved to mpxrt.h.
(MPX_L1_SIZE): Moved to mpxrt.h.
* libmpxwrap/mpx_wrappers.c (mpx_pointer): New type.
(mpx_bt_entry): New type.
(alloc_bt): New function.
(get_bt): New function.
(copy_if_possible): New function.
(copy_if_possible_from_end): New function.
(move_bounds): New function.
(__mpx_wrapper_memmove): Use move_bounds to copy bounds.

gcc/testsuite/

2015-12-11  Tsvetkova Alexandra  <aleksandra.tsvetkova@intel.com>

* gcc.target/i386/mpx/memmove-1.c: New test.
* gcc.target/i386/mpx/memmove-2.c: New test.

From-SVN: r231565

8 years agonvptx.h (TARGET_SUPPORTS_WIDE_INT): Define.
Nathan Sidwell [Fri, 11 Dec 2015 13:52:05 +0000 (13:52 +0000)]
nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define.

gcc/
* config/nvptx/nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define.
* config/nvptx/nvptx.c (nvptxx_assemble_integer): Return false for
unrecognizable RTX.

gcc/testsuite/
* gcc.target/nvptx/ary-init.c: Repair dg_final syntax.
* gcc.target/nvptx/decl-init.c: Likewise.  Add TI case.

From-SVN: r231564

8 years agore PR libstdc++/68139 (rethrow_if_nested should tolerate overloaded unary operator&)
Ville Voutilainen [Fri, 11 Dec 2015 12:04:23 +0000 (14:04 +0200)]
re PR libstdc++/68139 (rethrow_if_nested should tolerate overloaded unary operator&)

PR libstdc++/68139

From-SVN: r231562

8 years agoRemove unpaired TERMINATE_PASS_LIST in passes.def
Tom de Vries [Fri, 11 Dec 2015 11:33:44 +0000 (11:33 +0000)]
Remove unpaired TERMINATE_PASS_LIST in passes.def

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

* passes.def: Remove unpaired TERMINATE_PASS_LIST.

From-SVN: r231561

8 years agohash-map.h (hash_map::hash_map): Gather statistics only when GATHER_STATISTICS is...
Michael Matz [Fri, 11 Dec 2015 11:29:02 +0000 (11:29 +0000)]
hash-map.h (hash_map::hash_map): Gather statistics only when GATHER_STATISTICS is true.

* hash-map.h (hash_map::hash_map): Gather statistics only
when GATHER_STATISTICS is true.
* hash-set.h (hash_set::hash_set): Ditto.
* hash-table.h (hash_table::hash_table): Ditto.
(hash_table::create_ggc): Ditto.

From-SVN: r231560

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