gcc.git
7 years agojit.dg: fix issue with compilation of test-threads.c
David Malcolm [Wed, 18 Jan 2017 20:47:12 +0000 (20:47 +0000)]
jit.dg: fix issue with compilation of test-threads.c

DejaGnu's <dejagnu.h> provides decls of various inline functions,
of which the jit testsuite uses "pass", "fail" and "note".

The jit testcase test-threads.c jumps through some hoops to make
these functions threadsafe, using macros to rename the implementation
in dejagnu.h, giving them a "dejagnu_" prefix, then reimplementing
the names with wrappers that use a mutex.

The DejaGnu functions gained a "static" modifier in
ad36659ffa984a0541cfc2bd27f393e0d7d173a7, which appears to be in
DejaGnu 1.5.2 onwards.

Unfortunately, jit.dg/test-threads.c has forward decls of
"dejagnu_pass" etc, and these don't have "static", leading to conflicts
with later versions of DejaGnu for which "pass" etc have "static".

This patch fixes things by removing the forward decls of
"dejagnu_pass", moving the usage of them to a point at which dejagnu.h
has been included, which ought to work with both earlier and later
versions of DejaGnu.

Fixes compilation of test-threads.c in jit testsuite.

gcc/testsuite/ChangeLog:
* jit.dg/test-threads.c (dejagnu_pass): Remove decl.
(dejagnu_fail): Likewise.
(dejagnu_note): Likewise.
(pass): Provide forward decl, moving true decl to after #include
of harness.h.
(fail): Likewise.
(note): Likewise.

From-SVN: r244597

7 years agolibitm: Disable TSX on processors on which it may be broken.
Torvald Riegel [Wed, 18 Jan 2017 20:22:02 +0000 (20:22 +0000)]
libitm: Disable TSX on processors on which it may be broken.

libitm/ChangeLog

* config/x86/target.h (htm_available): Add check for some processors
on which TSX is broken.

From-SVN: r244594

7 years agors6000-c.c (altivec_overloaded_builtins): Add __builtin_vec_revb builtins.
Michael Meissner [Wed, 18 Jan 2017 19:30:38 +0000 (19:30 +0000)]
rs6000-c.c (altivec_overloaded_builtins): Add __builtin_vec_revb builtins.

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

* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
__builtin_vec_revb builtins.
* config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add
built-in functions to support generation of the ISA 3.0 XXBR<x>
vector byte reverse instructions.
(P9V_BUILTIN_XXBRQ_V1TI): Likewise.
(P9V_BUILTIN_XXBRD_V2DI): Likewise.
(P9V_BUILTIN_XXBRD_V2DF): Likewise.
(P9V_BUILTIN_XXBGW_V4SI): Likewise.
(P9V_BUILTIN_XXBGW_V4SF): Likewise.
(P9V_BUILTIN_XXBGH_V8HI): Likewise.
(P9V_BUILTIN_VEC_REVB): Likewise.
* config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to
generate the ISA 3.0 XXBR<x> vector byte reverse instructions.
(p9_xxbrq_v16qi): Likewise.
(p9_xxbrd_<mode>, VSX_D iterator): Likewise.
(p9_xxbrw_<mode>, VSX_W iterator): Likewise.
(p9_xxbrh_v8hi): Likewise.
* config/rs6000/altivec.h (vec_revb): Define if ISA 3.0.
* doc/extend.texi (RS/6000 Altivec Built-ins): Document the
vec_revb built-in functions.

[gcc/testsuite]
2017-01-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/p9-xxbr-1.c: New test.
* gcc.target/powerpc/p9-xxbr-2.c: Likewise.

From-SVN: r244593

7 years agore PR c++/78488 (P0136R1 ICE when building call to inherited default constructor.)
Nathan Sidwell [Wed, 18 Jan 2017 19:27:52 +0000 (19:27 +0000)]
re PR c++/78488 (P0136R1 ICE when building call to inherited default constructor.)

PR c++/78488
* call.c (build_over_call): When checking ellipsis conversions for
an inherited ctor, make sure there is at least one conversion.

* g++.dg/cpp1z/inh-ctor37.C: New.

From-SVN: r244592

7 years agore PR rtl-optimization/78952 (Combine does not convert 8-bit sign-extract to a zero...
Uros Bizjak [Wed, 18 Jan 2017 19:24:30 +0000 (20:24 +0100)]
re PR rtl-optimization/78952 (Combine does not convert 8-bit sign-extract to a zero-extract for QImode operations)

PR rtl-optimization/78952
* config/i386/i386.md (any_extract): New code iterator.
(*insvqi_2): Use any_extract for source operand.
(*insvqi_3): Use any_shiftrt for source operand.

testsuite/ChangeLog:

PR rtl-optimization/78952
* gcc.target/i386/pr78952-1.c: New test.
* gcc.target/i386/pr78952-2.c: Ditto.

From-SVN: r244591

7 years agocoarray_alloc_with_implicit_sync_2.f90: New test.
Andre Vehreschild [Wed, 18 Jan 2017 19:03:21 +0000 (20:03 +0100)]
coarray_alloc_with_implicit_sync_2.f90: New test.

gcc/testsuite/ChangeLog:

2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>

* gfortran.dg/coarray_alloc_with_implicit_sync_2.f90: New test.

Also fixed date in gcc/testsuite/ChangeLog on my previous commit.

gcc/fortran/ChangeLog:

2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>

* primary.c (caf_variable_attr): Improve figuring whether the current
component is the last one refed.
* trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
when allocating pointer or allocatable components.

From-SVN: r244590

7 years agogfortran.texi: Add missing parameters to caf-API functions.
Andre Vehreschild [Wed, 18 Jan 2017 18:37:57 +0000 (19:37 +0100)]
gfortran.texi: Add missing parameters to caf-API functions.

gcc/fortran/ChangeLog:

2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>

* gfortran.texi: Add missing parameters to caf-API functions.  Correct
typos and clarify some descriptions.

Adjusted date of my previous commit.

From-SVN: r244589

7 years agoPR69301 don't assume atomic<T> can default construct T
Jonathan Wakely [Wed, 18 Jan 2017 18:36:45 +0000 (18:36 +0000)]
PR69301 don't assume atomic<T> can default construct T

PR libstdc++/69301
* include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
aligned buffer instead of default-initialized variable.
* testsuite/29_atomics/atomic/69301.cc: New test.
* include/experimental/memory (observer_ptr::release): Use reserved
name.
* include/ext/pointer.h (_Pointer_adapter::operator++(int))
(_Pointer_adapter::operator--(int)): Likewise.

From-SVN: r244588

7 years agore PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray)
Andre Vehreschild [Wed, 18 Jan 2017 18:35:41 +0000 (19:35 +0100)]
re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray)

gcc/fortran/ChangeLog:

2017-01-17  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/70696
Missed some parts, here they are:
* trans-decl.c (gfc_build_qualified_array): Add static tokens to the
parent function's scope.
* trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code.  Remove
unnecessary assert.

gcc/testsuite/ChangeLog:

2017-01-17  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/70696
* gfortran.dg/coarray_event_1.f08: New test.

From-SVN: r244587

7 years agoSHA1H instructions may be scheduled after a SHA1C instruction that uses the same...
Wilco Dijkstra [Wed, 18 Jan 2017 18:23:34 +0000 (18:23 +0000)]
SHA1H instructions may be scheduled after a SHA1C instruction that uses the same input register.

SHA1H instructions may be scheduled after a SHA1C instruction
that uses the same input register.  However SHA1C updates its input,
so if SHA1H is scheduled after it, it requires an extra move.
Increase the priority of SHA1H to ensure it gets scheduled
earlier, avoiding the move.

    gcc/
* config/aarch64/aarch64.c (aarch64_sched_adjust_priority)
New function.
(TARGET_SCHED_ADJUST_PRIORITY): Define target hook.

From-SVN: r244586

7 years agore PR rtl-optimization/77416 (LRA rematerializing use of CA reg across function call)
Jakub Jelinek [Wed, 18 Jan 2017 17:39:56 +0000 (18:39 +0100)]
re PR rtl-optimization/77416 (LRA rematerializing use of CA reg across function call)

PR target/77416
* gcc.target/powerpc/pr77416.c Guard the test only for ilp32 effective
target.  Use powerpc* instead of powerpc64* in targets.  Remove -m32
from dg-options.
* gcc.target/powerpc/pr64205.c: Remove -m32 from dg-options of ilp32
guarded test.
* gcc.target/powerpc/fusion4.c: Likewise.
* gcc.target/powerpc/pr63491.c: Remove -m64 from dg-options of lp64
guarded test.
* gcc.target/powerpc/pr58673-1.c: Likewise.
* gcc.target/powerpc/pr58673-2.c: Likewise.
* gcc.target/powerpc/pr59054.c: Likewise.

From-SVN: r244585

7 years agoPR68925 don't use thread_local static for stateless object
Jonathan Wakely [Wed, 18 Jan 2017 17:18:47 +0000 (17:18 +0000)]
PR68925 don't use thread_local static for stateless object

PR libstdc++/68925
* include/experimental/random (randint): Use temporary instead of
thread_local static.

From-SVN: r244584

7 years agofix date
Jason Merrill [Wed, 18 Jan 2017 16:45:27 +0000 (11:45 -0500)]
fix date

From-SVN: r244583

7 years agoPR c++/78894 - ICE with class deduction and default arg
Jason Merrill [Wed, 18 Jan 2017 16:44:27 +0000 (11:44 -0500)]
PR c++/78894 - ICE with class deduction and default arg

* pt.c (build_deduction_guide): Set DECL_PRIMARY_TEMPLATE.

From-SVN: r244582

7 years agore PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initializati...
Maxim Ostapenko [Wed, 18 Jan 2017 16:06:31 +0000 (16:06 +0000)]
re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initialization-order-fiasco")

PR lto/79061
gcc/

* asan.c (get_translation_unit_decl): New function.
(asan_add_global): Extract modules file name from globals
TRANSLATION_UNIT_DECL in lto mode.
* tree.c (build_translation_unit_decl): Add source location for newly
built TRANSLATION_UNIT_DECL.

gcc/lto/

* lto.c (lto_read_decls): accept location cache for
TRANSLATION_UNIT_DECL.

gcc/testsuite/

* gcc.dg/cpp/mi1.c: Adjust testcase.
* gcc.dg/pch/cpp-3.c: Likewise.

From-SVN: r244581

7 years agoPR c++/77489 -- Reorganize abi warning check
Markus Trippelsdorf [Wed, 18 Jan 2017 15:49:15 +0000 (15:49 +0000)]
PR c++/77489 -- Reorganize abi warning check

PR c++/77489
* mangle.c (write_discriminator): Reorganize abi warning check.

From-SVN: r244580

7 years agore PR libobjc/78697 (--with-target-bdw-gc-include shouldn't be required to be per...
Matthias Klose [Wed, 18 Jan 2017 15:48:54 +0000 (15:48 +0000)]
re PR libobjc/78697 (--with-target-bdw-gc-include shouldn't be required to be per multilib)

2017-01-18  Matthias Klose  <doko@ubuntu.com>

        PR libobjc/78697
        * configure.ac: Allow default for --with-target-bdw-gc-include.
        * configure: Regenerate.

        PR libobjc/78698
        * configure.ac: Use the libgc.la file when available.
        * configure: Regenerate.

2017-01-18  Matthias Klose  <doko@ubuntu.com>

       * doc/install.texi: Allow default for --with-target-bdw-gc-include.

From-SVN: r244579

7 years agoaltivec.h (vec_bperm): Change #define.
Bill Schmidt [Wed, 18 Jan 2017 15:04:50 +0000 (15:04 +0000)]
altivec.h (vec_bperm): Change #define.

[gcc]

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

* config/rs6000/altivec.h (vec_bperm): Change #define.
* config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant.
(altivec_vbpermq2): New define_insn.
(altivec_vbpermd): Likewise.
* config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic
function interface.
(VBPERMD): Likewise.
(VBPERM): New polymorphic function interface.
* config/rs6000/r6000-c.c (altivec_overloaded_builtins_table):
Add entries for P9V_BUILTIN_VEC_VBPERM.
* doc/extend.texi: Add interfaces for vec_bperm.

[gcc/testsuite]

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

* gcc.target/powerpc/p8vector-builtin-8.c: Add new form for
vec_bperm.
* gcc.target/powerpc/p9-vbpermd.c: New file.

From-SVN: r244578

7 years agoS/390: Downcase first letter of error messages.
Andreas Krebbel [Wed, 18 Jan 2017 15:03:18 +0000 (15:03 +0000)]
S/390: Downcase first letter of error messages.

gcc/testsuite/ChangeLog:

2017-01-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/htm-builtins-compile-2.c (must_not_compile1):
(must_not_compile2): Downcase first letter of error messages.
* gcc.target/s390/target-attribute/tattr-13.c (b): Likewise.
* gcc.target/s390/vector/vec-abi-vararg-2.c: Likewise.

gcc/ChangeLog:

2017-01-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase
first letter of error messages.
(s390_resolve_overloaded_builtin): Likewise.
* config/s390/s390.c (s390_expand_builtin): Likewise.
(s390_invalid_arg_for_unprototyped_fn): Likewise.
(s390_valid_target_attribute_inner_p): Likewise.
* config/s390/s390.md ("tabort"): Likewise.

From-SVN: r244577

7 years agocp-tree.h: Clarify exception spec node comment.
Nathan Sidwell [Wed, 18 Jan 2017 12:52:24 +0000 (12:52 +0000)]
cp-tree.h: Clarify exception spec node comment.

* cp-tree.h: Clarify exception spec node comment.
* except.c (nothrow_spec_p): Simplify by checking node-equality.

From-SVN: r244576

7 years agore PR c++/79091 (ICE in write_unnamed_type)
Nathan Sidwell [Wed, 18 Jan 2017 12:51:28 +0000 (12:51 +0000)]
re PR c++/79091 (ICE in write_unnamed_type)

PR c++/79091
* mangle.c (write_exception_spec): Check nothrow explicitly.
(write_encoding): Don't increment processing_template_decl around
encoding.

PR c++/79091
* g++.dg/pr79091.C: New.

From-SVN: r244575

7 years agotattr-2.c: Add -fno-ipa-icf to dg-options.
Jakub Jelinek [Wed, 18 Jan 2017 11:51:46 +0000 (12:51 +0100)]
tattr-2.c: Add -fno-ipa-icf to dg-options.

* gcc.target/s390/target-attribute/tattr-2.c: Add -fno-ipa-icf
to dg-options.
(p0): Add missing dg-error.

From-SVN: r244571

7 years agoMIPS: Fix generation of Loongson-specific division and modulo instructions.
Toma Tabacu [Wed, 18 Jan 2017 10:57:17 +0000 (10:57 +0000)]
MIPS: Fix generation of Loongson-specific division and modulo instructions.

gcc

* config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro.
(ISA_AVOID_DIV_HILO): New macro.
(ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro.
(ISA_HAS_DDIV): Likewise.

From-SVN: r244570

7 years agoFix number of occurrences.
Markus Trippelsdorf [Wed, 18 Jan 2017 09:58:33 +0000 (09:58 +0000)]
Fix number of occurrences.

From-SVN: r244569

7 years agoSpelling fix
Markus Trippelsdorf [Wed, 18 Jan 2017 08:54:33 +0000 (08:54 +0000)]
Spelling fix

From-SVN: r244568

7 years agoFix PR70182 -- missing "on" in mangling of unresolved operators
Markus Trippelsdorf [Wed, 18 Jan 2017 08:49:11 +0000 (08:49 +0000)]
Fix PR70182 -- missing "on" in mangling of unresolved operators

The ABI says:

<unresolved-name>
   ::= [gs] <base-unresolved-name>
   ::= sr <unresolved-type> <base-unresolved-name>
   ::= srN <unresolved-type> <unresolved-qualifier-level>+ E <base-unresolved-name>
   ::= [gs] sr <unresolved-qualifier-level>+ E <base-unresolved-name>

<base-unresolved-name>
   ::= <simple-id>
   ::= on <operator-name>
   ::= on <operator-name> <template-args>
   ::= dn <destructor-name

libiberty:

PR c++/70182
* cp-demangle.c (d_unqualified_name): Handle "on" for
operator names.
* testsuite/demangle-expected: Add tests.

gcc/cp:

PR c++/70182
* mangle.c (write_template_args): Add "on" for operator names.

gcc:

PR c++/70182
* doc/invoke.texi (fabi-version): Mention mangling fix for
operator names.

From-SVN: r244567

7 years agoFix PR77489 -- mangling of discriminator >= 1
Markus Trippelsdorf [Wed, 18 Jan 2017 08:40:05 +0000 (08:40 +0000)]
Fix PR77489 -- mangling of discriminator >= 1

libiberty:

PR c++/77489
* cp-demangle.c (d_discriminator): Handle discriminator >= 10.
* testsuite/demangle-expected: Add tests for discriminator.

gcc:
PR c++/77489
* doc/invoke.texi (fabi-version): Document discriminator mangling.

gcc/cp:

PR c++/77489
* mangle.c (write_discriminator): Handle discriminator >= 10.

From-SVN: r244566

7 years agot-msp430 (LIB2ADD): Remove mpy.c
Joe Seymour [Wed, 18 Jan 2017 03:56:10 +0000 (03:56 +0000)]
t-msp430 (LIB2ADD): Remove mpy.c

libgcc/
* config/msp430/t-msp430 (LIB2ADD): Remove mpy.c
(mpy.o): New rule.
(libmul_none.a): Add mpy.o

gcc/testsuite/
* gcc.target/msp430/mul_f5_muldef.c: New test.

From-SVN: r244564

7 years agosyscall, golang_org/x/net/lif: fixes for gccgo on Solaris
Ian Lance Taylor [Wed, 18 Jan 2017 03:37:52 +0000 (03:37 +0000)]
syscall, golang_org/x/net/lif: fixes for gccgo on Solaris

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

From-SVN: r244563

7 years agoCheck in gcc/testsuite/gcc.target/powerpc/ssp-[12].c (I forgot "svn add"
Segher Boessenkool [Wed, 18 Jan 2017 01:05:50 +0000 (02:05 +0100)]
Check in  gcc/testsuite/gcc.target/powerpc/ssp-[12].c  (I forgot "svn add"
once again).

From-SVN: r244562

7 years agore PR target/79004 (ICE in gcc.dg/torture/fp-int-convert-float128-ieee.c with -mcpu...
Michael Meissner [Wed, 18 Jan 2017 00:35:29 +0000 (00:35 +0000)]
re PR target/79004 (ICE in gcc.dg/torture/fp-int-convert-float128-ieee.c with -mcpu=power9)

2017-01-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/79004
* gcc.target/powerpc/pr79004.c: Add -mfloat128 to the test
options.  Fix up the syntax for using \m and \M.

From-SVN: r244561

7 years agoDaily bump.
GCC Administrator [Wed, 18 Jan 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r244560

7 years agocrossconfig.m4: Add fuchsia OS.
Joshua Conner [Tue, 17 Jan 2017 23:36:12 +0000 (23:36 +0000)]
crossconfig.m4: Add fuchsia OS.

2017-01-17  Joshua Conner  <joshconner@google.com>

* crossconfig.m4: Add fuchsia OS.
* configure: Regenerate.

From-SVN: r244557

7 years ago-mstack-protector-guard and friends (PR78875)
Segher Boessenkool [Tue, 17 Jan 2017 22:02:42 +0000 (23:02 +0100)]
-mstack-protector-guard and friends (PR78875)

Currently, on PowerPC, code compiled with -fstack-protector will load
the canary from -0x7010(13) (for -m64) or from -0x7008(2) (for -m32)
if GCC was compiled against GNU libc 2.4 or newer or some other libc
that supports -fstack-protector, and from the global variable
__stack_chk_guard otherwise.

This does not work well for Linux and other OS kernels and similar.
For such non-standard applications, this patch creates a few new
command-line options.  The relevant new use cases are:

-mstack-protector-guard=global
Use the __stack_chk_guard variable, no matter how this GCC was
configured.

-mstack-protector-guard=tls
Use the canary from TLS.  This will error out if this GCC was built
with a C library that does not support it.

-mstack-protector-guard=tls -mstack-protector-register=<reg>
-mstack-protector-offset=<offset>
Load the canary from offset <off> from base register <reg>.

PR target/78875
* config/rs6000/rs6000-opts.h (stack_protector_guard): New enum.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Handle
the new options.
* config/rs6000/rs6000.md (stack_protect_set): Handle the new more
flexible settings.
(stack_protect_test): Ditto.
* config/rs6000/rs6000.opt (mstack-protector-guard=,
mstack-protector-guard-reg=, mstack-protector-guard-offset=): New
options.
* doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]:
Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and
-mstack-protector-guard-offset=.
(RS/6000 and PowerPC Options): Ditto.

gcc/testsuite/
* gcc.target/powerpc/ssp-1.c: New testcase.
* gcc.target/powerpc/ssp-2.c: New testcase.

From-SVN: r244556

7 years agoi386.h (MASK_CLASS_P): New define.
Uros Bizjak [Tue, 17 Jan 2017 19:44:53 +0000 (20:44 +0100)]
i386.h (MASK_CLASS_P): New define.

* config/i386/i386.h (MASK_CLASS_P): New define.
* config/i386/i386.c (inline_secondary_memory_needed): Ensure that
there are no registers from different register sets also when
mask registers are used.  Update function comment.
* config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative
to (*k/*r) and (*k/*km) alternatives.

From-SVN: r244548

7 years agoThis patch simplifies the handling of EH return.
Wilco Dijkstra [Tue, 17 Jan 2017 19:34:26 +0000 (19:34 +0000)]
This patch simplifies the handling of EH return.

This patch simplifies the handling of EH return.  We force the use of the
frame pointer so the return location is always at FP + 8.  This means we
can emit a simple volatile access in EH_RETURN_HANDLER_RTX without needing md
patterns, splitters and frame offset calculations.  The new implementation also
fixes various bugs in aarch64_final_eh_return_addr, which does not work with
-fomit-frame-pointer, alloca or outgoing arguments.

    gcc/
* config/aarch64/aarch64.md (eh_return): Remove pattern and splitter.
* config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove.
(EH_RETURN_HANDLER_RTX): New define.
* config/aarch64/aarch64.c (aarch64_frame_pointer_required):
Force frame pointer in EH return functions.
(aarch64_expand_epilogue): Add barrier for eh_return.
(aarch64_final_eh_return_addr): Remove.
(aarch64_eh_return_handler_rtx): New function.
* config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr):
Remove.
(aarch64_eh_return_handler_rtx): New prototype.

    testsuite/
* gcc.target/aarch64/eh_return.c: New test.

From-SVN: r244547

7 years agoaltivec.h (vec_rlmi): New #define.
Bill Schmidt [Tue, 17 Jan 2017 19:14:09 +0000 (19:14 +0000)]
altivec.h (vec_rlmi): New #define.

[gcc]

2017-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.h (vec_rlmi): New #define.
(vec_vrlnm): Likewise.
(vec_rlnm): Likewise.
* config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value.
(UNSPEC_VRLNM): Likewise.
(VIlong): New mode iterator.
(altivec_vrl<VI_char>mi): New define_insn.
(altivec_vrl<VI_char>nm): Likewise.
* config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic
function entry.
(VRLDNM): Likewise.
(RLNM): New polymorphic function entry.
(VRLWMI): New monomorphic function entry.
(VRLDMI): Likewise.
(RLMI): New polymorphic function entry.
* config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add
new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM.
* doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and
vec_vrlnm.

[gcc/testsuite]

2017-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* vec-rlmi-rlnm.c: New file.

From-SVN: r244546

7 years agore PR debug/78839 (DWARF output different between GCC 5 and 6)
Jakub Jelinek [Tue, 17 Jan 2017 18:32:13 +0000 (19:32 +0100)]
re PR debug/78839 (DWARF output different between GCC 5 and 6)

PR debug/78839
* dwarf2out.c (field_byte_offset): Restore the
PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET
and DECL_FIELD_BIT_OFFSET.  Use fold_build2 instead of build2 + fold.
(analyze_variants_discr, gen_variant_part): Use fold_build2 instead
of build2 + fold.

From-SVN: r244545

7 years agore PR c++/61636 (generic lambda: segfault / "cannot call member function without...
Nathan Sidwell [Tue, 17 Jan 2017 18:22:34 +0000 (18:22 +0000)]
re PR c++/61636 (generic lambda: segfault / "cannot call member function without object")

PR c++/61636
* cp-tree.h (maybe_generic_this_capture): Declare.
* lambda.c (resolvable_dummy_lambda): New, broken out of ...
(maybe_resolve_dummy): ... here.  Call it.
(maybe_generic_this_capture): New.
* parser.c (cp_parser_postfix_expression): Speculatively capture
this in generic lambda in unresolved member function call.
* pt.c (tsubst_copy_and_build): Force hard error from failed
member function lookup in generic lambda.

PR c++/61636
* g++.dg/cpp1y/pr61636-1.C: New.
* g++.dg/cpp1y/pr61636-2.C: New.
* g++.dg/cpp1y/pr61636-3.C: New.

From-SVN: r244544

7 years agore PR ada/67205 (eliminate No_Implicit_Dynamic_Code restriction violations)
Eric Botcazou [Tue, 17 Jan 2017 18:02:55 +0000 (18:02 +0000)]
re PR ada/67205 (eliminate No_Implicit_Dynamic_Code restriction violations)

PR ada/67205
* config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define

From-SVN: r244543

7 years agore PR debug/71669 (DW_AT_data_bit_offset is not emitted for dwarf4 and above)
Jakub Jelinek [Tue, 17 Jan 2017 17:42:06 +0000 (18:42 +0100)]
re PR debug/71669 (DW_AT_data_bit_offset is not emitted for dwarf4 and above)

PR debug/71669
* dwarf2out.c (add_data_member_location_attribute): For constant
offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute
instead of DW_AT_data_member_location, DW_AT_bit_offset and
DW_AT_byte_size attributes.

From-SVN: r244542

7 years agors6000.c (rs6000_emit_move): Also use a TOC reference after forcing to constant memor...
Eric Botcazou [Tue, 17 Jan 2017 17:33:43 +0000 (17:33 +0000)]
rs6000.c (rs6000_emit_move): Also use a TOC reference after forcing to constant memory when...

* config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference
after forcing to constant memory when the code model is medium.

From-SVN: r244541

7 years agore PR target/76731 ([AVX512] _mm512_i32gather_epi32 and other scatter/gather routines...
Julia Koval [Tue, 17 Jan 2017 17:03:00 +0000 (18:03 +0100)]
re PR target/76731 ([AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature)

PR target/76731
* config/i386/avx512fintrin.h
(_mm512_i32gather_ps): Change __addr type to void const*.
(_mm512_mask_i32gather_ps): Ditto.
(_mm512_i32gather_pd): Ditto.
(_mm512_mask_i32gather_pd): Ditto.
(_mm512_i64gather_ps): Ditto.
(_mm512_mask_i64gather_ps): Ditto.
(_mm512_i64gather_pd): Ditto.
(_mm512_mask_i64gather_pd): Ditto.
(_mm512_i32gather_epi32): Ditto.
(_mm512_mask_i32gather_epi32): Ditto.
(_mm512_i32gather_epi64): Ditto.
(_mm512_mask_i32gather_epi64): Ditto.
(_mm512_i64gather_epi32): Ditto.
(_mm512_mask_i64gather_epi32): Ditto.
(_mm512_i64gather_epi64): Ditto.
(_mm512_mask_i64gather_epi64): Ditto.
(_mm512_i32scatter_ps): Change __addr type to void*.
(_mm512_mask_i32scatter_ps): Ditto.
(_mm512_i32scatter_pd): Ditto.
(_mm512_mask_i32scatter_pd): Ditto.
(_mm512_i64scatter_ps): Ditto.
(_mm512_mask_i64scatter_ps): Ditto.
(_mm512_i64scatter_pd): Ditto.
(_mm512_mask_i64scatter_pd): Ditto.
(_mm512_i32scatter_epi32): Ditto.
(_mm512_mask_i32scatter_epi32): Ditto.
(_mm512_i32scatter_epi64): Ditto.
(_mm512_mask_i32scatter_epi64): Ditto.
(_mm512_i64scatter_epi32): Ditto.
(_mm512_mask_i64scatter_epi32): Ditto.
(_mm512_i64scatter_epi64): Ditto.
(_mm512_mask_i64scatter_epi64): Ditto.
* config/i386/avx512pfintrin.h
(_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*.
(_mm512_mask_prefetch_i32gather_ps): Ditto.
(_mm512_mask_prefetch_i64gather_pd): Ditto.
(_mm512_mask_prefetch_i64gather_ps): Ditto.
(_mm512_prefetch_i32scatter_pd): Change __addr type to void*.
(_mm512_prefetch_i32scatter_ps): Ditto.
(_mm512_mask_prefetch_i32scatter_pd): Ditto.
(_mm512_mask_prefetch_i32scatter_ps): Ditto.
(_mm512_prefetch_i64scatter_pd): Ditto.
(_mm512_prefetch_i64scatter_ps): Ditto.
(_mm512_mask_prefetch_i64scatter_pd): Ditto.
(_mm512_mask_prefetch_i64scatter_ps): Ditto.
* config/i386/avx512vlintrin.h
(_mm256_mmask_i32gather_ps): Change __addr type to void const*.
(_mm_mmask_i32gather_ps): Ditto.
(_mm256_mmask_i32gather_pd): Ditto.
(_mm_mmask_i32gather_pd): Ditto.
(_mm256_mmask_i64gather_ps): Ditto.
(_mm_mmask_i64gather_ps): Ditto.
(_mm256_mmask_i64gather_pd): Ditto.
(_mm_mmask_i64gather_pd): Ditto.
(_mm256_mmask_i32gather_epi32): Ditto.
(_mm_mmask_i32gather_epi32): Ditto.
(_mm256_mmask_i32gather_epi64): Ditto.
(_mm_mmask_i32gather_epi64): Ditto.
(_mm256_mmask_i64gather_epi32): Ditto.
(_mm_mmask_i64gather_epi32): Ditto.
(_mm256_mmask_i64gather_epi64): Ditto.
(_mm_mmask_i64gather_epi64): Ditto.
(_mm256_i32scatter_ps): Change __addr type to void*.
(_mm256_mask_i32scatter_ps): Ditto.
(_mm_i32scatter_ps): Ditto.
(_mm_mask_i32scatter_ps): Ditto.
(_mm256_i32scatter_pd): Ditto.
(_mm256_mask_i32scatter_pd): Ditto.
(_mm_i32scatter_pd): Ditto.
(_mm_mask_i32scatter_pd): Ditto.
(_mm256_i64scatter_ps): Ditto.
(_mm256_mask_i64scatter_ps): Ditto.
(_mm_i64scatter_ps): Ditto.
(_mm_mask_i64scatter_ps): Ditto.
(_mm256_i64scatter_pd): Ditto.
(_mm256_mask_i64scatter_pd): Ditto.
(_mm_i64scatter_pd): Ditto.
(_mm_mask_i64scatter_pd): Ditto.
(_mm256_i32scatter_epi32): Ditto.
(_mm256_mask_i32scatter_epi32): Ditto.
(_mm_i32scatter_epi32): Ditto.
(_mm_mask_i32scatter_epi32): Ditto.
(_mm256_i32scatter_epi64): Ditto.
(_mm256_mask_i32scatter_epi64): Ditto.
(_mm_i32scatter_epi64): Ditto.
(_mm_mask_i32scatter_epi64): Ditto.
(_mm256_i64scatter_epi32): Ditto.
(_mm256_mask_i64scatter_epi32): Ditto.
(_mm_i64scatter_epi32): Ditto.
(_mm_mask_i64scatter_epi32): Ditto.
(_mm256_i64scatter_epi64): Ditto.
(_mm256_mask_i64scatter_epi64): Ditto.
(_mm_i64scatter_epi64): Ditto.
(_mm_mask_i64scatter_epi64): Ditto.
* config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT)
(V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT)
(V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT)
(V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT)
(V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT)
(V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT)
(V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT)
(V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT)
(V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT)
(V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT)
(V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT)
(V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT)
(V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT)
(VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT)
(VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT)
(VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT)
(VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT)
(VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT)
(VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT)
(VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT)
(VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT)
(VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT)
(VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT)
(VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT)
(VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT)
(VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT)
(VOID_QI_V8DI_PCINT_INT_INT): Remove.
(V16SF_V16SF_PCVOID_V16SI_HI_INT,  V8DF_V8DF_PCVOID_V8SI_QI_INT)
(V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT)
(V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT)
(V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT)
(VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT)
(VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT)
(VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT)
(VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT)
(V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT)
(V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT
(V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT)
(V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT)
(V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT)
(V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT)
(V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT)
(V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT)
(VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT)
(VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT)
(VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT)
(VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT)
(VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT)
(VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT)
(VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT)
(VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT)
(VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT)
(VOID_QI_V8DI_PCVOID_INT_INT): Add.
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin
definitions accordingly.

From-SVN: r244540

7 years agore PR target/79079 ([6] Wrong code gen for __builtin_mul_overflow when TRULY_NOOP_TRU...
Kito Cheng [Tue, 17 Jan 2017 16:56:30 +0000 (16:56 +0000)]
re PR target/79079 ([6] Wrong code gen for __builtin_mul_overflow when TRULY_NOOP_TRUNCATION (32, 64) == false)

PR target/79079
* internal-fn.c (expand_mul_overflow): Use convert_modes instead of
gen_lowpart.

Co-Authored-By: Kuan-Lin Chen <kuanlinchentw@gmail.com>
From-SVN: r244539

7 years agore PR c++/70565 (ICE at gimplify.c:8832 (cilkplus array extension))
Aldy Hernandez [Tue, 17 Jan 2017 16:54:55 +0000 (16:54 +0000)]
re PR c++/70565 (ICE at gimplify.c:8832 (cilkplus array extension))

PR c++/70565
* cp-array-notation.c (expand_array_notation_exprs): Handle
OMP_PARALLEL.

From-SVN: r244538

7 years agoPR testsuite/79115 - FAIL: gcc.dg/pr78768.c execution test on arm, aarch64
Martin Sebor [Tue, 17 Jan 2017 16:36:55 +0000 (16:36 +0000)]
PR testsuite/79115 - FAIL: gcc.dg/pr78768.c execution test on arm, aarch64

gcc/testsuite/ChangeLog
* gcc.dg/pr78768.c: Make it a link-only test.

From-SVN: r244537

7 years agoFix wording of -Wmisleading-indentation (PR c++/71497)
David Malcolm [Tue, 17 Jan 2017 16:33:44 +0000 (16:33 +0000)]
Fix wording of -Wmisleading-indentation (PR c++/71497)

gcc/c-family/ChangeLog:
PR c++/71497
* c-indentation.c (warn_for_misleading_indentation): Use the past
subjunctive in the note.

gcc/testsuite/ChangeLog:
PR c++/71497
* c-c++-common/Wmisleading-indentation-3.c: Update wording of
expected messages.
* c-c++-common/Wmisleading-indentation.c: Likewise.

From-SVN: r244536

7 years agore PR target/79058 (ARM: internal compiler error: in extract_constrain_insn, at recog...
Vladimir Makarov [Tue, 17 Jan 2017 16:11:55 +0000 (16:11 +0000)]
re PR target/79058 (ARM: internal compiler error: in extract_constrain_insn, at recog.c:2213)

2017-01-17  Vladimir Makarov  <vmakarov@redhat.com>

PR target/79058
* ira-conflicts.c (ira_build_conflicts): Update total conflict
hard regs for inner regno.

2017-01-17  Vladimir Makarov  <vmakarov@redhat.com>

PR target/79058
* gcc.target/arm/pr79058.c: New.

From-SVN: r244535

7 years agore PR tree-optimization/71854 (ICE at -O3 in both 32-bit and 64-bit modes on x86_64...
Jakub Jelinek [Tue, 17 Jan 2017 15:50:24 +0000 (16:50 +0100)]
re PR tree-optimization/71854 (ICE at -O3 in both 32-bit and 64-bit modes on x86_64-linux-gnu (verify_gimple failed))

PR tree-optimization/71854
* gcc.dg/vect/pr71854.c: New test.

From-SVN: r244534

7 years agore PR c/79116 (ICE on cilkplus array notation with a _Cilk_for)
Aldy Hernandez [Tue, 17 Jan 2017 15:27:18 +0000 (15:27 +0000)]
re PR c/79116 (ICE on cilkplus array notation with a _Cilk_for)

PR c/79116
* array-notation-common.c (cilkplus_extract_an_triplets): Convert
start type to integer_type.

From-SVN: r244533

7 years agoPR69699 document why __GLIBCXX__ macro is useless
Jonathan Wakely [Tue, 17 Jan 2017 15:26:11 +0000 (15:26 +0000)]
PR69699 document why __GLIBCXX__ macro is useless

PR libstdc++/69699
* doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
_GLIBCXX__ macro is not useful. Remove redundant date information
and link to the GCC release timeline.
(abi.versioning.active): Move partial sentence into the previous
paragraph.
* doc/html/*: Regenerate.

From-SVN: r244532

7 years agoPR79114 use decayed type in std::throw_with_nested assertion
Jonathan Wakely [Tue, 17 Jan 2017 15:26:06 +0000 (15:26 +0000)]
PR79114 use decayed type in std::throw_with_nested assertion

PR libstdc++/79114
* libsupc++/nested_exception.h (throw_with_nested): Use decay instead
of remove_reference.
* testsuite/18_support/nested_exception/79114.cc: New test.

From-SVN: r244531

7 years agoFix wrong assumption in contains_type_p (PR ipa/71207).
Martin Liska [Tue, 17 Jan 2017 15:11:00 +0000 (16:11 +0100)]
Fix wrong assumption in contains_type_p (PR ipa/71207).

2017-01-17  Martin Liska  <mliska@suse.cz>

PR ipa/71207
* g++.dg/ipa/pr71207.C: New test.
2017-01-17  Martin Liska  <mliska@suse.cz>

PR ipa/71207
* ipa-polymorphic-call.c (contains_type_p): Fix wrong
assumption and add comment.

From-SVN: r244530

7 years agoipa-visibility.c (localize_node): New function, broken out of ...
Nathan Sidwell [Tue, 17 Jan 2017 15:04:50 +0000 (15:04 +0000)]
ipa-visibility.c (localize_node): New function, broken out of ...

* ipa-visibility.c (localize_node): New function, broken out of ...
(function_and_variable_visibility): ... here. Call it.

From-SVN: r244529

7 years agore PR tree-optimization/77445 (Performance drop after r239219 on coremark test)
Jan Hubicka [Tue, 17 Jan 2017 12:49:41 +0000 (13:49 +0100)]
re PR tree-optimization/77445 (Performance drop after r239219 on coremark test)

PR middle-end/77445
* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
correctly set frequency of oudgoing edge.
(duplicate_thread_path): Fix profile updating.
* gcc.dg/tree-ssa/pr77445-2.c: New testcase.
* gcc.dg/tree-ssa/pr77445.c: New testcase.

From-SVN: r244528

7 years agossa-dse-2.C (size_t): Typedef to __SIZE_TYPE__ rather than long unsigned int.
Jakub Jelinek [Tue, 17 Jan 2017 10:14:40 +0000 (11:14 +0100)]
ssa-dse-2.C (size_t): Typedef to __SIZE_TYPE__ rather than long unsigned int.

* g++.dg/tree-ssa/ssa-dse-2.C (size_t): Typedef to __SIZE_TYPE__
rather than long unsigned int.
* g++.dg/tree-ssa/ssa-dom.C: Likewise.

From-SVN: r244527

7 years agohsa.h: Add GCC runtime library exception.
Jakub Jelinek [Tue, 17 Jan 2017 09:45:23 +0000 (10:45 +0100)]
hsa.h: Add GCC runtime library exception.

* plugin/hsa.h: Add GCC runtime library exception.
* plugin/hsa_ext_finalize.h: Likewise.

From-SVN: r244523

7 years agoconfigfrag.ac: For --without-cuda-driver don't initialize CUDA_DRIVER_INCLUDE nor...
Jakub Jelinek [Tue, 17 Jan 2017 09:44:17 +0000 (10:44 +0100)]
configfrag.ac: For --without-cuda-driver don't initialize CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.

* plugin/configfrag.ac: For --without-cuda-driver don't initialize
CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
plugin/include/cuda as include dir and -ldl instead of -lcuda as
library to link ptx plugin against.
* plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
(CUDA_CALLS): Define.
(cuda_lib, cuda_lib_inited): New variables.
(init_cuda_lib): New function.
(CUDA_CALL_PREFIX): Define.
(CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
(CUDA_CALL): Use FN instead of (FN).
(CUDA_CALL_NOCHECK): Define.
(cuda_error, fini_streams_for_device, select_stream_for_async,
nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
CUDA_CALL_NOCHECK.
(nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
CUDA_CALL_NOCHECK.
(nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
Use CUDA_CALL_NOCHECK.
* plugin/cuda/cuda.h: New file.
* config.h.in: Regenerated.
* configure: Regenerated.

From-SVN: r244522

7 years agore PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
Jakub Jelinek [Tue, 17 Jan 2017 09:38:48 +0000 (10:38 +0100)]
re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)

PR other/79046
* configure: Regenerated.
config/
* acx.m4 (GCC_BASE_VER): New m4 function.
(ACX_TOOL_DIRS): Require GCC_BASE_VER, for
--with-gcc-major-version-only use just major number from BASE-VER.
gcc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
(gcc.o): Depend on $(BASEVER).
* common.opt (dumpfullversion): New option.
* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
* doc/invoke.texi: Document -dumpfullversion.
* doc/install.texi: Document --with-gcc-major-version-only.
* configure: Regenerated.
libatomic/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libgomp/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libgcc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
* configure: Regenerated.
libssp/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
liboffloadmic/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* aclocal.m4: Include ../config/acx.m4.
* configure: Regenerated.
* Makefile.in: Regenerated.
libquadmath/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libmpx/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libada/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
* configure: Regenerated.
lto-plugin/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libitm/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
fixincludes/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
libcilkrts/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* aclocal.m4: Include ../config/acx.m4.
* configure: Regenerated.
* Makefile.in: Regenerated.
libcc1/
* configure.ac: Add GCC_BASE_VER.  For --with-gcc-major-version-only
use just major number from BASE-VER.
* configure: Regenerated.
* Makefile.in: Regenerated.
libobjc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
libstdc++-v3/
* configure.ac: Add GCC_BASE_VER.
* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* po/Makefile.in: Regenerated.
* libsupc++/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* doc/Makefile.in: Regenerated.
* python/Makefile.in: Regenerated.
* src/c++11/Makefile.in: Regenerated.
* src/c++98/Makefile.in: Regenerated.
* src/filesystem/Makefile.in: Regenerated.
libvtv/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libsanitizer/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* libbacktrace/Makefile.in: Regenerated.
* interception/Makefile.in: Regenerated.
* asan/Makefile.in: Regenerated.
* ubsan/Makefile.in: Regenerated.
* configure: Regenerated.
* sanitizer_common/Makefile.in: Regenerated.
* lsan/Makefile.in: Regenerated.
* Makefile.in: Regenerated.
* tsan/Makefile.in: Regenerated.
libgfortran/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.

From-SVN: r244521

7 years agore PR tree-optimization/71433 (-Warray-bounds false positive with -O2)
Richard Biener [Tue, 17 Jan 2017 08:38:59 +0000 (08:38 +0000)]
re PR tree-optimization/71433 (-Warray-bounds false positive with -O2)

2017-01-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71433
* tree-vrp.c (register_new_assert_for): Merge same asserts
on all incoming edges.
(process_assert_insertions_for): Handle insertions at the
beginning of BBs.

* gcc.dg/Warray-bounds-20.c: New testcase.

From-SVN: r244520

7 years agore PR testsuite/52563 (FAIL: gcc.dg/tree-ssa/scev-[3,4].c scan-tree-dump-times optimi...
Richard Biener [Tue, 17 Jan 2017 08:24:26 +0000 (08:24 +0000)]
re PR testsuite/52563 (FAIL: gcc.dg/tree-ssa/scev-[3,4].c scan-tree-dump-times optimized "&a" 1)

2017-01-17  Richard Biener  <rguenther@suse.de>

PR testsuite/52563
PR testsuite/71237
PR testsuite/77737
* gcc.dg/tree-ssa/scev-3.c: Re-write to a GIMPLE testcase for IVOPTs.
* gcc.dg/tree-ssa/scev-4.c: Likewise.
* gcc.dg/tree-ssa/scev-5.c: Likewise.

From-SVN: r244519

7 years agogcc_update: Remove entries related to GCJ and libgcj.
Gerald Pfeifer [Tue, 17 Jan 2017 07:44:45 +0000 (07:44 +0000)]
gcc_update: Remove entries related to GCJ and libgcj.

* gcc_update: Remove entries related to GCJ and libgcj.
Complete copyright years and adjust my e-mail address.

From-SVN: r244518

7 years agocygwin.h (LIBGCJ_SONAME): Remove.
Gerald Pfeifer [Tue, 17 Jan 2017 07:23:40 +0000 (07:23 +0000)]
cygwin.h (LIBGCJ_SONAME): Remove.

* config/i386/cygwin.h (LIBGCJ_SONAME): Remove.
* config/i386/mingw32.h (LIBGCJ_SONAME): Remove.

From-SVN: r244517

7 years agore PR target/78633 ([SH] libgcc/fp-bit.c:944:1: error: invalid rtl sharing found...
Kaz Kojima [Tue, 17 Jan 2017 04:07:51 +0000 (04:07 +0000)]
re PR target/78633 ([SH] libgcc/fp-bit.c:944:1: error: invalid rtl sharing found in the insn)

PR target/78633
* config/sh/sh.md (cmpeqsi_t+1): Call copy_rtx to avoid invalid
RTL sharing.

From-SVN: r244516

7 years agoPR79066, non-PIC code generated for powerpc glibc with -fpic
Alan Modra [Tue, 17 Jan 2017 02:54:11 +0000 (13:24 +1030)]
PR79066, non-PIC code generated for powerpc glibc with -fpic

PR target/79066
* config/rs6000/rs6000.md (elf_high, elf_low): Disable when pic.
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't allow
symbolic stack limit when pic.
testsuite/
* gcc.target/powerpc/pr79066.c: New.

From-SVN: r244515

7 years agoDaily bump.
GCC Administrator [Tue, 17 Jan 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r244514

7 years agoPR tree-optimization/78608 - gimple-ssa-sprintf.c:570:17: runtime error: negation...
Martin Sebor [Tue, 17 Jan 2017 00:14:52 +0000 (00:14 +0000)]
PR tree-optimization/78608 - gimple-ssa-sprintf.c:570:17: runtime error: negation of -9223372036854775808 cannot be represented in type 'long int'

gcc/ChangeLog:
* gimple-ssa-sprintf.c (tree_digits): Avoid negating TYPE_MIN.

From-SVN: r244511

7 years agorevert: Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several...
Jeff Law [Mon, 16 Jan 2017 23:51:57 +0000 (16:51 -0700)]
revert: Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several include directories that may be relative...

Revert:
2016-12-02  Tadek Kijkowski  <tkijkowski@gmail.com>
        * Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
        for several include directories that may be relative to sysroot.
        * config/i386/x-mingw32 (gplus_includedir): Define.
        (gplus_tool_includedir, gplus_backward_include_dir): Likewise.
        (native_system_includedir): Likewise.
        * config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
        override if TARGET_SYSTEM_ROOT is defined.
        (NATIVE_SYSTEM_HEADER_DIR): Likewise.

From-SVN: r244510

7 years agore PR tree-optimization/79090 (DSE wrongly removes store at variable offset)
Jeff Law [Mon, 16 Jan 2017 23:43:05 +0000 (16:43 -0700)]
re PR tree-optimization/79090 (DSE wrongly removes store at variable offset)

2017-01-16  Jeff Law  <law@redhat.com>

PR tree-optimization/79090
PR tree-optimization/33562
PR tree-optimization/61912
PR tree-optimization/77485
* tree-ssa-dse.c (compute_trims): Accept STMT argument.  Dump STMT
and computed trims into the dump file.

PR tree-optimization/79090
PR tree-optimization/33562
PR tree-optimization/61912
PR tree-optimization/77485
* tree-ssa-dse.c (compute_trims): Accept STMT argument.  Dump STMT
and computed trims into the dump file.

From-SVN: r244509

7 years agoi386.h (LIMIT_RELOAD_CLASS): Remove.
Uros Bizjak [Mon, 16 Jan 2017 23:18:30 +0000 (00:18 +0100)]
i386.h (LIMIT_RELOAD_CLASS): Remove.

* config/i386/i386.h (LIMIT_RELOAD_CLASS): Remove.

From-SVN: r244508

7 years agore PR middle-end/79089 (error: incorrect sharing of tree nodes)
Jakub Jelinek [Mon, 16 Jan 2017 21:35:30 +0000 (22:35 +0100)]
re PR middle-end/79089 (error: incorrect sharing of tree nodes)

PR c/79089
* gimplify.c (gimplify_init_constructor): If want_value and
object == lhs, unshare lhs to avoid invalid tree sharing.  Formatting
fix.

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

From-SVN: r244507

7 years agore PR target/79080 (ICE: internal consistency failure (error: invalid rtl sharing...
Jakub Jelinek [Mon, 16 Jan 2017 21:34:35 +0000 (22:34 +0100)]
re PR target/79080 (ICE: internal consistency failure (error: invalid rtl sharing found in the insn) (error: shared rtx))

PR target/79080
* loop-doloop.c (doloop_modify): Call unshare_all_rtl_in_chain on
sequence.  Formatting fixes.
(doloop_optimize): Formatting fixes.

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

From-SVN: r244506

7 years agore PR driver/49726 (-g0 file.S -g does not produce debug info)
Jakub Jelinek [Mon, 16 Jan 2017 21:33:07 +0000 (22:33 +0100)]
re PR driver/49726 (-g0 file.S -g does not produce debug info)

PR driver/49726
* gcc.c (debug_level_greater_than_spec_func): New function.
(static_spec_functions): Add debug-level-gt spec function.
(ASM_DEBUG_SPEC, cpp_options): Use %:debug-level-gt(0) instead of
!g0.
* config/darwin.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
* config/darwin9.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
* common.opt (g, gcoff, gdwarf, gdwarf-, ggdb, gno-pubnames,
gpubnames, ggnu-pubnames, gno-record-gcc-switches,
grecord-gcc-switches, gno-strict-dwarf, gstrict-dwarf, gstabs,
gstabs+, gtoggle, gvms, gxcoff, gxcoff+): Add Driver flag.
c-family/
* c.opt (gen-decls): Add Driver flag.
ada/
* gcc-interface/lang.opt (gant, gnatO, gnat): Add Driver flag.

From-SVN: r244505

7 years agoi386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and QImode fixups to general and...
Uros Bizjak [Mon, 16 Jan 2017 19:58:59 +0000 (20:58 +0100)]
i386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and QImode fixups to general and mask registers only.

* config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and
QImode fixups to general and mask registers only.

From-SVN: r244504

7 years ago* sv.po: Update.
Joseph Myers [Mon, 16 Jan 2017 18:20:23 +0000 (18:20 +0000)]
* sv.po: Update.

From-SVN: r244503

7 years agoFix testcases for PR c/78304
David Malcolm [Mon, 16 Jan 2017 18:08:45 +0000 (18:08 +0000)]
Fix testcases for PR c/78304

The testcases as written made assumptions about size_t and long
being invalid for use with "%u".

We only need some invalid type, so this patch converts them to
attempt a "const char *" with "%u", which should be invalid for
every target.

gcc/testsuite/ChangeLog:
PR c/78304
* gcc.dg/format/pr78304.c: Convert argument from integral type
to a pointer.
* gcc.dg/format/pr78304-2.c: Likewise.

From-SVN: r244502

7 years agors6000-c (altivec_overloaded_builtins): Add support for built-in functions vector...
Carl Love [Mon, 16 Jan 2017 17:18:05 +0000 (17:18 +0000)]
rs6000-c (altivec_overloaded_builtins): Add support for built-in functions vector signed char vec_nabs (vector signed...

gcc/ChangeLog:

2017-01-16  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000-c (altivec_overloaded_builtins): Add support
for built-in functions
vector signed char vec_nabs (vector signed char)
vector signed short vec_nabs (vector signed short)
vector signed int vec_nabs (vector signed int)
vector signed long long vec_nabs (vector signed long long)
vector float vec_nabs (vector float)
vector double vec_nabs (vector double)
* config/rs6000/rs6000-builtin.def: Add definitions for NABS functions
and NABS overload.
* config/rs6000/altivec.md: New define_expand nabs<mode>2 types
* config/rs6000/altivec.h: New define for vec_nabs built-in function.
* doc/extend.texi: Update the documentation file for the new built-in
functions.

gcc/testsuite/ChangeLog:

2017-01-16  Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtins-3.c: New vec_nabs testcase.
* gcc.target/powerpc/builtins-3-p8.c: New vec_nabs testcase.

From-SVN: r244501

7 years agogimple-ssa-sprintf.c (format_directive): Correct a typo in a warning message.
Martin Sebor [Mon, 16 Jan 2017 17:08:42 +0000 (17:08 +0000)]
gimple-ssa-sprintf.c (format_directive): Correct a typo in a warning message.

gcc/ChangeLog:
* gimple-ssa-sprintf.c (format_directive): Correct a typo in a warning
message.

From-SVN: r244500

7 years agobuiltins-3-p9.c (test_ne_long()): Change arguments and return type to bool long long.
Carl Love [Mon, 16 Jan 2017 17:03:14 +0000 (17:03 +0000)]
builtins-3-p9.c (test_ne_long()): Change arguments and return type to bool long long.

gcc/testsuite/ChangeLog:

2017-01-16 Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtins-3-p9.c (test_ne_long()):
Change arguments and return type to bool long long.

From-SVN: r244499

7 years agoPR66145 use new ABI for std::ios::failure exceptions
Jonathan Wakely [Mon, 16 Jan 2017 15:58:06 +0000 (15:58 +0000)]
PR66145 use new ABI for std::ios::failure exceptions

PR libstdc++/66145
* src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
exceptions.
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
for test, so new ios::failure can be caught.
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.

From-SVN: r244498

7 years agoPR testsuite/79051 - FAIL: gcc.dg/attr-alloc_size-4.c (test for warnings, line 140)
Martin Sebor [Mon, 16 Jan 2017 15:50:47 +0000 (15:50 +0000)]
PR testsuite/79051 - FAIL: gcc.dg/attr-alloc_size-4.c (test for warnings, line 140)

gcc/testsuite/ChangeLog:
* gcc.dg/attr-alloc_size-4.c: Avoid exercising a test case except
on x86.

From-SVN: r244497

7 years agorevert: re PR c++/71737 (ICE following 2x pack expansion in non-pack with template...
Paolo Carlini [Mon, 16 Jan 2017 15:43:06 +0000 (15:43 +0000)]
revert: re PR c++/71737 (ICE following 2x pack expansion in non-pack with template alias)

/c-family
2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

Revert:
      2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71737
* c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.

/testsuite
2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

Revert:
        2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71737
* g++.dg/cpp0x/pr71737.C: New.

From-SVN: r244496

7 years agors6000.c (rtx_is_swappable_p): Change UNSPEC_VSX__XXSPLTD to require special splat...
Bill Schmidt [Mon, 16 Jan 2017 15:05:35 +0000 (15:05 +0000)]
rs6000.c (rtx_is_swappable_p): Change UNSPEC_VSX__XXSPLTD to require special splat handling.

[gcc]

2017-01-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rtx_is_swappable_p): Change
UNSPEC_VSX__XXSPLTD to require special splat handling.

[gcc/testsuite]

2017-01-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/swaps-p8-27.c: New.

From-SVN: r244495

7 years agosystem.h: Poison strndup (PR bootstrap/78616)
David Malcolm [Mon, 16 Jan 2017 15:03:41 +0000 (15:03 +0000)]
system.h: Poison strndup (PR bootstrap/78616)

gcc/ChangeLog:
PR bootstrap/78616
* system.h: Poison strndup.

From-SVN: r244494

7 years agoPR78702 fix accessibility of locale::facet::__shim
Jonathan Wakely [Mon, 16 Jan 2017 11:41:41 +0000 (11:41 +0000)]
PR78702 fix accessibility of locale::facet::__shim

PR libstdc++/78702
* include/bits/locale_classes.h (locale::facet::__shim): Change from
private to protected.
* src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
make locale::facet::__shim accessible.

From-SVN: r244491

7 years agoPR libstdc++/78389 fix backwards size adjustments.
Ville Voutilainen [Mon, 16 Jan 2017 11:36:33 +0000 (13:36 +0200)]
PR libstdc++/78389 fix backwards size adjustments.

PR libstdc++/78389
* include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
(merge(list&&, _StrictWeakOrdering)): Likewise.
* testsuite/23_containers/list/operations/78389.cc: Add
better test for the sizes.

From-SVN: r244490

7 years agoPowerpc bootstrap failure due to duplicate case value
Alan Modra [Mon, 16 Jan 2017 11:12:57 +0000 (21:42 +1030)]
Powerpc bootstrap failure due to duplicate case value

PR target/79098
* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Don't
use a switch.

From-SVN: r244489

7 years agoavr.h (BRANCH_COST): Increase by 4.
Georg-Johann Lay [Mon, 16 Jan 2017 09:48:45 +0000 (09:48 +0000)]
avr.h (BRANCH_COST): Increase by 4.

gcc/
* config/avr/avr.h (BRANCH_COST) [reload_completed]: Increase by 4.

From-SVN: r244488

7 years agore PR tree-optimization/77283 (Revision 238005 disables loop unrolling)
Richard Biener [Mon, 16 Jan 2017 09:33:12 +0000 (09:33 +0000)]
re PR tree-optimization/77283 (Revision 238005 disables loop unrolling)

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

PR tree-optimization/77283
* gimple-ssa-split-paths.c: Include gimple-ssa.h, tree-phinodes.h
and ssa-iterators.h.
(is_feasible_trace): Implement a cost model based on joiner
PHI node uses.

* gcc.dg/tree-ssa/split-path-7.c: Adjust.
* gcc.dg/tree-ssa/split-path-8.c: New testcase.
* gcc.dg/tree-ssa/split-path-9.c: Likewise.

From-SVN: r244487

7 years agore PR c++/71737 (ICE following 2x pack expansion in non-pack with template alias)
Paolo Carlini [Mon, 16 Jan 2017 09:09:30 +0000 (09:09 +0000)]
re PR c++/71737 (ICE following 2x pack expansion in non-pack with template alias)

/c-family
2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71737
* c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.

/testsuite
2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71737
* g++.dg/cpp0x/pr71737.C: New.

From-SVN: r244486

7 years agoopt62.adb: New test.
Eric Botcazou [Mon, 16 Jan 2017 08:46:20 +0000 (08:46 +0000)]
opt62.adb: New test.

* gnat.dg/opt62.adb: New test.
* gnat.dg/opt62_pkg.ads: New helper.

From-SVN: r244485

7 years agoruntime: rename siginfo to _siginfo_t
Ian Lance Taylor [Mon, 16 Jan 2017 01:21:42 +0000 (01:21 +0000)]
runtime: rename siginfo to _siginfo_t

    Since the name siginfo winds up in runtime.inc, this avoids a name
    collision on systems that define "struct siginfo" in the system header
    files.

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

From-SVN: r244484

7 years agolibgo: correct golang_org Makefile variables not used on all systems
Ian Lance Taylor [Mon, 16 Jan 2017 01:05:10 +0000 (01:05 +0000)]
libgo: correct golang_org Makefile variables not used on all systems

    Patch by Rainer Orth.

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

From-SVN: r244483

7 years agoDaily bump.
GCC Administrator [Mon, 16 Jan 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r244482

7 years agoi386.c (ix86_legitimate_combined_insn): Do not call recog here.
Uros Bizjak [Sun, 15 Jan 2017 18:42:29 +0000 (19:42 +0100)]
i386.c (ix86_legitimate_combined_insn): Do not call recog here.

* config/i386/i386.c (ix86_legitimate_combined_insn): Do not
call recog here.  Assert that INSN_CODE (insn) is non-negative.

From-SVN: r244478

7 years agoMake rtl_split_edge work for jumps that fall through (PR72749)
Segher Boessenkool [Sun, 15 Jan 2017 17:06:00 +0000 (18:06 +0100)]
Make rtl_split_edge work for jumps that fall through (PR72749)

If a jump always falls through but that cannot be optimised away, like
is the case with the PowerPC bdnz insn if its jump target is the same as
the fallthrough, sched gets confused if it schedules some instructions
from before that jump instruction to behind it: it splits the
fallthrough branch, but the jump target isn't updated, and things fall
apart as in the PR.  This patch fixes it.

The second patch fragment makes -fsched-verbose=N work for N>=4; the
currently scheduled fragment can now contain a label.  Everything else
seems to work fine with that.

PR target/72749
* cfgrtl.c (rtl_split_edge): Also patch jump insns that jump to the
fallthrough.
* haifa-sched.c (dump_insn_stream): Don't crash if there is a label
in the currently scheduled RTL fragment.

From-SVN: r244477

7 years agoifcvt: Don't make invalid insns for a cond trap (PR78751)
Segher Boessenkool [Sun, 15 Jan 2017 17:03:55 +0000 (18:03 +0100)]
ifcvt: Don't make invalid insns for a cond trap (PR78751)

As shown in the PR, ifcvt will happily make invalid insns when given the
chance.  This patch teaches it some manners.

PR rtl-optimization/78751
* ifcvt.c (find_cond_trap): If we generated a non-existing insn,
give up.

From-SVN: r244476

7 years agore PR tree-optimization/79090 (DSE wrongly removes store at variable offset)
Jeff Law [Sun, 15 Jan 2017 09:34:01 +0000 (02:34 -0700)]
re PR tree-optimization/79090 (DSE wrongly removes store at variable offset)

PR tree-optimization/79090
* tree-ssa-dse.c (valid_ao_ref_for_dse): Reject zero length and
variable length stores.
(compute_trims): Delete dead assignment to *trim_tail.
(dse_dom_walker::dse_optimize_stmt): Optimize mem* calls with
zero length.

From-SVN: r244472

7 years agoDaily bump.
GCC Administrator [Sun, 15 Jan 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r244471

7 years ago* fr.po: Update.
Joseph Myers [Sun, 15 Jan 2017 00:03:19 +0000 (00:03 +0000)]
* fr.po: Update.

From-SVN: r244468