Claudiu Zissulescu [Mon, 14 Dec 2015 09:46:13 +0000 (10:46 +0100)]
 
[ARC] Refurbish emitting DWARF2 related information when expanding epilogue.
gcc/
2015-12-14  Claudiu Zissulescu  <claziss@synopsys.com>
	    Andrew Burgess  <andrew.burgess@embecosm.com>
	* config/arc/arc.c (frame_move): Set frame related flag.
	(arc_save_restore): Emit epilogue related DWARF2 information.
	(arc_expand_epilogue): Likewise.
	* config/arc/arc.opt (mno-epilogue-cfi): Remove.
	(mepilogue-cfi): Likewise.
	* doc/invoke.texi: Remove -m[no]-epilogue-cfi documentation.
Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com>
From-SVN: r231608
Martin Jambor [Mon, 14 Dec 2015 09:33:12 +0000 (10:33 +0100)]
 
[PR 66616] Check for thunks when adding extra constants to clones
2015-12-14  Martin Jambor  <mjambor@suse.cz>
	PR ipa/66616
	* ipa-cp.c (propagate_constants_accross_call): Move thuk check...
	(call_passes_through_thunk_p): ...here.
	(find_more_scalar_values_for_callers_subset): Perform thunk checks
	like propagate_constants_accross_call does.
testsuite/
	* g++.dg/ipa/pr66616.C: New test.
From-SVN: r231607
Jakub Jelinek [Mon, 14 Dec 2015 08:04:37 +0000 (09:04 +0100)]
 
re PR rtl-optimization/68730 (wrong code at -O3 on x86_64-linux-gnu (in 32-bit mode))
	PR rtl-optimization/68730
	* cfgrtl.c (cfg_layout_finalize): Free dominators.
	* gcc.dg/pr68730.c: New test.
From-SVN: r231606
Thomas Preud'homme [Mon, 14 Dec 2015 02:05:16 +0000 (02:05 +0000)]
 
re PR testsuite/68629 (FAIL: c-c++-common/attr-simd-3.c)
2015-12-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    PR testsuite/68629
    * lib/target-supports.exp (check_effective_target_cilkplus): Also
    check that compiling with -fcilkplus does not give an error.
    * c-c++-common/attr-simd-3.c: Require cilkplus effective target.
From-SVN: r231605
GCC Administrator [Mon, 14 Dec 2015 00:16:17 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231604
Alexandre Oliva [Sun, 13 Dec 2015 20:37:26 +0000 (20:37 +0000)]
 
[PR67355] drop dummy zero from reverse VTA ops, fix infinite recursion
VTA's cselib expression hashing compares expressions with the same
hash before adding them to the hash table.  When there is a collision
involving a self-referencing expression, we could get infinite
recursion, in spite of the cycle breakers already in place.  The
problem is currently latent in the trunk, because by chance we don't
get a collision.
Such value cycles are often introduced by reverse_op; most often,
they're indirect, and then value canonicalization takes care of the
cycle, but if the reverse operation simplifies to the original value,
we used to issue a (plus V (const_int 0)), because at some point
adding a plain value V to a location list as a reverse_op equivalence
caused other problems.
This dummy zero, in turn, caused the value canonicalizer to not fully
realize the equivalence, leading to more complex graphs and,
occasionally, to infinite recursion when comparing such
value-plus-zero expressions recursively.
Simply using V solves the infinite recursion from the PR testcase,
since the extra equivalence and the preexisting value canonicalization
together prevent recursion while the unrecognized equivalence
wouldn't, but it exposed another infinite recursion in
memrefs_conflict_p: get_addr had a cycle breaker in place, to skip RTL
referencing values introduced after the one we're examining, but it
wouldn't break the cycle if the value itself appeared in the
expression being examined.
After removing the dummy zero above, this kind of cycle in the
equivalence graph is no longer introduced by VTA itself, but dummy
zeros are also present in generated code, such as in the 32-bit x86's
pro_epilogue_adjust_stack_si_add epilogue insn generated as part of
the builtin longjmp in _Unwind_RaiseException building libgcc's
unwind-dw2.o.  So, break the recursion cycle for them too.
for  gcc/ChangeLog
	PR debug/67355
	* var-tracking.c (reverse_op): Don't add dummy zero to reverse
	ops that simplify back to the original value.
	* alias.c (refs_newer_value_p): Cut off recursion for
	expressions containing the original value.
From-SVN: r231599
David Edelsohn [Sun, 13 Dec 2015 13:10:33 +0000 (13:10 +0000)]
 
* gcc.dg/graphite/pr42729.c: XFAIL AIX.
From-SVN: r231598
Kazu Kirata [Sun, 13 Dec 2015 13:06:12 +0000 (06:06 -0700)]
 
[PATCH][PR target/19201] Peephole to improve clearing items in structure for m68k
[PATCH][PR target/19201] Peephole to improve clearing items in structure for m68k
	* config/m68k/m68k.md (load feeding clear byte): New peephole2.
	* gcc.target/m68k/pr19201.c: New test.
From-SVN: r231597
Jeff Law [Sun, 13 Dec 2015 12:51:02 +0000 (05:51 -0700)]
 
[PATCH] m68k testsuite TLC
	* gcc.target/m68k/pr63347.c: Remove #include <stdlib> add -w to
	command line options.
	* gcc.target/m68k/
20090709-1.c: Adjust expected output.
From-SVN: r231596
 
Tom de Vries [Sun, 13 Dec 2015 12:43:21 +0000 (12:43 +0000)]
 
Handle sizes and kinds params of GOACC_paralllel in find_func_clobbers
2015-12-13  Tom de Vries  <tom@codesourcery.com>
	* tree-ssa-structalias.c (find_func_clobbers): Handle sizes and kinds
	parameters of GOACC_paralllel.
From-SVN: r231595
Jan Hubicka [Sun, 13 Dec 2015 02:13:15 +0000 (02:13 +0000)]
 
cgraph.c (cgraph_node::get_untransformed_body): Pass compressed flag to lto_get_section_data.
	* cgraph.c (cgraph_node::get_untransformed_body): Pass compressed
	flag to lto_get_section_data.
	* varpool.c (varpool_node::get_constructor): Likewise.
	* lto-section-in.c (lto_get_section_data): Add new flag decompress.
	(lto_free_section_data): Likewise.
	(lto_get_raw_section_data): New function.
	(lto_free_raw_section_data): New function.
	(copy_function_or_variable): Copy sections w/o decompressing.
	(lto_output_decl_state_refs): Picke compressed bit.
	* lto-streamer.h (lto_in_decl_state): New flag compressed.
	(lto_out_decl_state): Likewise.
	(lto_get_section_data, lto_free_section_data): Update prototypes
	(lto_get_raw_section_data, lto_free_raw_section_data): Declare.
	(lto_write_raw_data): Declare.
	(lto_begin_section): Remove FIXME.
	(lto_write_raw_data): New function.
	(lto_write_stream): Remove FIXME.
	(lto_new_out_decl_state): Set compressed flag.
From-SVN: r231594
Jan Hubicka [Sun, 13 Dec 2015 02:12:15 +0000 (03:12 +0100)]
 
cgraph.c (cgraph_node::get_untransformed_body): Pass compressed flag to lto_get_section_data.
	* cgraph.c (cgraph_node::get_untransformed_body): Pass compressed
	flag to lto_get_section_data.
	* varpool.c (varpool_node::get_constructor): Likewise.
	* lto-section-in.c (lto_get_section_data): Add new flag decompress.
	(lto_free_section_data): Likewise.
	(lto_get_raw_section_data): New function.
	(lto_free_raw_section_data): New function.
	(copy_function_or_variable): Copy sections w/o decompressing.
	(lto_output_decl_state_refs): Picke compressed bit.
	* lto-streamer.h (lto_in_decl_state): New flag compressed.
	(lto_out_decl_state): Likewise.
	(lto_get_section_data, lto_free_section_data): Update prototypes
	(lto_get_raw_section_data, lto_free_raw_section_data): Declare.
	(lto_write_raw_data): Declare.
	(lto_begin_section): Remove FIXME.
	(lto_write_raw_data): New function.
	(lto_write_stream): Remove FIXME.
	(lto_new_out_decl_state): Set compressed flag.
	* lto.c (lto_read_in_decl_state): Unpickle compressed bit.
From-SVN: r231593
David Edelsohn [Sun, 13 Dec 2015 01:55:02 +0000 (20:55 -0500)]
 
pr48549.C: XFAIL AIX.
        * g++.dg/opt/pr48549.C: XFAIL AIX.
        * g++.dg/abi/anon1.C: XFAIL AIX.
        * gcc.dg/graphite/pr42917.c: XFAIL AIX.
From-SVN: r231592
GCC Administrator [Sun, 13 Dec 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231591
Jan Hubicka [Sat, 12 Dec 2015 21:41:31 +0000 (22:41 +0100)]
 
tree.c (free_lang_data_in_type, [...]): Also free unnecesary type decls.
	* tree.c (free_lang_data_in_type, find_decls_types_r): Also free
	unnecesary type decls.
	* tree.h (is_redundant_typedef): Declare.
	* dwarf2out.c (is_redundant_typedef): Export; booleanize
From-SVN: r231588
Eric Botcazou [Sat, 12 Dec 2015 21:11:40 +0000 (21:11 +0000)]
 
Fix date
From-SVN: r231587
Eric Botcazou [Sat, 12 Dec 2015 21:10:35 +0000 (21:10 +0000)]
 
sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
	* config/sparc/sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
	* config/sparc/sparc.c (sparc_emit_set_const64): Remove code
	conditionalized on HOST_BITS_PER_WIDE_INT == 32.
	(sparc_cannot_force_const_mem) <CONST_WIDE_INT>: New case.
	<CONST_DOUBLE>: Remove VOIDmode test.
	(epilogue_renumber) <CONST_WIDE_INT>: New case.
	(sparc_print_operand): Remove support for CONST_DOUBLE with VOIDmode.
	(sparc_assemble_integer): Likewise.
	(set_extends): Likewise.
	(sparc_rtx_costs) <CONST_INT>: Use SMALL_INT.
	<CONST_WIDE_INT>: New case.
	<CONST_DOUBLE>: Remove support for VOIDmode.
	<MULT>: Remove support for CONST_DOUBLE with VOIDmode.
	* config/sparc/predicates.md (const_zero_operand): Add const_wide_int.
	(const_all_ones_operand): Likewise.
	(uns_small_int_operand): Remove const_double and code conditionalized
	on HOST_BITS_PER_WIDE_INT == 32.
	(arith_double_operand): Likewise.
	(arith_double_add_operand): Likewise.
	(input_operand): Remove support for CONST_DOUBLE with DImode.
	* config/sparc/sparc.md (DImode CONST_INT splitter): Remove code
	conditionalized on HOST_BITS_PER_WIDE_INT == 32.
	(DFmode CONST_DOUBLE splitter): Likewise.
	(*adddi3_insn_sp32): Likewise.
	(*subdi3_insn_sp32): Likewise.
	(DImode logical splitter): Likewise.
	(DImode CONST_DOUBLE splitter): Delete.
From-SVN: r231586
Tobias Burnus [Sat, 12 Dec 2015 19:00:32 +0000 (20:00 +0100)]
 
re PR fortran/45859 ([Coarray, F2008, IR] Rejects valid actuals to coarray dummies)
2014-12-12  Tobias Burnus  <burnus@net-b.de>
gcc/fortran
        PR fortran/45859
        * expr.c (gfc_is_simply_contiguous): Optionally permit array
        * elements.
        (gfc_check_pointer_assign): Update call.
        * interface.c (compare_parameter): Ditto.
        * trans-array.c (gfc_conv_array_parameter): Ditto.
        * trans-intrinsic.c (gfc_conv_intrinsic_transfer,
        conv_isocbinding_function): Ditto.
        * gfortran.h (gfc_is_simply_contiguous): Update prototype.
gcc/testsuite/
        PR fortran/45859
        * gcc/testsuite/gfortran.dg/coarray_args_2.f90: Remove dg-error.
From-SVN: r231585
Tobias Burnus [Sat, 12 Dec 2015 18:55:25 +0000 (19:55 +0100)]
 
re PR fortran/68815 (Error/warning diagnostic: '%s' should be converted to %qs-like or %<%s%>-like string strings)
2014-12-12  Tobias Burnus  <burnus@net-b.de>
gcc/c-family/
        PR fortran/68815
        * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
        specifiers (%d, %i,%u and %c).
gcc/fortran/
        PR fortran/68815
        * check.c (gfc_check_reshape): Replace %<%d%> by %qd.
        * matchexp.c (gfc_match_defined_op_name): Use %qc.
        * symbol.c (gfc_add_new_implicit_range,
        gfc_merge_new_implicit): Ditto.
From-SVN: r231584
David Edelsohn [Sat, 12 Dec 2015 13:12:10 +0000 (13:12 +0000)]
 
pr67808.c: Add -mlong-double-128 option.
        * gcc.target/powerpc/pr67808.c: Add -mlong-double-128 option.
        * g++.dg/cpp1y/pr58708.C: Test appropriate value for size of
        wchar_t.
From-SVN: r231583
Paolo Bonzini [Sat, 12 Dec 2015 08:29:27 +0000 (08:29 +0000)]
 
re PR sanitizer/68418 (ubsan complains about left shifts even with -fwrapv)
gcc:
	PR sanitizer/68418
	* c-family/c-ubsan.c (ubsan_instrument_shift): Disable
	sanitization of left shifts for wrapping signed types as well.
gcc/testsuite:
	PR sanitizer/68418
	* gcc.dg/ubsan/c99-wrapv-shift-1.c,
	gcc.dg/ubsan/c99-wrapv-shift-2.c: New testcases.
From-SVN: r231582
GCC Administrator [Sat, 12 Dec 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231580
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
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
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
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
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
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
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
Uros Bizjak [Fri, 11 Dec 2015 15:08:00 +0000 (16:08 +0100)]
 
* ChangeLog: Remove confusign PR marker.
From-SVN: r231567
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 11 Dec 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231551
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
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
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
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
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
 
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Christian Bruel [Thu, 10 Dec 2015 11:41:38 +0000 (12:41 +0100)]
 
fix typo in date format
From-SVN: r231504
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
Alan Lawrence [Thu, 10 Dec 2015 10:49:52 +0000 (10:49 +0000)]
 
Correct previous ChangeLog (targets is correct, not hosts)
From-SVN: r231501
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 10 Dec 2015 00:16:14 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231481
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
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
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
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
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