public inbox for libstdc++-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc/devel/c++-contracts] Merge remote-tracking branch 'origin/master' into devel/c++-contracts
@ 2022-11-01 11:43 Jason Merrill
  0 siblings, 0 replies; only message in thread
From: Jason Merrill @ 2022-11-01 11:43 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:bfcb6e7373095d776eeb505f6d1a7d04ada21a3c

commit bfcb6e7373095d776eeb505f6d1a7d04ada21a3c
Merge: 2031dff9d92 af6d747df7e
Author: Jason Merrill <jason@redhat.com>
Date:   Mon Oct 31 22:18:58 2022 -0400

    Merge remote-tracking branch 'origin/master' into devel/c++-contracts

Diff:

 gcc/d/gdc.texi                                     |   8 +-
 gcc/doc/extend.texi                                |  82 ++
 gcc/doc/invoke.texi                                |  74 +-
 gcc/doc/makefile.texi                              |  10 +
 gcc/doc/sourcebuild.texi                           |   3 +
 gcc/doc/tm.texi                                    |  20 +-
 gcc/c-family/c.opt                                 |   8 +-
 gcc/config/i386/i386.opt                           |   5 +
 gcc/config/riscv/riscv.opt                         |   6 +
 gcc/d/lang.opt                                     |   4 +-
 gcc/lto/lang.opt                                   |  15 +-
 gcc/c-family/c-common.h                            |  24 +
 gcc/c/c-tree.h                                     |  27 +-
 gcc/common/config/i386/cpuinfo.h                   |  40 +-
 gcc/common/config/i386/i386-cpuinfo.h              |   1 +
 gcc/common/config/i386/i386-isas.h                 |   2 +
 gcc/config/aarch64/aarch64-protos.h                |   6 +-
 .../aarch64/aarch64-sve-builtins-functions.h       |  28 +-
 gcc/config/aarch64/aarch64.h                       |   4 -
 gcc/config/arm/linux-eabi.h                        |   3 -
 gcc/config/bpf/coreout.h                           |   2 +-
 gcc/config/elfos.h                                 |   6 -
 gcc/config/gnu.h                                   |   6 -
 gcc/config/h8300/h8300-protos.h                    |   2 +-
 gcc/config/i386/avx512bf16intrin.h                 |  12 +-
 gcc/config/i386/avx512bf16vlintrin.h               |  48 +-
 gcc/config/i386/avxneconvertintrin.h               | 140 ++++
 gcc/config/i386/cpuid.h                            |   1 +
 gcc/config/i386/cygwin.h                           |   9 -
 gcc/config/i386/i386.h                             |   9 +-
 gcc/config/i386/immintrin.h                        |   4 +
 gcc/config/i386/linux-common.h                     |   3 -
 gcc/config/i386/mingw32.h                          |  12 -
 gcc/config/kfreebsd-gnu.h                          |   6 -
 gcc/config/kopensolaris-gnu.h                      |   6 -
 gcc/config/linux-android.h                         |   6 -
 gcc/config/linux.h                                 |  13 -
 gcc/config/mips/linux-common.h                     |   3 -
 gcc/config/riscv/riscv-opts.h                      |  16 +
 gcc/config/riscv/riscv-protos.h                    |  16 +-
 gcc/config/riscv/riscv-vector-builtins.h           |   2 +-
 gcc/config/riscv/riscv.h                           |   3 +
 gcc/cp/cp-tree.h                                   |  32 +-
 gcc/ctfc.h                                         |   5 +-
 gcc/d/dmd/aggregate.h                              |   4 +-
 gcc/d/dmd/attrib.h                                 |   1 -
 gcc/d/dmd/declaration.h                            |  66 +-
 gcc/d/dmd/dsymbol.h                                |  16 +-
 gcc/d/dmd/expression.h                             |   1 +
 gcc/d/dmd/globals.h                                |   6 +-
 gcc/d/dmd/module.h                                 |   2 +-
 gcc/d/dmd/mtype.h                                  |   5 +
 gcc/ginclude/stdarg.h                              |   4 +
 gcc/testsuite/g++.dg/abi/lambda-tpl1.h             |  59 ++
 gcc/testsuite/gcc.dg/torture/floatn-builtin.h      | 154 ++++
 gcc/testsuite/gcc.target/i386/avx-check.h          |   3 +
 gcc/tree-core.h                                    |   3 +-
 gcc/tree.h                                         |   8 +-
 gcc/value-range.h                                  |  12 +-
 include/btf.h                                      |  19 +-
 include/vtv-change-permission.h                    |   4 +
 libitm/config/riscv/asm.h                          |  63 ++
 libitm/config/riscv/target.h                       |  64 ++
 libstdc++-v3/config/os/gnu-linux/os_defines.h      |   2 +-
 libstdc++-v3/include/bits/cpp_type_traits.h        |  45 ++
 libstdc++-v3/include/bits/fs_path.h                |   6 +-
 libstdc++-v3/include/bits/regex_executor.h         |  17 +-
 gcc/alias.cc                                       |  19 +-
 gcc/analyzer/sm-fd.cc                              |  34 +-
 gcc/auto-profile.cc                                |   5 +-
 gcc/btfout.cc                                      |  30 +-
 gcc/builtins.cc                                    | 142 ++--
 gcc/c-family/c-common.cc                           |  11 +-
 gcc/c-family/c-warn.cc                             |   3 +-
 gcc/c/c-convert.cc                                 |   8 +-
 gcc/c/c-decl.cc                                    | 332 +++++---
 gcc/c/c-objc-common.cc                             |   8 +-
 gcc/c/c-parser.cc                                  | 225 ++++--
 gcc/c/c-typeck.cc                                  |  76 +-
 gcc/common/config/i386/i386-common.cc              |  21 +-
 gcc/common/config/riscv/riscv-common.cc            |  47 +-
 gcc/config/aarch64/aarch64-sve-builtins-base.cc    |  56 +-
 gcc/config/aarch64/aarch64-sve-builtins-shapes.cc  |   8 +-
 gcc/config/aarch64/aarch64-sve-builtins-sve2.cc    |  12 +-
 gcc/config/aarch64/aarch64-sve-builtins.cc         |   8 +-
 gcc/config/aarch64/aarch64.cc                      |   5 +-
 gcc/config/aarch64/driver-aarch64.cc               |   4 +-
 gcc/config/alpha/alpha.cc                          |   5 +-
 gcc/config/arc/arc.cc                              |   3 +-
 gcc/config/arm/arm.cc                              |   3 +-
 gcc/config/bpf/bpf.cc                              | 404 ++++++++--
 gcc/config/bpf/coreout.cc                          |   5 +-
 gcc/config/csky/csky.cc                            |   3 +-
 gcc/config/darwin-d.cc                             |   8 +-
 gcc/config/epiphany/epiphany.cc                    |   8 +-
 gcc/config/fr30/fr30.cc                            |  21 +-
 gcc/config/frv/frv.cc                              |   3 +-
 gcc/config/ft32/ft32.cc                            |   6 +-
 gcc/config/gcn/gcn.cc                              |  29 +-
 gcc/config/{glibc-d.cc => gnu-d.cc}                |  30 +-
 gcc/config/h8300/h8300.cc                          |   2 +-
 gcc/config/i386/cygwin-d.cc                        |  72 ++
 gcc/config/i386/i386-c.cc                          |   2 +
 gcc/config/i386/i386-expand.cc                     |  69 +-
 gcc/config/i386/i386-options.cc                    |   4 +-
 gcc/config/i386/i386.cc                            |   9 +-
 gcc/config/i386/winnt-d.cc                         |  21 +-
 gcc/config/ia64/ia64.cc                            |   5 +-
 gcc/config/kfreebsd-d.cc                           |  65 ++
 gcc/config/kopensolaris-d.cc                       |  65 ++
 gcc/config/linux-d.cc                              |  78 ++
 gcc/config/loongarch/loongarch.cc                  |   3 +-
 gcc/config/m32r/m32r.cc                            |  12 +-
 gcc/config/mcore/mcore.cc                          |   5 +-
 gcc/config/mips/mips.cc                            |   3 +-
 gcc/config/mmix/mmix.cc                            |   3 +-
 gcc/config/nds32/nds32.cc                          |   9 +-
 gcc/config/nios2/nios2.cc                          |   3 +-
 gcc/config/riscv/riscv-builtins.cc                 |   4 +-
 gcc/config/riscv/riscv-c.cc                        |   2 +-
 gcc/config/riscv/riscv-v.cc                        | 180 +++++
 gcc/config/riscv/riscv-vector-builtins-bases.cc    |  18 +-
 gcc/config/riscv/riscv-vector-builtins-shapes.cc   |   2 +-
 gcc/config/riscv/riscv-vector-builtins.cc          |  18 +-
 gcc/config/riscv/riscv.cc                          | 128 ++-
 gcc/config/rs6000/rs6000-call.cc                   |   7 +-
 gcc/config/rs6000/rs6000.cc                        |   7 +-
 gcc/config/sh/sh.cc                                |   9 +-
 gcc/config/visium/visium.cc                        |   3 +-
 gcc/config/vms/vms-c.cc                            |   3 -
 gcc/cp/call.cc                                     | 155 +++-
 gcc/cp/constraint.cc                               |   6 +-
 gcc/cp/mangle.cc                                   |  68 ++
 gcc/cp/module.cc                                   |  39 +-
 gcc/cp/name-lookup.cc                              |   7 +
 gcc/cp/parser.cc                                   | 101 +--
 gcc/cp/pt.cc                                       | 107 +--
 gcc/cp/typeck.cc                                   |  14 +-
 gcc/ctfc.cc                                        |  13 +-
 gcc/d/d-attribs.cc                                 |   5 +-
 gcc/d/d-builtins.cc                                |   3 +
 gcc/d/d-lang.cc                                    |  10 +-
 gcc/d/expr.cc                                      |   9 +
 gcc/d/modules.cc                                   |   4 +-
 gcc/dwarf2ctf.cc                                   |   5 +-
 gcc/expr.cc                                        |   3 +-
 gcc/fold-const-call.cc                             |  58 ++
 gcc/fold-const.cc                                  |  64 ++
 gcc/fortran/symbol.cc                              |   4 +
 gcc/fortran/trans-types.cc                         |   4 +-
 gcc/function.cc                                    |   6 +
 gcc/gimple-range-fold.cc                           |   8 +
 gcc/gimple-ssa-backprop.cc                         |   6 +
 gcc/ipa-inline-analysis.cc                         |  13 +-
 gcc/ipa-visibility.cc                              |   8 +-
 gcc/ira.cc                                         |   1 +
 gcc/lto/lto-common.cc                              |   1 +
 gcc/lto/lto-dump.cc                                |  22 +-
 gcc/objc/objc-next-runtime-abi-01.cc               |   2 +-
 gcc/omp-low.cc                                     |  22 +
 gcc/testsuite/c-c++-common/gomp/clauses-6.c        | 604 ++++++++++++++
 .../c-c++-common/gomp/declare-variant-2.c          |   3 +-
 gcc/testsuite/c-c++-common/gomp/directive-1.c      |  28 +
 gcc/testsuite/g++.dg/abi/lambda-ctx1-18.C          |   4 +-
 gcc/testsuite/g++.dg/abi/lambda-ctx1-18vs17.C      |   4 +-
 gcc/testsuite/g++.dg/abi/lambda-tpl1-17.C          |  20 +
 gcc/testsuite/g++.dg/abi/lambda-tpl1-18.C          |  25 +
 gcc/testsuite/g++.dg/abi/lambda-tpl1-18vs17.C      |  16 +
 gcc/testsuite/g++.dg/cpp23/elision4.C              |   5 +-
 gcc/testsuite/g++.dg/cpp23/elision7.C              |   3 +-
 gcc/testsuite/g++.dg/cpp23/ext-floating12.C        | 182 +++++
 gcc/testsuite/g++.dg/diagnostic/bad-binary-ops2.C  |  26 +
 gcc/testsuite/g++.dg/gomp/clause-4.C               |   2 +-
 gcc/testsuite/g++.dg/modules/enum-10_b.C           |   6 +
 gcc/testsuite/g++.dg/modules/enum-11_b.C           |   8 +
 gcc/testsuite/g++.dg/modules/enum-9_b.C            |   6 +
 gcc/testsuite/g++.dg/other/i386-2.C                |   2 +-
 gcc/testsuite/g++.dg/other/i386-3.C                |   2 +-
 gcc/testsuite/g++.dg/warn/Wdangling-pointer-2.C    |   2 +-
 gcc/testsuite/g++.dg/warn/Wdangling-reference1.C   | 144 ++++
 gcc/testsuite/g++.dg/warn/Wdangling-reference2.C   |  28 +
 gcc/testsuite/g++.dg/warn/Wdangling-reference3.C   |  24 +
 gcc/testsuite/g++.dg/warn/Wdangling-reference4.C   |  14 +
 gcc/testsuite/gcc.dg/Wold-style-definition-2.c     |   2 +-
 gcc/testsuite/gcc.dg/analyzer/fd-3.c               |  18 +-
 gcc/testsuite/gcc.dg/c11-enum-4.c                  |   7 +
 gcc/testsuite/gcc.dg/c11-enum-5.c                  |   7 +
 gcc/testsuite/gcc.dg/c11-enum-6.c                  |   8 +
 gcc/testsuite/gcc.dg/c11-stdarg-1.c                |   7 +
 gcc/testsuite/gcc.dg/c11-stdarg-2.c                |   7 +
 gcc/testsuite/gcc.dg/c11-stdarg-3.c                |   8 +
 gcc/testsuite/gcc.dg/c2x-enum-6.c                  | 167 ++++
 gcc/testsuite/gcc.dg/c2x-enum-7.c                  |  97 +++
 gcc/testsuite/gcc.dg/c2x-enum-8.c                  |   7 +
 gcc/testsuite/gcc.dg/c2x-nullptr-1.c               |   1 +
 gcc/testsuite/gcc.dg/c2x-stdarg-1.c                |  22 +
 gcc/testsuite/gcc.dg/c2x-stdarg-2.c                |  22 +
 gcc/testsuite/gcc.dg/c2x-stdarg-3.c                |  16 +
 gcc/testsuite/gcc.dg/c2x-stdarg-4.c                | 164 ++++
 gcc/testsuite/gcc.dg/debug/btf/btf-enum-1.c        |   2 +-
 gcc/testsuite/gcc.dg/debug/btf/btf-enum64-1.c      |  44 ++
 gcc/testsuite/gcc.dg/diagnostic-token-ranges.c     |   4 +-
 gcc/testsuite/gcc.dg/format/sentinel-1.c           |   2 +-
 gcc/testsuite/gcc.dg/gnu2x-enum-1.c                |  11 +
 gcc/testsuite/gcc.dg/gnu2x-stdarg-1.c              |   8 +
 gcc/testsuite/gcc.dg/gomp/clause-2.c               |   2 +-
 gcc/testsuite/gcc.dg/ipa/inlinehint-6.c            |  47 ++
 gcc/testsuite/gcc.dg/torture/c2x-stdarg-split-1a.c |  37 +
 gcc/testsuite/gcc.dg/torture/c2x-stdarg-split-1b.c | 147 ++++
 gcc/testsuite/gcc.dg/torture/pr107407.c            |  26 +
 gcc/testsuite/gcc.dg/torture/pr107435.c            |  23 +
 gcc/testsuite/gcc.dg/torture/pr107447.c            |  23 +
 gcc/testsuite/gcc.dg/tree-ssa/pr107394.c           |  22 +
 gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c          |   2 +-
 gcc/testsuite/gcc.dg/vect/pr100756.c               |   2 +-
 gcc/testsuite/gcc.dg/vect/vect-bitfield-read-1.c   |   1 +
 gcc/testsuite/gcc.dg/vect/vect-bitfield-read-2.c   |   3 +-
 gcc/testsuite/gcc.dg/vect/vect-bitfield-read-3.c   |   1 +
 gcc/testsuite/gcc.dg/vect/vect-bitfield-read-4.c   |   3 +-
 gcc/testsuite/gcc.dg/vect/vect-bitfield-read-5.c   |   1 +
 gcc/testsuite/gcc.dg/vect/vect-bitfield-read-6.c   |   1 +
 gcc/testsuite/gcc.dg/vect/vect-bitfield-read-7.c   |   1 +
 .../bpf/core-builtin-fieldinfo-errors-1.c          |  23 +
 .../bpf/core-builtin-fieldinfo-errors-2.c          |  23 +
 .../bpf/core-builtin-fieldinfo-existence-1.c       |  34 +
 .../bpf/core-builtin-fieldinfo-lshift-1-be.c       |  37 +
 .../bpf/core-builtin-fieldinfo-lshift-1-le.c       |  37 +
 .../bpf/core-builtin-fieldinfo-lshift-2.c          |  37 +
 .../bpf/core-builtin-fieldinfo-offset-1.c          |  56 ++
 .../bpf/core-builtin-fieldinfo-rshift-1.c          |  36 +
 .../bpf/core-builtin-fieldinfo-rshift-2.c          |  35 +
 .../gcc.target/bpf/core-builtin-fieldinfo-sign-1.c |  33 +
 .../gcc.target/bpf/core-builtin-fieldinfo-sign-2.c |  45 ++
 .../gcc.target/bpf/core-builtin-fieldinfo-size-1.c |  43 +
 gcc/testsuite/gcc.target/i386/avx-ne-convert-1.c   |  45 ++
 .../i386/avx-ne-convert-vbcstnebf162ps-2.c         |  54 ++
 .../i386/avx-ne-convert-vbcstnesh2ps-2.c           |  42 +
 .../i386/avx-ne-convert-vcvtneebf162ps-2.c         |  73 ++
 .../i386/avx-ne-convert-vcvtneeph2ps-2.c           |  66 ++
 .../i386/avx-ne-convert-vcvtneobf162ps-2.c         |  75 ++
 .../i386/avx-ne-convert-vcvtneoph2ps-2.c           |  66 ++
 .../i386/avx-ne-convert-vcvtneps2bf16-2.c          |  58 ++
 .../gcc.target/i386/avx512bf16-cvtsbh2ss-1.c       |   2 +-
 .../gcc.target/i386/avx512bf16-vdpbf16ps-2.c       |   2 +-
 .../gcc.target/i386/avx512bf16vl-cvtness2sbh-1.c   |   2 +-
 .../gcc.target/i386/avx512bf16vl-vcvtneps2bf16-1.c |  27 -
 .../i386/avx512bf16vl-vcvtneps2bf16-1a.c           |  27 +
 .../i386/avx512bf16vl-vcvtneps2bf16-1b.c           |  27 +
 gcc/testsuite/gcc.target/i386/pr107172.c           |  26 +
 gcc/testsuite/gcc.target/i386/pr107261.c           |  38 +
 gcc/testsuite/gcc.target/i386/pr107304.c           |  39 +
 gcc/testsuite/gcc.target/i386/sse-12.c             |   2 +-
 gcc/testsuite/gcc.target/i386/sse-13.c             |   2 +-
 gcc/testsuite/gcc.target/i386/sse-14.c             |   2 +-
 gcc/testsuite/gcc.target/i386/sse-22.c             |   4 +-
 gcc/testsuite/gcc.target/i386/sse-23.c             |   2 +-
 gcc/testsuite/gcc.target/powerpc/pr106460.c        |  12 +
 gcc/testsuite/gcc.target/riscv/_Float16-zhinx-1.c  |  10 +
 gcc/testsuite/gcc.target/riscv/_Float16-zhinx-2.c  |   9 +
 gcc/testsuite/gcc.target/riscv/_Float16-zhinx-3.c  |   9 +
 .../gcc.target/riscv/_Float16-zhinxmin-1.c         |  10 +
 .../gcc.target/riscv/_Float16-zhinxmin-2.c         |  10 +
 .../gcc.target/riscv/_Float16-zhinxmin-3.c         |  10 +
 gcc/testsuite/gcc.target/riscv/arch-18.c           |   5 +
 gcc/testsuite/gcc.target/riscv/arch-5.c            |   2 +-
 gcc/testsuite/gcc.target/riscv/predef-23.c         |  63 ++
 gcc/testsuite/gcc.target/riscv/predef-24.c         |  47 ++
 gcc/testsuite/gcc.target/riscv/predef-25.c         |  47 ++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-1.c    | 179 +++++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-10.c   | 385 +++++++++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-11.c   | 385 +++++++++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-12.c   | 159 ++++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-13.c   |  14 +
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-2.c    | 153 ++++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-3.c    | 127 +++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-4.c    | 101 +++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-5.c    |  66 ++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-6.c    |  53 ++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-7.c    |  13 +
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-8.c    |  96 +++
 gcc/testsuite/gcc.target/riscv/rvv/base/mov-9.c    |  44 ++
 gcc/tree-call-cdce.cc                              |  20 +
 gcc/tree-ssa-dse.cc                                |  17 +-
 gcc/tree-ssa-loop-im.cc                            |  13 +-
 gcc/tree-ssa-phiopt.cc                             |  35 +-
 gcc/tree-streamer-in.cc                            |   1 +
 gcc/tree-streamer-out.cc                           |   1 +
 gcc/tree-vect-data-refs.cc                         |   5 +
 gcc/tree-vect-loop.cc                              |   6 +
 gcc/tree.cc                                        |  31 +-
 gcc/value-range-storage.cc                         |  31 +-
 gcc/value-range.cc                                 |   8 +-
 .../src/c++11/compatibility-atomic-c++0x.cc        |   8 +-
 .../testsuite/26_numerics/complex/ext_c++23.cc     |  89 +++
 .../26_numerics/headers/cmath/nextafter_c++23.cc   |   2 +
 .../28_regex/algorithms/regex_match/107376.cc      |  76 ++
 gcc/analyzer/sm-fd.dot                             | 109 +++
 gcc/builtin-types.def                              | 184 +++++
 gcc/builtins.def                                   | 123 ++-
 gcc/config.gcc                                     |  28 +-
 gcc/config/gcn/gcn-valu.md                         | 139 ++--
 gcc/config/gcn/gcn.md                              |   5 +-
 gcc/config/i386/i386-builtin-types.def             |  66 +-
 gcc/config/i386/i386-builtin.def                   |  68 +-
 gcc/config/i386/i386-isa.def                       |   1 +
 gcc/config/i386/i386-modes.def                     |   1 +
 gcc/config/i386/i386.md                            |  55 +-
 gcc/config/i386/mmx.md                             |  26 +-
 gcc/config/i386/sse.md                             | 195 ++++-
 gcc/config/riscv/constraints.md                    |  27 +-
 gcc/config/riscv/iterators.md                      |   6 +-
 gcc/config/riscv/predicates.md                     |  23 +
 gcc/config/riscv/riscv-modes.def                   | 109 +--
 gcc/config/riscv/riscv.md                          |  87 ++-
 gcc/config/riscv/vector-iterators.md               |  58 ++
 gcc/config/riscv/vector.md                         | 279 ++++++-
 gcc/config/xtensa/xtensa.md                        |   7 +-
 gcc/configure.ac                                   |   1 +
 gcc/d/d-target.def                                 |  23 +-
 gcc/d/dmd/aggregate.d                              |   2 +-
 gcc/d/dmd/attrib.d                                 |  41 -
 gcc/d/dmd/clone.d                                  |  22 +-
 gcc/d/dmd/common/bitfields.d                       |   9 +-
 gcc/d/dmd/common/file.d                            |  11 +-
 gcc/d/dmd/cparse.d                                 |  39 +-
 gcc/d/dmd/cppmangle.d                              |  10 +-
 gcc/d/dmd/dcast.d                                  | 114 ++-
 gcc/d/dmd/declaration.d                            |  59 +-
 gcc/d/dmd/dinterpret.d                             |   6 +
 gcc/d/dmd/dmodule.d                                | 435 +++++------
 gcc/d/dmd/dscope.d                                 |   6 +-
 gcc/d/dmd/dstruct.d                                |  33 +-
 gcc/d/dmd/dsymbol.d                                |  54 +-
 gcc/d/dmd/dsymbolsem.d                             | 204 +++--
 gcc/d/dmd/dtemplate.d                              |   4 +-
 gcc/d/dmd/entity.d                                 | 236 +++---
 gcc/d/dmd/escape.d                                 | 375 ++++-----
 gcc/d/dmd/expression.d                             |   2 +-
 gcc/d/dmd/expressionsem.d                          | 171 ++--
 gcc/d/dmd/func.d                                   | 276 +++----
 gcc/d/dmd/globals.d                                |   5 +-
 gcc/d/dmd/hdrgen.d                                 |  27 +-
 gcc/d/dmd/lexer.d                                  |  48 +-
 gcc/d/dmd/mtype.d                                  |  71 +-
 gcc/d/dmd/nogc.d                                   |   4 +-
 gcc/d/dmd/parse.d                                  |   6 +-
 gcc/d/dmd/printast.d                               |   7 +
 gcc/d/dmd/root/utf.d                               |   2 +-
 gcc/d/dmd/safe.d                                   |  10 +-
 gcc/d/dmd/semantic3.d                              |  44 +-
 gcc/d/dmd/statementsem.d                           | 188 +++--
 gcc/d/dmd/templateparamsem.d                       |   9 +
 gcc/d/dmd/transitivevisitor.d                      |   9 +
 gcc/doc/tm.texi.in                                 |   4 +-
 gcc/optc-save-gen.awk                              |  31 +-
 gcc/target.def                                     |   4 +-
 gcc/testsuite/g++.dg/modules/enum-10_a.H           |   5 +
 gcc/testsuite/g++.dg/modules/enum-11_a.H           |   5 +
 gcc/testsuite/g++.dg/modules/enum-9_a.H            |  13 +
 gcc/testsuite/gcc.target/i386/funcspec-56.inc      |   2 +
 gcc/testsuite/gdc.dg/simd18867.d                   |  11 +
 gcc/testsuite/gdc.dg/simd19630.d                   |  10 -
 gcc/testsuite/gdc.dg/simd19630b.d                  |  17 +
 gcc/testsuite/gdc.dg/simd19630c.d                  |  15 +
 gcc/testsuite/gdc.dg/simd19788.d                   |  11 +
 gcc/testsuite/gdc.dg/simd21469.d                   |   9 +
 gcc/testsuite/gdc.dg/simd21672.d                   |  17 +
 gcc/testsuite/gdc.dg/simd23077.d                   |  11 +
 gcc/testsuite/gdc.dg/simd23084.d                   |  17 +
 gcc/testsuite/gdc.dg/simd23085.d                   |  11 +
 gcc/testsuite/gdc.dg/simd_ctfe.d                   |  88 ---
 gcc/testsuite/gdc.dg/torture/simd19632.d           |  15 +
 gcc/testsuite/gdc.dg/torture/simd20041.d           |  22 +
 gcc/testsuite/gdc.dg/torture/simd21673.d           |  20 +
 gcc/testsuite/gdc.dg/torture/simd21676.d           |  36 +
 gcc/testsuite/gdc.dg/torture/simd22438.d           |  18 +
 gcc/testsuite/gdc.dg/torture/simd23009.d           |  22 +
 gcc/testsuite/gdc.dg/torture/simd23077.d           |  11 +
 gcc/testsuite/gdc.dg/torture/simd8.d               |  26 +
 gcc/testsuite/gdc.dg/torture/simd9.d               |  46 ++
 gcc/testsuite/gdc.dg/torture/simd_prefetch.d       |  21 +
 gcc/testsuite/gdc.test/compilable/cdcmp.d          |  14 -
 .../gdc.test/compilable/extra-files/header2.d      |  19 +
 .../gdc.test/compilable/imports/cimports2a.i       |   7 +
 .../gdc.test/compilable/imports/cimports2b.i       |   8 +
 .../gdc.test/compilable/imports/pkg22952/package.d |   1 +
 gcc/testsuite/gdc.test/compilable/noreturn3.d      | 257 ++++++
 .../gdc.test/compilable/scope_tuple_expansion.d    |  21 +
 .../gdc.test/compilable/shortened_methods.d        |   2 +-
 gcc/testsuite/gdc.test/compilable/test11980.d      |   5 +-
 gcc/testsuite/gdc.test/compilable/test22674.d      |   7 +
 gcc/testsuite/gdc.test/compilable/test22784.d      |  10 +
 gcc/testsuite/gdc.test/compilable/test22952.d      |  10 +
 gcc/testsuite/gdc.test/compilable/test23380.d      |   9 +
 gcc/testsuite/gdc.test/compilable/test23386.d      |  12 +
 .../gdc.test/fail_compilation/diag23384.d          |  29 +
 .../gdc.test/fail_compilation/fail10905.d          |  22 -
 .../gdc.test/fail_compilation/fail19898a.d         |   2 +-
 .../gdc.test/fail_compilation/fail19898b.d         |   2 +-
 .../gdc.test/fail_compilation/fail22366.d          |   2 +-
 .../gdc.test/fail_compilation/fail23406.d          |  40 +
 .../gdc.test/fail_compilation/issue21378.d         |   2 +-
 gcc/testsuite/gdc.test/fail_compilation/lexer1.d   |   3 +-
 .../gdc.test/fail_compilation/pragmainline.d       |   2 +-
 gcc/testsuite/gdc.test/fail_compilation/pragmas.d  |   4 +-
 .../gdc.test/fail_compilation/previewin.d          |   6 +-
 .../gdc.test/fail_compilation/reserved_version.d   |   3 +
 .../fail_compilation/reserved_version_switch.d     |   3 +
 gcc/testsuite/gdc.test/fail_compilation/retscope.d |   6 +-
 .../gdc.test/fail_compilation/retscope2.d          |   2 +-
 .../gdc.test/fail_compilation/retscope6.d          |   2 +-
 .../gdc.test/fail_compilation/systemvariables.d    |  48 ++
 .../fail_compilation/systemvariables_deprecation.d |  28 +
 .../fail_compilation/systemvariables_struct.d      |  60 ++
 .../fail_compilation/systemvariables_void_init.d   |  32 +
 .../gdc.test/fail_compilation/templatethis.d       |  37 +
 .../gdc.test/fail_compilation/test14496.d          |   3 +-
 .../gdc.test/fail_compilation/test17764.d          |   2 +-
 .../gdc.test/fail_compilation/test19097.d          |   2 +-
 .../gdc.test/fail_compilation/test22145.d          |   2 +-
 .../gdc.test/fail_compilation/test22680.d          |   2 +-
 .../gdc.test/fail_compilation/warn14905.d          |  23 +
 gcc/testsuite/gdc.test/fail_compilation/xmmslice.d |  22 +
 gcc/testsuite/gdc.test/runnable/cdcmp.d            | 146 ++++
 gcc/testsuite/gdc.test/runnable/lexer.d            |   4 +
 gcc/testsuite/gdc.test/runnable/test20734.d        |   8 +
 gcc/testsuite/gdc.test/runnable/test23337.d        | 182 +++++
 gcc/testsuite/gfortran.dg/illegal_boz_arg_4.f90    |  13 +
 gcc/testsuite/lib/profopt.exp                      |   2 +-
 gcc/testsuite/lib/target-supports.exp              |  12 +
 libgo/go/runtime/mem_gccgo.go                      |   6 +-
 .../testsuite/libgomp.oacc-fortran/declare-1.f90   |   2 +-
 .../testsuite/libgomp.oacc-fortran/host_data-5.F90 |  24 +-
 libgomp/testsuite/libgomp.oacc-fortran/if-1.f90    |  12 +-
 libgomp/testsuite/libgomp.oacc-fortran/print-1.f90 |  13 +-
 .../libgomp.oacc-fortran/privatized-ref-2.f90      |   8 +-
 libitm/config/riscv/sjlj.S                         | 144 ++++
 libitm/configure.tgt                               |   2 +
 libphobos/libdruntime/core/stdc/fenv.d             |   1 -
 libphobos/libdruntime/core/stdc/signal.d           |   1 -
 libphobos/libdruntime/core/stdc/stdarg.d           |   1 -
 libphobos/libdruntime/core/stdc/stdio.d            |   1 -
 libphobos/libdruntime/core/stdc/stdlib.d           |   1 -
 libphobos/libdruntime/core/stdc/string.d           |   1 -
 libphobos/libdruntime/core/stdc/wchar_.d           |   1 -
 libphobos/libdruntime/core/sys/darwin/fcntl.d      |   1 -
 libphobos/libdruntime/core/sys/darwin/ifaddrs.d    |   1 -
 libphobos/libdruntime/core/sys/elf/package.d       |   1 -
 libphobos/libdruntime/core/sys/linux/dlfcn.d       |   1 -
 libphobos/libdruntime/core/sys/linux/elf.d         |   1 -
 libphobos/libdruntime/core/sys/linux/epoll.d       |   2 -
 libphobos/libdruntime/core/sys/linux/err.d         |   1 -
 libphobos/libdruntime/core/sys/linux/errno.d       |   1 -
 libphobos/libdruntime/core/sys/linux/execinfo.d    |   1 -
 libphobos/libdruntime/core/sys/linux/fcntl.d       |   1 -
 libphobos/libdruntime/core/sys/linux/fs.d          |   1 -
 libphobos/libdruntime/core/sys/linux/ifaddrs.d     |   1 -
 libphobos/libdruntime/core/sys/linux/io_uring.d    |   2 -
 libphobos/libdruntime/core/sys/linux/link.d        |   1 -
 libphobos/libdruntime/core/sys/linux/perf_event.d  |   1 -
 libphobos/libdruntime/core/sys/linux/sched.d       |   1 -
 libphobos/libdruntime/core/sys/linux/stdio.d       |   3 +-
 libphobos/libdruntime/core/sys/linux/string.d      |   1 -
 libphobos/libdruntime/core/sys/linux/sys/eventfd.d |   1 -
 libphobos/libdruntime/core/sys/linux/sys/inotify.d |   1 -
 libphobos/libdruntime/core/sys/linux/sys/mman.d    |   1 -
 libphobos/libdruntime/core/sys/linux/sys/prctl.d   |   1 -
 .../libdruntime/core/sys/linux/sys/signalfd.d      |   1 -
 libphobos/libdruntime/core/sys/linux/sys/sysinfo.d |   1 -
 libphobos/libdruntime/core/sys/linux/sys/xattr.d   |   1 -
 libphobos/libdruntime/core/sys/linux/timerfd.d     |   1 -
 libphobos/libdruntime/core/sys/linux/tipc.d        |   1 -
 libphobos/libdruntime/core/sys/linux/unistd.d      |   1 -
 libphobos/libdruntime/core/sys/openbsd/sys/mman.d  |   1 +
 libphobos/libdruntime/core/sys/posix/aio.d         |   1 -
 libphobos/libdruntime/core/sys/posix/config.d      |   1 -
 libphobos/libdruntime/core/sys/posix/dirent.d      |   1 -
 libphobos/libdruntime/core/sys/posix/dlfcn.d       |   1 -
 libphobos/libdruntime/core/sys/posix/fcntl.d       |   1 -
 libphobos/libdruntime/core/sys/posix/grp.d         |   1 -
 libphobos/libdruntime/core/sys/posix/iconv.d       |   1 -
 libphobos/libdruntime/core/sys/posix/inttypes.d    |   1 -
 libphobos/libdruntime/core/sys/posix/libgen.d      |   1 -
 libphobos/libdruntime/core/sys/posix/locale.d      |   1 -
 libphobos/libdruntime/core/sys/posix/mqueue.d      |   1 -
 libphobos/libdruntime/core/sys/posix/netdb.d       |   1 -
 libphobos/libdruntime/core/sys/posix/poll.d        |   1 -
 libphobos/libdruntime/core/sys/posix/pthread.d     |   1 -
 libphobos/libdruntime/core/sys/posix/pwd.d         |   1 -
 libphobos/libdruntime/core/sys/posix/sched.d       |   1 -
 libphobos/libdruntime/core/sys/posix/semaphore.d   |   1 -
 libphobos/libdruntime/core/sys/posix/setjmp.d      |   1 -
 libphobos/libdruntime/core/sys/posix/spawn.d       |   1 -
 libphobos/libdruntime/core/sys/posix/stdio.d       |   1 -
 libphobos/libdruntime/core/sys/posix/stdlib.d      |   1 -
 libphobos/libdruntime/core/sys/posix/string.d      |   1 -
 libphobos/libdruntime/core/sys/posix/strings.d     |   1 -
 libphobos/libdruntime/core/sys/posix/sys/filio.d   |   1 -
 libphobos/libdruntime/core/sys/posix/sys/ioccom.d  |   1 -
 libphobos/libdruntime/core/sys/posix/sys/ioctl.d   |   1 -
 libphobos/libdruntime/core/sys/posix/sys/ipc.d     |   1 -
 libphobos/libdruntime/core/sys/posix/sys/mman.d    |   1 -
 libphobos/libdruntime/core/sys/posix/sys/msg.d     |   1 -
 .../libdruntime/core/sys/posix/sys/resource.d      |   1 -
 libphobos/libdruntime/core/sys/posix/sys/select.d  |   1 -
 libphobos/libdruntime/core/sys/posix/sys/shm.d     |   1 -
 libphobos/libdruntime/core/sys/posix/sys/socket.d  |   1 -
 libphobos/libdruntime/core/sys/posix/sys/stat.d    |   1 -
 libphobos/libdruntime/core/sys/posix/sys/statvfs.d |   1 -
 libphobos/libdruntime/core/sys/posix/sys/time.d    |   1 -
 libphobos/libdruntime/core/sys/posix/sys/ttycom.d  |   1 -
 libphobos/libdruntime/core/sys/posix/sys/types.d   |   1 -
 libphobos/libdruntime/core/sys/posix/sys/uio.d     |   1 -
 libphobos/libdruntime/core/sys/posix/sys/un.d      |   1 -
 libphobos/libdruntime/core/sys/posix/sys/utsname.d |   1 -
 libphobos/libdruntime/core/sys/posix/sys/wait.d    |   1 -
 libphobos/libdruntime/core/sys/posix/syslog.d      |   1 -
 libphobos/libdruntime/core/sys/posix/termios.d     |   1 -
 libphobos/libdruntime/core/sys/posix/time.d        |   1 -
 libphobos/libdruntime/core/sys/posix/ucontext.d    |   1 -
 libphobos/libdruntime/core/sys/posix/unistd.d      |   1 -
 libphobos/libdruntime/core/sys/posix/utime.d       |   1 -
 libphobos/libdruntime/core/sys/windows/aclapi.d    |   1 -
 libphobos/libdruntime/core/sys/windows/aclui.d     |   1 -
 libphobos/libdruntime/core/sys/windows/basetsd.d   |   1 -
 libphobos/libdruntime/core/sys/windows/basetyps.d  |   1 -
 libphobos/libdruntime/core/sys/windows/com.d       |   1 -
 libphobos/libdruntime/core/sys/windows/comcat.d    |   1 -
 libphobos/libdruntime/core/sys/windows/commctrl.d  |   1 -
 libphobos/libdruntime/core/sys/windows/commdlg.d   |   1 -
 libphobos/libdruntime/core/sys/windows/cpl.d       |   1 -
 libphobos/libdruntime/core/sys/windows/cplext.d    |   1 -
 libphobos/libdruntime/core/sys/windows/custcntl.d  |   1 -
 libphobos/libdruntime/core/sys/windows/dbghelp.d   |   1 -
 .../libdruntime/core/sys/windows/dbghelp_types.d   |   1 -
 libphobos/libdruntime/core/sys/windows/dbt.d       |   1 -
 libphobos/libdruntime/core/sys/windows/dde.d       |   1 -
 libphobos/libdruntime/core/sys/windows/ddeml.d     |   1 -
 libphobos/libdruntime/core/sys/windows/dhcpcsdk.d  |   1 -
 libphobos/libdruntime/core/sys/windows/dlgs.d      |   1 -
 libphobos/libdruntime/core/sys/windows/dll.d       |   1 -
 libphobos/libdruntime/core/sys/windows/docobj.d    |   1 -
 libphobos/libdruntime/core/sys/windows/errorrep.d  |   1 -
 libphobos/libdruntime/core/sys/windows/exdisp.d    |   1 -
 libphobos/libdruntime/core/sys/windows/httpext.d   |   1 -
 libphobos/libdruntime/core/sys/windows/imagehlp.d  |   1 -
 libphobos/libdruntime/core/sys/windows/imm.d       |   1 -
 libphobos/libdruntime/core/sys/windows/intshcut.d  |   1 -
 libphobos/libdruntime/core/sys/windows/ipexport.d  |   1 -
 libphobos/libdruntime/core/sys/windows/iphlpapi.d  |   1 -
 libphobos/libdruntime/core/sys/windows/iprtrmib.d  |   1 -
 libphobos/libdruntime/core/sys/windows/iptypes.d   |   1 -
 libphobos/libdruntime/core/sys/windows/lm.d        |   1 -
 libphobos/libdruntime/core/sys/windows/lmaccess.d  |   1 -
 libphobos/libdruntime/core/sys/windows/lmalert.d   |   1 -
 libphobos/libdruntime/core/sys/windows/lmat.d      |   1 -
 libphobos/libdruntime/core/sys/windows/lmaudit.d   |   1 -
 libphobos/libdruntime/core/sys/windows/lmbrowsr.d  |   1 -
 libphobos/libdruntime/core/sys/windows/lmchdev.d   |   1 -
 libphobos/libdruntime/core/sys/windows/lmconfig.d  |   1 -
 libphobos/libdruntime/core/sys/windows/lmcons.d    |   1 -
 libphobos/libdruntime/core/sys/windows/lmerr.d     |   1 -
 libphobos/libdruntime/core/sys/windows/lmerrlog.d  |   1 -
 libphobos/libdruntime/core/sys/windows/lmmsg.d     |   1 -
 libphobos/libdruntime/core/sys/windows/lmremutl.d  |   1 -
 libphobos/libdruntime/core/sys/windows/lmrepl.d    |   1 -
 libphobos/libdruntime/core/sys/windows/lmserver.d  |   1 -
 libphobos/libdruntime/core/sys/windows/lmshare.d   |   1 -
 libphobos/libdruntime/core/sys/windows/lmsname.d   |   1 -
 libphobos/libdruntime/core/sys/windows/lmstats.d   |   1 -
 libphobos/libdruntime/core/sys/windows/lmsvc.d     |   1 -
 libphobos/libdruntime/core/sys/windows/lmuse.d     |   1 -
 libphobos/libdruntime/core/sys/windows/lmwksta.d   |   1 -
 libphobos/libdruntime/core/sys/windows/lzexpand.d  |   1 -
 libphobos/libdruntime/core/sys/windows/mapi.d      |   1 -
 libphobos/libdruntime/core/sys/windows/mciavi.d    |   1 -
 libphobos/libdruntime/core/sys/windows/mcx.d       |   1 -
 libphobos/libdruntime/core/sys/windows/mgmtapi.d   |   1 -
 libphobos/libdruntime/core/sys/windows/mmsystem.d  |   1 -
 libphobos/libdruntime/core/sys/windows/msacm.d     |   1 -
 libphobos/libdruntime/core/sys/windows/mshtml.d    |   1 -
 libphobos/libdruntime/core/sys/windows/mswsock.d   |   1 -
 libphobos/libdruntime/core/sys/windows/nb30.d      |   1 -
 libphobos/libdruntime/core/sys/windows/nddeapi.d   |   1 -
 libphobos/libdruntime/core/sys/windows/nspapi.d    |   1 -
 libphobos/libdruntime/core/sys/windows/ntdef.d     |   1 -
 libphobos/libdruntime/core/sys/windows/ntdll.d     |   1 -
 libphobos/libdruntime/core/sys/windows/ntldap.d    |   1 -
 libphobos/libdruntime/core/sys/windows/ntsecapi.d  |   1 -
 libphobos/libdruntime/core/sys/windows/ntsecpkg.d  |   1 -
 libphobos/libdruntime/core/sys/windows/oaidl.d     |   1 -
 libphobos/libdruntime/core/sys/windows/objbase.d   |   1 -
 libphobos/libdruntime/core/sys/windows/objfwd.d    |   1 -
 libphobos/libdruntime/core/sys/windows/objidl.d    |   1 -
 libphobos/libdruntime/core/sys/windows/objsafe.d   |   1 -
 libphobos/libdruntime/core/sys/windows/ocidl.d     |   1 -
 libphobos/libdruntime/core/sys/windows/odbcinst.d  |   1 -
 libphobos/libdruntime/core/sys/windows/ole.d       |   1 -
 libphobos/libdruntime/core/sys/windows/ole2.d      |   1 -
 libphobos/libdruntime/core/sys/windows/oleacc.d    |   1 -
 libphobos/libdruntime/core/sys/windows/oleauto.d   |   1 -
 libphobos/libdruntime/core/sys/windows/olectl.d    |   1 -
 libphobos/libdruntime/core/sys/windows/oledlg.d    |   1 -
 libphobos/libdruntime/core/sys/windows/oleidl.d    |   1 -
 libphobos/libdruntime/core/sys/windows/pbt.d       |   1 -
 libphobos/libdruntime/core/sys/windows/powrprof.d  |   1 -
 libphobos/libdruntime/core/sys/windows/prsht.d     |   1 -
 libphobos/libdruntime/core/sys/windows/psapi.d     |   1 -
 libphobos/libdruntime/core/sys/windows/rapi.d      |   1 -
 libphobos/libdruntime/core/sys/windows/ras.d       |   1 -
 libphobos/libdruntime/core/sys/windows/rasdlg.d    |   1 -
 libphobos/libdruntime/core/sys/windows/raserror.d  |   1 -
 libphobos/libdruntime/core/sys/windows/rassapi.d   |   1 -
 libphobos/libdruntime/core/sys/windows/reason.d    |   1 -
 libphobos/libdruntime/core/sys/windows/regstr.d    |   1 -
 libphobos/libdruntime/core/sys/windows/richedit.d  |   1 -
 libphobos/libdruntime/core/sys/windows/richole.d   |   1 -
 libphobos/libdruntime/core/sys/windows/rpc.d       |   1 -
 libphobos/libdruntime/core/sys/windows/rpcdce.d    |   1 -
 libphobos/libdruntime/core/sys/windows/rpcdce2.d   |   1 -
 libphobos/libdruntime/core/sys/windows/rpcdcep.d   |   1 -
 libphobos/libdruntime/core/sys/windows/rpcndr.d    |   1 -
 libphobos/libdruntime/core/sys/windows/rpcnsi.d    |   1 -
 libphobos/libdruntime/core/sys/windows/rpcnsip.d   |   1 -
 libphobos/libdruntime/core/sys/windows/rpcnterr.d  |   1 -
 libphobos/libdruntime/core/sys/windows/schannel.d  |   1 -
 libphobos/libdruntime/core/sys/windows/sdkddkver.d |   1 -
 libphobos/libdruntime/core/sys/windows/secext.d    |   1 -
 libphobos/libdruntime/core/sys/windows/security.d  |   1 -
 libphobos/libdruntime/core/sys/windows/servprov.d  |   1 -
 libphobos/libdruntime/core/sys/windows/setupapi.d  |   1 -
 libphobos/libdruntime/core/sys/windows/shellapi.d  |   1 -
 libphobos/libdruntime/core/sys/windows/shldisp.d   |   1 -
 libphobos/libdruntime/core/sys/windows/shlguid.d   |   1 -
 libphobos/libdruntime/core/sys/windows/shlobj.d    |   1 -
 libphobos/libdruntime/core/sys/windows/shlwapi.d   |   1 -
 libphobos/libdruntime/core/sys/windows/snmp.d      |   1 -
 libphobos/libdruntime/core/sys/windows/sql.d       |   1 -
 libphobos/libdruntime/core/sys/windows/sqlext.d    |   1 -
 libphobos/libdruntime/core/sys/windows/sqltypes.d  |   1 -
 libphobos/libdruntime/core/sys/windows/sqlucode.d  |   1 -
 libphobos/libdruntime/core/sys/windows/sspi.d      |   1 -
 .../libdruntime/core/sys/windows/stacktrace.d      |   1 -
 libphobos/libdruntime/core/sys/windows/stat.d      |   1 -
 .../libdruntime/core/sys/windows/stdc/malloc.d     |   1 -
 libphobos/libdruntime/core/sys/windows/subauth.d   |   1 -
 libphobos/libdruntime/core/sys/windows/threadaux.d |   1 -
 libphobos/libdruntime/core/sys/windows/tlhelp32.d  |   1 -
 libphobos/libdruntime/core/sys/windows/tmschema.d  |   1 -
 libphobos/libdruntime/core/sys/windows/unknwn.d    |   1 -
 libphobos/libdruntime/core/sys/windows/uuid.d      |   1 -
 libphobos/libdruntime/core/sys/windows/vfw.d       |   1 -
 libphobos/libdruntime/core/sys/windows/w32api.d    |   1 -
 libphobos/libdruntime/core/sys/windows/winbase.d   |   1 -
 libphobos/libdruntime/core/sys/windows/winber.d    |   1 -
 libphobos/libdruntime/core/sys/windows/wincon.d    |   1 -
 libphobos/libdruntime/core/sys/windows/wincrypt.d  |   1 -
 libphobos/libdruntime/core/sys/windows/windef.d    |   1 -
 libphobos/libdruntime/core/sys/windows/windows.d   |   1 -
 libphobos/libdruntime/core/sys/windows/winerror.d  |   1 -
 libphobos/libdruntime/core/sys/windows/wingdi.d    |   1 -
 libphobos/libdruntime/core/sys/windows/winhttp.d   |   1 -
 libphobos/libdruntime/core/sys/windows/wininet.d   |   1 -
 libphobos/libdruntime/core/sys/windows/winioctl.d  |   1 -
 libphobos/libdruntime/core/sys/windows/winldap.d   |   1 -
 libphobos/libdruntime/core/sys/windows/winnetwk.d  |   1 -
 libphobos/libdruntime/core/sys/windows/winnls.d    |   1 -
 libphobos/libdruntime/core/sys/windows/winnt.d     |   1 -
 libphobos/libdruntime/core/sys/windows/winperf.d   |   1 -
 libphobos/libdruntime/core/sys/windows/winreg.d    |   1 -
 libphobos/libdruntime/core/sys/windows/winsock2.d  |   1 -
 libphobos/libdruntime/core/sys/windows/winspool.d  |   1 -
 libphobos/libdruntime/core/sys/windows/winsvc.d    |   1 -
 libphobos/libdruntime/core/sys/windows/winuser.d   |   1 -
 libphobos/libdruntime/core/sys/windows/winver.d    |   1 -
 libphobos/libdruntime/core/sys/windows/wtsapi32.d  |   1 -
 libphobos/libdruntime/core/sys/windows/wtypes.d    |   1 -
 libphobos/libdruntime/rt/dmain2.d                  |   2 +-
 libphobos/src/std/algorithm/iteration.d            |  25 +-
 libphobos/src/std/algorithm/mutation.d             |   1 +
 libphobos/src/std/array.d                          |   3 +-
 libphobos/src/std/ascii.d                          |   6 +-
 libphobos/src/std/base64.d                         |   4 +-
 libphobos/src/std/bitmanip.d                       |  98 +--
 libphobos/src/std/container/binaryheap.d           |   2 +
 libphobos/src/std/digest/murmurhash.d              |  10 +-
 libphobos/src/std/exception.d                      | 203 +++--
 libphobos/src/std/experimental/allocator/common.d  |  20 +
 libphobos/src/std/file.d                           |  55 +-
 libphobos/src/std/format/internal/write.d          |  44 +-
 libphobos/src/std/internal/windows/advapi32.d      |   4 +-
 libphobos/src/std/json.d                           |   3 +
 libphobos/src/std/net/curl.d                       |   2 +-
 libphobos/src/std/random.d                         |  24 +-
 libphobos/src/std/stdio.d                          |   6 +-
 libphobos/src/std/string.d                         |   1 +
 libphobos/src/std/traits.d                         |   8 +
 libphobos/src/std/typecons.d                       | 802 ++++++++++++++++---
 libphobos/src/std/uni/package.d                    |  11 +-
 libstdc++-v3/Makefile.in                           |   1 -
 libstdc++-v3/aclocal.m4                            |   1 -
 libstdc++-v3/config.h.in                           |  15 -
 libstdc++-v3/configure.ac                          |   6 -
 libstdc++-v3/doc/Makefile.in                       |   1 -
 libstdc++-v3/include/Makefile.in                   |   1 -
 libstdc++-v3/include/bits/locale_classes.tcc       |   3 +
 libstdc++-v3/include/bits/regex_executor.tcc       |   3 +-
 libstdc++-v3/libsupc++/Makefile.in                 |   1 -
 libstdc++-v3/po/Makefile.in                        |   1 -
 libstdc++-v3/python/Makefile.in                    |   1 -
 libstdc++-v3/src/Makefile.in                       |   1 -
 libstdc++-v3/src/c++11/Makefile.in                 |   1 -
 libstdc++-v3/src/c++17/Makefile.in                 |   1 -
 libstdc++-v3/src/c++20/Makefile.in                 |   1 -
 libstdc++-v3/src/c++98/Makefile.in                 |   1 -
 libstdc++-v3/src/filesystem/Makefile.in            |   1 -
 libstdc++-v3/src/libbacktrace/Makefile.in          |   1 -
 libstdc++-v3/testsuite/Makefile.in                 |   1 -
 libvtv/configure.tgt                               |   3 +
 ChangeLog                                          |   4 +
 MAINTAINERS                                        |   2 +-
 gcc/ChangeLog                                      | 831 ++++++++++++++++++++
 gcc/DATESTAMP                                      |   2 +-
 gcc/analyzer/ChangeLog                             |  11 +
 gcc/c-family/ChangeLog                             |  22 +
 gcc/c/ChangeLog                                    |  83 ++
 gcc/config/i386/t-cygming                          |   4 +
 gcc/config/riscv/arch-canonicalize                 |   5 +
 gcc/config/riscv/t-riscv                           |   4 +
 gcc/config/t-glibc                                 |  10 +-
 gcc/config/t-linux                                 |   4 +
 gcc/configure                                      |   8 +-
 gcc/cp/ChangeLog                                   | 124 +++
 gcc/d/ChangeLog                                    |  29 +
 gcc/d/dmd/MERGE                                    |   2 +-
 gcc/d/dmd/VERSION                                  |   2 +-
 gcc/fortran/ChangeLog                              |  11 +
 gcc/go/gofrontend/MERGE                            |   2 +-
 gcc/lto/ChangeLog                                  |  22 +
 gcc/objc/ChangeLog                                 |   5 +
 gcc/testsuite/ChangeLog                            | 321 ++++++++
 include/ChangeLog                                  |  12 +
 libgomp/ChangeLog                                  |  10 +
 libitm/ChangeLog                                   |   7 +
 libphobos/ChangeLog                                |   5 +
 libphobos/libdruntime/MERGE                        |   2 +-
 libphobos/src/MERGE                                |   2 +-
 libstdc++-v3/ChangeLog                             |  85 ++
 libstdc++-v3/configure                             | 867 +--------------------
 libstdc++-v3/include/c_global/cmath                |   8 +-
 libstdc++-v3/include/std/complex                   | 641 ++++++++++++++-
 libstdc++-v3/include/std/functional                |  66 +-
 libvtv/ChangeLog                                   |   5 +
 753 files changed, 16473 insertions(+), 4455 deletions(-)

diff --cc gcc/cp/cp-tree.h
index 4b5d14f6a29,6d84514e4c0..f4104c8751d
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@@ -7572,13 -7446,11 +7550,13 @@@ extern tree get_function_template_dec
  extern tree resolve_nondeduced_context		(tree, tsubst_flags_t);
  extern tree resolve_nondeduced_context_or_error	(tree, tsubst_flags_t);
  extern hashval_t iterative_hash_template_arg	(tree arg, hashval_t val);
- extern tree coerce_template_parms               (tree, tree, tree);
- extern tree coerce_template_parms               (tree, tree, tree, tsubst_flags_t);
+ extern tree coerce_template_parms		(tree, tree, tree, tsubst_flags_t,
+ 						 bool = true);
  extern tree canonicalize_type_argument		(tree, tsubst_flags_t);
 +extern void register_local_identity		(tree);
  extern void register_local_specialization       (tree, tree);
  extern tree retrieve_local_specialization       (tree);
 +extern void register_parameter_specializations	(tree, tree);
  extern tree extract_fnparm_pack                 (tree, tree *);
  extern tree template_parm_to_arg                (tree);
  extern tree dguide_name				(tree);
diff --cc gcc/cp/typeck.cc
index 7a1ecb2595a,2e0fd8fbf17..50185a0fac8
--- a/gcc/cp/typeck.cc
+++ b/gcc/cp/typeck.cc
@@@ -11246,15 -11247,20 +11247,26 @@@ check_return_expr (tree retval, bool *n
    if (processing_template_decl)
      return saved_retval;
  
+   /* A naive attempt to reduce the number of -Wdangling-reference false
+      positives: if we know that this function can return a variable with
+      static storage duration rather than one of its parameters, suppress
+      the warning.  */
+   if (warn_dangling_reference
+       && TYPE_REF_P (functype)
+       && bare_retval
+       && VAR_P (bare_retval)
+       && TREE_STATIC (bare_retval))
+     suppress_warning (current_function_decl, OPT_Wdangling_reference);
+ 
    /* Actually copy the value returned into the appropriate location.  */
    if (retval && retval != result)
 -    retval = cp_build_init_expr (result, retval);
 +    {
 +      /* If there's a postcondition for a scalar return value, wrap
 +	 retval in a call to the postcondition function.  */
 +      if (tree post = apply_postcondition_to_return (retval))
 +	retval = post;
 +      retval = cp_build_init_expr (result, retval);
 +    }
  
    if (tree set = maybe_set_retval_sentinel ())
      retval = build2 (COMPOUND_EXPR, void_type_node, retval, set);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-11-01 11:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-01 11:43 [gcc/devel/c++-contracts] Merge remote-tracking branch 'origin/master' into devel/c++-contracts Jason Merrill

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).