gcc.git
7 years agore PR tree-optimization/71437 (Performance regression after r235817)
Jeff Law [Thu, 16 Mar 2017 19:21:33 +0000 (13:21 -0600)]
re PR tree-optimization/71437 (Performance regression after r235817)

PR tree-optimization/71437
* tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
member function.  Implementation moved into after_dom_children
member function and into the threader's thread_outgoing_edges
function.
(dom_opt_dom_walker::after_dom_children): Simplify by moving
some code into new thread_outgoing_edges.
* tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
definition.  Simplify marker handling (do it here).   Assume we always
have the available expression and the const/copies tables.
(thread_outgoing_edges): New function extracted from tree-ssa-dom.c
and tree-vrp.c
* tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
* tree-vrp.c (equiv_stack): No longer file scoped.
(vrp_dom_walker): New class.
(vrp_dom_walker::before_dom_children): New member function.
(vrp_dom_walker::after_dom_children): Likewise.
(identify_jump_threads):  Setup domwalker.  Use it rather than
walking edges in a random order by hand.  Simplify setup/finalization.
(finalize_jump_threads): Remove.
(vrp_finalize): Do not call identify_jump_threads here.
(execute_vrp): Do it here instead and call thread_through_all_blocks
here too.

From-SVN: r246208

7 years agore PR tree-optimization/71437 (Performance regression after r235817)
Jeff Law [Thu, 16 Mar 2017 19:21:23 +0000 (13:21 -0600)]
re PR tree-optimization/71437 (Performance regression after r235817)

PR tree-optimization/71437
* tree-ssa-dom.c (pfn_simplify): Add basic_block argument.  All
callers changed.
(simplify_stmt_for_jump_threading): Add basic_block argument.  All
callers changed.
(lhs_of_dominating_assert): Moved from here into tree-vrp.c.
(dom_opt_dom_walker::thread_across_edge): Remove
handle_dominating_asserts argument.  All callers changed.
(record_temporary_equivalences_from_stmts_at_dest): Corresponding
changes.  Remove calls to lhs_of_dominating_assert.  Other
uses of handle_dominating_asserts turn into unconditional code
(simplify_control_stmt_condition_1): Likewise.
(simplify_control_stmt_condition): Likewise.
(thread_through_normal_block, thread_across_edge): Likewise.
* tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
* tree-vrp.c (lhs_of_dominating_assert): Move here.  Return original
object if it is not an SSA_NAME.
(simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
before calling into the VRP specific simplifiers.
(identify_jump_threads): Remove handle_dominating_asserts
argument.

From-SVN: r246207

7 years agoFix tree-prof/pr66295.c
Segher Boessenkool [Thu, 16 Mar 2017 18:18:58 +0000 (19:18 +0100)]
Fix tree-prof/pr66295.c

This testcase can only ever be built on x86 (it needs the "avx*"
attributes).  This patch skips the test elsewhere.

gcc/testsuite/
* gcc.dg/tree-prof/pr66295.c: Skip unless on an x86 target.

From-SVN: r246206

7 years agoPR libstdc++/79980 fix target type of cast
Jonathan Wakely [Thu, 16 Mar 2017 17:22:47 +0000 (17:22 +0000)]
PR libstdc++/79980 fix target type of cast

PR libstdc++/79980
* src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type.

From-SVN: r246205

7 years agore PR fortran/80010 (diagnostics: typo $!)
Jakub Jelinek [Thu, 16 Mar 2017 16:50:27 +0000 (17:50 +0100)]
re PR fortran/80010 (diagnostics: typo $!)

PR fortran/80010
* parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
and ST_OACC_END_ATOMIC, instead of !ACC.
* trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
* openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
gfc_resolve_oacc_declare): Likewise.

* gfortran.dg/goacc/asyncwait-3.f95: Adjust expected diagnostic.

From-SVN: r246204

7 years agore PR fortran/79886 (ICE in pp_format, at pretty-print.c:681)
Jakub Jelinek [Thu, 16 Mar 2017 16:27:08 +0000 (17:27 +0100)]
re PR fortran/79886 (ICE in pp_format, at pretty-print.c:681)

PR fortran/79886
* tree-diagnostic.c (default_tree_printer): No longer static.
* tree-diagnostic.h (default_tree_printer): New prototype.
fortran/
* error.c (gfc_format_decoder): Rename plus argument to set_locus,
remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
if not a Fortran specific spec.
* trans-io.c: Include options.h.
(gfc_build_st_parameter): Temporarily disable -Wpadded around layout
of artificial IO data structures.
testsuite/
* gfortran.dg/pr79886.f90: New test.

From-SVN: r246203

7 years agoPR libstdc++/80041 fix codecvt_utf16<wchar_t> to use UTF-16 not UTF-8
Jonathan Wakely [Thu, 16 Mar 2017 15:28:02 +0000 (15:28 +0000)]
PR libstdc++/80041 fix codecvt_utf16<wchar_t> to use UTF-16 not UTF-8

PR libstdc++/80041
* src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out)
(__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to
char16_t to work with UTF-16 instead of UTF-8.
* testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test.

From-SVN: r246202

7 years agoFix encoding() and max_length() values for codecvt facets
Jonathan Wakely [Thu, 16 Mar 2017 15:27:57 +0000 (15:27 +0000)]
Fix encoding() and max_length() values for codecvt facets

* src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>)
(codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>)
(__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>)
(__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>)
(__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>)
(__codecvt_utf8_utf16_base<char32_t>)
(__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and
do_max_length() return values.
* testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test.
* testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test.

From-SVN: r246201

7 years agoPR libstdc++/79980 fix BOM detection, maxcode checks, UCS2 handling
Jonathan Wakely [Thu, 16 Mar 2017 15:27:51 +0000 (15:27 +0000)]
PR libstdc++/79980 fix BOM detection, maxcode checks, UCS2 handling

PR libstdc++/79980
* include/bits/locale_conv.h (__do_str_codecvt): Set __count on
error path.
* src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads
for manipulating codecvt_mode values.
(read_utf16_bom): Compare input to BOM constants instead of integral
constants that depend on endianness.  Take mode parameter by
reference and adjust it, to distinguish between no BOM present and
UTF-16BE BOM present.
(ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom.
(surrogates): New enumeration type.
(utf16_in, utf16_out): Add surrogates parameter to choose between
UTF-16 and UCS2 behaviour.
(utf16_span, ucs2_span): Use std::min not std::max.
(ucs2_out): Use std::min not std::max.  Disallow surrogate pairs.
(ucs2_in): Likewise. Adjust calls to read_utf16_bom.
* testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test.
* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test.

From-SVN: r246200

7 years agoPR libstdc++/79511 fix endianness of UTF-16 data
Jonathan Wakely [Thu, 16 Mar 2017 15:27:45 +0000 (15:27 +0000)]
PR libstdc++/79511 fix endianness of UTF-16 data

PR libstdc++/79511
* src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff
as a surrogate pair.
(__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness
for internal representation.
(__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test.

From-SVN: r246199

7 years agoPR libstdc++/80064 make heap algorithms work with function types
Jonathan Wakely [Thu, 16 Mar 2017 14:32:07 +0000 (14:32 +0000)]
PR libstdc++/80064 make heap algorithms work with function types

PR libstdc++/80064
* include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap)
(pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with
invalid instantiations using function types for _Compare argument.
* testsuite/25_algorithms/make_heap/80064.cc: New test.

From-SVN: r246197

7 years agoPR libstdc++/67440 make pretty printers work with GDB 7.6 again
Jonathan Wakely [Thu, 16 Mar 2017 14:11:48 +0000 (14:11 +0000)]
PR libstdc++/67440 make pretty printers work with GDB 7.6 again

PR libstdc++/67440
* python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name
for GDB 7.6 compatibility, use gdb.Type.unqualified instead.

From-SVN: r246196

7 years agoFix typo and replace non-breaking spaces in libstdc++-v3/ChangeLog
Jonathan Wakely [Thu, 16 Mar 2017 12:18:14 +0000 (12:18 +0000)]
Fix typo and replace non-breaking spaces in libstdc++-v3/ChangeLog

From-SVN: r246191

7 years ago2017-03-16 Tamar Christina <tamar.christina@arm.com>
Tamar Christina [Thu, 16 Mar 2017 11:41:24 +0000 (11:41 +0000)]
2017-03-16  Tamar Christina  <tamar.christina@arm.com>

* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
Change ins into fmov.

From-SVN: r246190

7 years ago[AArch64] Use 'x' constraint for vector HFmode multiplication by indexed element...
Kyrylo Tkachov [Thu, 16 Mar 2017 10:03:11 +0000 (10:03 +0000)]
[AArch64] Use 'x' constraint for vector HFmode multiplication by indexed element instructions

* config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF.
* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>):
Use h_con constraint for operand 1.
(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
(*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2.

From-SVN: r246189

7 years agore PR tree-optimization/71437 (Performance regression after r235817)
Jeff Law [Thu, 16 Mar 2017 03:19:46 +0000 (21:19 -0600)]
re PR tree-optimization/71437 (Performance regression after r235817)

PR tree-optimization/71437
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function.
(record_temporary_equivalences): Use it.

From-SVN: r246187

7 years agore PR tree-optimization/71437 (Performance regression after r235817)
Jeff Law [Thu, 16 Mar 2017 03:19:35 +0000 (21:19 -0600)]
re PR tree-optimization/71437 (Performance regression after r235817)

PR tree-optimization/71437
* tree-ssa-dom.c (struct cond_equivalence): Moved from here into
tree-ssa-scopedtables.
(lookup_avail_expr, build_and_record_new_cond): Likewise.
(record_conditions, record_cond, vuse_eq): Likewise.
(record_edge_info): Adjust to API tweak of record_conditions.
(simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr.
(record_temporary_equivalences, optimize_stmt): Likewise.
(eliminate_redundant_computations): Likewise.
(record_equivalences_from_stmt): Likewise.
* tree-ssa-scopedtables.c: Include options.h and params.h.
(vuse_eq): New function, moved from tree-ssa-dom.c
(build_and_record_new_cond): Likewise.
(record_conditions): Likewise.  Accept vector of conditions rather
than edge_equivalence structure for first argument.
for the first argument.
(avail_exprs_stack::lookup_avail_expr): New member function, moved
from tree-ssa-dom.c.
(avail_exprs_stack::record_cond): Likewise.
* tree-ssa-scopedtables.h (struct cond_equivalence): Moved here
from tree-ssa-dom.c.
(avail_exprs_stack): Add new member functions lookup_avail_expr
and record_cond.
(record_conditions): Declare.

From-SVN: r246186

7 years agoDaily bump.
GCC Administrator [Thu, 16 Mar 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246185

7 years agoImplement LWG 2857, {variant,optional,any}::emplace should return the constructed...
Ville Voutilainen [Wed, 15 Mar 2017 23:13:20 +0000 (01:13 +0200)]
Implement LWG 2857, {variant,optional,any}::emplace should return the constructed value.

Implement LWG 2857, {variant,optional,any}::emplace should
return the constructed value.
* include/std/any (emplace(_Args&&...)): Change the return type and
return a reference to the constructed value.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/optional (emplace(_Args&&...)): Likewise.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/variant (emplace<_Tp>(_Args&&...)): Likewise.
(emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise.
(emplace<_Np>(_Args&&...)): Likewise.
(emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise.
* testsuite/20_util/any/assign/emplace.cc: Add tests for
checking the return value of emplace.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
* testsuite/20_util/optional/assignment/6.cc: Add tests for
checking the return value of emplace.
* testsuite/20_util/variant/run.cc: Likewise.

From-SVN: r246182

7 years agore PR target/80017 (ICE: Max. number of generated reload insns per insn is achieved...
Vladimir Makarov [Wed, 15 Mar 2017 23:04:09 +0000 (23:04 +0000)]
re PR target/80017 (ICE: Max. number of generated reload insns per insn is achieved (90))

2017-03-15  Vladimir Makarov  <vmakarov@redhat.com>

PR target/80017
* lra-constraints.c (process_alt_operands): Increase reject for
reloading an input/output operand.

From-SVN: r246181

7 years agoPR c++/80043 - ICE with -fpermissive
Jason Merrill [Wed, 15 Mar 2017 21:32:43 +0000 (17:32 -0400)]
PR c++/80043 - ICE with -fpermissive

* typeck.c (convert_for_assignment): Handle instantiate_type
not giving an error.

From-SVN: r246180

7 years agore PR target/79038 (Improve PowerPC ISA 3.0 conversion between integers and hardware...
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

7 years ago* de.po: Update.
Joseph Myers [Wed, 15 Mar 2017 21:07:52 +0000 (21:07 +0000)]
* de.po: Update.

From-SVN: r246177

7 years agors6000: Do not xfail nint_2.f90 on Linux systems
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

7 years agoPR libstdc++/62045 fix O(N) insertion in pd_ds binary heap
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

7 years agoFix translation issue with character length * errors (PR fortran/79860)
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

7 years ago[gcc, testsuite] Don't xfail on arm
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

7 years agoFix typo in config.h.in comment
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

7 years agoDon't use Win32 functions on CYGWIN.
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

7 years agore PR target/80019 (ICE in ix86_vector_duplicate_value, at config/i386/i386.c:42584)
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

7 years agoc6x.c (hwloop_optimize): Handle case where the old iteration reg is used after the...
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

7 years ago* c-parser.c (c_parser_enum_specifier): Remove redundant line.
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

7 years agoRemoved unused dg-error.
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

7 years agore PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3)
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

7 years agore PR bootstrap/79771 (in-tree zlib breaks build)
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

7 years agore PR tree-optimization/79800 (wrong snprintf result range with precision in a narrow...
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

7 years agore PR target/79947 (ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570)
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

7 years agoDaily bump.
GCC Administrator [Wed, 15 Mar 2017 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246149

7 years agore PR middle-end/80020 (gcc confused about aligned_alloc argument order)
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

7 years agore PR c/79936 (ICE with -Walloc-size-larger-than=32767)
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

7 years agore PR rtl-optimization/79728 (ICE in setup_pressure_classes, at ira.c:912)
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

7 years agoDocument options that can't be combined with -fcheck-pointer-bounds.
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

7 years agoDocument -Wchkp (PR middle-end/79831).
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

7 years agoPR libstdc++/79162 disambiguate assignment from string_view
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

7 years agoPR c++/79393 DR 1658 workaround
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

7 years agoInstall gcov-dump.
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

7 years agoDo not ICE on an invalid input for MV.
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

7 years agoalias.c (struct alias_set_entry): Pack properly.
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

7 years agoVerify that target can create a dispatcher call (PR target/79892).
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

7 years agoFix multiple target clones nodes (PR lto/66295).
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

7 years agos-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags.
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

7 years agore PR tree-optimization/80030 (valgrind error in vect_get_slp_defs at tree-vect-slp...
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

7 years agoUse gcc_fallthrough() instead of __attribute__((fallthrough)
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

7 years agoDaily bump.
GCC Administrator [Tue, 14 Mar 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246115

7 years ago* es.po: Update.
Joseph Myers [Mon, 13 Mar 2017 23:07:17 +0000 (23:07 +0000)]
* es.po: Update.

From-SVN: r246112

7 years agogcc.texi: Remove "up" link to (DIR).
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

7 years agoinstall.texi (Specific): Remove reference to binutils 2.13.
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

7 years agore PR libstdc++/80034 (unqualified calls to std::distance in std::list::sort)
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

7 years ago* de.po, fr.po: Update.
Joseph Myers [Mon, 13 Mar 2017 18:43:28 +0000 (18:43 +0000)]
* de.po, fr.po: Update.

From-SVN: r246106

7 years agolibiberty: Initialize d_printing in all cplus_demangle_fill_* functions.
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

7 years agoImplement LWG 2806, Base class of bad_optional_access.
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

7 years agoriscv.c (riscv_emit_float_compare): Use fallthru attribute rather than comments.
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

7 years agopdp11.md (movmemhi): Adjust operand numbers to match_scratch operand is highest.
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

7 years agoDo not warn -Wsuggest-attribute=noreturn for main.chkp (PR middle-end/78339).
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

7 years ago[ARC] Code size modifications.
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

7 years ago[ARC] Fix tst_bitfield_tst pattern.
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

7 years ago[ARC] Add code density instructions.
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

7 years ago[ARC] Fix conditional move contstraint
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

7 years ago[ARC] Handle complex PIC move patterns.
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

7 years agoPR c++/79393 DR 1658 workaround
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

7 years ago[ARM] PR target/79911: Invalid vec_select arguments
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

7 years agore PR other/79991 (typo in params.def, PARAM_VECT_MAX_PEELING_FOR_ALIGNMENT)
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

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

From-SVN: r246082

7 years agoinstall.texi (Specific): Remove description of issue that only occurred with binutils...
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

7 years agoinstall.texi (Specific): No longer refer to binutils 2.11/2.12 minimum.
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

7 years agoinstall.texi (Specific): Remove link to ftp.kernel.org and simplify binutils requirement.
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

7 years agoImplement LWG 2934, optional<const T> doesn't compare with T.
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

7 years agoDaily bump.
GCC Administrator [Sun, 12 Mar 2017 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246075

7 years agors6000, testsuite: Correct the broken_cplxf_arg test
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

7 years agoinvoke.texi (Warning Options): Fix spelling of link-time optimization.
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

7 years agore PR fortran/78854 ([F03] DTIO namelist output not working on internal unit)
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

7 years ago* c-decl.c (implicit_decl_warning): Add a comment. Fix formatting.
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

7 years agoSimplify uses of "%<%s%>" to "%qs" (PR translation/79848)
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

7 years agoRemove trailing period from various diagnostic messages (PR translation/79923)
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

7 years agoaarch64.c: tweaks to quoting in error messages (PR target/79925)
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

7 years agoFix up a couple of old ChangeLog entries.
Martin Sebor [Sat, 11 Mar 2017 00:37:40 +0000 (00:37 +0000)]
Fix up a couple of old ChangeLog entries.

From-SVN: r246065

7 years agoAs discussed in https://gcc.gnu.org/ml/gcc-patches/2017-02/msg00942.html
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

7 years ago* de.po, sv.po: Update.
Joseph Myers [Sat, 11 Mar 2017 00:33:30 +0000 (00:33 +0000)]
* de.po, sv.po: Update.

From-SVN: r246063

7 years agoDaily bump.
GCC Administrator [Sat, 11 Mar 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246062

7 years agore PR rtl-optimization/78911 (Infinite loop at -O2/O3 optimization levels while tryin...
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

7 years agore PR tree-optimization/79981 (Forwprop not working for __atomic_compare_exchange_n)
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

7 years agore PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3)
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

7 years agofreebsd-unwind.h: New file.
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

7 years agoBuild crt*vr.S with AltiVec enabled
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

7 years agoAdd missing punctuation to message (PR driver/79875)
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

7 years agors6000-builtin.def (VMULEUB_UNS): Remove orphaned built-in.
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

7 years agoc-indentation.c: workaround xgettext limitation (PR c/79921)
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

7 years agoFix out-of-bounds write in RTL function reader (PR bootstrap/79952)
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

7 years agors6000: float128 on BE and 32-bit
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

7 years agoPR c++/79960 - alias templates and partial ordering
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