From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1698) id 850F33857810; Fri, 1 Oct 2021 18:40:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 850F33857810 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Iain D Sandoe To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc/devel/c++-coroutines] Merge master r12-4056. X-Act-Checkin: gcc X-Git-Author: Iain Sandoe X-Git-Refname: refs/heads/devel/c++-coroutines X-Git-Oldrev: 8ee438cd62b7a431868ce8699ba88aba17f8370b X-Git-Newrev: 3f6b80a8cd5e613a53f68775dc70eac136d67c68 Message-Id: <20211001184015.850F33857810@sourceware.org> Date: Fri, 1 Oct 2021 18:40:15 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Oct 2021 18:40:15 -0000 https://gcc.gnu.org/g:3f6b80a8cd5e613a53f68775dc70eac136d67c68 commit 3f6b80a8cd5e613a53f68775dc70eac136d67c68 Merge: 8ee438cd62b be5bdccd865 Author: Iain Sandoe Date: Fri Oct 1 17:36:44 2021 +0100 Merge master r12-4056. * Merge master r12-4056-gbe5bdccd865b. Diff: gcc/ChangeLog | 49 + gcc/DATESTAMP | 2 +- gcc/ada/aspects.ads | 4 + gcc/ada/atree.adb | 278 ++- gcc/ada/atree.ads | 45 +- gcc/ada/bcheck.adb | 134 +- gcc/ada/checks.adb | 23 +- gcc/ada/checks.ads | 25 +- gcc/ada/comperr.adb | 7 +- gcc/ada/contracts.adb | 1641 ++++++++++++--- gcc/ada/contracts.ads | 25 + gcc/ada/debug.adb | 13 +- .../implementation_defined_characteristics.rst | 12 +- .../doc/gnat_ugn/gnat_and_program_execution.rst | 14 +- gcc/ada/einfo.ads | 75 +- gcc/ada/exp_aggr.adb | 45 +- gcc/ada/exp_attr.adb | 14 + gcc/ada/exp_ch3.adb | 92 + gcc/ada/exp_ch4.adb | 152 +- gcc/ada/exp_ch6.adb | 388 +++- gcc/ada/exp_ch6.ads | 3 + gcc/ada/exp_dbug.adb | 4 +- gcc/ada/exp_disp.adb | 225 --- gcc/ada/exp_util.adb | 230 +-- gcc/ada/exp_util.ads | 48 +- gcc/ada/fe.h | 2 + gcc/ada/freeze.adb | 573 ++++-- gcc/ada/freeze.ads | 9 + gcc/ada/gen_il-fields.ads | 24 +- gcc/ada/gen_il-gen-gen_entities.adb | 27 +- gcc/ada/gen_il-gen-gen_nodes.adb | 53 +- gcc/ada/gen_il-gen.adb | 491 ++--- gcc/ada/gen_il-internals.adb | 2 +- gcc/ada/gen_il-internals.ads | 345 +++- gcc/ada/gen_il-types.ads | 8 + gcc/ada/ghost.adb | 9 + gcc/ada/gnat1drv.adb | 4 + gcc/ada/gnat_cuda.adb | 160 +- gcc/ada/gnat_cuda.ads | 3 + gcc/ada/gnat_rm.texi | 14 +- gcc/ada/impunit.adb | 16 +- gcc/ada/libgnat/memtrack.adb | 127 +- gcc/ada/libgnat/s-imglli.ads | 4 +- gcc/ada/libgnat/s-parame__vxworks.ads | 4 +- gcc/ada/output.adb | 26 + gcc/ada/output.ads | 1 + gcc/ada/par-prag.adb | 1 + gcc/ada/sem.ads | 4 + gcc/ada/sem_aggr.adb | 2 +- gcc/ada/sem_attr.adb | 14 +- gcc/ada/sem_ch13.adb | 40 + gcc/ada/sem_ch5.adb | 17 + gcc/ada/sem_ch6.adb | 24 +- gcc/ada/sem_disp.adb | 110 + gcc/ada/sem_disp.ads | 4 + gcc/ada/sem_elab.adb | 7 + gcc/ada/sem_prag.adb | 74 +- gcc/ada/sem_prag.ads | 1 + gcc/ada/sem_res.adb | 44 +- gcc/ada/sem_type.adb | 3 +- gcc/ada/sem_util.adb | 338 ++-- gcc/ada/sem_util.ads | 49 +- gcc/ada/sinfo-utils.adb | 2 +- gcc/ada/sinfo.ads | 4 - gcc/ada/snames.ads-tmpl | 2 + gcc/ada/table.ads | 2 +- gcc/ada/types.ads | 11 +- gcc/c-family/c-common.c | 18 +- gcc/c-family/c-omp.c | 4 + gcc/c-family/c-ubsan.c | 49 +- gcc/c/c-parser.c | 6 +- gcc/c/c-typeck.c | 7 +- gcc/config/aarch64/aarch64-arches.def | 1 + gcc/config/aarch64/aarch64.h | 6 + gcc/config/arm/arm-cpus.in | 10 + gcc/config/arm/arm-tables.opt | 3 + gcc/config/arm/arm-tune.md | 2 +- gcc/config/i386/i386.c | 21 +- gcc/config/i386/i386.md | 34 + gcc/cp/ChangeLog | 16 + gcc/cp/method.c | 8 +- gcc/cp/name-lookup.c | 7 +- gcc/cp/parser.c | 7 +- gcc/cp/tree.c | 9 +- gcc/cp/typeck.c | 8 +- gcc/doc/extend.texi | 8 +- gcc/doc/invoke.texi | 17 +- gcc/explow.c | 9 +- gcc/fortran/ChangeLog | 19 + gcc/fortran/dump-parse-tree.c | 2 + gcc/fortran/expr.c | 2 +- gcc/fortran/gfortran.h | 4 +- gcc/fortran/openmp.c | 5 +- gcc/fortran/simplify.c | 5 + gcc/fortran/trans-intrinsic.c | 42 +- gcc/fortran/trans-openmp.c | 7 + gcc/fortran/trans.h | 2 +- gcc/gimple-range-path.cc | 2 +- gcc/gimple-range-path.h | 3 +- gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/expressions.h | 4 +- gcc/go/gofrontend/types.cc | 73 +- gcc/go/gofrontend/types.h | 13 +- gcc/omp-general.c | 16 + gcc/testsuite/ChangeLog | 48 + gcc/testsuite/c-c++-common/tsan/atomic_stack.c | 3 +- gcc/testsuite/c-c++-common/ubsan/div-by-zero-3.c | 2 +- gcc/testsuite/c-c++-common/ubsan/div-by-zero-4.c | 2 +- gcc/testsuite/c-c++-common/ubsan/div-by-zero-5.c | 2 +- .../c-c++-common/ubsan/float-div-by-zero-2.c | 18 + gcc/testsuite/c-c++-common/ubsan/overflow-div-1.c | 17 + gcc/testsuite/c-c++-common/ubsan/overflow-div-2.c | 41 + gcc/testsuite/c-c++-common/ubsan/overflow-div-3.c | 41 + gcc/testsuite/g++.dg/cpp2a/spaceship-virtual1.C | 20 + gcc/testsuite/g++.dg/ext/is_constructible6.C | 10 + .../g++.dg/ext/is_trivially_constructible7.C | 17 + gcc/testsuite/g++.dg/parse/pr101783.C | 5 + gcc/testsuite/g++.dg/tls/pr102496-1.C | 20 + gcc/testsuite/g++.dg/tls/pr102496-2.C | 6 + gcc/testsuite/gcc.dg/torture/pr102518.c | 12 + gcc/testsuite/gcc.dg/vect/bb-slp-pr97709.c | 2 +- gcc/testsuite/gcc.target/aarch64/cpymem-size.c | 4 +- gcc/testsuite/gcc.target/i386/attr-optimize.c | 24 + .../gcc.target/i386/avx512er-vrsqrt28ps-3.c | 2 +- .../gcc.target/i386/avx512er-vrsqrt28ps-5.c | 2 +- gcc/testsuite/gcc.target/i386/pr89954.c | 45 + gcc/testsuite/gdc.dg/pr102476.d | 3 + gcc/testsuite/gfortran.dg/c-interop/c535b-1.f90 | 2 - .../gfortran.dg/c-interop/cf-descriptor-5-c.c | 1 + gcc/testsuite/gfortran.dg/gomp/order-5.f90 | 8 +- gcc/testsuite/gfortran.dg/pr102458b.f90 | 21 + .../gfortran.dg/unlimited_polymorphic_1.f03 | 17 +- .../gfortran.dg/unlimited_polymorphic_32.f90 | 254 +++ gcc/toplev.c | 8 + gcc/toplev.h | 1 + gcc/tree-inline.c | 6 +- gcc/tree-pretty-print.c | 2 + gcc/tree.h | 3 + libgomp/ChangeLog | 44 + libgomp/affinity-fmt.c | 3 + libgomp/env.c | 2 +- libgomp/fortran.c | 1 + libgomp/icv-device.c | 17 +- libgomp/icv.c | 2 + libgomp/omp.h.in | 4 +- libgomp/testsuite/libgomp.c-c++-common/alloc-9.c | 271 +++ .../libgomp.c-c++-common/order-reproducible-1.c | 63 + .../libgomp.c-c++-common/order-reproducible-2.c | 28 + libphobos/ChangeLog | 34 + libphobos/libdruntime/__main.di | 14 +- libphobos/libdruntime/core/runtime.d | 14 +- libphobos/libdruntime/gcc/backtrace.d | 24 +- libphobos/libdruntime/gcc/deh.d | 79 +- libphobos/libdruntime/gcc/unwind/generic.d | 22 +- libsanitizer/LOCAL_PATCHES | 2 +- libsanitizer/MERGE | 2 +- libsanitizer/asan/asan_fuchsia.cpp | 35 +- libsanitizer/asan/asan_globals.cpp | 14 +- libsanitizer/asan/asan_interceptors.cpp | 18 +- libsanitizer/asan/asan_interceptors.h | 45 +- libsanitizer/asan/asan_report.cpp | 10 +- libsanitizer/asan/asan_rtl.cpp | 18 +- libsanitizer/asan/asan_stats.cpp | 10 +- libsanitizer/asan/asan_thread.cpp | 4 +- libsanitizer/asan/libtool-version | 2 +- libsanitizer/hwasan/Makefile.am | 3 +- libsanitizer/hwasan/Makefile.in | 12 +- libsanitizer/hwasan/hwasan.cpp | 3 +- libsanitizer/hwasan/hwasan.h | 25 +- .../hwasan/hwasan_allocation_functions.cpp | 24 + libsanitizer/hwasan/hwasan_allocator.cpp | 58 +- libsanitizer/hwasan/hwasan_dynamic_shadow.cpp | 9 + libsanitizer/hwasan/hwasan_fuchsia.cpp | 23 + libsanitizer/hwasan/hwasan_interceptors.cpp | 70 +- libsanitizer/hwasan/hwasan_interface_internal.h | 48 - libsanitizer/hwasan/hwasan_linux.cpp | 147 +- libsanitizer/hwasan/hwasan_report.cpp | 82 +- .../{hwasan_setjmp.S => hwasan_setjmp_aarch64.S} | 21 +- libsanitizer/hwasan/hwasan_setjmp_x86_64.S | 80 + libsanitizer/hwasan/hwasan_thread.cpp | 2 +- libsanitizer/hwasan/hwasan_type_test.cpp | 2 +- libsanitizer/include/sanitizer/asan_interface.h | 2 +- .../include/sanitizer/common_interface_defs.h | 2 +- libsanitizer/include/sanitizer/dfsan_interface.h | 3 +- .../include/sanitizer/linux_syscall_hooks.h | 2120 ++++++++++---------- libsanitizer/include/sanitizer/tsan_interface.h | 3 + libsanitizer/interception/interception_win.cpp | 48 +- libsanitizer/lsan/lsan_allocator.h | 2 +- libsanitizer/lsan/lsan_common.cpp | 12 +- libsanitizer/sanitizer_common/sancov_flags.inc | 2 +- .../sanitizer_common/sanitizer_addrhashmap.h | 2 +- .../sanitizer_allocator_primary64.h | 14 +- .../sanitizer_allocator_size_class_map.h | 8 +- libsanitizer/sanitizer_common/sanitizer_asm.h | 4 +- .../sanitizer_common/sanitizer_atomic_clang_mips.h | 2 +- libsanitizer/sanitizer_common/sanitizer_common.h | 20 +- .../sanitizer_common_interceptors.inc | 652 +++--- .../sanitizer_common_interceptors_format.inc | 10 +- ...sanitizer_common_interceptors_netbsd_compat.inc | 4 +- .../sanitizer_common/sanitizer_common_nolibc.cpp | 1 + .../sanitizer_common/sanitizer_common_syscalls.inc | 1559 ++++++++------ .../sanitizer_coverage_fuchsia.cpp | 8 +- .../sanitizer_coverage_libcdep_new.cpp | 65 +- libsanitizer/sanitizer_common/sanitizer_file.cpp | 15 + libsanitizer/sanitizer_common/sanitizer_file.h | 2 + .../sanitizer_common/sanitizer_flag_parser.h | 2 +- libsanitizer/sanitizer_common/sanitizer_flags.inc | 4 + .../sanitizer_common/sanitizer_fuchsia.cpp | 41 - .../sanitizer_interceptors_ioctl_netbsd.inc | 2 +- .../sanitizer_interface_internal.h | 7 +- .../sanitizer_common/sanitizer_internal_defs.h | 46 +- libsanitizer/sanitizer_common/sanitizer_libc.cpp | 12 + libsanitizer/sanitizer_common/sanitizer_libc.h | 5 +- .../sanitizer_common/sanitizer_libignore.cpp | 33 +- .../sanitizer_common/sanitizer_libignore.h | 37 +- libsanitizer/sanitizer_common/sanitizer_linux.cpp | 83 +- .../sanitizer_local_address_space_view.h | 2 +- libsanitizer/sanitizer_common/sanitizer_mac.cpp | 29 +- libsanitizer/sanitizer_common/sanitizer_mutex.cpp | 186 ++ libsanitizer/sanitizer_common/sanitizer_mutex.h | 325 +-- libsanitizer/sanitizer_common/sanitizer_platform.h | 25 +- .../sanitizer_platform_interceptors.h | 27 +- .../sanitizer_platform_limits_freebsd.cpp | 4 + .../sanitizer_platform_limits_freebsd.h | 164 +- .../sanitizer_platform_limits_linux.cpp | 56 +- .../sanitizer_platform_limits_netbsd.cpp | 1 + .../sanitizer_platform_limits_netbsd.h | 1 + .../sanitizer_platform_limits_posix.cpp | 25 +- .../sanitizer_platform_limits_posix.h | 30 +- .../sanitizer_platform_limits_solaris.cpp | 1 + .../sanitizer_platform_limits_solaris.h | 1 + libsanitizer/sanitizer_common/sanitizer_posix.h | 7 +- .../sanitizer_common/sanitizer_posix_libcdep.cpp | 2 + libsanitizer/sanitizer_common/sanitizer_printf.cpp | 37 +- .../sanitizer_signal_interceptors.inc | 12 +- .../sanitizer_common/sanitizer_solaris.cpp | 22 - .../sanitizer_common/sanitizer_stacktrace.cpp | 5 +- .../sanitizer_stacktrace_libcdep.cpp | 2 +- .../sanitizer_stacktrace_printer.cpp | 11 +- .../sanitizer_stacktrace_sparc.cpp | 2 +- .../sanitizer_stoptheworld_linux_libcdep.cpp | 2 +- .../sanitizer_stoptheworld_netbsd_libcdep.cpp | 2 +- .../sanitizer_common/sanitizer_symbolizer.h | 6 +- .../sanitizer_symbolizer_internal.h | 2 +- .../sanitizer_symbolizer_libcdep.cpp | 12 +- .../sanitizer_syscall_linux_hexagon.inc | 131 ++ .../sanitizer_common/sanitizer_thread_registry.cpp | 22 +- .../sanitizer_common/sanitizer_thread_registry.h | 2 +- .../sanitizer_common/sanitizer_tls_get_addr.cpp | 19 +- libsanitizer/sanitizer_common/sanitizer_win.cpp | 24 +- libsanitizer/tsan/Makefile.am | 4 +- libsanitizer/tsan/Makefile.in | 13 +- libsanitizer/tsan/libtool-version | 2 +- libsanitizer/tsan/tsan_clock.cpp | 10 +- libsanitizer/tsan/tsan_clock.h | 2 +- libsanitizer/tsan/tsan_debugging.cpp | 10 +- libsanitizer/tsan/tsan_defs.h | 66 +- libsanitizer/tsan/tsan_dense_alloc.h | 35 +- libsanitizer/tsan/tsan_external.cpp | 19 +- libsanitizer/tsan/tsan_fd.cpp | 24 +- libsanitizer/tsan/tsan_fd.h | 2 +- libsanitizer/tsan/tsan_flags.cpp | 1 + libsanitizer/tsan/tsan_flags.inc | 1 - libsanitizer/tsan/tsan_ignoreset.cpp | 12 +- libsanitizer/tsan/tsan_ignoreset.h | 13 +- libsanitizer/tsan/tsan_ilist.h | 189 ++ libsanitizer/tsan/tsan_interceptors.h | 35 +- libsanitizer/tsan/tsan_interceptors_mac.cpp | 6 +- libsanitizer/tsan/tsan_interceptors_posix.cpp | 417 ++-- libsanitizer/tsan/tsan_interface.cpp | 96 +- libsanitizer/tsan/tsan_interface.h | 10 +- libsanitizer/tsan/tsan_interface.inc | 182 ++ libsanitizer/tsan/tsan_interface_ann.cpp | 172 +- libsanitizer/tsan/tsan_interface_atomic.cpp | 323 ++- libsanitizer/tsan/tsan_interface_inl.h | 133 -- libsanitizer/tsan/tsan_interface_java.cpp | 291 ++- libsanitizer/tsan/tsan_mman.cpp | 10 +- libsanitizer/tsan/tsan_mman.h | 49 +- libsanitizer/tsan/tsan_mutex.cpp | 280 --- libsanitizer/tsan/tsan_mutex.h | 87 - libsanitizer/tsan/tsan_mutexset.cpp | 47 +- libsanitizer/tsan/tsan_mutexset.h | 29 +- libsanitizer/tsan/tsan_platform.h | 1089 ++++------ libsanitizer/tsan/tsan_platform_linux.cpp | 109 +- libsanitizer/tsan/tsan_platform_mac.cpp | 22 +- libsanitizer/tsan/tsan_platform_posix.cpp | 37 +- libsanitizer/tsan/tsan_platform_windows.cpp | 3 +- libsanitizer/tsan/tsan_report.cpp | 77 +- libsanitizer/tsan/tsan_report.h | 36 +- libsanitizer/tsan/tsan_rtl.cpp | 477 +++-- libsanitizer/tsan/tsan_rtl.h | 499 ++--- libsanitizer/tsan/tsan_rtl_mutex.cpp | 419 ++-- libsanitizer/tsan/tsan_rtl_report.cpp | 328 ++- libsanitizer/tsan/tsan_rtl_thread.cpp | 306 ++- libsanitizer/tsan/tsan_shadow.h | 233 +++ libsanitizer/tsan/tsan_stack_trace.cpp | 12 +- libsanitizer/tsan/tsan_symbolize.cpp | 3 +- libsanitizer/tsan/tsan_sync.cpp | 58 +- libsanitizer/tsan/tsan_sync.h | 36 +- libsanitizer/tsan/tsan_trace.h | 153 +- ...adow_word_inl.h => tsan_update_shadow_word.inc} | 2 +- libsanitizer/tsan/tsan_vector_clock.cpp | 126 ++ libsanitizer/tsan/tsan_vector_clock.h | 51 + libsanitizer/ubsan/ubsan_diag.cpp | 8 +- libstdc++-v3/ChangeLog | 5 + libstdc++-v3/include/bits/boost_concept_check.h | 58 +- libstdc++-v3/include/bits/list.tcc | 73 +- libstdc++-v3/include/bits/regex.h | 2 +- libstdc++-v3/include/bits/regex_constants.h | 2 + libstdc++-v3/include/bits/stl_list.h | 35 + libstdc++-v3/include/bits/stream_iterator.h | 25 +- .../testsuite/24_iterators/operations/prev_neg.cc | 2 +- .../testsuite/25_algorithms/is_permutation/2.cc | 1 + 313 files changed, 13697 insertions(+), 7905 deletions(-)