Jonathan Wakely [Thu, 18 May 2017 15:31:41 +0000 (16:31 +0100)]
Skip C tests if test flags include C++ options
Backport from mainline
2016-08-02 Jonathan Wakely <jwakely@redhat.com>
* testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
options are present that aren't valid for C.
* testsuite/abi/header_cxxabi.c: Likewise.
Jonathan Wakely [Thu, 18 May 2017 15:31:02 +0000 (16:31 +0100)]
PR69699 document why __GLIBCXX__ macro is useless
Backport from mainline
2017-01-17 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/69699
* doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
_GLIBCXX__ macro is not useful. Remove redundant date information
and link to the GCC release timeline.
(abi.versioning.active): Move partial sentence into the previous
paragraph.
* doc/html/*: Regenerate.
Backport from mainline
2016-11-09 Tim Shen <timshen@google.com>
PR libstdc++/78236
* libstdc++-v3/include/bits/regex.h (regex_iterator::regex_iterator()):
Define end() as _M_pregex == nullptr.
* libstdc++-v3/include/bits/regex.tcc (regex_iterator::operator==(),
regex_iterator::operator++()): Fix operator==() and operator++() to
look at null-ness of _M_pregex on both sides.
* testsuite/28_regex/regression.cc: New testcase.
Jonathan Wakely [Thu, 18 May 2017 09:23:29 +0000 (10:23 +0100)]
Enable printers and xmethods for std::__cxx11::list
Backport from mainline
2016-10-11 Jonathan Wakely <jwakely@redhat.com>
* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
Register printer for std::__cxx11::list.
* python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
std::__cxx11::list as well as std::list.
PR c/79756
* c-common.c (c_common_mark_addressable_vec): Look through
C_MAYBE_CONST_EXPR.
* gcc.dg/vector-1.c: New testcase.
2017-02-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/79732
* tree-inline.c (expand_call_inline): Handle anonymous
SSA lhs properly when inlining a function without return
value.
* gcc.dg/torture/pr79732.c: New testcase.
2017-02-22 Richard Biener <rguenther@suse.de>
PR tree-optimization/79666
* tree-vrp.c (extract_range_from_binary_expr_1): Make sure
to not symbolically negate if that may introduce undefined
overflow.
Richard Biener [Wed, 10 May 2017 07:53:45 +0000 (07:53 +0000)]
Backport PRs 80122, 80222, 80334, 80539
2017-05-10 Richard Biener <rguenther@suse.de>
Backport from mainline
2017-03-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/80122
* tree-inline.c (copy_bb): Do not expans va-arg packs or
va_arg_pack_len when the inlined call stmt requires pack
expansion itself.
* tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.
* gcc.dg/torture/pr80122.c: New testcase.
2017-03-28 Richard Biener <rguenther@suse.de>
PR middle-end/80222
* gimple-fold.c (gimple_fold_indirect_ref): Do not touch
TYPE_REF_CAN_ALIAS_ALL references.
* fold-const.c (fold_indirect_ref_1): Likewise.
* g++.dg/pr80222.C: New testcase.
2017-04-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/80334
* tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
preserve alignment of accesses.
* g++.dg/torture/pr80334.C: New testcase.
2017-04-27 Richard Biener <rguenther@suse.de>
PR middle-end/80539
* tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
being in loop-closed SSA form conservatively.
(chrec_fold_multiply_poly_poly): Likewise.
2016-05-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline
PR target/69868 + swap optimization backports
* config/rs6000/rs6000.c (swap_web_entry): Enlarge
special_handling bitfield.
(special_handling_values): Add SH_XXPERMDI, SH_CONCAT, SH_VPERM,
and SH_VPERM_COMP.
(const_load_sequence_p): New.
(load_comp_mask_p): New.
(v2df_reduction_p): New.
(rtx_is_swappable_p): Perform special handling for XXPERMDI and
for reductions.
(insn_is_swappable_p): Perform special handling for VEC_CONCAT,
V2DF reductions, and various permutes.
(adjust_xxpermdi): New.
(adjust_concat): New.
(find_swapped_load_and_const_vector): New.
(replace_const_vector_in_load): New.
(adjust_vperm): New.
(adjust_vperm_comp): New.
(handle_special_swappables): Call adjust_xxpermdi, adjust_concat,
adjust_vperm, and adjust_vperm_comp.
(replace_swap_with_copy): Allow vector NOT operations to also be
replaced by copies.
(dump_swap_insn_table): Handle new special handling values.
[gcc/testsuite]
2016-05-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Janus Weil [Mon, 1 May 2017 10:51:22 +0000 (12:51 +0200)]
backport: re PR fortran/80392 ([OOP] ICE with allocatable polymorphic function result in a procedure pointer component)
2017-05-01 Janus Weil <janus@gcc.gnu.org>
Backport from trunk
PR fortran/80392
* trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
building a derived type that includes a procedure pointer component
with a polymorphic result.
2017-05-01 Janus Weil <janus@gcc.gnu.org>
Backport from trunk
PR fortran/80392
* gfortran.dg/proc_ptr_comp_49.f90: New test case.
Bill Schmidt [Wed, 12 Apr 2017 13:45:27 +0000 (13:45 +0000)]
backport: re PR target/80376 (Some vec_xxpermdi usage lead to ICE)
2017-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline
2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/80376
PR target/80315
* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
CONST0_RTX (mode) rather than const0_rtx where appropriate.
(rs6000_expand_binop_builtin): Likewise.
(rs6000_expand_ternop_builtin): Likewise; also add missing
vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for
vshasigma built-ins.
* doc/extend.texi: Document that vec_xxpermdi's third argument
must be a constant.
Martin Jambor [Tue, 11 Apr 2017 13:31:16 +0000 (15:31 +0200)]
[PR 77333] Fixup fntypes of gimple calls of clones
2017-04-11 Martin Jambor <mjambor@suse.cz>
Backport from mainline
2017-03-30 Martin Jambor <mjambor@suse.cz>
PR ipa/77333
* cgraph.h (cgraph_build_function_type_skip_args): Declare.
* cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that
it reflects the signature changes performed at the callee side.
* cgraphclones.c (build_function_type_skip_args): Make public, renamed
to cgraph_build_function_type_skip_args.
(build_function_decl_skip_args): Adjust call to the above function.
Uros Bizjak [Sat, 25 Mar 2017 19:47:14 +0000 (20:47 +0100)]
re PR target/80180 (Incorrect codegen from rdseed intrinsic use (CVE-2017-11671))
PR target/80180
* config/i386/i386.c (ix86_expand_builtin)
<IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between
flags reg setting and flags reg using instructions.
<IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto. Use non-flags reg
clobbering instructions to zero extend op2.
Martin Liska [Wed, 22 Mar 2017 14:59:44 +0000 (15:59 +0100)]
Backport r245647
2017-03-22 Martin Liska <mliska@suse.cz>
Backport from mainline
2017-02-22 Martin Liska <mliska@suse.cz>
PR lto/79587
* data-streamer-in.c (streamer_read_gcov_count): Remove assert.
* data-streamer-out.c (streamer_write_gcov_count_stream):
Likewise.
* value-prof.c (stream_out_histogram_value): Make assert more
precise based on type of counter.
2017-03-22 Martin Liska <mliska@suse.cz>
Backport from mainline
2017-02-22 Martin Liska <mliska@suse.cz>
PR lto/79587
* gcc.dg/tree-prof/pr79587.c: New test.
Martin Liska [Wed, 22 Mar 2017 12:32:56 +0000 (13:32 +0100)]
Backport r246321
2017-03-22 Martin Liska <mliska@suse.cz>
Backport from mainline
2017-03-21 Martin Liska <mliska@suse.cz>
PR gcov-profile/80081
* Makefile.in: Add gcov-dump and fix installation of gcov-tool.
* doc/gcc.texi: Include gcov-dump stuff.
* doc/gcov-dump.texi: New file.
Martin Liska [Wed, 22 Mar 2017 12:32:17 +0000 (13:32 +0100)]
Backport r246276
2017-03-22 Martin Liska <mliska@suse.cz>
Backport from mainline
2017-03-20 Martin Liska <mliska@suse.cz>
PR middle-end/79753
* tree-chkp.c (chkp_build_returned_bound): Do not build
returned bounds for a LHS that's not a BOUNDED_P type.
2017-03-22 Martin Liska <mliska@suse.cz>
Backport from mainline
2017-03-20 Martin Liska <mliska@suse.cz>
PR middle-end/79753
* gcc.target/i386/mpx/pr79753.c: New test.