platform/upstream/gcc.git
8 years ago[PATCH][PR tree-optimization/69270] Exploit VRP information in DOM
Jeff Law [Thu, 14 Jan 2016 07:38:18 +0000 (00:38 -0700)]
[PATCH][PR tree-optimization/69270] Exploit VRP information in DOM

PR tree-optimization/69270
* tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
(record_edge_info): Use it.  Convert boolean_{true,false}_node
to the type of op0.

PR tree-optimization/69270
* gcc.dg/tree-ssa/pr69270.c: New test.

From-SVN: r232361

8 years agoDaily bump.
GCC Administrator [Thu, 14 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232359

8 years agore PR c++/66487 (sanitizer/warnings for lifetime DSE)
Jan Hubicka [Wed, 13 Jan 2016 23:47:45 +0000 (00:47 +0100)]
re PR c++/66487 (sanitizer/warnings for lifetime DSE)

PR ipa/66487
* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
use block_ultimate_origin
(noncall-stmt_may_be_vtbl_ptr_store): Likewise.

From-SVN: r232356

8 years agoinvoke.texi (Submodel Options): Rename section to "Machine-Dependent Options" to...
Sandra Loosemore [Wed, 13 Jan 2016 23:27:48 +0000 (18:27 -0500)]
invoke.texi (Submodel Options): Rename section to "Machine-Dependent Options" to better reflect its content.

2016-01-13  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Submodel Options): Rename section to
"Machine-Dependent Options" to better reflect its content.
Rewrite introductory text to remove archaic CPU names.
Update references.

From-SVN: r232355

8 years agolibitm: Fix seq-cst MOs/fences in rwlock.
Torvald Riegel [Wed, 13 Jan 2016 21:39:50 +0000 (21:39 +0000)]
libitm: Fix seq-cst MOs/fences in rwlock.

From-SVN: r232353

8 years agoinvoke.texi (Code Gen Options): Move section up in file, before target-specific options.
Sandra Loosemore [Wed, 13 Jan 2016 21:03:45 +0000 (16:03 -0500)]
invoke.texi (Code Gen Options): Move section up in file, before target-specific options.

2016-01-13  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Code Gen Options): Move section up in file,
before target-specific options.  Update menu and option summary
to reflect the new section ordering.

From-SVN: r232352

8 years agoImprove documentation of -std option for C++
Jonathan Wakely [Wed, 13 Jan 2016 20:30:34 +0000 (20:30 +0000)]
Improve documentation of -std option for C++

* doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
(C++ Dialect Options): Add cross-reference to -std option.
* doc/standards.texi (C++ Language): Document C++14 support.

From-SVN: r232349

8 years agors6000-builtin.def (BU_FLOAT128_2): Add support for pack/unpack functions for __ibm128.
Michael Meissner [Wed, 13 Jan 2016 20:07:12 +0000 (20:07 +0000)]
rs6000-builtin.def (BU_FLOAT128_2): Add support for pack/unpack functions for __ibm128.

[gcc]
2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
for pack/unpack functions for __ibm128.
(PACK_IF): Likewise.
(UNPACK_IF): Likewise.

* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
support for __ibm128 pack/unpack functions.
(rs6000_invalid_builtin): Likewise.
(rs6000_init_builtins): Likewise.
(rs6000_opt_masks): Likewise.

* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
functions
(RS6000_BTM_COMMON): Likewise.

* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
128-bit floating point.  Add support for the double values to be
in Altivec registers for TF/IF packing and unpacking, but restrict
TD packing sub-fields to be FPR registers.  Don't allow overlapped
register support for packing.  Allow pack inputs to be memory
locations.  Don't build generator functions for unpack<mode>_dm
and unpack<mode>_nodm.
(unpack<mode>_dm): Likewise.
(unpack<mode>_nodm): Likewise.
(pack<mode>): Likewise.

* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
built-in functions to pack/unpack explicit __ibm128 values.
(__builtin_unpack_ibm128): Likewise.

* doc/extend.texi (PowerPC Built-in Functions): Document
__builtin_pack_ibm128 and __builtin_unpack_ibm128.

[libgcc]
2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Steven Munroe <munroesj@linux.vnet.ibm.com>
    Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com>

* config/rs6000/sfp-exceptions.c: New file to provide exception
support for IEEE 128-bit floating point.

* config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit
floating point hardware support.

* config/rs6000/floattikf.c: New files for IEEE 128-bit floating
point conversions.
* config/rs6000/fixunskfti.c: Likewise.
* config/rs6000/fixkfti.c: Likewise.
* config/rs6000/floatuntikf.c: Likewise.
* config/rs6000/extendkftf2-sw.c: Likewise.
* config/rs6000/trunctfkf2-sw.c: Likewise.

* config/rs6000/float128-ifunc.c: New file to pick either IEEE
128-bit floating point software emulation or use ISA 3.0 hardware
support if it is available.

* config/rs6000/quad-float128.h: New file to support IEEE 128-bit
floating point.

* config/rs6000/t-float128: New Makefile fragments to enable
building __float128 emulation support.
* config/rs6000/t-float128-hw: Likewise.

* config/rs6000/float128-sed: New file to convert TF names to KF
names for PowerPC IEEE 128-bit floating point support.

* config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types
when building on 64-bit systems, or when VSX is enabled.
(_FP_W_TYPE): Likewise.
(_FP_WS_TYPE): Likewise.
(_FP_I_TYPE): Likewise.
(TItype): Define on 64-bit systems.
(UTItype): Likewise.
(TI_BITS): Likewise.
(_FP_MUL_MEAT_D): Add support for using 64-bit types.
(_FP_MUL_MEAT_Q): Likewise.
(_FP_DIV_MEAT_D): Likewise.
(_FP_DIV_MEAT_Q): Likewise.
(_FP_NANFRAC_D): Likewise.
(_FP_NANFRAC_Q): Likewise.
(ISA_BIT): Add exception support if we are being compiled on a
machine with hardware floating point support to build the IEEE
128-bit emulation functions.
(FP_EX_INVALID): Likewise.
(FP_EX_OVERFLOW): Likewise.
(FP_EX_UNDERFLOW): Likewise.
(FP_EX_DIVZERO): Likewise.
(FP_EX_INEXACT): Likewise.
(FP_EX_ALL): Likewise.
(__sfp_handle_exceptions): Likewise.
(FP_HANDLE_EXCEPTIONS): Likewise.
(FP_RND_NEAREST): Likewise.
(FP_RND_ZERO): Likewise.
(FP_RND_PINF): Likewise.
(FP_RND_MINF): Likewise.
(FP_RND_MASK): Likewise.
(_FP_DECL_EX): Likewise.
(FP_INIT_ROUNDMODE): Likewise.
(FP_ROUNDMODE): Likewise.

* configure.ac (powerpc*-*-linux*): Check whether the PowerPC
compiler can do __float128.
* configure: Regenerate.

* libgcc/config.host (powerpc*-*-linux*): If compiler can compile
VSX code, enable IEEE 128-bit floating point.

From-SVN: r232346

8 years agoImprove warning locations (PR66208)
Bernd Schmidt [Wed, 13 Jan 2016 20:03:26 +0000 (20:03 +0000)]
Improve warning locations (PR66208)

PR c/66208
* c-common.c (check_function_nonnull): Remove unnecessary declaration.
Add new arg loc and pass it down as context.
(check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
to the location to use for the warning.
(check_function_arguments): New arg loc.  All callers changed.  Pass
it to check_function_nonnull.
* c-common.h (check_function_arguments): Adjust declaration.

testsuite/
PR c/66208
* c-c++-common/pr66208.c: New file.

From-SVN: r232345

8 years agore PR middle-end/69156 (gcc.dg/pr59630.c: ICE: verify_gimple failed: non-trivial...
Jakub Jelinek [Wed, 13 Jan 2016 19:21:59 +0000 (20:21 +0100)]
re PR middle-end/69156 (gcc.dg/pr59630.c: ICE: verify_gimple failed: non-trivial conversion at assignment with -fno-tree-ccp)

PR tree-optimization/69156
* gimple.c (validate_type): Removed.
(gimple_builtin_call_types_compatible_p): Use
useless_type_conversion_p instead of validate_type.
* value-prof.c (gimple_stringop_fixed_value): Fold
icall_size to correct type.

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

From-SVN: r232342

8 years agoClarify __atomic_compare_exchange effects
Jonathan Wakely [Wed, 13 Jan 2016 19:07:21 +0000 (19:07 +0000)]
Clarify __atomic_compare_exchange effects

* doc/extend.texi (__atomic Builtins): Clarify compare_exchange
effects.

From-SVN: r232341

8 years agoAdd another testcase for x86 FLT_EVAL_METHOD
H.J. Lu [Wed, 13 Jan 2016 17:08:04 +0000 (17:08 +0000)]
Add another testcase for x86 FLT_EVAL_METHOD

* gcc.target/i386/pr69225-7.c: New test.

From-SVN: r232331

8 years agore PR target/68964 (Internal compiler error for test case gcc.dg/tm/20100610.c since...
Richard Henderson [Wed, 13 Jan 2016 17:03:42 +0000 (09:03 -0800)]
re PR target/68964 (Internal compiler error for test case gcc.dg/tm/20100610.c since r231674)

PR 68964

gcc/
 PR tree-opt/68964
 * target.def (builtin_tm_load, builtin_tm_store): Remove.
 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
 (ix86_builtin_tm_store): Remove.
 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
 * doc/tm.texi: Rebuild.
 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
 (BUILT_IN_TM_MEMCPY_RTWN): New.
 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
 fallback from vector to integer helpers.
 (build_tm_load): Handle vector types directly, instead of
 via target hook.
 (build_tm_store): Likewise.
 (expand_assign_tm): Prepare for register types not handled by
 the above.  Copy them to memory and use memcpy.
 * tree.c (tm_define_builtin): New.
 (find_tm_vector_type): New.
 (build_tm_vector_builtins): New.
 (build_common_builtin_nodes): Call it.

libitm/
 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
 * configure.ac (ARCH_AARCH64): New conditional.
 (ARCH_PPC, ARCH_S390): Likewise.
 * Makefile.in, configure: Rebuild.
 * libitm.h (_ITM_TYPE_M128): Always define.
 * vect64.cc: Split ...
 * vect128.cc: ... out of...
 * config/x86/x86_sse.cc: ... here.
 * config/arm/neon.cc: New file.

From-SVN: r232330

8 years agopr45685.c (dg-options): Add -mno-sse4.
Uros Bizjak [Wed, 13 Jan 2016 16:50:17 +0000 (17:50 +0100)]
pr45685.c (dg-options): Add -mno-sse4.

* gcc.target/i386/pr45685.c (dg-options): Add -mno-sse4.
* gcc.target/i386/pr68432-1.c (dg-options): Ditto.
* gcc.target/i386/pr68432-2.c (dg-options): Ditto.
* gcc.target/i386/pr68432-3.c (dg-options): Ditto.

From-SVN: r232329

8 years agoi386.h (TARGET_FLT_EVAL_METHOD): Return -1 for TARGET_SSE_MATH without TARGET_SSE2.
Uros Bizjak [Wed, 13 Jan 2016 16:41:46 +0000 (17:41 +0100)]
i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for TARGET_SSE_MATH without TARGET_SSE2.

* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.

From-SVN: r232328

8 years agoUse ::isinf and ::isnan if libc defines them
Jonathan Wakely [Wed, 13 Jan 2016 16:25:56 +0000 (16:25 +0000)]
Use ::isinf and ::isnan if libc defines them

PR libstdc++/48891
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
and isnan functions.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/c_global/cmath (isinf(double), isnan(double))
[_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
* testsuite/26_numerics/headers/cmath/48891.cc: New.

From-SVN: r232327

8 years agoFix infinite recursion in create_variable_info_for_1
Tom de Vries [Wed, 13 Jan 2016 15:51:33 +0000 (15:51 +0000)]
Fix infinite recursion in create_variable_info_for_1

PR tree-optimization/69169
* tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
handled_struct_type param.
(create_variable_info_for, intra_create_variable_infos): Call
create_variable_info_for_1 with extra arg.

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

From-SVN: r232326

8 years agoarm-arches.def: Remove spurious whitespace in "armv8.1-a" and "armv8.1-a+crc" entries.
Yvan Roux [Wed, 13 Jan 2016 15:28:28 +0000 (15:28 +0000)]
arm-arches.def: Remove spurious whitespace in "armv8.1-a" and "armv8.1-a+crc" entries.

2016-01-13  Yvan Roux  <yvan.roux@linaro.org>

* config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
and "armv8.1-a+crc" entries.

From-SVN: r232325

8 years agoAVX512: Restrict default masks for prefetch gather/scatter
Alexander Fomin [Wed, 13 Jan 2016 14:31:13 +0000 (14:31 +0000)]
AVX512: Restrict default masks for prefetch gather/scatter
instructions.

gcc/

PR target/69228
* config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
Change first operand predicate from register_or_constm1_operand
to register_operand.
(define_expand "avx512pf_gatherpf<mode>df"): Likewise.
(define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
(define_expand "avx512pf_scatterpf<mode>df"): Likewise.
(define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
(define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
(define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
(define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
* config/i386/i386.c (ix86_expand_builtin): Remove first operand
comparison with constm1_rtx from vec_prefetch_gen part.

gcc/testsuite

PR target/69228
* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Adjust.
* gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Likewise.

From-SVN: r232324

8 years agolibitm: Fix privatization safety interaction with serial mode.
Torvald Riegel [Wed, 13 Jan 2016 12:40:34 +0000 (12:40 +0000)]
libitm: Fix privatization safety interaction with serial mode.

From-SVN: r232322

8 years agore PR tree-optimization/69013 (gfortran-5.3.0 ICE in prune_uninit_phi_opnds_in_unreal...
Richard Biener [Wed, 13 Jan 2016 12:15:01 +0000 (12:15 +0000)]
re PR tree-optimization/69013 (gfortran-5.3.0 ICE in prune_uninit_phi_opnds_in_unrealizable_paths, at tree-ssa-uninit.c:1121)

2016-01-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69013
* tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
Exchange assert for a test.

From-SVN: r232320

8 years agomissed test
Christian Bruel [Wed, 13 Jan 2016 12:13:43 +0000 (13:13 +0100)]
missed test

From-SVN: r232319

8 years agoS/390: PR69247: Fix bswap hi splitter.
Andreas Krebbel [Wed, 13 Jan 2016 11:59:29 +0000 (11:59 +0000)]
S/390: PR69247: Fix bswap hi splitter.

gcc/ChangeLog:

2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/69247
* config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.

gcc/testsuite/ChangeLog:

2016-01-13  Jakub Jelinek  <jakub@redhat.com>

PR target/69247
* gcc.dg/pr69247.c: New test.

From-SVN: r232318

8 years agoIntroduce separate baselines for Solaris 10 and 11+ (PR libstdc++/66006)
Rainer Orth [Wed, 13 Jan 2016 09:48:53 +0000 (09:48 +0000)]
Introduce separate baselines for Solaris 10 and 11+ (PR libstdc++/66006)

PR libstdc++/66006
* configure.host (abi_baseline_pair): Use separate baseline for
Solaris 11+ and Solaris 10 with gld.
* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
* config/abi/post/solaris2.11/baseline_symbols.txt: New file.
* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.

From-SVN: r232317

8 years agore PR tree-optimization/69242 (ICE in visit_reference_op_load, at tree-ssa-sccvn...
Richard Biener [Wed, 13 Jan 2016 08:27:42 +0000 (08:27 +0000)]
re PR tree-optimization/69242 (ICE in visit_reference_op_load, at tree-ssa-sccvn.c:3224)

2016-01-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69242
* tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
assert with a check.

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

From-SVN: r232315

8 years agore PR tree-optimization/69186 (ICE at -O3 on x86_64-linux-gnu in vect_update_misalign...
Richard Biener [Wed, 13 Jan 2016 08:26:45 +0000 (08:26 +0000)]
re PR tree-optimization/69186 (ICE at -O3 on x86_64-linux-gnu in vect_update_misalignment_for_peel, at tree-vect-data-refs.c:889)

2016-01-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69186
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
Properly guard vect_update_misalignment_for_peel call.

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

From-SVN: r232314

8 years ago[PATCH][PR tree-optimization/pr67755] Fix profile insanity adjustments
Jeff Law [Wed, 13 Jan 2016 04:17:36 +0000 (21:17 -0700)]
[PATCH][PR tree-optimization/pr67755] Fix profile insanity adjustments

PR tree-optimization/pr67755
* tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
"need_profile_correction".
(thread_block_1): Initialize new field to false by default.  If we
have multiple thread paths through a common joiner to different
final targets, then set new field to true.
(compute_path_counts): Only do count adjustment when it's really
needed.

PR tree-optimization/67755
* gcc.dg/tree-ssa/pr67755.c: New test.

From-SVN: r232313

8 years agoinvoke.texi (Spec Files): Move section down in file, past all command-line option...
Sandra Loosemore [Wed, 13 Jan 2016 03:27:24 +0000 (22:27 -0500)]
invoke.texi (Spec Files): Move section down in file, past all command-line option descriptions.

2016-01-12  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Spec Files): Move section down in file, past
all command-line option descriptions.

From-SVN: r232311

8 years agoremove mark_hook gty attribute
Trevor Saunders [Wed, 13 Jan 2016 02:51:11 +0000 (02:51 +0000)]
remove mark_hook gty attribute

gcc/ChangeLog:

2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

PR middle-end/54809
* doc/gty.texi: Remove documentation of mark_hook.
* gengtype.c (struct write_types_data): Remove code to support
mark_hook attribute.
(walk_type): Likewise.
(write_func_for_structure): Likewise.

From-SVN: r232309

8 years agodump-noaddr.x (dump_compare): Replace static pass number in output by a star.
Thomas Preud'homme [Wed, 13 Jan 2016 02:26:32 +0000 (02:26 +0000)]
dump-noaddr.x (dump_compare): Replace static pass number in output by a star.

2015-12-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * gcc.c-torture/unsorted/dump-noaddr.x (dump_compare): Replace static
    pass number in output by a star.

From-SVN: r232308

8 years ago2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
Sandra Loosemore [Wed, 13 Jan 2016 00:40:41 +0000 (19:40 -0500)]
2016-01-12  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
Directory Options, and -specs= to Overall Options.
(Overall Options): Adjust similarly.  Reorder to group related
options together.  Make -specs= cross-reference the spec file details.
(Directory Options): Adjust similarly.

From-SVN: r232306

8 years agoDaily bump.
GCC Administrator [Wed, 13 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232304

8 years ago* tree-ssa-threadupdate.c: Various whitespace and typo fixes.
Jeff Law [Tue, 12 Jan 2016 22:38:06 +0000 (15:38 -0700)]
* tree-ssa-threadupdate.c: Various whitespace and typo fixes.

From-SVN: r232297

8 years agolibstdc++/68877 Reimplement std::__is_swappable
Daniel Kruegler [Tue, 12 Jan 2016 21:19:58 +0000 (21:19 +0000)]
libstdc++/68877 Reimplement std::__is_swappable

2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>

PR libstdc++/68877
* include/std/type_traits: Following N4511, reimplement __is_swappable
and __is_nothrow_swappable. Move __is_swappable to namespace std,
adjust callers. Use __is_nothrow_swappable in swap.
* include/bits/move.h: Use __is_nothrow_swappable in swap.
* testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
__is_swappable related tests.
* testsuite/20_util/is_swappable/value.cc: New.
* testsuite/20_util/is_swappable/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
* testsuite/25_algorithms/swap/68877.cc: New.

From-SVN: r232296

8 years agoExtend std::function test for PR 68995
Jonathan Wakely [Tue, 12 Jan 2016 19:39:47 +0000 (19:39 +0000)]
Extend std::function test for PR 68995

* testsuite/20_util/function/68995.cc: Test reference_wrapper cases.

From-SVN: r232294

8 years agoEnable LTO for DJGPP
Andris Pavenis [Tue, 12 Jan 2016 18:36:00 +0000 (20:36 +0200)]
Enable LTO for DJGPP

* configure.ac: enable LTO
* configure: Regenerate

From-SVN: r232290

8 years agoPrevent "undef var" errors on gcc --help or --version with self-specs
Olivier Hainque [Tue, 12 Jan 2016 17:53:14 +0000 (17:53 +0000)]
Prevent "undef var" errors on gcc --help or --version with self-specs

        * gcc.c (spec_undefvar_allowed): New global.
        (process_command): Set to true when running for --version or --help,
        alone or together.
        (getenv_spec_function): When the variable is not defined, use the
        variable name as the variable value if we're allowed not to issue
        a fatal error.

From-SVN: r232287

8 years agore PR tree-optimization/68911 (wrong code with -O1 -ftree-vrp)
Bin Cheng [Tue, 12 Jan 2016 17:49:51 +0000 (17:49 +0000)]
re PR tree-optimization/68911 (wrong code with -O1 -ftree-vrp)

PR tree-optimization/68911
* tree-vrp.c (adjust_range_with_scev): Check overflow in range
information computed for expression "init + nit * step".

gcc/testsuite/ChangeLog
PR tree-optimization/68911
* gcc.c-torture/execute/pr68911.c: New test.

From-SVN: r232286

8 years agoinvoke.texi (Invoking GCC): Copy-edit.
Sandra Loosemore [Tue, 12 Jan 2016 17:34:37 +0000 (12:34 -0500)]
invoke.texi (Invoking GCC): Copy-edit.

2016-01-12  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
about name of GCC executable.  Remove deleted node from menu.
(Directory Options) <-B>: Remove cross-reference to deleted node.
(Target Options): Delete section.

From-SVN: r232285

8 years ago* libgomp.texi: Updates for OpenACC.
James Norris [Tue, 12 Jan 2016 17:03:03 +0000 (17:03 +0000)]
* libgomp.texi: Updates for OpenACC.

From-SVN: r232283

8 years agore PR c++/68979 (error: left operand of shift expression ‘(-1 << 4)’ is negative)
Marek Polacek [Tue, 12 Jan 2016 16:48:29 +0000 (16:48 +0000)]
re PR c++/68979 (error: left operand of shift expression â€˜(-1 << 4)’ is negative)

PR c++/68979
* constexpr.c (cxx_eval_check_shift_p): Use permerror rather than
error_at and adjust the return value.

* g++.dg/warn/permissive-1.C: New test.

From-SVN: r232280

8 years agoSync top-level configure.ac with binutils-gdb
H.J. Lu [Tue, 12 Jan 2016 16:27:09 +0000 (16:27 +0000)]
Sync top-level configure.ac with binutils-gdb

Sync with binutils-gdb:
2015-10-21  Nick Clifton  <nickc@redhat.com>

PR gas/19109
* configure.ac: Note the 'none' is an acceptable argument to
--enable-compressed-debug-sections.
* configure: Regenerate.

From-SVN: r232279

8 years agore PR objc++/68511 (FAIL: obj-c++.dg/property/dotsyntax-11.mm -fgnu-runtime (test...
Jakub Jelinek [Tue, 12 Jan 2016 15:21:27 +0000 (16:21 +0100)]
re PR objc++/68511 (FAIL: obj-c++.dg/property/dotsyntax-11.mm -fgnu-runtime  (test for errors, line 51,56,59))

PR objc++/68511
PR c++/69213
* cp-gimplify.c (cp_gimplify_expr) <case INIT_EXPR>: Don't return
GS_ERROR whenever seen_error (), only if *expr_p contains
cilk spawn stmt, but cilk_detect_spawn_and_unwrap failed.

* g++.dg/opt/pr69213.C: New test.

From-SVN: r232278

8 years agore PR bootstrap/69134 (building a mips-cross compiler with in-tree mpfr-2.4.2 fails)
Bernd Edlinger [Tue, 12 Jan 2016 15:13:02 +0000 (15:13 +0000)]
re PR bootstrap/69134 (building a mips-cross compiler with in-tree mpfr-2.4.2 fails)

        PR bootstrap/69134
        * Makefile.def (mpfr): Disable assembler.
        * Makefile.in: Regenerate.

From-SVN: r232277

8 years agore PR target/69180 ([ARM] #pragma GCC target should not warn about redefined macros)
Christian Bruel [Tue, 12 Jan 2016 15:01:12 +0000 (16:01 +0100)]
re PR target/69180 ([ARM] #pragma GCC target should not warn about redefined macros)

PR target/69180
* config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.

From-SVN: r232276

8 years agolibitm: Remove dead code and data.
Torvald Riegel [Tue, 12 Jan 2016 14:57:45 +0000 (14:57 +0000)]
libitm: Remove dead code and data.

From-SVN: r232275

8 years agoPrevent recursive instantiation in std::function
Jonathan Wakely [Tue, 12 Jan 2016 14:54:33 +0000 (14:54 +0000)]
Prevent recursive instantiation in std::function

PR libstdc++/69005
PR libstdc++/69222
* include/std/functional (function::_Invoke): Remove, use result_of.
(function::_Callable): Replace alias template with class template
and use partial specialization instead of _NotSelf alias template.
(function(_Functor)): Add "not self" constraint so that _Callable is
not used while type is incomplete.
* testsuite/20_util/function/69222.cc: New.

From-SVN: r232273

8 years agore PR debug/69077 (omnetpp ICEs with -flto -g)
Richard Biener [Tue, 12 Jan 2016 14:22:40 +0000 (14:22 +0000)]
re PR debug/69077 (omnetpp ICEs with -flto -g)

2016-01-12  Richard Biener  <rguenther@suse.de>

PR lto/69077
lto/
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.

* g++.dg/lto/pr69077_0.C: New testcase.
* g++.dg/lto/pr69077_1.C: Likewise.

From-SVN: r232272

8 years agore PR target/69198 (FAIL: gcc.target/i386/avx512vl-vmovaps-1.c scan-assembler-times...
Jakub Jelinek [Tue, 12 Jan 2016 13:20:33 +0000 (14:20 +0100)]
re PR target/69198 (FAIL: gcc.target/i386/avx512vl-vmovaps-1.c scan-assembler-times vmovaps[ \\t]+[^{\n]*%xmm[0-9]+[^\n]*\\){%k[1-7]}(?:\n|[ \\t]+#) 1)

PR target/69198
* config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
aligned_mem is properly set for AVX512-VL floating point masked
stores.

From-SVN: r232268

8 years agore PR target/69175 (ICE in haifa_luid_for_non_insn, at haifa-sched.c:7895)
Jakub Jelinek [Tue, 12 Jan 2016 13:19:49 +0000 (14:19 +0100)]
re PR target/69175 (ICE in haifa_luid_for_non_insn, at haifa-sched.c:7895)

PR target/69175
* ifcvt.c (cond_exec_process_if_block): When removing the last
insn from then_bb, remove also any possible barriers that follow it.

* g++.dg/opt/pr69175.C: New test.

From-SVN: r232267

8 years agoDefine STDINT_LONG32 and add predefined integer types for IAMCU
H.J. Lu [Tue, 12 Jan 2016 13:16:53 +0000 (13:16 +0000)]
Define STDINT_LONG32 and add predefined integer types for IAMCU

Define STDINT_LONG32 to 0, add SIZE_TYPE, PTRDIFF_TYPE and WCHAR_TYPE
for IAMCU to make integer types compatible with i386 Linux.

PR target/68456
PR target/69226
* config/i386/iamcu.h (SIZE_TYPE): New macro.
(PTRDIFF_TYPE): Likewise.
(WCHAR_TYPE): Likewise.
(WCHAR_TYPE_SIZE): Likewise.
(STDINT_LONG32): Likewise.

From-SVN: r232266

8 years agoCleanup vect testsuite includes
Alan Lawrence [Tue, 12 Jan 2016 12:28:47 +0000 (12:28 +0000)]
Cleanup vect testsuite includes

* gcc.dg/vect/fast-math-bb-slp-call-3.c: Declare functions as 'extern'
rather than #including math.h & stdlib.h.
* gcc.dg/vect/pr47001.c: Declare abort as 'extern', remove stdlib.h.
* gcc.dg/vect/pr49771.c: Likewise.
* gcc.dg/vect/vect-10-big-array.c: Likewise.
* gcc.dg/vect/vect-neg-store-1.c: Likewise.
* gcc.dg/vect/vect-neg-store-2.c: Likewise.
* gcc.dg/vect/slp-37.c: Change NULL to 0, remove stdlib.h.
* gcc.dg/vect/pr40254.c: Remove unnecessary include of stdlib.h.
* gcc.dg/vect/pr44507.c: Likewise.
* gcc.dg/vect/pr45902.c: Likewise.
* gcc.dg/vect/slp-widen-mult-half.c: Likewise.
* gcc.dg/vect/vect-117.c: Likewise.
* gcc.dg/vect/vect-99.c: Likewise.
* gcc.dg/vect/vect-aggressive-1.c: Likewise.
* gcc.dg/vect/vect-cond-1.c: Likewise.
* gcc.dg/vect/vect-cond-2.c: Likewise.
* gcc.dg/vect/vect-cond-3.c: Likewise.
* gcc.dg/vect/vect-cond-4.c: Likewise.
* gcc.dg/vect/vect-mask-load-1.c: Likewise.
* gcc.dg/vect/vect-mask-loadstore-1.c: Likewise.
* gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-1.c: Likewise.
* gcc.dg/vect/vect-over-widen-2-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-2.c: Likewise.
* gcc.dg/vect/vect-over-widen-3-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-3.c: Likewise.
* gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-4.c: Likewise.
* gcc.dg/vect/vect-widen-mult-const-s16.c: Likewise.
* gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise.
* gcc.dg/vect/vect-widen-mult-half-u8.c: Likewise.
* gcc.dg/vect/vect-widen-mult-half.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c: Remove unnecessary
include of signal.h.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-16.c: Likewise.
* gcc.dg/vect/vect-ifcvt-16.c: Likewise.
* gcc.dg/vect/vect-ifcvt-17.c: Likewise.
* gcc.dg/vect/vect-ifcvt-2.c: Likewise.
* gcc.dg/vect/vect-ifcvt-3.c: Likewise.
* gcc.dg/vect/vect-ifcvt-4.c: Likewise.
* gcc.dg/vect/vect-ifcvt-5.c: Likewise.
* gcc.dg/vect/vect-ifcvt-5.c: Likewise.
* gcc.dg/vect/vect-ifcvt-6.c: Likewise.
* gcc.dg/vect/vect-ifcvt-7.c: Likewise.
* gcc.dg/vect/vect-ifcvt-9.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
* gcc.dg/vect/vect-outer-6.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Remove unnecessary
include of stdio.h.

From-SVN: r232265

8 years agore PR testsuite/68913 (gcc.dg/lto/pr61886 FAILs)
Nick Clifton [Tue, 12 Jan 2016 11:43:59 +0000 (11:43 +0000)]
re PR testsuite/68913 (gcc.dg/lto/pr61886 FAILs)

PR target/68913
* gcc.dg/lto/pr61886_0.c: Rename the external function called
to fread so that it will be found in all target runtimes.

From-SVN: r232264

8 years agore PR target/69053 (ICE in build_vector_from_val)
Richard Biener [Tue, 12 Jan 2016 11:41:16 +0000 (11:41 +0000)]
re PR target/69053 (ICE in build_vector_from_val)

2016-01-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69053
* tree-vect-loop.c (get_initial_def_for_reduction): Properly
convert initial value for cond reductions.

* g++.dg/torture/pr69053.C: New testcase.

From-SVN: r232263

8 years agore PR testsuite/69007 (test cases gcc.dg/vect/vect-reduc-dot-s8a.c fails starting...
Richard Biener [Tue, 12 Jan 2016 11:39:54 +0000 (11:39 +0000)]
re PR testsuite/69007 (test cases gcc.dg/vect/vect-reduc-dot-s8a.c fails starting with r231815)

2016-01-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69007
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
widen_sum after dot_prod and sad.

From-SVN: r232262

8 years agore PR tree-optimization/69168 (ICE in vect_analyze_loop_2, at tree-vect-loop.c:2182)
Richard Biener [Tue, 12 Jan 2016 08:36:24 +0000 (08:36 +0000)]
re PR tree-optimization/69168 (ICE in vect_analyze_loop_2, at tree-vect-loop.c:2182)

2016-01-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69168
* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
pattern stmt SLP type.
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
end up unused so cope with that case.

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

From-SVN: r232261

8 years agore PR tree-optimization/69157 (ICE in vect_transform_stmt, at tree-vect-stmts.c:8176)
Richard Biener [Tue, 12 Jan 2016 08:30:44 +0000 (08:30 +0000)]
re PR tree-optimization/69157 (ICE in vect_transform_stmt, at tree-vect-stmts.c:8176)

2016-01-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69157
* tree-vect-stmts.c (vectorizable_mask_load_store): Check
stmts def type only during analyze phase.
(vectorizable_call): Likewise.
(vectorizable_simd_clone_call): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.

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

2016-01-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69174
* tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
space.
(vectorizable_load): Properly compute the number of loads needed
for permuted strided SLP loads and do not spuriously assign
to SLP_TREE_VEC_STMTS.

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

From-SVN: r232260

8 years agore PR c++/66808 (tree check fail in symbol_table::decl_assembler_name_hash)
Jakub Jelinek [Tue, 12 Jan 2016 08:21:53 +0000 (09:21 +0100)]
re PR c++/66808 (tree check fail in symbol_table::decl_assembler_name_hash)

PR c++/66808
PR c++/69000
* pt.c (tsubst_decl): If not local_p, clear DECL_TEMPLATE_INFO.

* g++.dg/tls/pr66808.C: New test.
* g++.dg/tls/pr69000.C: New test.

From-SVN: r232259

8 years ago[PATCH 5/6] [DJGPP] Update DJGPP configuration related files
Andris Pavenis [Tue, 12 Jan 2016 04:57:10 +0000 (06:57 +0200)]
[PATCH 5/6] [DJGPP] Update DJGPP configuration related files

       * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
       (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
       (MD_EXEC_PREFIX): Remove.
       (MD_STARTFILE_PREFIX) Removee.
       (FILE_NAME_ABSOLUTE_P): Remove.
       (CPP_SPEC): Do not read macros from sys/version.h.
       (LINK_COMMAND_SPEC): Remove.
       (LOCAL_INCLUDE_DIR): Remove.
       (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
       (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
       (POST_LINK_SPEC): Define to invoke stubify after linker
       (LIBSTDCXX): Remove define
       (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
       (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
       (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
       (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
       (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
       (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
       (i386_djgpp_asm_named_section): Add propotype of new procedure

       * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
       (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
       (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
       (STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
       (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
       (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
       (MAX_OFILE_ALIGNMENT): Define to 128.
       (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.

       * config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.

       * config/i386/djgpp.opt: Remove obsolete option -mbnu210.

       * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
       Add rule for building djgpp.o.

From-SVN: r232258

8 years agors6000.c (v2df_reduction_p): New function.
Bill Schmidt [Tue, 12 Jan 2016 04:49:55 +0000 (04:49 +0000)]
rs6000.c (v2df_reduction_p): New function.

[gcc]

2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (v2df_reduction_p): New function.
(rtx_is_swappable_p): Reductions are swappable.
(insn_is_swappable_p): V2DF reductions are swappable.

[gcc/testsuite]

2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/swaps-p8-23.c: New test.
* gcc.target/powerpc/swaps-p8-24.c: Likewise.

From-SVN: r232257

8 years agore PR tree-optimization/68356 (FAIL: gcc.dg/torture/pr68264.c -O* execution test...
John David Anglin [Tue, 12 Jan 2016 02:06:20 +0000 (02:06 +0000)]
re PR tree-optimization/68356 (FAIL: gcc.dg/torture/pr68264.c   -O*  execution test on x86_64-apple-darwin1(0|4))

PR tree-optimization/68356
* gcc.dg/torture/pr68264.c: Disable exp2 ERANGE test on hppa unix.

From-SVN: r232256

8 years agopa.c (pa_emit_move_sequence): Handle floating point reloads for other unsupported...
John David Anglin [Tue, 12 Jan 2016 01:35:23 +0000 (01:35 +0000)]
pa.c (pa_emit_move_sequence): Handle floating point reloads for other unsupported memory operands.

* config/pa/pa.c (pa_emit_move_sequence): Handle floating point
reloads for other unsupported memory operands.

From-SVN: r232253

8 years agore PR target/69194 (internal compiler error: in extract_insn, at recog.c:2286)
Kugan Vivekanandarajah [Tue, 12 Jan 2016 00:40:54 +0000 (00:40 +0000)]
re PR target/69194 (internal compiler error: in extract_insn, at recog.c:2286)

gcc/ChangeLog:

2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
    Jim Wilson  <jim.wilson@linaro.org>

PR target/69194
* config/arm/arm-builtins.c (arm_expand_neon_args): Call
copy_to_mode_reg instead of force_reg.

gcc/testsuite/ChangeLog:

2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
    Jim Wilson  <jim.wilson@linaro.org>

PR target/69194
* gcc.target/arm/pr69194.c: New test.

Co-Authored-By: Jim Wilson <jim.wilson@linaro.org>
From-SVN: r232251

8 years agoSet FLT_EVAL_METHOD to 2 only if 387 FPU is used
H.J. Lu [Tue, 12 Jan 2016 00:30:30 +0000 (00:30 +0000)]
Set FLT_EVAL_METHOD to 2 only if 387 FPU is used

When 387 FPU isn't used, there is no excess precision.  We should set
FLT_EVAL_METHOD to 2 only if 387 FPU is used.

gcc/

PR target/69225
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
TARGET_80387 is true.

gcc/testsuite

PR target/69225
* gcc.target/i386/pr69225-1.c: New test.
* gcc.target/i386/pr69225-2.c: Likewise.
* gcc.target/i386/pr69225-3.c: Likewise.
* gcc.target/i386/pr69225-4.c: Likewise.
* gcc.target/i386/pr69225-5.c: Likewise.
* gcc.target/i386/pr69225-6.c: Likewise.

From-SVN: r232249

8 years agoDaily bump.
GCC Administrator [Tue, 12 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232248

8 years ago* zh_CN.po: Update.
Joseph Myers [Mon, 11 Jan 2016 23:56:35 +0000 (23:56 +0000)]
* zh_CN.po: Update.

From-SVN: r232244

8 years agore PR c++/69131 (default constructor of union incorrectly deleted)
Jason Merrill [Mon, 11 Jan 2016 20:53:07 +0000 (15:53 -0500)]
re PR c++/69131 (default constructor of union incorrectly deleted)

PR c++/69131
* method.c (walk_field_subobs): Add dtor_from_ctor parm.
(process_subob_fn): Likewise.  Don't consider triviality if true.
(synthesize_method_walk): Pass it.

From-SVN: r232243

8 years agore PR target/67462 (FAIL: gcc.dg/ifcvt-3.c scan-rtl-dump ce1 "3 true changes made")
Jakub Jelinek [Mon, 11 Jan 2016 19:07:31 +0000 (20:07 +0100)]
re PR target/67462 (FAIL: gcc.dg/ifcvt-3.c scan-rtl-dump ce1 "3 true changes made")

PR target/67462
* gcc.dg/ifcvt-3.c: Only compile on lp64 targets, include also i?86
if lp64.

From-SVN: r232242

8 years agore PR target/69071 (ICE: in decompose, at rtl.h:2107 with -g)
Jakub Jelinek [Mon, 11 Jan 2016 19:06:34 +0000 (20:06 +0100)]
re PR target/69071 (ICE: in decompose, at rtl.h:2107 with -g)

PR target/69071
* lra-eliminations.c (move_plus_up): Only move plus up
if subreg of the constant can be simplified into constant
and use the simplified subreg of the constant instead of
the original constant.

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

From-SVN: r232241

8 years agoPR c++/68795: fix uninitialized close_paren_loc in cp_parser_postfix_expression
David Malcolm [Mon, 11 Jan 2016 18:03:15 +0000 (18:03 +0000)]
PR c++/68795: fix uninitialized close_paren_loc in cp_parser_postfix_expression

gcc/cp/ChangeLog:
PR c++/68795
* parser.c (cp_parser_postfix_expression): Initialize
close_paren_loc to UNKNOWN_LOCATION; only use it if
it has been written to by
cp_parser_parenthesized_expression_list.
(cp_parser_parenthesized_expression_list): Document the behavior
with respect to the CLOSE_PAREN_LOC param.

From-SVN: r232238

8 years agore PR c++/69211 (g++ ICE on x86_64-linux-gnu (verify_gimple failed))
Jakub Jelinek [Mon, 11 Jan 2016 17:59:22 +0000 (18:59 +0100)]
re PR c++/69211 (g++ ICE on x86_64-linux-gnu (verify_gimple failed))

PR c++/69211
* cp-gimplify.c (cp_fold): If COMPOUND_EXPR or MODIFY_EXPR
folded operands have side-effects, but folding changed any of them,
build a new tree with the folded operands instead of returning the
unfolded tree.

* g++.dg/opt/pr69211.C: New test.

From-SVN: r232237

8 years agofold-const.c (fold_convertible_p): Don't return true for conversion of VECTOR_TYPE...
Jakub Jelinek [Mon, 11 Jan 2016 17:57:43 +0000 (18:57 +0100)]
fold-const.c (fold_convertible_p): Don't return true for conversion of VECTOR_TYPE to same sized integral type.

* fold-const.c (fold_convertible_p): Don't return true
for conversion of VECTOR_TYPE to same sized integral type.
(fold_convert_loc): Fix up formatting.  Fold conversion of
VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
instead of NOP_EXPR.

From-SVN: r232236

8 years agore PR tree-optimization/69214 (ICE (segfault) at -Os on x86_64-linux-gnu in "fail_abn...
Jakub Jelinek [Mon, 11 Jan 2016 17:56:39 +0000 (18:56 +0100)]
re PR tree-optimization/69214 (ICE (segfault) at -Os on x86_64-linux-gnu in "fail_abnormal_edge_coalesce")

PR tree-optimization/69214
* tree-vrp.c (simplify_cond_using_ranges): Don't propagate
innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
Formatting fix.

* gcc.c-torture/compile/pr69214.c: New test.

From-SVN: r232235

8 years agore PR go/68980 (ps -o cmd in gotest isn't portable)
Ian Lance Taylor [Mon, 11 Jan 2016 17:55:39 +0000 (17:55 +0000)]
re PR go/68980 (ps -o cmd in gotest isn't portable)

PR 68980
    libgo/testsuite: portable ps usage in gotest

    gotest is using "ps" to list descendant sleep
    processes in its timeout handling, grepping
    the command name.

    We are currently using the "cmd" ps output
    formatter, which is non-portable. We should
    use "comm" which is part of the POSIX
    standard, and outputs only the command name
    and not the arguments.

    Fixes https://gcc.gnu.org/PR68980

    Reviewed-on: https://go-review.googlesource.com/18426

From-SVN: r232234

8 years agore PR tree-optimization/69207 (gcc.target/aarch64/vldN_1.c ICEs at -O3)
Jakub Jelinek [Mon, 11 Jan 2016 17:55:38 +0000 (18:55 +0100)]
re PR tree-optimization/69207 (gcc.target/aarch64/vldN_1.c ICEs at -O3)

PR tree-optimization/69207
* tree-vect-slp.c (vect_get_constant_vectors): For
VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
fold_convertible_p to vector_type's element type, and always
use VCE for non-VECTOR_BOOLEAN_TYPE_P.

From-SVN: r232233

8 years agoallocator_traits<allocator<T>> partial specialization
Jonathan Wakely [Mon, 11 Jan 2016 16:47:58 +0000 (16:47 +0000)]
allocator_traits<allocator<T>> partial specialization

PR libstdc++/60976
* include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
Define partial specialization.
* testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
destroy members to std::allocator explicit specialization.

From-SVN: r232232

8 years agopr66232-10.c: Do not compile on ia32 target.
Uros Bizjak [Mon, 11 Jan 2016 16:31:55 +0000 (17:31 +0100)]
pr66232-10.c: Do not compile on ia32 target.

* gcc.target/i386/pr66232-10.c: Do not compile on ia32 target.
* gcc.target/i386/pr66232-11.c: Ditto.
* gcc.target/i386/pr66232-12.c: Ditto.
* gcc.target/i386/pr66232-13.c: Ditto.

From-SVN: r232231

8 years agore PR tree-optimization/69173 (ICE (segfault) in vinfo_for_stmt)
Richard Biener [Mon, 11 Jan 2016 16:02:23 +0000 (16:02 +0000)]
re PR tree-optimization/69173 (ICE (segfault) in vinfo_for_stmt)

2016-01-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69173
* tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
fixup the cycle if all stmts are in a pattern.

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

From-SVN: r232230

8 years agore PR middle-end/68999 (FAIL: gfortran.fortran-torture/execute/save_1.f90 execution)
Uros Bizjak [Mon, 11 Jan 2016 15:48:40 +0000 (16:48 +0100)]
re PR middle-end/68999 (FAIL: gfortran.fortran-torture/execute/save_1.f90 execution)

PR middle-end/68999
* alias.c (base_alias_check): Move check for addresses with
alignment ANDs before the call for compare_base_decls.
(memrefs_conflict_p): Return -1 for different decls
that went through alignment adjustments.

From-SVN: r232229

8 years ago[AArch64] PR rtl-optimization/68796: Add patterns for QImode and HImode comparison...
Kyrylo Tkachov [Mon, 11 Jan 2016 14:44:22 +0000 (14:44 +0000)]
[AArch64] PR rtl-optimization/68796: Add patterns for QImode and HImode comparison with zero

PR rtl-optimization/68796
* config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
and QImode comparisons against zero with CC_NZmode.
* config/aarch64/iterators.md (short_mask): New mode_attr.

* gcc.target/aarch64/tst_5.c: New test.
* gcc.target/aarch64/tst_6.c: Likewise.

From-SVN: r232228

8 years agonvptx plugin: do not force JIT target SM version
Alexander Monakov [Mon, 11 Jan 2016 12:55:31 +0000 (15:55 +0300)]
nvptx plugin: do not force JIT target SM version

When link_ptx runs, a CUDA device is already bound to current thread, so the
driver library knows the target architecture.  There isn't any benefit from
forcing a specific target here; on the contrary, hardcoding sm_30 breaks
offloading on later (Maxwell, sm_5x) devices.

* plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.

From-SVN: r232227

8 years agoRemove snprintf from <avx512>_(load|store)<mode>_mask
H.J. Lu [Mon, 11 Jan 2016 12:33:25 +0000 (12:33 +0000)]
Remove snprintf from <avx512>_(load|store)<mode>_mask

This patch removes snprintf from <avx512>_(load|store)<mode>_mask
patterns.

* config/i386/sse.md (<avx512>_load<mode>_mask): Remove
snprintf.
(<avx512>_store<mode>_mask): Likewise.

From-SVN: r232225

8 years ago[RTL-ifcvt] PR rtl-optimization/68841: Make sure one basic block doesn't clobber...
Kyrylo Tkachov [Mon, 11 Jan 2016 12:13:50 +0000 (12:13 +0000)]
[RTL-ifcvt] PR rtl-optimization/68841: Make sure one basic block doesn't clobber CC reg usage of the other

        PR rtl-optimization/68841
        * ifcvt.c (struct noce_if_info): Add orig_x field.
        (bbs_ok_for_cmove_arith): Add to_rename parameter.
        Don't record conflicts on to_rename if it's present.
        Allow memory destinations in sets.
        (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
        blocks, passing orig_x to the checks.
        (noce_process_if_block): Set if_info->orig_x appropriately.

        * gcc.dg/pr68841.c: New test.
        * gcc.c-torture/execute/pr68841.c: New test.

From-SVN: r232223

8 years agoAdd missing phi args in create_parallel_loop
Tom de Vries [Mon, 11 Jan 2016 12:08:38 +0000 (12:08 +0000)]
Add missing phi args in create_parallel_loop

2016-01-11  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69069
* tree-parloops.c (create_parallel_loop): Add missing phi args.

From-SVN: r232221

8 years agore PR rtl-optimization/68920 (Undesirable if-conversion for a rarely taken branch)
Yuri Rumyantsev [Mon, 11 Jan 2016 12:07:31 +0000 (12:07 +0000)]
re PR rtl-optimization/68920 (Undesirable if-conversion for a rarely taken branch)

gcc/

2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR rtl-optimization/68920
* config/i386/i386.c (ix86_option_override_internal): Restrict number
of conditional moves for  RTL if-conversion to 1 for
TARGET_ONE_IF_CONV_INSN.
* config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
* params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
parameter to restirct number of conditional moves for
RTL if-conversion.
* doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
conditionl moves.

gcc/testsuite/

2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR rtl-optimization/68920
* gcc.dg/ifcvt-4.c: Add "--param max-rtl-if-conversion-insns=3" option
for ix86 targets.
* gcc.dg/ifcvt-5.c: New test.

From-SVN: r232220

8 years ago[PR69123] fix handling of MEMs in VTA to avoid dataflow oscillation
Alexandre Oliva [Mon, 11 Jan 2016 10:40:33 +0000 (10:40 +0000)]
[PR69123] fix handling of MEMs in VTA to avoid dataflow oscillation

The problem arises because we used to drop overwritten MEMs from loc
lists of VALUEs, but not of other onepart variables, and it just so
happens that, by doing so, block 6 in the testcase has no D#5 in its
output in the first pass, because the MEM holding its (previous) value
was correctly dropped from value 88:88, but gains it in the second
pass because D#5 has the MEM location incoming directly in its loc
list, rather than indirectly in a VALUE.

This incorrect binding enables other blocks to believe they have a
tentative binding for D#5 in some cycles, but others, still operating
on the early conclusion, believe there isn't, and they oscillate from
that.

Since we check for escaping MEMs in clobbers, we won't lose anything
relevant by dropping call-clobbered or overwritten MEMs in all onepart
variables, and this ensures the loc intersection operation in onepart
vars won't let a MEM through that wasn't present in earlier
iterations.

for  gcc/ChangeLog

PR bootstrap/69123
* var-tracking.c (drop_overlapping_mem_locs): Operate on all
onepart vars.  Fix typo in comment.  Fix reversed condition in
unshare test.
(dataflow_set_remove_mem_locs): Operate on all onepart vars.

for gcc/testsuite/ChangeLog

PR bootstrap/69123
* g++.dg/pr69123.C: New.

From-SVN: r232218

8 years ago[PR69123] make dataflow_set_different details more verbose
Alexandre Oliva [Mon, 11 Jan 2016 10:40:12 +0000 (10:40 +0000)]
[PR69123] make dataflow_set_different details more verbose

for  gcc/ChangeLog

PR bootstrap/69123
* var-tracking.c (dump_onepart_variable_differences): New.
(dataflow_set_different): If a detailed dump is requested,
delay early returns and dump differences between onepart
variables present before and after, and added variables.

From-SVN: r232217

8 years agore PR target/69010 (Boolean vector constant with a scalar mode is expanded incorrectly)
Ilya Enkovich [Mon, 11 Jan 2016 10:27:17 +0000 (10:27 +0000)]
re PR target/69010 (Boolean vector constant with a scalar mode is expanded incorrectly)

gcc/

PR target/69010
* expr.c (expand_expr_real_1): For boolean vector constants
with a scalar mode use const_scalar_mask_from_tree.
(const_scalar_mask_from_tree): New.
* optabs.c (expand_vec_cond_mask_expr): Use mask mode
assigned to a mask type to handle constants.

gcc/testsuite/

PR target/69010
* gcc.target/i386/pr69010.c: New test.

From-SVN: r232216

8 years ago[PR ipa/69044] Do not clone for param removal when not possible
Martin Jambor [Mon, 11 Jan 2016 10:09:17 +0000 (11:09 +0100)]
[PR ipa/69044] Do not clone for param removal when not possible

2016-01-11  Martin Jambor  <mjambor@suse.cz>

PR ipa/69044
* ipa-cp.c (estimate_local_effects): Do not clone for removal of
useless parameters if we cannot change function signature.

testsuite/
* gcc.target/i386/chkp-pr69044.c: New test.

From-SVN: r232215

8 years ago[PR ipa/66616] Copy can_change_signature flag to artificial thunks
Martin Jambor [Mon, 11 Jan 2016 10:03:44 +0000 (11:03 +0100)]
[PR ipa/66616] Copy can_change_signature flag to artificial thunks

2016-01-11  Martin Jambor  <mjambor@suse.cz>

PR ipa/66616
* cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
flag.

From-SVN: r232214

8 years agoDon't allow latch with phi in try_transform_to_exit_first_loop_alt
Tom de Vries [Mon, 11 Jan 2016 09:38:28 +0000 (09:38 +0000)]
Don't allow latch with phi in try_transform_to_exit_first_loop_alt

2016-01-11  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69109
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
latch with phi.

* gcc.dg/autopar/pr69109-2.c: New test.
* gcc.dg/autopar/pr69109.c: New test.

From-SVN: r232212

8 years agoHandle case that outer phi res is not used in a phi in gather_scalar_reductions
Tom de Vries [Mon, 11 Jan 2016 09:19:33 +0000 (09:19 +0000)]
Handle case that outer phi res is not used in a phi in gather_scalar_reductions

2016-01-11  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69108
* tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
res is not used in a phi.

* gcc.dg/autopar/pr69108.c: New test.

From-SVN: r232211

8 years agoFix docs for -frandom-seed.
Yury Gribov [Mon, 11 Jan 2016 09:06:14 +0000 (09:06 +0000)]
Fix docs for -frandom-seed.

2016-01-11  Yury Gribov  <y.gribov@samsung.com>

PR 67425
* common.opt (frandom-seed): Fix parameter name.
* doc/invoke.texi (frandom-seed): Ditto and describe parameter.

From-SVN: r232209

8 years agoDon't parallelize loops if libgomp not supported
Tom de Vries [Mon, 11 Jan 2016 08:55:16 +0000 (08:55 +0000)]
Don't parallelize loops if libgomp not supported

2016-01-11  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69058
* tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
not supported.

From-SVN: r232208

8 years agoarc.opt (mdiv-rem): Add period to the end.
Andrew Burgess [Mon, 11 Jan 2016 04:11:19 +0000 (04:11 +0000)]
arc.opt (mdiv-rem): Add period to the end.

2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>

        * config/arc/arc.opt (mdiv-rem): Add period to the end.
        (mcode-density): Likewise.

From-SVN: r232207

8 years agoDaily bump.
GCC Administrator [Mon, 11 Jan 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232206

8 years agoFix -Wmisleading indentation false-positive for do-while statement
Patrick Palka [Sun, 10 Jan 2016 16:39:39 +0000 (16:39 +0000)]
Fix -Wmisleading indentation false-positive for do-while statement

gcc/c-family/ChangeLog:

PR c++/69029
* c-indentation.c (should_warn_for_misleading_indentation):
Don't warn about do-while statements.

gcc/testsuite/ChangeLog:

PR c++/69029
* c-c++-common/Wisleading-indentation.c: Augment test.

From-SVN: r232202

8 years agore PR fortran/69154 (ICE in gfc_trans_where_2, at fortran/trans-stmt.c:5005 on *...
Thomas Koenig [Sun, 10 Jan 2016 13:18:54 +0000 (13:18 +0000)]
re PR fortran/69154 (ICE in gfc_trans_where_2, at fortran/trans-stmt.c:5005 on *-linux)

2016-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/69154
* frontend-passes.c (in_where):  New variable.
(inline_matmul_assign):  Don't try this if we are within
a WHERE statement.
(gfc_code_walker):  Keep track of in_where.

2016-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/69154
* gfortran.dg/inline_matmul_12.f90:  New test.

From-SVN: r232201

8 years agore PR fortran/67779 (Strange ordering with strings in extended object)
Paul Thomas [Sun, 10 Jan 2016 12:56:28 +0000 (12:56 +0000)]
re PR fortran/67779 (Strange ordering with strings in extended object)

2016-01-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67779
* trans_array.c (gfc_conv_scalarized_array_ref): Add missing
se->use_offset from condition for calculation of 'base'.

2016-01-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67779
* gfortran.dg/actual_array_offset_1: New test.

From-SVN: r232200

8 years agoDon't parallelize loops containing phis with addr_exprs
Tom de Vries [Sun, 10 Jan 2016 12:44:57 +0000 (12:44 +0000)]
Don't parallelize loops containing phis with addr_exprs

2016-01-10  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69062
* tree-parloops.c (loop_has_phi_with_address_arg): New function.
(parallelize_loops): Don't paralelize loop that has phi with address
arg.

* gcc.dg/autopar/pr69062.c: New test.

From-SVN: r232199