Andre Vehreschild [Tue, 29 Dec 2015 13:20:37 +0000 (14:20 +0100)]
 
re PR fortran/69011 ([OOP] ICE in gfc_advance_chain for ALLOCATE with SOURCE)
gcc/testsuite/ChangeLog:
2015-12-29  Andre Vehreschild  <vehre@gcc.gnu.org>
	PR fortran/69011
	* gfortran.dg/allocate_with_source_16.f90: New test.
gcc/fortran/ChangeLog:
2015-12-29  Andre Vehreschild  <vehre@gcc.gnu.org>
	PR fortran/69011
	* trans-stmt.c (gfc_trans_allocate): Unwrap a NOP_EXPR to make sure
	the actual type of the source=-expr is used when it is of class type.
	Furthermore prevent an ICE.
From-SVN: r231992
Tsvetkova Alexandra [Tue, 29 Dec 2015 12:52:42 +0000 (12:52 +0000)]
 
mpx_wrappers.c (__mpx_wrapper_memmove): Special handling of one pointer copy.
libmpx/
2015-12-29  Tsvetkova Alexandra  <aleksandra.tsvetkova@intel.com>
	* libmpxwrap/mpx_wrappers.c (__mpx_wrapper_memmove): Special
	handling of one pointer copy.
From-SVN: r231991
Uros Bizjak [Tue, 29 Dec 2015 10:32:21 +0000 (11:32 +0100)]
 
*.c: Remove extra braces from target selectors.
	* gcc.target/i386/*.c: Remove extra braces from target selectors.
From-SVN: r231990
Jerry DeLisle [Tue, 29 Dec 2015 05:17:42 +0000 (05:17 +0000)]
 
re PR libfortran/68987 (double free or corruption in _gfortran_st_write_done when a write statement to an internal file uses an invalid format and the ERR= specifier appears.)
2015-12-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	PR libfortran/68987
	io/format.c (format_error): Remove unneeded memory cleanup.
From-SVN: r231989
GCC Administrator [Tue, 29 Dec 2015 00:16:11 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231988
Uros Bizjak [Mon, 28 Dec 2015 22:38:29 +0000 (23:38 +0100)]
 
pr68473-1.c: Add dg-do compile directive.
	* gcc.target/i386/pr68473-1.c: Add dg-do compile directive.
From-SVN: r231984
Patrick Palka [Mon, 28 Dec 2015 22:00:14 +0000 (22:00 +0000)]
 
Tweak the documentation of libiberty's xcrc32 function
libiberty/ChangeLog;
	* crc32.c: In the documentation, don't refer to GDB's
	now-nonexistent crc32 implementation.  In the table-generation
	program embedded within the documentation, change the type of
	the induction variables i and j from int to unsigned int, to
	avoid undefined behavior.
From-SVN: r231983
John David Anglin [Mon, 28 Dec 2015 21:15:47 +0000 (21:15 +0000)]
 
coarray_40.f90: Link with libatomic if available.
	* gfortran.dg/coarray_40.f90: Link with libatomic if available.
From-SVN: r231981
John David Anglin [Mon, 28 Dec 2015 21:03:34 +0000 (21:03 +0000)]
 
pr49551.c: Skip on hppa*-*-hpux*.
	* gcc.dg/pr49551.c: Skip on hppa*-*-hpux*.
From-SVN: r231980
John David Anglin [Mon, 28 Dec 2015 20:38:31 +0000 (20:38 +0000)]
 
pr67609.c: Add -fno-common option on hppa*-*-hpux*.
	* gcc.dg/torture/pr67609.c: Add -fno-common option on hppa*-*-hpux*.
From-SVN: r231977
Bill Schmidt [Mon, 28 Dec 2015 16:37:03 +0000 (16:37 +0000)]
 
rs6000.c (rs6000_emit_le_vsx_move): Verify that this is never called when lxvx/stxvx are available.
[gcc]
2015-12-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	* config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Verify that
	this is never called when lxvx/stxvx are available.
	(pass_analyze_swaps::gate): Don't perform swap optimization when
	lxvx/stxvx are available.
	* config/rs6000/vector.md (mov<mode>): Don't call
	rs6000_emit_le_vsx_move when lxvx/stxvx are available.
	* config/rs6000/vsx.md (*p9_vecload_<mode>): New define_insn.
	(*p9_vecstore_<mode>): Likewise.
	(*vsx_le_perm_load_<mode>:VSX_LE): Disable when lxvx/stxvx are
	available.
	(*vsx_le_perm_load_<mode>:VSX_W): Likewise.
	(*vsx_le_perm_load_v8hi): Likewise.
	(*vsx_le_perm_load_v16qi): Likewise.
	(*vsx_le_perm_store_<mode>:VSX_LE): Likewise.
	([related define_splits]): Likewise.
	(*vsx_le_perm_store_<mode>:VSX_W): Likewise.
	([related define_splits]): Likewise.
	(*vsx_le_perm_store_v8hi): Likewise.
	([related define_splits]): Likewise.
	(*vsx_le_perm_store_v16qi): Likewise.
	([related define_splits]): Likewise.
	(*vsx_lxvd2x2_le_<mode>): Likewise.
	(*vsx_lxvd2x4_le_<mode>): Likewise.
	(*vsx_lxvd2x8_le_V8HI): Likewise.
	(*vsx_lvxd2x16_le_V16QI): Likewise.
	(*vsx_stxvd2x2_le_<mode>): Likewise.
	(*vsx_stxvd2x4_le_<mode>): Likewise.
	(*vsx_stxvd2x8_le_V8HI): Likewise.
	(*vsx_stxvdx16_le_V16QI): Likewise.
	([define_peepholes for vector load fusion]): Likewise.
[gcc/testsuite]
2015-12-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	* gcc.target/powerpc/p9-lxvx-stxvx-1.c: New.
	* gcc.target/powerpc/p9-lxvx-stxvx-2.c: New.
From-SVN: r231974
Nathan Sidwell [Mon, 28 Dec 2015 13:38:10 +0000 (13:38 +0000)]
 
nvptx.c (nvptx_output_call_insn): Expect hard regs.
	* config/nvptx/nvptx.c (nvptx_output_call_insn): Expect hard regs.
	* config/nvptx/nvptx.md (nvptx_reg_or_mem_operand): Rename to ...
	(nvptx_nonimmediate_operand): ... here.  Update all uses.
	(call_insn_operand): Use REG_P.
	(call_operation): Allow hard regs.
From-SVN: r231972
GCC Administrator [Mon, 28 Dec 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231970
Edward Smith-Rowland [Mon, 28 Dec 2015 00:07:19 +0000 (00:07 +0000)]
 
2015-12-27  Edward Smith-Rowland  <3dw4rd@verizon.net>
	* include/bits/c++0x_warning.h Remove experimental language.
From-SVN: r231966
Jan Hubicka [Sun, 27 Dec 2015 13:33:19 +0000 (14:33 +0100)]
 
ipa-visibility.c (function_and_variable_visibility): Do not dissolve comdat groups when in LTO mode.
	* ipa-visibility.c (function_and_variable_visibility): Do not
	dissolve comdat groups when in LTO mode.
From-SVN: r231965
GCC Administrator [Sun, 27 Dec 2015 00:16:13 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231964
GCC Administrator [Sat, 26 Dec 2015 00:16:14 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231960
Andreas Tobler [Fri, 25 Dec 2015 20:58:58 +0000 (21:58 +0100)]
 
freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64 defines.
2015-12-25  Andreas Tobler  <andreast@gcc.gnu.org>
    * config/rs6000/freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64
    defines. Use FBSD_DYNAMIC_LINKER instead.
    Rename and simplify LINK_OS_FREEBSD_SPEC_DEF32/64 to
    LINK_OS_FREEBSD_SPEC_DEF.
From-SVN: r231955
Peter Bergner [Fri, 25 Dec 2015 04:23:35 +0000 (22:23 -0600)]
 
Fix PR number in revision 231905 ChangeLogs.
From-SVN: r231954
Jason Merrill [Fri, 25 Dec 2015 03:25:09 +0000 (22:25 -0500)]
 
Correct use of __GXX_WEAK__ macro.
	* testsuite/ext/bitmap_allocator/check_deallocate_null.cc
	* testsuite/ext/bitmap_allocator/check_allocate_max_size.cc
From-SVN: r231953
Jason Merrill [Fri, 25 Dec 2015 03:24:51 +0000 (22:24 -0500)]
 
re PR c++/69005 (infinite(?) recursion in template instantiations)
	PR c++/69005
	* call.c (add_template_candidate_real): Don't try to deduce X(X).
From-SVN: r231952
GCC Administrator [Fri, 25 Dec 2015 00:16:15 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231951
Aditya Kumar [Thu, 24 Dec 2015 16:41:57 +0000 (16:41 +0000)]
 
Use const-ref instead of values for sese_l passed to functions.
gcc/ChangeLog:
2015-12-24  hiraditya  <hiraditya@msn.com>
        * graphite-sese-to-poly.c (build_loop_iteration_domains): Use ref instead of value.
        * sese.c (invariant_in_sese_p_rec): Use const ref instead of value.
        (scalar_evolution_in_region): Same
        * sese.h (bb_in_region): Same
        (bb_in_sese_p): Same.
        (stmt_in_sese_p): Same.
        (defined_in_sese_p): Same.
        (loop_in_sese_p): Same.
From-SVN: r231947
Aditya Kumar [Thu, 24 Dec 2015 16:41:46 +0000 (16:41 +0000)]
 
Fix computation of single entry/exit of a region.
For basic block with two preds, allow (as single entry) only when the other
edge is a backedge. Similarly for basic block with two succs,
allow (as single exit) only when the other edge is a back edge.
2015-12-21  Aditya Kumar  <hiraditya@msn.com>
        * graphite-scop-detection.c (scop_detection::get_nearest_dom_with_single_entry): Check l == l2.
        (scop_detection::get_nearest_pdom_with_single_exit): Same.
        (scop_detection::merge_sese): Whitespace.
        (scop_detection::add_scop): Comment.
        (build_scops): Whitespace.
From-SVN: r231946
Kirill Yukhin [Thu, 24 Dec 2015 11:34:19 +0000 (11:34 +0000)]
 
Add missing intrinsic file.
From-SVN: r231945
Kirill Yukhin [Thu, 24 Dec 2015 11:05:34 +0000 (11:05 +0000)]
 
Introduce support for PKU instructions.
gcc/
	* common/config/i386/i386-common.c (OPTION_MASK_ISA_PKU_SET): New.
	(OPTION_MASK_ISA_PKU_UNSET): Ditto.
	(ix86_handle_option): Handle OPT_mpku.
	* config.gcc: Add pkuintrin.h to i[34567]86-*-* and x86_64-*-*
	targets.
	* config/i386/cpuid.h (host_detect_local_cpu): Detect PKU feature.
	* config/i386/i386-c.c (ix86_target_macros_internal): Handle PKU ISA
	flag.
	* config/i386/i386.c (ix86_target_string): Add "-mpku" to
	ix86_target_opts.
	(ix86_option_override_internal): Define PTA_PKU, mention new key
	in skylake-avx512. Handle new ISA bits.
	(ix86_valid_target_attribute_inner_p): Add "pku".
	(enum ix86_builtins): Add IX86_BUILTIN_RDPKRU and IX86_BUILTIN_WRPKRU.
	(builtin_description bdesc_special_args[]): Add new built-ins.
	* config/i386/i386.h (define TARGET_PKU): New.
	(define TARGET_PKU_P): Ditto.
	* config/i386/i386.md (define_c_enum "unspecv"): Add UNSPEC_PKU.
	(define_expand "rdpkru"): New.
	(define_insn "*rdpkru"): Ditto.
	(define_expand "wrpkru"): Ditto.
	(define_insn "*wrpkru"): Ditto.
	* config/i386/i386.opt (mpku): Ditto.
	* config/i386/pkuintrin.h: New file.
	* config/i386/x86intrin.h: Include pkuintrin.h
	* doc/extend.texi: Describe new built-ins.
	* doc/invoke.texi: Describe new switches.
gcc/testsuite/
	* g++.dg/other/i386-2.C: Add -mpku.
	* g++.dg/other/i386-3.C: Ditto.
	* gcc.target/i386/rdpku-1.c: New test.
	* gcc.target/i386/sse-12.c: Add -mpku.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-22.c: Ditto.
	* gcc.target/i386/sse-33.c: Ditto.
	* gcc.target/i386/wrpku-1.c: New test.
From-SVN: r231944
Richard Henderson [Thu, 24 Dec 2015 00:45:15 +0000 (16:45 -0800)]
 
re PR ipa/67811 ([TM] ICE with try-block in transaction)
PR ipa/67811
 * tree-cfg.c (make_edges_bb): Add abort edge for outer transactions.
From-SVN: r231943
GCC Administrator [Thu, 24 Dec 2015 00:16:11 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231942
Martin Sebor [Wed, 23 Dec 2015 21:52:50 +0000 (21:52 +0000)]
 
PR c++/69023 - bitset whose name is used in constant-expression rejected
PR c++/69023 - bitset whose name is used in constant-expression rejected
* g++.dg/lookup/name-clash11.C: New test.
From-SVN: r231938
Nathan Sidwell [Wed, 23 Dec 2015 18:17:19 +0000 (18:17 +0000)]
 
cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL.
	gcc/
	* cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL.
	gcc/testsuite/
	* gcc.dg/alias-15.c: Revert.
From-SVN: r231931
Nathan Sidwell [Wed, 23 Dec 2015 16:55:31 +0000 (16:55 +0000)]
 
* config/nvptx/nvptx-protos.h
	(nvptx_maybe_convert_symbolic_operand): Delete prototype.
	* config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand): Delete.
	(nvptx_output_mov_insn): Record fnsym here.
	(nvptx_wpropagate): Don't create UNSPEC_TO_GENERIC unspec.
	* config/nvptx/nvptx.md (UNSPEC_TO_GENERIC): Delete.
	(symbolic_operand): Delete predicate.
	(nvptx_nonimmediate_operand): Delete predicate.
	(mov<mode>): Hard regs are perfectly ok here.
	(convaddr_<mode>): Delete.
From-SVN: r231930
James Greenhalgh [Wed, 23 Dec 2015 16:35:20 +0000 (16:35 +0000)]
 
[Patch testsuite] Skip gcc.dg/ifcvt-4.c for targets on which it may not work
gcc/testsuite/
	PR testsuite/68232
	* gcc.dg/ifcvt-4.c: Skip for arm*-*-* and powerpc64le*-*-*.
From-SVN: r231929
Nathan Sidwell [Wed, 23 Dec 2015 14:47:39 +0000 (14:47 +0000)]
 
alias.c (compare_base_decls): Simplify in-symtab check.
	gcc/
	* alias.c (compare_base_decls): Simplify in-symtab check.
	* cgraph.h (decl_in_symtab_p): Check DECL_IN_CONSTANT_POOL.
	testsuite/
	* gcc.dg/alias-15.c: New.
From-SVN: r231928
Dominik Vogt [Wed, 23 Dec 2015 11:06:20 +0000 (11:06 +0000)]
 
Fix broken handling of LABEL_REF in genrecog + genpreds.
gcc/ChangeLog
	* config/s390/predicates.md ("larl_operand"): Remove now superfluous
	const_int and const_double.
	* genrecog.c (safe_predicate_mode): Return false for VOIDmode
	LABEL_REFs even if the predicate does not handle const_int,
	const_double or const_wide_int.
	* genpreds.c (add_mode_tests): Treat LABEL_REF like CONST_INT.
From-SVN: r231927
Thomas Schwinge [Wed, 23 Dec 2015 11:01:18 +0000 (12:01 +0100)]
 
Merge OMP_CLAUSE_USE_DEVICE into OMP_CLAUSE_USE_DEVICE_PTR
	gcc/c/
	* c-parser.c (c_parser_oacc_clause_use_device): Merge function
	into...
	(c_parser_omp_clause_use_device_ptr): ... this function.  Adjust
	all users.
	gcc/
	* tree-core.h (enum omp_clause_code): Merge OMP_CLAUSE_USE_DEVICE
	into OMP_CLAUSE_USE_DEVICE_PTR.  Adjust all users.
From-SVN: r231926
Thomas Schwinge [Wed, 23 Dec 2015 10:39:58 +0000 (11:39 +0100)]
 
Don't run OpenACC C++ test twice
	gcc/testsuite/
	* g++.dg/dg.exp (tests): Prune "goacc/*" and "goacc-gomp/*" files.
From-SVN: r231925
David Sherwood [Wed, 23 Dec 2015 10:28:18 +0000 (10:28 +0000)]
 
iterators.md (VMAXMINFNM): New int iterator.
2015-12-23  David Sherwood  <david.sherwood@arm.com>
    gcc/
        * config/arm/iterators.md (VMAXMINFNM): New int iterator.
        (fmaxmin): New int attribute.
        (fmaxmin_op): Likewise.
        * config/arm/unspecs.md (UNSPEC_VMAXNM): New unspec.
        (UNSPEC_VMINNM): Likewise.
        * config/arm/neon.md (fmaxmin): New pattern.
        * config/arm/vfp.md (fmaxmin): Likewise.
    gcc/testsuite
        * gcc.target/arm/fmaxmin.x: New file used by tests below.
        * gcc.target/arm/fmaxmin.c: New test.
        * gcc.target/arm/vect-fmaxmin.c: Likewise.
From-SVN: r231924
H.J. Lu [Wed, 23 Dec 2015 09:49:28 +0000 (09:49 +0000)]
 
[PATCH] Allow indirect call via GOT for 64-bit Pmode x32
From: H.J. Lu  <hongjiu.lu@intel.com>
Since Pmode is 64-bit with -maddress-mode=long for x32, indirect call
via GOT slot doesn't need zero_extend.  This patch enables indirect call
via GOT for x32 with 64-bit Pmode.
gcc/
	PR target/66232
	* config/i386/constraints.md (Bs): Allow GOT slot for x32 with
	64-bit Pmode.
	(Bw): Likewise.
	(Bz): Likewise.
	* config/i386/predicates.md (call_insn_operand): Likewise.
	(sibcall_insn_operand): Likewise.
gcc/testsuite/
	PR target/66232
	* gcc.target/i386/pr66232-10.c: New test.
	* gcc.target/i386/pr66232-11.c: Likewise.
	* gcc.target/i386/pr66232-12.c: Likewise.
	* gcc.target/i386/pr66232-13.c: Likewise.
From-SVN: r231923
GCC Administrator [Wed, 23 Dec 2015 00:16:13 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231922
David Malcolm [Tue, 22 Dec 2015 22:27:45 +0000 (22:27 +0000)]
 
PR c/68473: sanitize source range-printing within certain macro expansions
gcc/ChangeLog:
	PR c/68473
	* diagnostic-show-locus.c (layout::layout): Make loc_range const.
	Sanitize the layout_range against ranges that finish before they
	start.
gcc/testsuite/ChangeLog:
	PR c/68473
	* gcc.dg/plugin/diagnostic-test-expressions-1.c (fminl): New decl.
	(TEST_EQ): New macro.
	(test_macro): New function.
	* gcc.target/i386/pr68473-1.c: New test case.
From-SVN: r231919
David Malcolm [Tue, 22 Dec 2015 22:06:00 +0000 (22:06 +0000)]
 
libcpp: Avoid unnecessary ad-hoc uses for large source files
libcpp/ChangeLog:
	* line-map.c (get_combined_adhoc_loc): Remove condition
	on locus < RESERVED_LOCATION_COUNT when considering
	whether a caret == start == finish location can be
	simply stored as the caret location.
From-SVN: r231918
Jeff Law [Tue, 22 Dec 2015 21:49:12 +0000 (14:49 -0700)]
 
[PATCH] Avoid unnecessary block copying in path splitting
	* gimple-ssa-split-paths.c (split_paths): Avoid unnecessary block
	copying.
From-SVN: r231915
Jason Merrill [Tue, 22 Dec 2015 21:46:50 +0000 (16:46 -0500)]
 
re PR c++/66921 (failure to determine size of static constexpr array that is nested within a templated class)
	PR c++/66921
	* decl.c (cp_complete_array_type): Allow an initializer that
	already has array type.
From-SVN: r231914
Jason Merrill [Tue, 22 Dec 2015 21:46:44 +0000 (16:46 -0500)]
 
re PR c++/67257 (Internal compiler error in retrieve_specialization)
	PR c++/67257
	* parser.c (cp_parser_single_declaration): Reject a class template
	that also declares a variable.
From-SVN: r231913
Jason Merrill [Tue, 22 Dec 2015 21:46:38 +0000 (16:46 -0500)]
 
re PR c++/67339 (Segfault when parsing a typename involving a template-alias)
	PR c++/67339
	* parser.c (cp_parser_elaborated_type_specifier): Use CLASS_TYPE_P
	rather than check for RECORD_TYPE.
From-SVN: r231912
Jakub Jelinek [Tue, 22 Dec 2015 20:47:58 +0000 (21:47 +0100)]
 
re PR c++/67376 (Comparison with pointer to past-the-end of array fails inside constant expression)
	PR c++/67376
	* fold-const.c (size_low_cst): Removed.
	(fold_comparison): For POINTER_PLUS_EXPR where base is ADDR_EXPR
	call get_inner_reference and handle INDIRECT_REF base of it.  Use
	offset_int for computation of the bitpos.
	(fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Formatting
	fixes for X +- Y CMP X and C - X CMP X folding.  Add X CMP X +- Y
	and X CMP C - X folding.
	* g++.dg/cpp0x/constexpr-67376.C: New test.
From-SVN: r231909
Richard Henderson [Tue, 22 Dec 2015 19:42:31 +0000 (11:42 -0800)]
 
Give EH_ELSE access to __builtin_eh_pointer
The must-not-throw wrapper for protect_cleanup_actions gets in
the way of being able to access __builtin_eh_pointer without
confusion as the identit of the exception to which we are
referring (b_eh_p has no usable argument up to this point).
Since EH_ELSE never comes from user derived code, let's drop
the c++ specific wrapping.
	* tree-eh.c (honor_protect_cleanup_actions): Do not wrap
	eh_else in a must-not-throw; set ehp_region for it too.
From-SVN: r231908
Richard Henderson [Tue, 22 Dec 2015 19:42:24 +0000 (11:42 -0800)]
 
re PR ipa/67811 ([TM] ICE with try-block in transaction)
PR ipa/67811
	* gimple.h (struct gtransaction): Add label_norm, label_uninst;
	replace label with label_over.
	(gimple_build_transaction): Remove label parameter.
	(gimple_transaction_label_norm): New.
	(gimple_transaction_label_uninst): New.
	(gimple_transaction_label_over): Rename from gimple_transaction_label.
	(gimple_transaction_label_norm_ptr): New.
	(gimple_transaction_label_uninst_ptr): New.
	(gimple_transaction_label_over_ptr): Rename from
	gimple_transaction_label_ptr.
	(gimple_transaction_set_label_norm): New.
	(gimple_transaction_set_label_uninst): New.
	(gimple_transaction_set_label_over): Rename from
	gimple_transaction_set_label.
	* gimple-pretty-print.c (dump_gimple_transaction): Update.
	* gimple-streamer-in.c (input_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
	* gimple-streamer-out.c (output_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
	* gimple-walk.c (walk_gimple_op) [GIMPLE_TRANSACTION]: Same.
	* tree-cfg.c (make_edges_bb) [GIMPLE_TRANSACTION]: Same.
	(cleanup_dead_labels) [GIMPLE_TRANSACTION]: Same.
	(verify_gimple_transaction): Same.
	(gimple_redirect_edge_and_branch) [GIMPLE_TRANSACTION]: Same.
	* tree-inline.c (remap_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
	* gimple.c (gimple_build_transaction): Remove label parameter;
	initialize all three label memebers.
	* gimplify.c (gimplify_transaction): Update call
	to gimple_build_transaction.
	* trans-mem.c (make_tm_uninst): New.
	(lower_transaction): Create uninstrumented code path here...
	(ipa_tm_scan_calls_transaction): ... not here.
	(ipa_uninstrument_transaction): Remove.
testsuite/
	* g++.dg/tm/noexcept-1.C: Update expected must_not_throw count.
	* g++.dg/tm/noexcept-4.C: Likewise.
	* g++.dg/tm/noexcept-5.C: Likewise.
	* g++.dg/tm/pr67811.C: New.
From-SVN: r231907
Peter Bergner [Tue, 22 Dec 2015 19:29:04 +0000 (13:29 -0600)]
 
Fix previous ChangeLog entry
From-SVN: r231906
Peter Bergner [Tue, 22 Dec 2015 19:27:14 +0000 (13:27 -0600)]
 
re PR target/68772 (Many -gstabs tests FAIL with Xcode 7 as)
gcc/
	PR target/68772
	* config/rs6000/rs6000.h (ASM_CPU_SPEC): For -mcpu=powerpc64le,
	pass %(asm_cpu_power8)/-mpwr8.
	* config/rs6000/aix53.h: Likewise.
	* config/rs6000/aix61.h: Likewise.
	* config/rs6000/aix71.h: Likewise.
gcc/testsuite/
	PR target/68772
	* gcc.target/powerpc/pr68872.c: New test.
From-SVN: r231905
Patrick Palka [Tue, 22 Dec 2015 17:49:21 +0000 (17:49 +0000)]
 
Fix read of uninitialized value in make_pack_expansion()
gcc/cp/ChangeLog:
	* pt.c (make_pack_expansion): Make sure to initialize
	ppd.type_pack_expansion_p.
From-SVN: r231904
H.J. Lu [Tue, 22 Dec 2015 15:38:25 +0000 (15:38 +0000)]
 
[PATCH] Use call-clobbered register for sibcall via GOT
From: H.J. Lu  <hongjiu.lu@intel.com>
Since sibcall never returns, we can only use call-clobbered register as
GOT base.  Otherwise, callee-saved register used as GOT base won't be
properly restored.  sibcall_memory_operand is changed to allow 32-bit
GOT slot only with pseudo register as GOT base for RTL expansion.  2
new patterns, *sibcall_GOT_32 and *sibcall_value_GOT_32, are added to
expose GOT base register to register allocator so that call-clobbered
register will be used for GOT base.
gcc/
	PR target/68937
	* config/i386/i386.c (ix86_function_ok_for_sibcall): Count
	call to global function via GOT slot as indirect call.
	* config/i386/i386.md (*sibcall_GOT_32): New pattern.
	(*sibcall_value_GOT_32): Likewise.
	* config/i386/predicates.md (sibcall_memory_operand): Rewrite.
	Allow 32-bit GOT slot only with pseudo register as GOT base.
	(GOT32_symbol_operand): New predicate.
gcc/testsuite/
	PR target/68937
	* gcc.target/i386/pr68937-1.c: New test.
	* gcc.target/i386/pr68937-2.c: Likewise.
	* gcc.target/i386/pr68937-3.c: Likewise.
	* gcc.target/i386/pr68937-4.c: Likewise.
	* gcc.target/i386/pr68937-5.c: Likewise.
	* gcc.target/i386/pr68937-6.c: Likewise.
From-SVN: r231903
Marek Polacek [Tue, 22 Dec 2015 15:23:21 +0000 (15:23 +0000)]
 
re PR c/69002 (C front end should warn about undefined access to atomic structure or union)
	PR c/69002
	* c-typeck.c (build_component_ref): Warn when acessing elements of
	atomic structures or unions.
	* gcc.dg/c11-atomic-1.c: Add dg-warnings.
	* gcc.dg/c11-atomic-4.c: New test.
From-SVN: r231902
Sujoy Saraswati [Tue, 22 Dec 2015 14:04:30 +0000 (14:04 +0000)]
 
This series of patches fix PR61441.
This series of patches fix PR61441. This patch avoids various transformations
with signaling NaN operands when flag_signaling_nans is on, to avoid folding
which would lose exceptions.
Bootstrapped & regression-tested on x86_64-linux-gnu.
gcc/
	* fold-const.c (const_binop): Convert sNaN to qNaN when
	flag_signaling_nans is off.
	(const_unop): Avoid the operation, other than NEGATE and
	ABS, if flag_signaling_nans is on and the operand is an sNaN.
	(fold_convert_const_real_from_real): Avoid the operation if
	flag_signaling_nans is on and the operand is an sNaN.
	(integer_valued_real_unary_p): Update comment stating it
	returns false for sNaN values.
	(integer_valued_real_binary_p, integer_valued_real_call_p): Same.
	(integer_valued_real_single_p): Same.
	(integer_valued_real_invalid_p, integer_valued_real_p): Same.
	* fold-const-call.c (fold_const_pow): Avoid the operation
	if flag_signaling_nans is on and the operand is an sNaN.
	(fold_const_builtin_load_exponent) Same.
	(fold_const_call_sss): Same for CASE_CFN_POWI.
	* gimple-fold.c (gimple_assign_integer_valued_real_p): Same.
	(gimple_call_integer_valued_real_p): Same.
	(gimple_phi_integer_valued_real_p): Same.
	(gimple_stmt_integer_valued_real_p): Same.
	* simplify-rtx.c (simplify_const_unary_operation): Avoid the
	operation if flag_signaling_nans is on and the operand is an sNaN.
	(simplify_const_binary_operation): Same.
	* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Avoid the
	operation if flag_signaling_nans is on and the operand is an sNaN.
	* gcc.dg/pr61441.c: New testcase.
From-SVN: r231901
Jonathan Wakely [Tue, 22 Dec 2015 11:37:07 +0000 (11:37 +0000)]
 
Add inline to std::__invfwd
	PR libstdc++/59768
	* include/std/functional (__invfwd): Add inline specifier.
From-SVN: r231900
Kyrylo Tkachov [Tue, 22 Dec 2015 10:42:47 +0000 (10:42 +0000)]
 
[combine] Check WORD_REGISTER_OPERATIONS normally rather than through preprocessor
	* combine.c (simplify_comparison): Convert preprocessor check of
	WORD_REGISTER_OPERATIONS into runtime check.
From-SVN: r231899
Eric Botcazou [Tue, 22 Dec 2015 09:52:13 +0000 (09:52 +0000)]
 
* gcc.dg/torture/pr68264.c: Tweak for Solaris.
From-SVN: r231898
Eric Botcazou [Tue, 22 Dec 2015 09:51:02 +0000 (09:51 +0000)]
 
re PR debug/60756 (var-tracking selects wrong registers)
	PR debug/60756
	* var-tracking.c (tracked_record_parameter_p): New predicate.
	(track_expr_p): Invoke it.
	(add_stores): Likewise.
From-SVN: r231897
Jeff Law [Tue, 22 Dec 2015 03:09:08 +0000 (20:09 -0700)]
 
dbgcnt.def (dom_unreachable_edges): New debug counter.
	* dbgcnt.def (dom_unreachable_edges): New debug counter.
	* tree-ssa-dom.c: Include dbgcnt.h
	(dom_opt_dom_walker::before_dom_children): Handle the new counter.
From-SVN: r231896
Ian Lance Taylor [Tue, 22 Dec 2015 01:58:17 +0000 (01:58 +0000)]
 
go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.
	* go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
	t_ and orig_type_ fields.  Add new two parameter constructor.  Add
	get_tree and get_decl methods.
	(Gcc_backend::var_expression): Pass location to var get_tree.
	(Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
	two parameter constructor for Bvariable.
	(Gcc_backend::global_variable_set_init): Don't remove
	VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
	(Gcc_backend::write_global_definitions): Likewise.
	(Gcc_backend::init_statement): Call var get_decl, not get_tree.
	(Gcc_backend::block): Likewise.
	(Gcc_backend::implicit_variable_set_init): Likewise.
	(Gcc_backend::immutable_struct_set_init): Likewise.
	(Gcc_backend::function_set_parameters): Likewise.
From-SVN: r231894
GCC Administrator [Tue, 22 Dec 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231892
Ian Lance Taylor [Tue, 22 Dec 2015 00:10:07 +0000 (00:10 +0000)]
 
go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized, add a VIEW_CONVERT_EXPR to the tree.
	* go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
	add a VIEW_CONVERT_EXPR to the tree.
	(Gcc_backend::global_variable_set_init): Remove any
	VIEW_CONVERT_EXPR.
	(Gcc_backend::write_global_definitions): Likewise.
From-SVN: r231888
Andrew Pinski [Mon, 21 Dec 2015 19:48:03 +0000 (19:48 +0000)]
 
aarch64-option-extensions.def (LSE): Change FEAT_STRING to "atomics".
2015-12-21  Andrew Pinski <apinski@cavium.com>
        * config/aarch64/aarch64-option-extensions.def (LSE): Change
        FEAT_STRING to "atomics".
From-SVN: r231887
David Malcolm [Mon, 21 Dec 2015 17:45:34 +0000 (17:45 +0000)]
 
C and C++ FE: fix source ranges for binary ops
gcc/c-family/ChangeLog:
	* c-common.c (binary_op_error): Convert first param from
	location_t to rich_location * and use it when emitting an error.
	* c-common.h (binary_op_error): Convert first param from
	location_t to rich_location *.
gcc/c/ChangeLog:
	* c-typeck.c: Include "gcc-rich-location.h".
	(build_binary_op): In the two places that call binary_op_error,
	create a gcc_rich_location and populate it with the location of
	the binary op and its two operands.
gcc/cp/ChangeLog:
	* typeck.c (cp_build_binary_op): Update for change in signature
	of build_binary_op.  Use error_at to replace an implicit use
	of input_location with param "location" in "invalid operands"
	error.
	(cp_build_binary_op): Replace an error with an error_at, using
	"location", rather than implicitly using input_location.
gcc/testsuite/ChangeLog:
	* g++.dg/diagnostic/bad-binary-ops.C: New test case.
	* gcc.dg/bad-binary-ops.c: New test case.
	gcc.dg/plugin/diagnostic_plugin_show_trees.c (get_range_for_expr):
	Remove material copied from gcc-rich-location.c
	(gcc_rich_location::add_expr): Likewise.
From-SVN: r231884
Pierre-Marie de Rodat [Mon, 21 Dec 2015 15:44:32 +0000 (15:44 +0000)]
 
DWARF: allow dynamic data member offsets for inheritance info
An unintended effect of the recently introduced machinery to handle
dynamic data member offsets in variable-length records (when
-fgnat-encodings=minimal) prevented GCC from describing correctly
inheritance information for classes in C++, which is a regression.
This change rectifies this machinery in this case.
gcc/ChangeLog:
	* dwarf2out.c (add_data_member_location_attribute): Do not
	disable dynamic data member offsets descriptions for TREE_BINFO
	members.
From-SVN: r231883
Eric Botcazou [Mon, 21 Dec 2015 15:15:50 +0000 (15:15 +0000)]
 
re PR tree-optimization/65337 (LTO bootstrap failure with Ada enabled)
	PR tree-optimization/65337
	* tree-ssa-pre.c (eliminate): Also clean up abnormal edges if need be.
From-SVN: r231882
Jonathan Wakely [Mon, 21 Dec 2015 14:16:36 +0000 (14:16 +0000)]
 
Rename test file that had incorrect bug number
	PR libstdc++/68982
	testsuite/20_util/function_objects/mem_fn/68276.cc: Rename to ...
	testsuite/20_util/function_objects/mem_fn/68982.cc: Correct bug number.
From-SVN: r231881
Jonathan Wakely [Mon, 21 Dec 2015 13:02:18 +0000 (13:02 +0000)]
 
libstdc++/68995 qualify calls to __callable_functor
	PR libstdc++/68995
	* include/std/functional (_function_handler, function): Qualify
	__callable_functor.
	* testsuite/20_util/function/68995.cc: New.
From-SVN: r231880
Jonathan Wakely [Mon, 21 Dec 2015 13:02:12 +0000 (13:02 +0000)]
 
libstdc++/68276 consistently qualify std::forward
	PR libstdc++/68276
	* include/std/functional (__invoke_impl, _Mem_fn::operator()): Qualify
	std::forward.
	testsuite/20_util/function_objects/mem_fn/68276.cc: New.
From-SVN: r231879
Eric Botcazou [Mon, 21 Dec 2015 11:41:34 +0000 (11:41 +0000)]
 
Fix typo
From-SVN: r231877
Dominik Vogt [Mon, 21 Dec 2015 11:40:42 +0000 (11:40 +0000)]
 
S/390: Fix base reg condition.
2015-12-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>
	* config/s390/s390.c (s390_emit_prologue): Fix base reg condition.
From-SVN: r231876
Ville Voutilainen [Mon, 21 Dec 2015 11:22:16 +0000 (13:22 +0200)]
 
re PR libstdc++/66693 ([C++17] std::tuple_size fails with const std::array)
PR libstdc++/66693.
	* include/std/tuple (tuple_element, tuple_size, tuple_element_t,
	__tuple_element_t): Move to...
	* include/std/utility: ...here.
	* testsuite/20_util/pair/astuple/astuple.cc: Adjust.
	* testsuite/20_util/pair/astuple/astuple_cpp14.cc: New.
	* testsuite/20_util/tuple/tuple_element.cc: Adjust.
	* testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
	* testsuite/20_util/tuple/tuple_size.cc: Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
	Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc:
	New.
	* testsuite/23_containers/array/tuple_interface/tuple_size.cc: Adjust.
From-SVN: r231875
Claudiu Zissulescu [Mon, 21 Dec 2015 09:53:01 +0000 (10:53 +0100)]
 
[ARC] Add and refurbish the builtins related functions.
gcc/
2015-12-21  Claudiu Zissulescu  <claziss@synopsys.com>
	* config/arc/builtins.def: New file.
	* config/arc/arc.c (arc_init_simd_builtins): Remove.
	(arc_builtins): Likewise.
	(TARGET_BUILTIN_DECL): Define.
	(arc_builtin_id): New enum.
	(arc_builtin_description): New structure.
	(arc_bdesc): New variable.
	(arc_tolower): New function.
	(def_mbuiltin): Remove.
	(arc_builtin_decl): New function.
	(arc_expand_builtin_aligned ): Likewise.
	(apply_GEN_FCN): Likewise.
	(arc_init_builtins): Refurbish.
	(arc_expand_builtin): Likewise.
	(simd_insn_args_type): Remove.
	(builtin_description): Likewise
	(arc_simd_builtin_desc_list): Likewise.
	(arc_expand_simd_builtin): Likewise.
	(arc_process_double_reg_moves): Use the new builtin name format.
	* config/arc/arc.md (unspec): New builtin function UNSPEC codes.
	(vunspec): New builtin function VUNSPEC codes.
	(UNSPEC_SWAP, UNSPEC_MUL64, UNSPEC_MULU64, UNSPEC_DIVAW)
	(UNSPEC_DIRECT, UNSPEC_LP, UNSPEC_CASESI, VUNSPEC_RTIE)
	(VUNSPEC_SYNC, VUNSPEC_BRK, VUNSPEC_FLAG, VUNSPEC_SLEEP)
	(VUNSPEC_SWI, VUNSPEC_CORE_READ, VUNSPEC_CORE_WRITE, VUNSPEC_LR)
	(VUNSPEC_SR, VUNSPEC_TRAP_S, VUNSPEC_UNIMP_S, VUNSPEC_NOP)
	(UNSPEC_ARC_MEMBAR,VUNSPEC_ARC_CAS, VUNSPEC_ARC_LL)
	(VUNSPEC_ARC_SC, VUNSPEC_ARC_EX, VUNSPEC_DEXCL)
	(VUNSPEC_DEXCL_NORES, VUNSPEC_LR_HIGH): Remove.
	(mul64, mulu64): Remove patterns.
	(store_direct, *movdf_insn_nolrsr, casesi, casesi_load)
	(casesi_compact_jump, nopv, swap, divaw, flag, brk, rtie, sync)
	(swi, sleep, core_read, core_write, lr, sr, trap_s, unimp_s)
	(doloop_begin_i): Use new builtin function code naming.
	(kflag, clri, ffs, ffs_f, ffssi2, fls, seti): New patterns.
	* config/arc/builtins.def: New file.
	* config/arc/fpx.md: Use new builtin function code naming.
	* config/arc/simdext.md: New SIMD builtin function UNSPEC
	codes. Use them in the SIMD patterns.
gcc/testsuite
2015-12-21  Claudiu Zissulescu  <claziss@synopsys.com>
	* gcc.target/arc/builtin_general.c: New test.
	* gcc.target/arc/builtin_simd.c: Likewise.
	* gcc.target/arc/builtin_special.c: Likewise.
From-SVN: r231874
Nick Clifton [Mon, 21 Dec 2015 08:23:35 +0000 (08:23 +0000)]
 
re PR other/66827 (left shifts of negative value warnings due to C++14 switch)
	PR 66827
	* regex.c (EXTRACT_NUMBER): Cast sign byte to unsigned before left
	shifting.
From-SVN: r231873
Sujoy Saraswati [Mon, 21 Dec 2015 07:59:30 +0000 (07:59 +0000)]
 
This series of patches fix PR61441.
This series of patches fix PR61441. This patch makes resulting NaN values
to be quiet NaN for real value operations, irrespective of the flag_signaling_nans
flag. The caller has the responsibility to avoid the operation if flag_signaling_nans
is on.
gcc/
	* real.c (do_add): Make resulting NaN value to be qNaN.
	(do_multiply, do_divide, do_fix_trunc): Same.
	(real_arithmetic, real_ldexp, real_convert): Same.
	(real_isinteger): Updated comment stating it returns false for sNaN.
From-SVN: r231872
Jeff Law [Mon, 21 Dec 2015 04:49:02 +0000 (21:49 -0700)]
 
re PR tree-optimization/64910 (tree reassociation results in poor code)
	PR tree-optimization/64910
	* config/i386/i386.md (testqi_ext_3): Allow HImode.
	PR tree-optimization/64910
	* gcc.target/i386/bittest.c: New test.
From-SVN: r231871
Jason Merrill [Mon, 21 Dec 2015 03:04:08 +0000 (22:04 -0500)]
 
re PR c++/67411 (internal compiler error: in tsubst_copy, at cp/pt.c:13473)
	PR c++/67411
	* decl2.c (decl_maybe_constant_var_p): Use DECL_HAS_VALUE_EXPR_P.
From-SVN: r231869
GCC Administrator [Mon, 21 Dec 2015 00:16:11 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231867
Andrew Pinski [Sun, 20 Dec 2015 22:01:32 +0000 (14:01 -0800)]
 
2015-12-20  Andrew Pinsi  <apinski@cavium.com>
        * config/aarch64/atomics.md
        (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): Add early clobber
        to the scratch register.
From-SVN: r231864
Jason Merrill [Sun, 20 Dec 2015 18:38:37 +0000 (13:38 -0500)]
 
re PR c++/67411 (internal compiler error: in tsubst_copy, at cp/pt.c:13473)
	PR c++/67411
	* lambda.c (generic_lambda_fn_p): Split out from...
	(maybe_add_lambda_conv_op): ...here.
	* semantics.c (process_outer_var_ref): Don't defer maybe-constant
	variables in a generic lambda.
	* pt.c (instantiate_non_dependent_or_null): New.
	* init.c (constant_value_1): Use it.
	* cp-tree.h: Declare it and generic_lambda_fn_p.
From-SVN: r231863
Jason Merrill [Sun, 20 Dec 2015 18:38:30 +0000 (13:38 -0500)]
 
re PR c++/67411 (internal compiler error: in tsubst_copy, at cp/pt.c:13473)
	PR c++/67411
	* decl2.c (decl_maybe_constant_var_p): A proxy isn't constant.
From-SVN: r231862
Eric Botcazou [Sun, 20 Dec 2015 10:38:09 +0000 (10:38 +0000)]
 
utils2.c (gnat_rewrite_reference): New case identical to FLOAT_EXPR.
	* gcc-interface/utils2.c (gnat_rewrite_reference) <REALPART_EXPR>: New
	case identical to FLOAT_EXPR.
	<IMAGPART_EXPR>: Likewise.
From-SVN: r231861
Eric Botcazou [Sun, 20 Dec 2015 10:30:27 +0000 (10:30 +0000)]
 
decl.c (gnat_to_gnu_entity): During layout in type_annotate_only mode...
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: During
	layout in type_annotate_only mode, skip discriminants of derived
	tagged types renaming those of the parent type.
	In type_annotate_only mode, if the type is tagged, do not override a
	size clause but take into account the alignment of the tag.
	(annotate_rep): In type_annotate_only mode, deal with  discriminants
	of derived tagged types renaming those of the parent type.
From-SVN: r231860
Eric Botcazou [Sun, 20 Dec 2015 10:27:37 +0000 (10:27 +0000)]
 
utils.c (maybe_pad_type): In type_annotate_only mode...
	* gcc-interface/utils.c (maybe_pad_type): In type_annotate_only mode,
	retrieve the component type if this is an array and do not issue the
	warning for concurrent types.
From-SVN: r231859
Sujoy Saraswati [Sun, 20 Dec 2015 09:20:57 +0000 (09:20 +0000)]
 
This series of patches fix PR61441.
This series of patches fix PR61441. This patch removes flag_errno_math check
for RINT, treating it similar to nearbyint.
Bootstrapped & regression-tested on x86_64-linux-gnu.
gcc/
	* match.pd (f(x) -> x): Removed flag_errno_math check for RINT.
From-SVN: r231858
Sujoy Saraswati [Sun, 20 Dec 2015 09:13:51 +0000 (09:13 +0000)]
 
This series of patches are for fixing PR61441.
This series of patches are for fixing PR61441. This patch modifies code to use
REAL_VALUE_ISSIGNALING_NAN instead of REAL_VALUE_ISNAN to avoid the operatins
only for sNaN operands.
Bootstrapped & regression-tested on x86_64-linux-gnu.
gcc/
	* fold-const.c (const_binop): Use REAL_VALUE_ISSIGNALING_NAN instead
	of REAL_VALUE_ISNAN to avoid the operation for sNaN operands.
	* simplify-rtx.c (simplify_const_binary_operation): Same.
From-SVN: r231857
Jan Hubicka [Sun, 20 Dec 2015 05:50:29 +0000 (06:50 +0100)]
 
re PR tree-optimization/65337 (LTO bootstrap failure with Ada enabled)
	PR middle-end/65337
	* tree-ssa-dce.c (bb_postorder): New static var.
	(forward_edge_to_pdom): Remove.
	(remove_dead_stmt): Instead of redirecting edges only keep an edge
	on a path to nearest live BB.
	(eliminate_unnecessary_stmts): Free bb_postorder.
	* cfganal.c (dfs_find_deadend): Add START_POINTES.
	* cfganal.h (inverted_post_order_compute): Update prototype.
From-SVN: r231856
GCC Administrator [Sun, 20 Dec 2015 00:16:13 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231855
Eric Botcazou [Sat, 19 Dec 2015 21:58:02 +0000 (21:58 +0000)]
 
re PR rtl-optimization/68910 (huge stack frame and poor code with instruction scheduling at -O2)
	PR rtl-optimization/68910
	* emit-rtl.c (set_unique_reg_note) <>REG_EQUAL>: Add bypass for USEs.
	* config/sparc/sparc.md (anddi3): Enable only in 64-bit mode.
	(iordi3): Likewise.
	(xordi3): Likewise.
	(one_cmpldi2): Likewise.
	(*anddi3_sp32): Delete.
	(*and_not_di_sp32): Likewise.
	(*iordi3_sp32): Likewise.
	(*or_not_di_sp32): Likewise.
	(*xordi3_sp32): Likewise.
	(*xor_not_di_sp32): Likewise.
	(32-bit DImode logical operations splitter): Likewise.
	(*one_cmpldi2_sp32): Likewise.
From-SVN: r231851
Andrew Burgess [Sat, 19 Dec 2015 19:29:12 +0000 (19:29 +0000)]
 
arc.md (*storeqi_update): Use 'memory_operand' and fix RTL pattern to include the plus.
2015-12-19  Andrew Burgess  <andrew.burgess@embecosm.com>
        * config/arc/arc.md (*storeqi_update): Use 'memory_operand' and
        fix RTL pattern to include the plus.
        (*storehi_update): Likewise.
        (*storesi_update): Likewise.
        (*storesf_update): Likewise.
        * config/arc/predicates.md (store_update_operand): Delete.
From-SVN: r231850
Andrew Burgess [Sat, 19 Dec 2015 19:22:51 +0000 (19:22 +0000)]
 
arc.md (*loadqi_update): Use new 'any_mem_operand' and fix RTL pattern to include the plus.
gcc:
        2015-12-19  Andrew Burgess  <andrew.burgess@embecosm.com>
        * config/arc/arc.md (*loadqi_update): Use new 'any_mem_operand'
        and fix RTL pattern to include the plus.
        (*load_zeroextendqisi_update): Likewise.
        (*load_signextendqisi_update): Likewise.
        (*loadhi_update): Likewise.
        (*load_zeroextendhisi_update): Likewise.
        (*load_signextendhisi_update): Likewise.
        (*loadsi_update): Likewise.
        (*loadsf_update): Likewise.
        * config/arc/predicates.md (load_update_operand): Delete.
        (any_mem_operand): New predicate.
gcc/testsuite:
        2015-12-19  Andrew Burgess  <andrew.burgess@embecosm.com>
        * gcc.target/arc/load-update.c: New file.
From-SVN: r231849
Sujoy Saraswati [Sat, 19 Dec 2015 04:57:57 +0000 (04:57 +0000)]
 
This series of patches fix PR61441. This patch adds REAL_VALUE_ISSIGNALING_NAN.
Bootstrapped & regression-tested on x86_64-linux-gnu.
gcc/
	* real.c (real_issignaling_nan): New.
	* real.h (real_issignaling_nan, REAL_VALUE_ISSIGNALING_NAN): New.
From-SVN: r231848
John David Anglin [Sat, 19 Dec 2015 01:50:00 +0000 (01:50 +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): Reorganize handling of
	floating-point reloads. Only reload operands that are not valid
	floating-point memory operands.
From-SVN: r231845
GCC Administrator [Sat, 19 Dec 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231844
Patrick Palka [Fri, 18 Dec 2015 23:16:33 +0000 (23:16 +0000)]
 
Fix PR c++/68978 (bogus error: lvalue required as left operand of assignment)
gcc/cp/ChangeLog:
	PR c++/68978
	* tree.c (lvalue_kind) [MODOP_EXPR]: New case.
gcc/testsuite/ChangeLog:
	PR c++/68978
	* g++.dg/template/pr68978.C: New test.
From-SVN: r231841
Jakub Jelinek [Fri, 18 Dec 2015 22:16:24 +0000 (23:16 +0100)]
 
re PR debug/68860 (FAIL: gcc.dg/guality/pr36728-1.c   -flto -O3 -g  line 17 arg1 == 1)
	PR debug/68860
	* ipa-split.c (split_function): Only perform caller side
	modifications for decl_debug_args here.
	* cgraph.c: Include gimplify.h.
	(cgraph_edge::redirect_call_stmt_to_callee): Add caller side
	debug stmts for decl_debug_args.  Spelling fix in a comment.
	* tree-inline.c (tree_function_versioning): Populate decl_debug_args
	for args_to_skip arguments and add callee side debug stmts.
	Formatting fixes.  Avoid shadowing i variable.
	* gcc.dg/guality/pr68860-1.c: New test.
	* gcc.dg/guality/pr68860-2.c: New test.
From-SVN: r231840
Ville Voutilainen [Fri, 18 Dec 2015 21:27:53 +0000 (23:27 +0200)]
 
Fix a regression introduced by the fix of libstdc++/68276.
2015-12-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
	Fix a regression introduced by the fix of libstdc++/68276.
	* src/c++11/ios.cc (_M_grow_words): Catch bad_alloc again so that
	bad_array_new_length is handled properly.
From-SVN: r231839
Nathan Sidwell [Fri, 18 Dec 2015 21:14:58 +0000 (21:14 +0000)]
 
target-supports.exp (check_effective_target_cilkplus): Not nvptx.
	* lib/target-supports.exp (check_effective_target_cilkplus): Not nvptx.
	* c-c++-common/attr-simd-3.c: Require cilkplus.
	* gcc.dg/graphite/id-28.c: Likewise.
From-SVN: r231838
Nathan Sidwell [Fri, 18 Dec 2015 20:18:42 +0000 (20:18 +0000)]
 
nvptx.c (nvptx_maybe_convert_symbolic_operand): Remove UNSPEC_TO_GENERIC generation.
	* config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand):
	Remove UNSPEC_TO_GENERIC generation.
	(nvptx_output_mov_insn): Generate cvta for symbolic src.
	* config/nvptx/nvptx.md (nvptx_register_operand): Allow hard reg.
	(nvptx_reg_or_mem_operand): Likewise.
	(nvptx_nonmemory_operand): Likewise.
	(nvptx_general_operand): Delete.
	(*mov<mode>_insn): Use nonimmediate_operand, permit hardregs.
	(oacc_fork, oacc_join): Use general_operand.
From-SVN: r231837
Bernd Schmidt [Fri, 18 Dec 2015 19:48:26 +0000 (19:48 +0000)]
 
Ignore -fdebug-prefix-map in producer string (by Daniel Kahn Gillmor)
	* dwarf2out.c (gen_producer_string): Ignore -fdebug-prefix-map.
testsuite/
	* gcc.dg/debug/dwarf2/prod-options.c: New test.
From-SVN: r231835