Michael Meissner [Wed, 15 Mar 2017 21:17:35 +0000 (21:17 +0000)]
re PR target/79038 (Improve PowerPC ISA 3.0 conversion between integers and hardware _Float128)
[gcc]
2017-03-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79038
* config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define
insns to convert from signed/unsigned char/short to IEEE 128-bit
floating point.
(floatuns<QHI:mode><IEEE128:mode>2): Likewise.
[gcc/testsuite]
2017-03-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79038
* gcc.target/powerpc/pr79038-1.c: New test.
From-SVN: r246178
Joseph Myers [Wed, 15 Mar 2017 21:07:52 +0000 (21:07 +0000)]
* de.po: Update.
From-SVN: r246177
Segher Boessenkool [Wed, 15 Mar 2017 20:48:49 +0000 (21:48 +0100)]
rs6000: Do not xfail nint_2.f90 on Linux systems
It was XFAILed because there was a bug in glibc, but that bug was fixed
nine years ago. Nowadays everyone uses a version of glibc with the bug
fixed, so we should no longer XFAIL the test.
gcc/testsuite/
PR fortran/33271
* gfortran.dg/nint_2.f90: Do not xfail powerpc*-*-linux*.
From-SVN: r246174
Jonathan Wakely [Wed, 15 Mar 2017 20:11:48 +0000 (20:11 +0000)]
PR libstdc++/62045 fix O(N) insertion in pd_ds binary heap
2017-03-15 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
PR libstdc++/62045
* include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp
(is_heap): Remove.
(push_heap): Remove the wrong checking using is_heap.
(make_heap): Remove the assertion using is_heap.
* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
(modify): Ditto.
(resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after
calling make_heap.
2017-03-15 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/62045
* testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
New test.
* testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste
error in comment.
From-SVN: r246173
David Malcolm [Wed, 15 Mar 2017 18:05:06 +0000 (18:05 +0000)]
Fix translation issue with character length * errors (PR fortran/79860)
gcc/fortran/ChangeLog:
PR fortran/79860
* resolve.c (resolve_contained_fntype): Make error messages more
amenable to translation.
From-SVN: r246170
Jiong Wang [Wed, 15 Mar 2017 15:33:12 +0000 (15:33 +0000)]
[gcc, testsuite] Don't xfail on arm
PR testsuite/79356
* gcc.dg/attr-alloc_size-11.c: Don't xfail on arm.
From-SVN: r246167
Jonathan Wakely [Wed, 15 Mar 2017 15:23:44 +0000 (15:23 +0000)]
Fix typo in config.h.in comment
* acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in
comment.
* config.h.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
From-SVN: r246165
NightStrike [Wed, 15 Mar 2017 13:46:35 +0000 (13:46 +0000)]
Don't use Win32 functions on CYGWIN.
This was a workaround for a cygwin bug which was fixed 4 years ago,
and cygwin hasn't supported affected versions for a long time.
2017-03-15 NightStrike <nightstrike@gmail.com>
Janne Blomqvist <jb@gcc.gnu.org>
* intrinsics/random.c (getosrandom): Remove check for __CYGWIN__
preprocessor flag.
* intrinsics/system_clock.c: Likewise.
(system_clock_4): Likewise.
(system_clock_8): Likewise.
* intrinsics/time_1.h: Don't include windows.h if __CYGWIN__ is
defined.
Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>
From-SVN: r246162
Uros Bizjak [Wed, 15 Mar 2017 13:38:51 +0000 (14:38 +0100)]
re PR target/80019 (ICE in ix86_vector_duplicate_value, at config/i386/i386.c:42584)
PR target/80019
* config/i386/i386.c (ix86_vector_duplicate_value): Create
subreg of inner mode for values already in registers.
testsuite/ChangeLog:
PR target/80019
* gcc.target/i386/pr80019.c: New test.
From-SVN: r246161
Bernd Schmidt [Wed, 15 Mar 2017 13:36:50 +0000 (13:36 +0000)]
c6x.c (hwloop_optimize): Handle case where the old iteration reg is used after the loop.
* config/c6x/c6x.c (hwloop_optimize): Handle case where the old
iteration reg is used after the loop.
From-SVN: r246160
Marek Polacek [Wed, 15 Mar 2017 11:18:26 +0000 (11:18 +0000)]
* c-parser.c (c_parser_enum_specifier): Remove redundant line.
From-SVN: r246156
Martin Liska [Wed, 15 Mar 2017 10:06:10 +0000 (11:06 +0100)]
Removed unused dg-error.
2017-03-15 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-prof/pr66295.c: Removed unused dg-error.
From-SVN: r246154
Thomas Koenig [Wed, 15 Mar 2017 07:45:39 +0000 (07:45 +0000)]
re PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3)
2017-03-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/79956
* libgfortran.h (GFC_ASSERT): New macro.
* m4/reshape.m4 (reshape_'rtype_ccode`): Use GFC_ASSERT
to specify that sdim > 0 and rdim > 0.
* intrinsic/reshape_generic.c (reshape_internal): Likweise.
* generated/reshape_c10.c: Regenerated.
* generated/reshape_c16.c: Regenerated.
* generated/reshape_c4.c: Regenerated.
* generated/reshape_c8.c: Regenerated.
* generated/reshape_i16.c: Regenerated.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
* generated/reshape_r10.c: Regenerated.
* generated/reshape_r16.c: Regenerated.
* generated/reshape_r4.c: Regenerated.
* generated/reshape_r8.c: Regenerated.
From-SVN: r246153
Yaakov Selkowitz [Wed, 15 Mar 2017 05:01:23 +0000 (23:01 -0600)]
re PR bootstrap/79771 (in-tree zlib breaks build)
2017-03-15 Yaakov Selkowitz <yselkowitz@redhat.com>
PR bootstrap/79771
* gzguts.h (WIDECHAR): Do not define for __CYGWIN__.
* zlib.h (gzopen_w): Do not declare for __CYGWIN__.
* win32/zlib.def: Remove gzopen_w.
From-SVN: r246152
Martin Sebor [Wed, 15 Mar 2017 04:31:27 +0000 (04:31 +0000)]
re PR tree-optimization/79800 (wrong snprintf result range with precision in a narrow negative-positive range)
PR tree-optimization/79800
* gimple-ssa-sprintf.c (format_floating: Add argument. Handle
precision in negative-positive range.
(format_floating): Call non-const overload with adjusted precision.
PR tree-optimization/79800
* gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: Add test cases.
* gcc.dg/tree-ssa/pr79800.c: New test.
From-SVN: r246151
Michael Meissner [Wed, 15 Mar 2017 00:25:10 +0000 (00:25 +0000)]
re PR target/79947 (ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570)
[gcc]
2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79947
* config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
-mpowerpc-gfxopt.
[gcc/testsuite]
2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79947
* gcc.target/powerpc/pr79947.c: New test.
From-SVN: r246150
GCC Administrator [Wed, 15 Mar 2017 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246149
Martin Sebor [Tue, 14 Mar 2017 22:16:27 +0000 (22:16 +0000)]
re PR middle-end/80020 (gcc confused about aligned_alloc argument order)
PR middle-end/80020
* builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro.
* builtins.def (aligned_alloc): Use it.
PR middle-end/80020
* gcc.dg/attr-alloc_size-6.c: Correct aligned_alloc argument order.
* gcc.dg/attr-alloc_size-7.c: Same.
* gcc.dg/attr-alloc_size-9.c: Same.
* gcc.dg/builtin-alloc-size.c: Same.
* gcc.dg/pr80020.c: New test.
From-SVN: r246145
Martin Sebor [Tue, 14 Mar 2017 22:09:40 +0000 (22:09 +0000)]
re PR c/79936 (ICE with -Walloc-size-larger-than=32767)
PR c/79936
* Makefile.in (GTFILES): Add calls.c.
* calls.c: Include "gt-calls.h".
From-SVN: r246144
Bernd Schmidt [Tue, 14 Mar 2017 17:50:46 +0000 (11:50 -0600)]
re PR rtl-optimization/79728 (ICE in setup_pressure_classes, at ira.c:912)
PR rtl-optimization/79728
* regs.h (struct target_regs): New field
x_contains_allocatable_regs_of_mode.
(contains_allocatable_regs_of_mode): New macro.
* reginfo.c (init_reg_sets_1): Initialize it, and change
contains_reg_of_mode so it includes global regs as well.
* reload.c (push_reload): Use contains_allocatable_regs_of_mode
rather than contains_regs_of_mode.
PR rtl-optimization/79728
* gcc.target/i386/sse-globalreg.c: New test.
From-SVN: r246138
Martin Liska [Tue, 14 Mar 2017 15:32:23 +0000 (16:32 +0100)]
Document options that can't be combined with -fcheck-pointer-bounds.
2017-03-14 Martin Liska <mliska@suse.cz>
* doc/invoke.texi: Document options that can't be combined with
-fcheck-pointer-bounds.
From-SVN: r246130
Martin Liska [Tue, 14 Mar 2017 15:31:53 +0000 (16:31 +0100)]
Document -Wchkp (PR middle-end/79831).
2017-03-14 Martin Liska <mliska@suse.cz>
PR middle-end/79831
* doc/invoke.texi (-Wchkp): Document the option.
From-SVN: r246129
Jonathan Wakely [Tue, 14 Mar 2017 14:51:19 +0000 (14:51 +0000)]
PR libstdc++/79162 disambiguate assignment from string_view
PR libstdc++/79162
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace
with a constrained template.
[!_GLIBCXX_USE_CXX11_ABI]
(basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise.
* testsuite/21_strings/basic_string/cons/char/79162.cc: New test.
* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test.
From-SVN: r246128
Nathan Sidwell [Tue, 14 Mar 2017 14:41:53 +0000 (14:41 +0000)]
PR c++/79393 DR 1658 workaround
PR c++/79393 DR 1658 workaround
* method.c (synthesized_method_base_walk): Inihibit abstract class
virtual base access check here.
(synthesized_method_walk): Not here.
From-SVN: r246126
Martin Liska [Tue, 14 Mar 2017 14:25:09 +0000 (15:25 +0100)]
Install gcov-dump.
2017-03-14 Martin Liska <mliska@suse.cz>
* Makefile.in: Install gcov-dump.
From-SVN: r246125
Martin Liska [Tue, 14 Mar 2017 14:24:49 +0000 (15:24 +0100)]
Do not ICE on an invalid input for MV.
2017-03-14 Martin Liska <mliska@suse.cz>
* multiple_target.c (expand_target_clones): Bail out for
an invalid attribute.
From-SVN: r246124
Richard Biener [Tue, 14 Mar 2017 12:47:42 +0000 (12:47 +0000)]
alias.c (struct alias_set_entry): Pack properly.
2017-03-14 Richard Biener <rguenther@suse.de>
* alias.c (struct alias_set_entry): Pack properly.
* cfgloop.h (struct loop): Likewise.
* cse.c (struct set): Likewise.
* ipa-utils.c (struct searchc_env): Likewise.
* loop-invariant.c (struct invariant): Likewise.
* lra-remat.c (struct cand): Likewise.
* recog.c (struct change_t): Likewise.
* rtl.h (struct address_info): Likewise.
* symbol-summary.h (function_summary): Likewise.
* tree-loop-distribution.c (struct partition): Likewise.
* tree-object-size.c (struct object_size_info): Likewise.
* tree-ssa-loop-ivopts.c (struct cost_pair): Likewise.
* tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise.
* tree-vect-data-refs.c (struct _vect_peel_info): Likewise.
* tree-vect-slp.c (struct _slp_oprnd_info): Likewise.
* tree-vect-stmts.c (struct simd_call_arg_info): Likewise.
* tree-vectorizer.h (struct _loop_vec_info): Likewise.
(struct _stmt_vec_info): Likewise.
From-SVN: r246121
Martin Liska [Tue, 14 Mar 2017 12:05:29 +0000 (13:05 +0100)]
Verify that target can create a dispatcher call (PR target/79892).
2017-03-14 Martin Liska <mliska@suse.cz>
PR target/79892
* multiple_target.c (create_dispatcher_calls): Check that
a target can create a function dispatcher.
From-SVN: r246120
Martin Liska [Tue, 14 Mar 2017 11:59:59 +0000 (12:59 +0100)]
Fix multiple target clones nodes (PR lto/66295).
2017-03-14 Martin Liska <mliska@suse.cz>
PR lto/66295
* multiple_target.c (expand_target_clones): Drop local.local
flag for default implementation.
2017-03-14 Martin Liska <mliska@suse.cz>
PR lto/66295
* gcc.dg/tree-prof/pr66295.c: New test.
From-SVN: r246119
James Cowgill [Tue, 14 Mar 2017 09:26:17 +0000 (09:26 +0000)]
s-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags.
2017-03-14 James Cowgill <James.Cowgill@imgtec.com>
* s-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags.
From-SVN: r246118
Richard Biener [Tue, 14 Mar 2017 08:02:34 +0000 (08:02 +0000)]
re PR tree-optimization/80030 (valgrind error in vect_get_slp_defs at tree-vect-slp.c:3360)
2017-03-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/80030
* tree-vect-stmts.c (vectorizable_store): Plug memleak.
From-SVN: r246117
Kito Cheng [Tue, 14 Mar 2017 03:51:24 +0000 (03:51 +0000)]
Use gcc_fallthrough() instead of __attribute__((fallthrough)
Without this my build breaks on older compilers like GCC-5.4.
gcc/ChangeLog:
2017-03-13 Kito Cheng <kito.cheng@gmail.com>
* config/riscv/riscv.c (riscv_emit_float_compare>: Use
gcc_fallthrough() instead of __attribute__((fallthrough));
From-SVN: r246116
GCC Administrator [Tue, 14 Mar 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246115
Joseph Myers [Mon, 13 Mar 2017 23:07:17 +0000 (23:07 +0000)]
* es.po: Update.
From-SVN: r246112
Gerald Pfeifer [Mon, 13 Mar 2017 22:27:59 +0000 (22:27 +0000)]
gcc.texi: Remove "up" link to (DIR).
* doc/gcc.texi: Remove "up" link to (DIR).
* doc/gccint.texi: Ditto.
From-SVN: r246111
Gerald Pfeifer [Mon, 13 Mar 2017 21:56:43 +0000 (21:56 +0000)]
install.texi (Specific): Remove reference to binutils 2.13.
* doc/install.texi (Specific) <avr>: Remove reference to
binutils 2.13.
From-SVN: r246110
Ville Voutilainen [Mon, 13 Mar 2017 19:41:50 +0000 (21:41 +0200)]
re PR libstdc++/80034 (unqualified calls to std::distance in std::list::sort)
PR libstdc++/80034
* include/bits/list.tcc (merge(list&&)): Use const for the size_t
in the catch-block.
(merge(list&&, _StrictWeakOrdering)): Likewise.
* testsuite/23_containers/list/operations/80034.cc: New.
From-SVN: r246107
Joseph Myers [Mon, 13 Mar 2017 18:43:28 +0000 (18:43 +0000)]
* de.po, fr.po: Update.
From-SVN: r246106
Mark Wielaard [Mon, 13 Mar 2017 18:26:47 +0000 (18:26 +0000)]
libiberty: Initialize d_printing in all cplus_demangle_fill_* functions.
While integrating the d_printing recursion guard change into gdb I
noticed we forgot to initialize the demangle_component d_printing
field in cplus_demangle_fill_{name,extended_operator,ctor,dtor}.
As is done in cplus_demangle_fill_{component,builtin_type,operator}.
It happened to work because in gcc all demangle_components were
allocated through d_make_empty. But gdb has its own allocation
mechanism (as might other users).
libiberty/ChangeLog:
* cp-demangle.c (cplus_demangle_fill_name): Initialize
demangle_component d_printing.
(cplus_demangle_fill_extended_operator): Likewise.
(cplus_demangle_fill_ctor): Likewise.
(cplus_demangle_fill_dtor): Likewise.
From-SVN: r246105
Ville Voutilainen [Mon, 13 Mar 2017 18:03:30 +0000 (20:03 +0200)]
Implement LWG 2806, Base class of bad_optional_access.
* include/std/optional (bad_optional_access):
Derive from std::exception.
(bad_optional_access::bad_optional_access): Adjust.
(bad_optional_access::what): New.
(__throw_bad_optional_access(const char*)):
Remove the parameter and adjust calls.
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
* testsuite/20_util/optional/typedefs.cc: Likewise.
From-SVN: r246103
Jeff Law [Mon, 13 Mar 2017 17:49:40 +0000 (11:49 -0600)]
riscv.c (riscv_emit_float_compare): Use fallthru attribute rather than comments.
* config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru
attribute rather than comments.
From-SVN: r246101
Jeff Law [Mon, 13 Mar 2017 17:43:19 +0000 (11:43 -0600)]
pdp11.md (movmemhi): Adjust operand numbers to match_scratch operand is highest.
* config/pdp11/pdp11.md (movmemhi): Adjust operand numbers to
match_scratch operand is highest.
From-SVN: r246100
Martin Liska [Mon, 13 Mar 2017 15:30:17 +0000 (16:30 +0100)]
Do not warn -Wsuggest-attribute=noreturn for main.chkp (PR middle-end/78339).
2017-03-13 Martin Liska <mliska@suse.cz>
PR middle-end/78339
* ipa-pure-const.c (warn_function_noreturn): If the declarations
is a CHKP clone, use original declaration.
2017-03-13 Martin Liska <mliska@suse.cz>
PR middle-end/78339
* gcc.target/i386/mpx/pr78339.c: New test.
From-SVN: r246098
Claudiu Zissulescu [Mon, 13 Mar 2017 12:56:22 +0000 (13:56 +0100)]
[ARC] Code size modifications.
gcc/
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (arc_init): Use multiplier whenever we have it.
(arc_conditional_register_usage): Use a different allocation order
when optimizing for size.
* common/config/arc/arc-common.c (arc_option_optimization_table):
Section anchors default on when optimizing for size.
From-SVN: r246091
Claudiu Zissulescu [Mon, 13 Mar 2017 12:56:11 +0000 (13:56 +0100)]
[ARC] Fix tst_bitfield_tst pattern.
gcc/
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.md (*tst_bitfield_tst): Fix pattern.
gcc/testsuite
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gcc.target/arc/bitfield.c: New file.
From-SVN: r246090
Claudiu Zissulescu [Mon, 13 Mar 2017 12:56:00 +0000 (13:56 +0100)]
[ARC] Add code density instructions.
gcc/
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (arc_output_addsi): Emit code density adds.
* config/arc/arc.md (cpu_facility): Add cd variant.
(*movqi_insn): Add code density variant.
(*movhi_insn): Likewise.
(*movqi_insn): Likewise.
(*addsi3_mixed): Likewise.
(subsi3_insn): Likewise.
From-SVN: r246089
Claudiu Zissulescu [Mon, 13 Mar 2017 12:55:50 +0000 (13:55 +0100)]
[ARC] Fix conditional move contstraint
Move pattern (movsi_insn) allows predicated instructions to be
instructions which can hold all registers. However, the conditional
variant doesn't. This patch fixes this problem.
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.md (movsi_cond_exec): Update constraint.
From-SVN: r246088
Claudiu Zissulescu [Mon, 13 Mar 2017 12:55:38 +0000 (13:55 +0100)]
[ARC] Handle complex PIC move patterns.
fwprop step is placing in the REG_EQUIV notes constant pic unspecs
expressions. Then, loop may use these notes for optimizations
rezulting in complex patterns that are not supported by the current
implementation.
The patch adds handling of complex PIC addresses having MINUS or UNARY
operations.
gcc/
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (arc_legitimize_pic_address): Handle PIC
expressions with MINUS and UNARY ops.
gcc/testsuite
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
* gcc.target/arc/pr9001090948.c: New file.
From-SVN: r246087
Nathan Sidwell [Mon, 13 Mar 2017 11:58:15 +0000 (11:58 +0000)]
PR c++/79393 DR 1658 workaround
PR c++/79393 DR 1658 workaround
* method.c (synthesized_method_walk): Check vbases of abstract
classes for dtor walk.
From-SVN: r246085
Kyrylo Tkachov [Mon, 13 Mar 2017 10:58:48 +0000 (10:58 +0000)]
[ARM] PR target/79911: Invalid vec_select arguments
PR target/79911
* config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3):
Rename to...
(vec_sel_widen_ssum_lo<mode><V_half>3): ... This. Avoid mismatch
between vec_select and vector argument.
(vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): Rename to...
(vec_sel_widen_ssum_hi<mode><V_half>3): ... This. Likewise.
(vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): Rename to...
(vec_sel_widen_usum_lo<mode><V_half>3): ... This.
(vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): Rename to...
(vec_sel_widen_usum_hi<mode><V_half>3): ... This.
From-SVN: r246084
Richard Biener [Mon, 13 Mar 2017 09:13:14 +0000 (09:13 +0000)]
re PR other/79991 (typo in params.def, PARAM_VECT_MAX_PEELING_FOR_ALIGNMENT)
2017-03-13 Richard Biener <rguenther@suse.de>
PR other/79991
* params.def (vect-max-peeling-for-alignment): Fix typo.
From-SVN: r246083
GCC Administrator [Mon, 13 Mar 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246082
Gerald Pfeifer [Sun, 12 Mar 2017 17:31:00 +0000 (17:31 +0000)]
install.texi (Specific): Remove description of issue that only occurred with binutils below 2.18.
* doc/install.texi (Specific) <mips-*-*>: Remove description of
issue that only occurred with binutils below 2.18.
From-SVN: r246079
Gerald Pfeifer [Sun, 12 Mar 2017 13:47:03 +0000 (13:47 +0000)]
install.texi (Specific): No longer refer to binutils 2.11/2.12 minimum.
* doc/install.texi (Specific) <cris-axis-elf>: No longer
refer to binutils 2.11/2.12 minimum.
From-SVN: r246078
Gerald Pfeifer [Sun, 12 Mar 2017 11:06:59 +0000 (11:06 +0000)]
install.texi (Specific): Remove link to ftp. and simplify binutils requirement.
* doc/install.texi (Specific) <powerpc-*-*>: Remove link to
ftp.kernel.org and simplify binutils requirement.
From-SVN: r246077
Ville Voutilainen [Sun, 12 Mar 2017 10:32:31 +0000 (12:32 +0200)]
Implement LWG 2934, optional<const T> doesn't compare with T.
* include/std/optional
(operator==(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator==(const optional<_Tp>&, const optional<_Up>&).
(operator!=(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator!=(const optional<_Tp>&, const optional<_Up>&).
(operator<(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator<(const optional<_Tp>&, const optional<_Up>&.
(operator>(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator>(const optional<_Tp>&, const optional<_Up>&.
(operator<=(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator<=(const optional<_Tp>&, const optional<_Up>&).
(operator>=(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator>=(const optional<_Tp>&, const optional<_Up>&).
(operator==(const optional<_Tp>&, const _Tp&)):
Turn into operator==(const optional<_Tp>&, const _Up&).
(operator==(const _Tp&, const optional<_Tp>&)):
Turn into operator==(const _Up&, const optional<_Tp>&).
(operator!=(const optional<_Tp>&, const _Tp&)):
Turn into operator!=(const optional<_Tp>&, const _Up&).
(operator!=(const _Tp&, const optional<_Tp>&)):
Turn into operator!=(const _Up&, const optional<_Tp>&).
(operator<(const optional<_Tp>&, const _Tp&)):
Turn into operator<(const optional<_Tp>&, const _Up&).
(operator<(const _Tp&, const optional<_Tp>&)):
Turn into operator<(const _Up&, const optional<_Tp>&).
(operator>(const optional<_Tp>&, const _Tp&)):
Turn into operator>(const optional<_Tp>&, const _Up&).
(operator>(const _Tp&, const optional<_Tp>&)):
Turn into operator>(const _Up&, const optional<_Tp>&).
(operator<=(const optional<_Tp>&, const _Tp&)):
Turn into operator<=(const optional<_Tp>&, const _Up&).
(operator<=(const _Tp&, const optional<_Tp>&)):
Turn into operator<=(const _Up&, const optional<_Tp>&).
(operator>=(const optional<_Tp>&, const _Tp&)):
Turn into operator>=(const optional<_Tp>&, const _Up&).
(operator>=(const _Tp&, const optional<_Tp>&)):
Turn into operator>=(const _Up&, const optional<_Tp>&).
* testsuite/20_util/optional/relops/7.cc: New.
From-SVN: r246076
GCC Administrator [Sun, 12 Mar 2017 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246075
Segher Boessenkool [Sun, 12 Mar 2017 00:04:02 +0000 (01:04 +0100)]
rs6000, testsuite: Correct the broken_cplxf_arg test
check_effective_target_broken_cplxf_arg is buggy. It actually tests
if passing complex float works, not if it fails. Also, it only runs
the test for target powerpc64-linux, but we are biarch, so it should
be powerpc*-linux.
This also changes the early-out conditions to be separate, because
the big combined condition was hard to follow.
This fixes the libstdc++ tests:
Running target unix/-m64
XPASS: 26_numerics/complex/13450.cc execution test
XPASS: 26_numerics/complex/pow.cc execution test
XPASS: 26_numerics/complex/value_operations/1.cc execution test
which were the last failing libstdc++ tests on BE.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_broken_cplxf_arg):
Fix test. Make early-out condition return early. Correct comments.
From-SVN: r246072
Gerald Pfeifer [Sat, 11 Mar 2017 22:00:35 +0000 (22:00 +0000)]
invoke.texi (Warning Options): Fix spelling of link-time optimization.
* doc/invoke.texi (Warning Options): Fix spelling of link-time
optimization.
(Optimize Options): Ditto. Also remove redundancy.
From-SVN: r246071
Jerry DeLisle [Sat, 11 Mar 2017 14:49:57 +0000 (14:49 +0000)]
re PR fortran/78854 ([F03] DTIO namelist output not working on internal unit)
2017-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/78854
* io/list_read.c (nml_get_obj_data): Stash internal unit for
later use by child procedures.
* io/write.c (nml_write_obj): Likewise.
* io/tranfer.c (data_transfer_init): Minor whitespace.
* io/unit.c (set_internal_uit): Look for the stashed internal
unit and use it if found.
* gfortran.dg/dtio_25.f90: New test.
From-SVN: r246070
Marek Polacek [Sat, 11 Mar 2017 10:26:35 +0000 (10:26 +0000)]
* c-decl.c (implicit_decl_warning): Add a comment. Fix formatting.
From-SVN: r246069
David Malcolm [Sat, 11 Mar 2017 01:57:11 +0000 (01:57 +0000)]
Simplify uses of "%<%s%>" to "%qs" (PR translation/79848)
gcc/c-family/ChangeLog:
PR translation/79848
* c-format.c (check_format_string): Simplify uses of "%<%s%>" to
"%qs".
gcc/c/ChangeLog:
PR translation/79848
* c-decl.c (declspecs_add_type): Simplify uses of "%<%s%>" to
"%qs".
* c-parser.c (c_parser_oacc_shape_clause): Likewise.
gcc/cp/ChangeLog:
PR translation/79848
* decl.c (grokfndecl): Simplify uses of "%<%s%>" to "%qs".
gcc/ChangeLog:
PR translation/79848
* ipa-devirt.c (warn_types_mismatch): Simplify uses of "%<%s%>" to
"%qs".
* ipa-pure-const.c (suggest_attribute): Likewise. Convert _
to G_ to avoid double translation.
From-SVN: r246068
David Malcolm [Sat, 11 Mar 2017 01:43:48 +0000 (01:43 +0000)]
Remove trailing period from various diagnostic messages (PR translation/79923)
gcc/ChangeLog:
PR translation/79923
* auto-profile.c (get_combined_location): Convert leading
character of diagnostics to lower case and remove trailing period.
(read_profile): Likewise for various diagnostics.
* config/arm/arm.c (arm_option_override): Remove trailing period
from various diagnostics.
* config/msp430/msp430.c (msp430_expand_delay_cycles): Likewise.
(msp430_expand_delay_cycles): Likewise.
From-SVN: r246067
David Malcolm [Sat, 11 Mar 2017 01:40:04 +0000 (01:40 +0000)]
aarch64.c: tweaks to quoting in error messages (PR target/79925)
gcc/ChangeLog:
PR target/79925
* config/aarch64/aarch64.c (aarch64_validate_mcpu): Quote the
full command-line argument, rather than just "str".
(aarch64_validate_march): Likewise.
(aarch64_validate_mtune): Likewise.
From-SVN: r246066
Martin Sebor [Sat, 11 Mar 2017 00:37:40 +0000 (00:37 +0000)]
Fix up a couple of old ChangeLog entries.
From-SVN: r246065
Martin Sebor [Sat, 11 Mar 2017 00:33:45 +0000 (00:33 +0000)]
As discussed in https://gcc.gnu.org/ml/gcc-patches/2017-02/msg00942.html
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Add a test case.
From-SVN: r246064
Joseph Myers [Sat, 11 Mar 2017 00:33:30 +0000 (00:33 +0000)]
* de.po, sv.po: Update.
From-SVN: r246063
GCC Administrator [Sat, 11 Mar 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246062
Bernd Schmidt [Fri, 10 Mar 2017 21:17:13 +0000 (21:17 +0000)]
re PR rtl-optimization/78911 (Infinite loop at -O2/O3 optimization levels while trying to compile server.c from Wine-2.0-rc2)
PR rtl-optimization/78911
* lra-assigns.c (must_not_spill_p): New function.
(spill_for): Use it.
PR rtl-optimization/78911
* gcc.target/i386/pr78911-1.c: New test.
* gcc.target/i386/pr78911-2.c: New test.
From-SVN: r246059
Jakub Jelinek [Fri, 10 Mar 2017 19:47:44 +0000 (20:47 +0100)]
re PR tree-optimization/79981 (Forwprop not working for __atomic_compare_exchange_n)
PR tree-optimization/79981
* tree-vrp.c (extract_range_basic): Handle IMAGPART_EXPR of
ATOMIC_COMPARE_EXCHANGE ifn result.
(stmt_interesting_for_vrp, vrp_visit_stmt): Handle
IFN_ATOMIC_COMPARE_EXCHANGE.
From-SVN: r246054
Thomas Koenig [Fri, 10 Mar 2017 19:42:46 +0000 (19:42 +0000)]
re PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3)
2017-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/79956
* m4/iforeach.m4: Change exit condition from loop for
increasing dimension to >=. Fix type in comment.
* m4/ifunction.m4: Likewise.
* m4/ifunction_logical.m4: Likewise.
* generated/all_l1.c: Regenerated.
* generated/all_l16.c: Regenerated.
* generated/all_l2.c: Regenerated.
* generated/all_l4.c: Regenerated.
* generated/all_l8.c: Regenerated.
* generated/any_l1.c: Regenerated.
* generated/any_l16.c: Regenerated.
* generated/any_l2.c: Regenerated.
* generated/any_l4.c: Regenerated.
* generated/any_l8.c: Regenerated.
* generated/count_16_l.c: Regenerated.
* generated/count_1_l.c: Regenerated.
* generated/count_2_l.c: Regenerated.
* generated/count_4_l.c: Regenerated.
* generated/count_8_l.c: Regenerated.
* generated/iall_i1.c: Regenerated.
* generated/iall_i16.c: Regenerated.
* generated/iall_i2.c: Regenerated.
* generated/iall_i4.c: Regenerated.
* generated/iall_i8.c: Regenerated.
* generated/iany_i1.c: Regenerated.
* generated/iany_i16.c: Regenerated.
* generated/iany_i2.c: Regenerated.
* generated/iany_i4.c: Regenerated.
* generated/iany_i8.c: Regenerated.
* generated/iparity_i1.c: Regenerated.
* generated/iparity_i16.c: Regenerated.
* generated/iparity_i2.c: Regenerated.
* generated/iparity_i4.c: Regenerated.
* generated/iparity_i8.c: Regenerated.
* generated/maxloc0_16_i1.c: Regenerated.
* generated/maxloc0_16_i16.c: Regenerated.
* generated/maxloc0_16_i2.c: Regenerated.
* generated/maxloc0_16_i4.c: Regenerated.
* generated/maxloc0_16_i8.c: Regenerated.
* generated/maxloc0_16_r10.c: Regenerated.
* generated/maxloc0_16_r16.c: Regenerated.
* generated/maxloc0_16_r4.c: Regenerated.
* generated/maxloc0_16_r8.c: Regenerated.
* generated/maxloc0_4_i1.c: Regenerated.
* generated/maxloc0_4_i16.c: Regenerated.
* generated/maxloc0_4_i2.c: Regenerated.
* generated/maxloc0_4_i4.c: Regenerated.
* generated/maxloc0_4_i8.c: Regenerated.
* generated/maxloc0_4_r10.c: Regenerated.
* generated/maxloc0_4_r16.c: Regenerated.
* generated/maxloc0_4_r4.c: Regenerated.
* generated/maxloc0_4_r8.c: Regenerated.
* generated/maxloc0_8_i1.c: Regenerated.
* generated/maxloc0_8_i16.c: Regenerated.
* generated/maxloc0_8_i2.c: Regenerated.
* generated/maxloc0_8_i4.c: Regenerated.
* generated/maxloc0_8_i8.c: Regenerated.
* generated/maxloc0_8_r10.c: Regenerated.
* generated/maxloc0_8_r16.c: Regenerated.
* generated/maxloc0_8_r4.c: Regenerated.
* generated/maxloc0_8_r8.c: Regenerated.
* generated/maxloc1_16_i1.c: Regenerated.
* generated/maxloc1_16_i16.c: Regenerated.
* generated/maxloc1_16_i2.c: Regenerated.
* generated/maxloc1_16_i4.c: Regenerated.
* generated/maxloc1_16_i8.c: Regenerated.
* generated/maxloc1_16_r10.c: Regenerated.
* generated/maxloc1_16_r16.c: Regenerated.
* generated/maxloc1_16_r4.c: Regenerated.
* generated/maxloc1_16_r8.c: Regenerated.
* generated/maxloc1_4_i1.c: Regenerated.
* generated/maxloc1_4_i16.c: Regenerated.
* generated/maxloc1_4_i2.c: Regenerated.
* generated/maxloc1_4_i4.c: Regenerated.
* generated/maxloc1_4_i8.c: Regenerated.
* generated/maxloc1_4_r10.c: Regenerated.
* generated/maxloc1_4_r16.c: Regenerated.
* generated/maxloc1_4_r4.c: Regenerated.
* generated/maxloc1_4_r8.c: Regenerated.
* generated/maxloc1_8_i1.c: Regenerated.
* generated/maxloc1_8_i16.c: Regenerated.
* generated/maxloc1_8_i2.c: Regenerated.
* generated/maxloc1_8_i4.c: Regenerated.
* generated/maxloc1_8_i8.c: Regenerated.
* generated/maxloc1_8_r10.c: Regenerated.
* generated/maxloc1_8_r16.c: Regenerated.
* generated/maxloc1_8_r4.c: Regenerated.
* generated/maxloc1_8_r8.c: Regenerated.
* generated/maxval_i1.c: Regenerated.
* generated/maxval_i16.c: Regenerated.
* generated/maxval_i2.c: Regenerated.
* generated/maxval_i4.c: Regenerated.
* generated/maxval_i8.c: Regenerated.
* generated/maxval_r10.c: Regenerated.
* generated/maxval_r16.c: Regenerated.
* generated/maxval_r4.c: Regenerated.
* generated/maxval_r8.c: Regenerated.
* generated/minloc0_16_i1.c: Regenerated.
* generated/minloc0_16_i16.c: Regenerated.
* generated/minloc0_16_i2.c: Regenerated.
* generated/minloc0_16_i4.c: Regenerated.
* generated/minloc0_16_i8.c: Regenerated.
* generated/minloc0_16_r10.c: Regenerated.
* generated/minloc0_16_r16.c: Regenerated.
* generated/minloc0_16_r4.c: Regenerated.
* generated/minloc0_16_r8.c: Regenerated.
* generated/minloc0_4_i1.c: Regenerated.
* generated/minloc0_4_i16.c: Regenerated.
* generated/minloc0_4_i2.c: Regenerated.
* generated/minloc0_4_i4.c: Regenerated.
* generated/minloc0_4_i8.c: Regenerated.
* generated/minloc0_4_r10.c: Regenerated.
* generated/minloc0_4_r16.c: Regenerated.
* generated/minloc0_4_r4.c: Regenerated.
* generated/minloc0_4_r8.c: Regenerated.
* generated/minloc0_8_i1.c: Regenerated.
* generated/minloc0_8_i16.c: Regenerated.
* generated/minloc0_8_i2.c: Regenerated.
* generated/minloc0_8_i4.c: Regenerated.
* generated/minloc0_8_i8.c: Regenerated.
* generated/minloc0_8_r10.c: Regenerated.
* generated/minloc0_8_r16.c: Regenerated.
* generated/minloc0_8_r4.c: Regenerated.
* generated/minloc0_8_r8.c: Regenerated.
* generated/minloc1_16_i1.c: Regenerated.
* generated/minloc1_16_i16.c: Regenerated.
* generated/minloc1_16_i2.c: Regenerated.
* generated/minloc1_16_i4.c: Regenerated.
* generated/minloc1_16_i8.c: Regenerated.
* generated/minloc1_16_r10.c: Regenerated.
* generated/minloc1_16_r16.c: Regenerated.
* generated/minloc1_16_r4.c: Regenerated.
* generated/minloc1_16_r8.c: Regenerated.
* generated/minloc1_4_i1.c: Regenerated.
* generated/minloc1_4_i16.c: Regenerated.
* generated/minloc1_4_i2.c: Regenerated.
* generated/minloc1_4_i4.c: Regenerated.
* generated/minloc1_4_i8.c: Regenerated.
* generated/minloc1_4_r10.c: Regenerated.
* generated/minloc1_4_r16.c: Regenerated.
* generated/minloc1_4_r4.c: Regenerated.
* generated/minloc1_4_r8.c: Regenerated.
* generated/minloc1_8_i1.c: Regenerated.
* generated/minloc1_8_i16.c: Regenerated.
* generated/minloc1_8_i2.c: Regenerated.
* generated/minloc1_8_i4.c: Regenerated.
* generated/minloc1_8_i8.c: Regenerated.
* generated/minloc1_8_r10.c: Regenerated.
* generated/minloc1_8_r16.c: Regenerated.
* generated/minloc1_8_r4.c: Regenerated.
* generated/minloc1_8_r8.c: Regenerated.
* generated/minval_i1.c: Regenerated.
* generated/minval_i16.c: Regenerated.
* generated/minval_i2.c: Regenerated.
* generated/minval_i4.c: Regenerated.
* generated/minval_i8.c: Regenerated.
* generated/minval_r10.c: Regenerated.
* generated/minval_r16.c: Regenerated.
* generated/minval_r4.c: Regenerated.
* generated/minval_r8.c: Regenerated.
* generated/norm2_r10.c: Regenerated.
* generated/norm2_r16.c: Regenerated.
* generated/norm2_r4.c: Regenerated.
* generated/norm2_r8.c: Regenerated.
* generated/parity_l1.c: Regenerated.
* generated/parity_l16.c: Regenerated.
* generated/parity_l2.c: Regenerated.
* generated/parity_l4.c: Regenerated.
* generated/parity_l8.c: Regenerated.
* generated/product_c10.c: Regenerated.
* generated/product_c16.c: Regenerated.
* generated/product_c4.c: Regenerated.
* generated/product_c8.c: Regenerated.
* generated/product_i1.c: Regenerated.
* generated/product_i16.c: Regenerated.
* generated/product_i2.c: Regenerated.
* generated/product_i4.c: Regenerated.
* generated/product_i8.c: Regenerated.
* generated/product_r10.c: Regenerated.
* generated/product_r16.c: Regenerated.
* generated/product_r4.c: Regenerated.
* generated/product_r8.c: Regenerated.
* generated/sum_c10.c: Regenerated.
* generated/sum_c16.c: Regenerated.
* generated/sum_c4.c: Regenerated.
* generated/sum_c8.c: Regenerated.
* generated/sum_i1.c: Regenerated.
* generated/sum_i16.c: Regenerated.
* generated/sum_i2.c: Regenerated.
* generated/sum_i4.c: Regenerated.
* generated/sum_i8.c: Regenerated.
* generated/sum_r10.c: Regenerated.
* generated/sum_r16.c: Regenerated.
* generated/sum_r4.c: Regenerated.
* generated/sum_r8.c: Regenerated.
From-SVN: r246053
John Marino [Fri, 10 Mar 2017 19:33:27 +0000 (19:33 +0000)]
freebsd-unwind.h: New file.
2017-03-10 John Marino <gnugcc@marino.st>
* config/aarch64/freebsd-unwind.h: New file.
* config.host: Add aarch64-*-freebsd unwinder.
From-SVN: r246052
Segher Boessenkool [Fri, 10 Mar 2017 19:29:48 +0000 (20:29 +0100)]
Build crt*vr.S with AltiVec enabled
These files won't build on targets that do not have AltiVec enabled,
breaking the build, unless we tell GAS that Altivec insns are fine.
The alternative is to not build these files in that case, which is much
more complicated.
libgcc/
* config/rs6000/crtrestvr.s: Use .machine altivec.
* config/rs6000/crtsavevr.s: Ditto.
From-SVN: r246051
David Malcolm [Fri, 10 Mar 2017 19:22:35 +0000 (19:22 +0000)]
Add missing punctuation to message (PR driver/79875)
gcc/ChangeLog:
PR driver/79875
* opts.c (parse_sanitizer_options): Add missing question mark to
"did you mean" message.
From-SVN: r246047
Bill Schmidt [Fri, 10 Mar 2017 19:16:04 +0000 (19:16 +0000)]
rs6000-builtin.def (VMULEUB_UNS): Remove orphaned built-in.
2017-03-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000-builtin.def (VMULEUB_UNS): Remove orphaned
built-in.
(VMULEUH_UNS): Likewise.
(VMULOUB_UNS): Likewise.
(VMULOUH_UNS): Likewise.
* config/rs6000/rs6000.c (builtin_function_type): Remove
references to ALTIVEC_BUILTIN_VMUL[EO]U[BH]_UNS.
From-SVN: r246046
David Malcolm [Fri, 10 Mar 2017 19:09:02 +0000 (19:09 +0000)]
c-indentation.c: workaround xgettext limitation (PR c/79921)
gcc/c-family/ChangeLog:
PR c/79921
* c-indentation.c (warn_for_misleading_indentation): Remove parens
from inform's message, so that xgettext can locate it.
From-SVN: r246045
David Malcolm [Fri, 10 Mar 2017 18:39:52 +0000 (18:39 +0000)]
Fix out-of-bounds write in RTL function reader (PR bootstrap/79952)
gcc/ChangeLog:
PR bootstrap/79952
* read-rtl-function.c (function_reader::read_rtx_operand): Update
x with result of extra_parsing_for_operand_code_0.
(function_reader::extra_parsing_for_operand_code_0): Convert
return type from void to rtx, returning x. When reading
SYMBOL_REF with SYMBOL_FLAG_HAS_BLOCK_INFO, reallocate x to the
larger size containing struct block_symbol.
From-SVN: r246044
Segher Boessenkool [Fri, 10 Mar 2017 17:57:58 +0000 (18:57 +0100)]
rs6000: float128 on BE and 32-bit
This fixes float128 on BE and on 32-bit.
The configure tests need to use -mabi=altivec for 32-bit, since it is
not the default there. That also enables the "vector" keyword, used by
the tests. To do this it temporarily adds a few flags to the CFLAGS
variable.
It also fixes a syntax error in the libgcc_cv_powerpc_float128_hw test
(the function name was missing in the function declaration).
Regenerating config.in (via autoreconf) removed the duplicate definition
of HAVE_SOLARIS_CRTS.
Finally, this adds a "-mfloat128-hardware requires -m64" test to
rs6000.c: all the current patterns need 64-bit registers. Maybe we'll
want to add float128 hardware support to 32-bit some day, but certainly
not today.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
-mfloat128-hardware without -m64.
libgcc/
* configure.ac (test for libgcc_cv_powerpc_float128): Temporarily
modify CFLAGS. Add -mabi=altivec -mvsx -mfloat128.
(test for libgcc_cv_powerpc_float128_hw): Add -mpower9-vector and
-mfloat128-hardware to the CFLAGS. Fix syntax error in the C snippet.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r246043
Jason Merrill [Fri, 10 Mar 2017 17:35:54 +0000 (12:35 -0500)]
PR c++/79960 - alias templates and partial ordering
* pt.c (comp_template_args): Add partial_order parm.
(template_args_equal): Likewise.
(comp_template_args_porder): New.
(get_partial_spec_bindings): Use it.
From-SVN: r246042
Will Schmidt [Fri, 10 Mar 2017 16:18:44 +0000 (16:18 +0000)]
re PR target/79941 (Altivec vec_vmuleub regression)
gcc:
2017-03-10 Will Schmidt <will_schmidt@vnet.ibm.com>
PR target/79941
* config/rs6000/rs6000.c (builtin_function_type): Add VMUL*U[HB]
entries to the case statement that marks unsigned arguments to
overloaded functions.
testsuite:
2017-03-10 Will Schmidt <will_schmidt@vnet.ibm.com>
PR target/79941
* gcc.target/powerpc/fold-vec-mult-even_odd_misc.c: New test.
* gcc.target/powerpc/fold-vec-mult-even_odd_char.c: New test.
* gcc.target/powerpc/fold-vec-mult-even_odd_short.c: New test.
From-SVN: r246040
Marek Polacek [Fri, 10 Mar 2017 15:36:00 +0000 (15:36 +0000)]
re PR c++/79967 (ICE on non-type template argument declared noreturn)
PR c++/79967
* decl.c (grokdeclarator): Check ATTRLIST before dereferencing it.
* g++.dg/cpp0x/gen-attrs-63.C: New test.
From-SVN: r246039
Jakub Jelinek [Fri, 10 Mar 2017 15:33:04 +0000 (16:33 +0100)]
re PR c++/79899 (ICE in ctor_omit_inherited_parms at gcc/cp/method.c:576 on ARM target)
PR c++/79899
* optimize.c (maybe_thunk_body): Don't ICE if fns[0] is NULL.
Use XALLOCAVEC macro.
* g++.dg/other/friend7.C: New test.
From-SVN: r246038
Jonathan Wakely [Fri, 10 Mar 2017 15:29:49 +0000 (15:29 +0000)]
Fix libstdc++ reserved names test to pass on AIX
* testsuite/17_intro/names.cc: Undefine macros that clash with
identifiers in AIX system headers.
From-SVN: r246037
Jonathan Wakely [Fri, 10 Mar 2017 15:29:38 +0000 (15:29 +0000)]
P0604R0 add invoke_result, is_invocable etc. for C++17
* include/bits/invoke.h (__invoke): Use __invoke_result instead of
result_of, and __is_nothrow_invocable instead of
__is_nothrow_callable.
* include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable
instead of __is_callable.
* include/std/functional (invoke): use invoke_result_t instead of
result_of_t and is_nothrow_invocable instead of is_nothrow_callable.
(_Not_fn): Use __invoke_result instead of result_of.
* include/std/type_traits (__result_of_memobj, __result_of_memfun):
Remove partial specializations for reference_wrapper types.
(__result_of_impl): Use __inv_unwrap to strip reference_wrapper.
(__invoke_result): Define replacement for result_of and then use it to
define result_of.
(__is_callable_impl, __is_callable, __is_nothrow_callable): Replace
with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable
respectively.
(invoke_result, invoke_result_t): Define for C++17.
(is_callable, is_nothrow_callable): Replace with is_invocable,
is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r.
(is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v,
is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v.
* include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v
instead of is_nothrow_callable_v.
* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
main function.
* testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable
instead of is_callable.
* testsuite/20_util/is_callable/*: Rename directory and adjust tests
to use new traits.
* testsuite/20_util/is_notjrow_callable/*: Likewise.
* testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of
is_callable.
* testsuite/20_util/variant/hash.cc: Likewise.
From-SVN: r246036
Kelvin Nilsen [Fri, 10 Mar 2017 15:29:35 +0000 (15:29 +0000)]
rs6000.c (rs6000_option_override_internal): Fix two typographic errors in the handling of TARGET_UPPER_REGS_DI.
gcc/ChangeLog:
2017-03-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
* config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
two typographic errors in the handling of TARGET_UPPER_REGS_DI.
From-SVN: r246035
Jakub Jelinek [Fri, 10 Mar 2017 15:28:26 +0000 (16:28 +0100)]
re PR c++/79896 (ICE in gimplify_expr, at gimplify.c:11950 on non-int128 target)
PR c++/79896
* decl.c (finish_enum_value_list): If value is error_mark_node,
don't copy it and change its type.
* init.c (constant_value_1): Return error_mark_node if DECL_INITIAL
of CONST_DECL is error_mark_node.
* g++.dg/ext/int128-5.C: New test.
From-SVN: r246034
Segher Boessenkool [Fri, 10 Mar 2017 15:23:06 +0000 (16:23 +0100)]
testsuite: attr-alloc_size-11.c (PR79356)
As stated in the PR (and elsewhere), this test now passes on aarch64,
ia64, mips, powerpc, sparc, and s390x. This patch disables the xfails
for those targets.
PR testsuite/79356
* gcc.dg/attr-alloc_size-11.c: Don't xfail on aarch64, ia64, mips,
powerpc, sparc, or s390x.
From-SVN: r246032
Pat Haugen [Fri, 10 Mar 2017 14:32:42 +0000 (14:32 +0000)]
re PR target/79907 (ICE in extract_constrain_insn, at recog.c:2213 on ppc64le)
PR target/79907
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test
TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass.
* gcc.target/powerpc/pr79907.c: New.
From-SVN: r246029
Martin Liska [Fri, 10 Mar 2017 13:24:45 +0000 (14:24 +0100)]
MPX: Fix option handling.
2017-03-10 Martin Liska <mliska@suse.cz>
PR target/65705
PR target/69804
* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
FIELD != NULL.
From-SVN: r246027
George Lander [Fri, 10 Mar 2017 12:22:45 +0000 (12:22 +0000)]
[libstdc++-v3] Fix detection of obsolete isnan
libstdc++-v3 configure checks whether old glibc inline definitions
of isnan would conflict with the libstdc++-v3 definitions and
works around them if so. But if g++ 6.x build A is used to build
another g++ 6.x B, the configure step for B will pick up the math.h
installed alongside A instead of the glibc version. configure will
then assume that the workaround isn't necessary, leaving B with a
broken cmath.
isinf already worked around this. This patch extends the same fix
to isnan. (Thanks to George for the fix.)
libstdc++-v3/
2017-03-10 George Lander <george.lander@arm.com>
* acinclude.m4 (glibcxx_cv_obsolete_isnan): Define
_GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h.
* configure: Regenerate.
From-SVN: r246025
Olivier Hainque [Fri, 10 Mar 2017 11:16:21 +0000 (11:16 +0000)]
tree-switch-conversion (array_value_type): Start by resetting candidate type to it's main variant.
2017-03-10 Olivier Hainque <hainque@adacore.com>
* tree-switch-conversion (array_value_type): Start by resetting
candidate type to it's main variant.
testsuite/
* gnat.dg/opt64.adb: New test.
* gnat.dg/opt64_pkg.ads: New helper.
* gnat.dg/opt64_pkg.adb: New helper.
From-SVN: r246024
Jakub Jelinek [Fri, 10 Mar 2017 07:57:45 +0000 (08:57 +0100)]
re PR middle-end/79909 (ICE error: invalid rtl sharing found in the insn on ppc64le)
PR rtl-optimization/79909
* combine.c (try_combine): Use simplify_replace_rtx on individual
CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx
of the whole CALL_INSN_FUNCTION_USAGE.
* gcc.target/powerpc/pr79909.c: New test.
From-SVN: r246023
Jakub Jelinek [Fri, 10 Mar 2017 07:55:00 +0000 (08:55 +0100)]
re PR tree-optimization/79972 (ICE in tree check: expected ssa_name, have var_decl in get_range_info, at tree-ssanames.c:377 w/ -Walloca -Wvla-larger-than=
364854541)
PR tree-optimization/79972
* gimple-ssa-warn-alloca.c (alloca_call_type): Only call
get_range_info on SSA_NAMEs. Formatting fixes.
* gcc.dg/pr79972.c: New test.
From-SVN: r246022
Jakub Jelinek [Fri, 10 Mar 2017 07:53:57 +0000 (08:53 +0100)]
re PR tree-optimization/77975 (Missed optimization for some small constants)
PR tree-optimization/77975
* tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch
edge to be constant.
(get_val_for): For constant x return it. Formatting fix.
(loop_niter_by_eval): Avoid pointless looping if the next iteration
would use the same bases as the current one.
* gcc.dg/pr77975.c: New test.
From-SVN: r246021
Michael Eager [Fri, 10 Mar 2017 00:48:51 +0000 (00:48 +0000)]
Eliminate unneeded test.
From-SVN: r246020
GCC Administrator [Fri, 10 Mar 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246019
Marek Polacek [Thu, 9 Mar 2017 22:45:39 +0000 (22:45 +0000)]
re PR c++/79962 (ICE nonnull_check_p on a function template with a type-dependent attribute nonnull)
PR c++/79962
PR c++/79984
* c-attribs.c (handle_nonnull_attribute): Save the result of default
conversion to the attribute list.
* c-c++-common/nonnull-3.c: New test.
* g++.dg/warn/Wnonnull3.C: New test.
From-SVN: r246016
Bill Schmidt [Thu, 9 Mar 2017 22:41:34 +0000 (22:41 +0000)]
rs6000.c (rs6000_gen_le_vsx_permute): Use rotate instead of vec_select for V1TImode.
2017-03-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate
instead of vec_select for V1TImode.
* conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no
longer needed.
(VSX_LE_128): Add V1TI to this mode iterator.
(*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator.
(*vsx_le_perm_store_<mode>): Likewise.
(pre-reload splitter for VSX stores): Likewise.
(post-reload splitter for VSX stores): Likewise.
(*vsx_xxpermdi2_le_<mode>): Likewise.
(*vsx_lxvd2x2_le_<mode>): Likewise.
(*vsx_stxvd2x2_le_<mode>): Likewise.
From-SVN: r246015
Jason Merrill [Thu, 9 Mar 2017 22:20:33 +0000 (17:20 -0500)]
* g++.dg/warn/Wpadded-1.C: Fix for 32-bit target.
From-SVN: r246014
Jonathan Wakely [Thu, 9 Mar 2017 20:36:42 +0000 (20:36 +0000)]
Define macro to simplify std::_Not_fn definition
* include/std/functional (_Not_fn): Define macro to simplify
repetitive function definitions.
From-SVN: r246013