+2020-11-11 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/darwin-protos.h (darwin_make_eh_symbol_indirect): New.
+ * config/darwin.c (darwin_make_eh_symbol_indirect): New. Use
+ Mach-O semantics for personality and ldsa indirections.
+ * config/darwin.h (TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT): New.
+ * doc/tm.texi: Regenerate.
+ * doc/tm.texi.in: Add TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT hook.
+ * dwarf2out.c (dwarf2out_do_cfi_startproc): If the target defines
+ a hook for indirecting personality and ldsa references, use that
+ otherwise default to ELF semantics.
+ * target.def (make_eh_symbol_indirect): New target hook.
+
+2020-11-11 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/88115
+ * common.opt (-fabi-version): Document =15.
+ * doc/invoke.texi (C++ Dialect Options): Likewise.
+
+2020-11-11 Marek Polacek <polacek@redhat.com>
+
+ PR c++/97518
+ * tree.c (maybe_wrap_with_location): Don't add a location
+ wrapper around an artificial and ignored decl.
+
+2020-11-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/97623
+ * tree-ssa-pre.c (create_expression_by_pieces): Guard
+ NEW_SETS access.
+ (insert_into_preds_of_block): Likewise.
+
+2020-11-11 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-pre.c (pre_expr_DFS): New function.
+ (sorted_array_from_bitmap_set): Use it to properly
+ topologically sort the expression set.
+ (clean): Verify we've cleaned everything we should.
+
+2020-11-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/97623
+ * params.opt (-param=max-pre-hoist-insert-iterations): Remove
+ again.
+ * doc/invoke.texi (max-pre-hoist-insert-iterations): Likewise.
+ * tree-ssa-pre.c (insert): Move hoist insertion after PRE
+ insertion iteration and do not iterate it.
+
+2020-11-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (@vcond_mask_<mode><vpred>): Extend
+ from SVE_FULL to SVE_ALL.
+ (*vcond_mask_<mode><vpred>): Likewise.
+ (@aarch64_sel_dup<mode>): Likewise.
+ (vcond<SVE_FULL:mode><v_int_equiv>): Extend to...
+ (vcond<SVE_ALL:mode><SVE_I:mode>): ...this, but requiring the
+ sizes of the container modes to match.
+ (vcondu<SVE_FULL:mode><v_int_equiv>): Extend to...
+ (vcondu<SVE_ALL:mode><SVE_I:mode>): ...this.
+ (vec_cmp<SVE_FULL_I:mode><vpred>): Extend to...
+ (vec_cmp<SVE_I:mode><vpred>): ...this.
+ (vec_cmpu<SVE_FULL_I:mode><vpred>): Extend to...
+ (vec_cmpu<SVE_I:mode><vpred>): ...this.
+ (@aarch64_pred_cmp<cmp_op><SVE_FULL_I:mode>): Extend to...
+ (@aarch64_pred_cmp<cmp_op><SVE_I:mode>): ...this.
+ (*cmp<cmp_op><SVE_FULL_I:mode>_cc): Extend to...
+ (*cmp<cmp_op><SVE_I:mode>_cc): ...this.
+ (*cmp<cmp_op><SVE_FULL_I:mode>_ptest): Extend to...
+ (*cmp<cmp_op><SVE_I:mode>_ptest): ...this.
+ (*cmp<cmp_op><SVE_FULL_I:mode>_and): Extend to...
+ (*cmp<cmp_op><SVE_I:mode>_and): ...this.
+
+2020-11-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * optabs-tree.c (expand_vec_cond_expr_p): Allow the compared values
+ and the selected values to have different mode sizes.
+ * gimple-isel.cc (gimple_expand_vec_cond_expr): Likewise.
+
+2020-11-11 Hongtao Liu <hongtao.liu@intel.com>
+ Hongyu Wang <hongyu.wang@intel.com>
+
+ * common/config/i386/cpuinfo.h (get_available_features):
+ Detect AVXVNNI.
+ * common/config/i386/i386-common.c
+ (OPTION_MASK_ISA2_AVXVNNI_SET,
+ OPTION_MASK_ISA2_AVXVNNI_UNSET): New.
+ (OPTION_MASK_ISA2_AVX2_UNSET): Add AVXVNNI.
+ (ix86_hanlde_option): Handle -mavxvnni, unset avxvnni when
+ avx2 is disabled.
+ * common/config/i386/i386-cpuinfo.h (enum processor_features):
+ Add FEATURE_AVXVNNI.
+ * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY
+ for avxvnni.
+ * config.gcc: Add avxvnniintrin.h.
+ * config/i386/avx512vnnivlintrin.h: Reimplement 128/256 bit non-mask
+ intrinsics with macros to support unified interface.
+ * config/i386/avxvnniintrin.h: New header file.
+ * config/i386/cpuid.h (bit_AVXVNNI): New.
+ * config/i386/i386-builtins.c (def_builtin): Handle AVXVNNI mask
+ for unified builtin.
+ * config/i386/i386-builtin.def (BDESC): Adjust AVX512VNNI
+ builtins for AVXVNNI.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Define
+ __AVXVNNI__.
+ * config/i386/i386-expand.c (ix86_expand_builtin): Handle bisa
+ for AVXVNNI to support unified intrinsic name, since there is no
+ dependency between AVX512VNNI and AVXVNNI.
+ * config/i386/i386-options.c (isa2_opts): Add -mavxvnni.
+ (ix86_valid_target_attribute_inner_p): Handle avxnnni.
+ (ix86_option_override_internal): Ditto.
+ * config/i386/i386.h (TARGET_AVXVNNI, TARGET_AVXVNNI_P,
+ TARGET_AVXVNNI_P, PTA_AVXVNNI): New.
+ (PTA_SAPPHIRERAPIDS): Add AVX_VNNI.
+ (PTA_ALDERLAKE): Likewise.
+ * config/i386/i386.md ("isa"): Add avxvnni, avx512vnnivl.
+ ("enabled"): Adjust for avxvnni and avx512vnnivl.
+ * config/i386/i386.opt: Add option -mavxvnni.
+ * config/i386/immintrin.h: Include avxvnniintrin.h.
+ * config/i386/sse.md (vpdpbusd_<mode>): Adjust for AVXVNNI.
+ (vpdpbusds_<mode>): Likewise.
+ (vpdpwssd_<mode>): Likewise.
+ (vpdpwssds_<mode>): Likewise.
+ (vpdpbusd_v16si): New.
+ (vpdpbusds_v16si): Likewise.
+ (vpdpwssd_v16si): Likewise.
+ (vpdpwssds_v16si): Likewise.
+ * doc/invoke.texi: Document -mavxvnni.
+ * doc/extend.texi: Document avxvnni.
+ * doc/sourcebuild.texi: Document target avxvnni.
+
+2020-11-11 Martin Liska <mliska@suse.cz>
+
+ * tree.c (copy_node): Fix spelling.
+
+2020-11-11 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-pre.c (phi_translate_set): Do not sort the
+ expression set topologically.
+
+2020-11-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * value-range.cc (irange::set): Early exit on VR_VARYING.
+
+2020-11-11 Zhiheng Xie <xiezhiheng@huawei.com>
+ Nannan Zheng <zhengnannan@huawei.com>
+
+ * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+ for arithmetic operation intrinsics.
+
+2020-11-11 Strager Neds <strager.nds@gmail.com>
+
+ * cgraph.h (symtab_node::set_section_for_node): Declare new
+ overload.
+ (symtab_node::set_section_from_string): Rename from set_section.
+ (symtab_node::set_section_from_node): Declare.
+ * symtab.c (symtab_node::set_section_for_node): Define new
+ overload.
+ (symtab_node::set_section_from_string): Rename from set_section.
+ (symtab_node::set_section_from_node): Define.
+ (symtab_node::set_section): Call renamed set_section_from_string.
+ (symtab_node::set_section): Call new set_section_from_node.
+
+2020-11-11 Strager Neds <strager.nds@gmail.com>
+
+ * symtab.c (symtab_node::set_section_for_node): Extract reference
+ counting logic into ...
+ (retain_section_hash_entry): ... here (new function) and ...
+ (release_section_hash_entry): ... here (new function).
+
+2020-11-11 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/i386.h (PTA_MOVDIRI, PTA_MOVDIR64B,
+ PTA_AMX_TILE, PTA_AMX_INT8, PTA_AMX_BF16, PTA_HRESET):
+ Formatting.
+
2020-11-11 Ilya Leoshkevich <iii@linux.ibm.com>
* config/s390/s390.h (HAVE_TF): Use opaque value when
+2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h: Remove ^L characters throughout.
+ * gcc-interface/decl.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+ * gcc-interface/utils2.c: Likewise.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Allocator>: Do not explicitly
+ go to the base type for the Has_Constrained_Partial_View flag.
+
+2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (build_binary_op_trapv): Convert operands
+ to the result type before doing generic overflow checking.
+
+2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (can_be_lower_p): Remove.
+ (Regular_Loop_to_gnu): Add ENTRY_COND unconditionally if
+ BOTTOM_COND is non-zero.
+
+2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: In case
+ the constant is not being defined, get the expression in type
+ annotation mode only if its type is elementary.
+
+2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Op_Shift>: Also convert
+ GNU_MAX_SHIFT if the type of the operation has been changed.
+ * gcc-interface/utils.c (can_materialize_object_renaming_p): Add
+ pair of missing parentheses.
+
2020-11-07 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/Makefile.in: Force target_cpu to powerpc if the
+2020-11-11 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/88115
+ * c-opts.c (c_common_post_options): Update latest_abi_version.
+
2020-11-10 Jakub Jelinek <jakub@redhat.com>
PR c/97748
+2020-11-11 Iain Sandoe <iain@sandoe.co.uk>
+
+ * parser.c (cp_parser_declaration): Unless we are compiling for
+ Ojective-C++, warn about and discard any attributes that prefix
+ a linkage specification.
+
+2020-11-11 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/88115
+ * mangle.c (write_expression): Mangle __alignof_ differently
+ from alignof when the ABI version is at least 15.
+
+2020-11-11 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/88115
+ * cp-tree.h (cxx_sizeof_or_alignof_expr): Add bool parameter.
+ * decl.c (fold_sizeof_expr): Pass false to
+ cxx_sizeof_or_alignof_expr.
+ * parser.c (cp_parser_unary_expression): Pass std_alignof to
+ cxx_sizeof_or_alignof_expr.
+ * pt.c (tsubst_copy): Pass false to cxx_sizeof_or_alignof_expr.
+ (tsubst_copy_and_build): Pass std_alignof to
+ cxx_sizeof_or_alignof_expr.
+ * typeck.c (cxx_alignof_expr): Add std_alignof bool parameter
+ and pass it to cxx_sizeof_or_alignof_type. Set ALIGNOF_EXPR_STD_P
+ appropriately.
+ (cxx_sizeof_or_alignof_expr): Add std_alignof bool parameter
+ and pass it to cxx_alignof_expr. Assert op is either
+ SIZEOF_EXPR or ALIGNOF_EXPR.
+
+2020-11-11 Marek Polacek <polacek@redhat.com>
+
+ PR c++/97518
+ * pt.c (tsubst_qualified_id): Use EXPR_LOCATION of the qualified-id.
+ Use it to maybe_wrap_with_location the final expression.
+
2020-11-10 Marek Polacek <polacek@redhat.com>
PR c++/97518
+2020-11-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/97768
+ * misc.c (gfc_typename): Use ex->value.character.length only if
+ ex->expr_type == EXPR_CONSTANT. If ex->ts.deferred, print : instead
+ of length. If ex->ts.u.cl && ex->ts.u.cl->length == NULL, print *
+ instead of length. Otherwise if character length is non-constant,
+ print just CHARACTER or CHARACTER(KIND=N).
+
2020-11-10 Tobias Burnus <tobias@codesourcery.com>
* dump-parse-tree.c (show_omp_clauses): Handle new reduction enums.
+2020-11-11 Alan Modra <amodra@gmail.com>
+
+ * go-gcc.cc (Gcc_backend::global_variable_set_init): Cast NULL to
+ avoid ambiguous overloaded call.
+
2020-11-06 Nathan Sidwell <nathan@acm.org>
* go-gcc.cc (Gcc_backend::call_expression): Rename
+2020-11-11 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/88115
+ * g++.dg/abi/macro0.C: Adjust.
+ * g++.dg/cpp0x/alignof7.C: New test.
+ * g++.dg/cpp0x/alignof8.C: New test.
+
+2020-11-11 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/88115
+ * g++.dg/cpp0x/alignof6.C: New test.
+
+2020-11-11 Marek Polacek <polacek@redhat.com>
+
+ PR c++/97518
+ * g++.dg/diagnostic/static_assert3.C: New test.
+
+2020-11-11 Jakub Jelinek <jakub@redhat.com>
+
+ * gfortran.dg/gomp/workshare-reduction-3.f90: Use (?:_ull)? instead
+ of (?:_ull) in the scan-tree-dump-times directives.
+ * gfortran.dg/gomp/workshare-reduction-26.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-27.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-28.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-36.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-37.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-38.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-39.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-40.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-41.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-42.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-43.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-44.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-45.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-46.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-47.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-56.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-57.f90: Likewise.
+
+2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/bias2.adb: New test.
+
+2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt89.adb: New test.
+
+2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/shift1.adb: New test.
+
+2020-11-11 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/97797
+ * gcc.dg/torture/ssa-fre-5.c: Use __SIZETYPE__ where
+ appropriate.
+ * gcc.dg/torture/ssa-fre-6.c: Likewise.
+
+2020-11-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/97623
+ * gcc.dg/tree-ssa/ssa-hoist-3.c: Adjust.
+ * gcc.dg/tree-ssa/ssa-hoist-7.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-pre-30.c: Likewise.
+
+2020-11-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/aarch64/sve/cmp_1.c: New test.
+ * gcc.target/aarch64/sve/cmp_2.c: Likewise.
+ * gcc.target/aarch64/sve/cond_arith_1.c: Add --param
+ aarch64-sve-compare-costs=0
+ * gcc.target/aarch64/sve/cond_arith_1_run.c: Likewise.
+ * gcc.target/aarch64/sve/cond_arith_3.c: Likewise.
+ * gcc.target/aarch64/sve/cond_arith_3_run.c: Likewise.
+ * gcc.target/aarch64/sve/mask_gather_load_7.c: Likewise.
+ * gcc.target/aarch64/sve/mask_load_slp_1.c: Likewise.
+ * gcc.target/aarch64/sve/vcond_11.c: Likewise.
+ * gcc.target/aarch64/sve/vcond_11_run.c: Likewise.
+
+2020-11-11 Hongtao Liu <hongtao.liu@intel.com>
+ Hongyu Wang <hongyu.wang@intel.com>
+
+ * gcc.target/i386/avx512vl-vnni-1.c: Rename..
+ * gcc.target/i386/avx512vl-vnni-1a.c: To This.
+ * gcc.target/i386/avx512vl-vnni-1b.c: New test.
+ * gcc.target/i386/avx512vl-vnni-2.c: Ditto.
+ * gcc.target/i386/avx512vl-vnni-3.c: Ditto.
+ * gcc.target/i386/avx-vnni-1.c: Ditto.
+ * gcc.target/i386/avx-vnni-2.c: Ditto.
+ * gcc.target/i386/avx-vnni-3.c: Ditto.
+ * gcc.target/i386/avx-vnni-4.c: Ditto.
+ * gcc.target/i386/avx-vnni-5.c: Ditto.
+ * gcc.target/i386/avx-vnni-6.c: Ditto.
+ * gcc.target/i386/avx-vpdpbusd-2.c: Ditto.
+ * gcc.target/i386/avx-vpdpbusds-2.c: Ditto.
+ * gcc.target/i386/avx-vpdpwssd-2.c: Ditto.
+ * gcc.target/i386/avx-vpdpwssds-2.c: Ditto.
+ * gcc.target/i386/vnni_inline_error.c: Ditto.
+ * gcc.target/i386/avx512vnnivl-builtin.c: Ditto.
+ * gcc.target/i386/avxvnni-builtin.c: Ditto.
+ * gcc.target/i386/funcspec-56.inc: Add new target attribute.
+ * gcc.target/i386/sse-12.c: Add -mavxvnni.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * gcc.target/i386/sse-14.c: Ditto.
+ * gcc.target/i386/sse-22.c: Ditto.
+ * gcc.target/i386/sse-23.c: Ditto.
+ * g++.dg/other/i386-2.C: Ditto.
+ * g++.dg/other/i386-3.C: Ditto.
+ * lib/target-supports.exp (check_effective_target_avxvnni):
+ New proc.
+
+2020-11-11 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/gomp/workshare-reduction-26.f90: Add (?:_ull) to
+ scan-tree-dump-times regex for -m32.
+ * gfortran.dg/gomp/workshare-reduction-27.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-28.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-3.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-36.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-37.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-38.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-39.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-40.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-41.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-42.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-43.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-44.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-45.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-46.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-47.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-56.f90: Likewise.
+ * gfortran.dg/gomp/workshare-reduction-57.f90: Likewise.
+
+2020-11-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/97768
+ * gfortran.dg/pr97768_1.f90: New test.
+ * gfortran.dg/pr97768_2.f90: New test.
+
+2020-11-11 Nagaraju Mekala <nmekala@xilinx.com>
+
+ * gcc.target/microblaze/others/strings1.c: Update
+ to include $LC label.
+
+2020-11-11 David Edelsohn <dje.gcc@gmail.com>
+
+ * c-c++-common/zero-scratch-regs-10.c: Skip on powerpc*-*-*.
+ * c-c++-common/zero-scratch-regs-11.c: Skip on powerpc*-*-*.
+ * c-c++-common/zero-scratch-regs-5.c: Skip on powerpc*-*-aix*.
+ * c-c++-common/zero-scratch-regs-8.c: Skip on powerpc*-*-*.
+ * c-c++-common/zero-scratch-regs-9.c: Skip on powerpc*-*-*.
+
2020-11-10 Marek Polacek <polacek@redhat.com>
PR c++/97518
+2020-11-11 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/88115
+ * libcp1plugin.cc (plugin_build_unary_expr): Pass true to
+ cxx_sizeof_or_alignof_expr.
+
2020-11-10 Marek Polacek <polacek@redhat.com>
PR c++/97518
+2020-11-11 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/88115
+ * cp-demangle.c (d_print_comp_inner)
+ <case DEMANGLE_COMPONENT_EXTENDED_OPERATOR>: Don't print the
+ "operator " prefix for __alignof__.
+ <case DEMANGLE_COMPONENT_UNARY>: Always print parens around the
+ operand of __alignof__.
+ * testsuite/demangle-expected: Test demangling for __alignof__.
+
2020-11-09 Christophe Lyon <christophe.lyon@linaro.org>
* pex-win32.c (pex_win32_exec_child): Initialize orig_err.
+2020-11-11 Jonathan Yong <10walls@gmail.com>
+
+ * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Exclude
+ cygwin and mingw from relro linker test.
+ * configure: Regenerate.
+
+2020-11-11 Paul Scharnofske <asynts@gmail.com>
+
+ * include/std/thread (jthread::operator=(jthread&&)): Transfer
+ any existing state to a temporary that will request a stop and
+ then join.
+ * testsuite/30_threads/jthread/jthread.cc: Test move assignment.
+
+2020-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/stop_token (_Stop_state_t::_M_requester): Define
+ new struct with members to store and check the thread ID.
+ (_Stop_state_t::_M_request_stop()): Use _M_requester._M_set().
+ (_Stop_state_t::_M_remove_callback(_Stop_cb*)): Use
+ _M_requester._M_is_current_thread().
+
+2020-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/ostream (__syncbuf_base): New class template.
+ (emit_on_flush, noemit_on_flush, flush_emit): New manipulators.
+ * include/std/syncstream (basic_syncbuf): Derive from
+ __syncbuf_base instead of basic_streambuf.
+ (basic_syncbuf::operator=): Remove self-assignment check.
+ (basic_syncbuf::swap): Remove self-swap check.
+ (basic_syncbuf::emit): Do not skip pubsync() call if sequence
+ is empty.
+ (basic_syncbuf::sync): Remove no-op pubsync on stringbuf.
+ (basic_syncbuf::overflow): Define override.
+ * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Test
+ basic_osyncstream::put(char_type).
+ * testsuite/27_io/basic_ostream/emit/1.cc: New test.
+
2020-11-10 Jonathan Wakely <jwakely@redhat.com>
* config/locale/generic/c_locale.cc (__set_C_locale()): New function