[gcc(refs/users/aldyh/heads/ranger-staging)] Merge branch 'trunk-at-merge' into ranger-staging-merge
Aldy Hernandez
aldyh@gcc.gnu.org
Wed Aug 19 18:25:28 GMT 2020
https://gcc.gnu.org/g:6bc2b1abacf956f4a24d2ad88cd23d7cadc70e3f
commit 6bc2b1abacf956f4a24d2ad88cd23d7cadc70e3f
Merge: 49e5a427646 ea95ba8d582
Author: Aldy Hernandez <aldyh@redhat.com>
Date: Wed Aug 19 17:33:25 2020 +0200
Merge branch 'trunk-at-merge' into ranger-staging-merge
Merge point is ea95ba8d582e967cdbfce95993e9bb6ad769c047.
Diff:
ChangeLog | 16 +
MAINTAINERS | 5 +-
config/ChangeLog | 6 +
config/cet.m4 | 23 +-
contrib/ChangeLog | 47 +
contrib/download_prerequisites | 2 +-
contrib/gcc-changelog/git_check_commit.py | 2 +-
contrib/gcc-changelog/git_commit.py | 87 +-
contrib/gcc-changelog/git_email.py | 9 +-
contrib/gcc-changelog/git_repository.py | 57 +-
contrib/gcc-changelog/git_update_version.py | 2 +-
contrib/gcc-changelog/test_email.py | 4 +
contrib/gcc-changelog/test_patches.txt | 35 +
contrib/git-backport.py | 2 +-
contrib/vimrc | 2 +-
gcc/ChangeLog | 3517 ++++
gcc/DATESTAMP | 2 +-
gcc/Makefile.in | 23 +-
gcc/ada/ChangeLog | 1790 ++
gcc/ada/Makefile.rtl | 19 +-
gcc/ada/adaint.h | 5 +-
gcc/ada/aspects.adb | 14 +-
gcc/ada/aspects.ads | 12 +-
gcc/ada/atree.adb | 495 -
gcc/ada/atree.ads | 329 -
gcc/ada/bindo-diagnostics.adb | 3 +-
gcc/ada/bindo-writers.adb | 2 +-
gcc/ada/checks.adb | 319 +-
gcc/ada/checks.ads | 20 +-
gcc/ada/contracts.adb | 153 +-
gcc/ada/debug.adb | 21 +-
.../doc/gnat_rm/implementation_defined_pragmas.rst | 28 +-
.../gnat_rm/representation_clauses_and_pragmas.rst | 2 +-
gcc/ada/doc/gnat_ugn/about_this_guide.rst | 81 +-
.../building_executable_programs_with_gnat.rst | 10 +-
gcc/ada/doc/gnat_ugn/getting_started_with_gnat.rst | 128 +-
gcc/ada/doc/gnat_ugn/gnat_utility_programs.rst | 1298 --
gcc/ada/einfo.adb | 792 +-
gcc/ada/einfo.ads | 30 +-
gcc/ada/errout.adb | 28 +-
gcc/ada/errout.ads | 19 +-
gcc/ada/erroutc.adb | 24 +-
gcc/ada/exp_aggr.adb | 1290 +-
gcc/ada/exp_atag.adb | 113 -
gcc/ada/exp_atag.ads | 18 -
gcc/ada/exp_attr.adb | 133 +-
gcc/ada/exp_cg.adb | 2 +-
gcc/ada/exp_ch11.adb | 6 +-
gcc/ada/exp_ch2.adb | 21 +-
gcc/ada/exp_ch3.adb | 125 +-
gcc/ada/exp_ch4.adb | 358 +-
gcc/ada/exp_ch5.adb | 92 +-
gcc/ada/exp_ch6.adb | 544 +-
gcc/ada/exp_ch7.adb | 93 +-
gcc/ada/exp_ch8.adb | 2 +-
gcc/ada/exp_ch9.adb | 193 +-
gcc/ada/exp_dbug.adb | 14 +-
gcc/ada/exp_disp.adb | 20 +-
gcc/ada/exp_imgv.adb | 2 +-
gcc/ada/exp_intr.adb | 73 +-
gcc/ada/exp_pakd.adb | 2 +-
gcc/ada/exp_prag.adb | 116 +-
gcc/ada/exp_put_image.adb | 14 +-
gcc/ada/exp_smem.adb | 4 +-
gcc/ada/exp_spark.adb | 211 +-
gcc/ada/exp_tss.adb | 12 +-
gcc/ada/exp_unst.adb | 47 +-
gcc/ada/exp_util.adb | 153 +-
gcc/ada/exp_util.ads | 12 +-
gcc/ada/expect.c | 7 +-
gcc/ada/fe.h | 4 +-
gcc/ada/freeze.adb | 282 +-
gcc/ada/frontend.adb | 10 +
gcc/ada/gcc-interface/decl.c | 12 +-
gcc/ada/ghost.adb | 83 +-
gcc/ada/gnat1drv.adb | 11 +-
gcc/ada/gnat_rm.texi | 38 +-
gcc/ada/gnat_ugn.texi | 2379 +--
gcc/ada/gnatbind.adb | 39 +-
gcc/ada/impunit.adb | 1 -
gcc/ada/inline.adb | 82 +-
gcc/ada/inline.ads | 8 +-
gcc/ada/layout.adb | 16 +
gcc/ada/lib-writ.adb | 6 +-
gcc/ada/lib-xref-spark_specific.adb | 10 +-
gcc/ada/lib-xref.adb | 44 +-
gcc/ada/lib-xref.ads | 1 -
gcc/ada/libgnarl/s-taprop__linux.adb | 4 +-
gcc/ada/libgnat/a-calcon.adb | 1 -
gcc/ada/libgnat/a-calcon.ads | 3 +-
gcc/ada/libgnat/a-calend.adb | 6 +-
gcc/ada/libgnat/a-calend.ads | 28 +-
gcc/ada/libgnat/a-catizo.ads | 1 +
gcc/ada/libgnat/a-cbdlli.adb | 4 +-
gcc/ada/libgnat/a-cbdlli.ads | 4 +-
gcc/ada/libgnat/a-cbhama.adb | 4 +-
gcc/ada/libgnat/a-cbhama.ads | 4 +-
gcc/ada/libgnat/a-cbhase.adb | 4 +-
gcc/ada/libgnat/a-cbhase.ads | 4 +-
gcc/ada/libgnat/a-cbmutr.adb | 4 +-
gcc/ada/libgnat/a-cbmutr.ads | 4 +-
gcc/ada/libgnat/a-cborma.adb | 4 +-
gcc/ada/libgnat/a-cborma.ads | 4 +-
gcc/ada/libgnat/a-cborse.adb | 4 +-
gcc/ada/libgnat/a-cborse.ads | 4 +-
gcc/ada/libgnat/a-cbprqu.adb | 4 +-
gcc/ada/libgnat/a-cbprqu.ads | 4 +-
gcc/ada/libgnat/a-cbsyqu.adb | 4 +-
gcc/ada/libgnat/a-cbsyqu.ads | 4 +-
gcc/ada/libgnat/a-cdlili.adb | 4 +-
gcc/ada/libgnat/a-cdlili.ads | 4 +-
gcc/ada/libgnat/a-chahan.adb | 11 +
gcc/ada/libgnat/a-chahan.ads | 1 +
gcc/ada/libgnat/a-cidlli.adb | 4 +-
gcc/ada/libgnat/a-cidlli.ads | 4 +-
gcc/ada/libgnat/a-cihama.adb | 4 +-
gcc/ada/libgnat/a-cihama.ads | 4 +-
gcc/ada/libgnat/a-cihase.adb | 4 +-
gcc/ada/libgnat/a-cihase.ads | 4 +-
gcc/ada/libgnat/a-cimutr.adb | 4 +-
gcc/ada/libgnat/a-cimutr.ads | 4 +-
gcc/ada/libgnat/a-ciorma.adb | 4 +-
gcc/ada/libgnat/a-ciorma.ads | 4 +-
gcc/ada/libgnat/a-ciormu.adb | 4 +-
gcc/ada/libgnat/a-ciormu.ads | 4 +-
gcc/ada/libgnat/a-ciorse.adb | 4 +-
gcc/ada/libgnat/a-ciorse.ads | 4 +-
gcc/ada/libgnat/a-cohama.adb | 4 +-
gcc/ada/libgnat/a-cohama.ads | 4 +-
gcc/ada/libgnat/a-cohase.adb | 4 +-
gcc/ada/libgnat/a-cohase.ads | 4 +-
gcc/ada/libgnat/a-coinve.adb | 4 +-
gcc/ada/libgnat/a-coinve.ads | 4 +-
gcc/ada/libgnat/a-comutr.adb | 4 +-
gcc/ada/libgnat/a-comutr.ads | 4 +-
gcc/ada/libgnat/a-convec.adb | 30 +-
gcc/ada/libgnat/a-convec.ads | 10 +-
gcc/ada/libgnat/a-coorma.adb | 4 +-
gcc/ada/libgnat/a-coorma.ads | 4 +-
gcc/ada/libgnat/a-coormu.adb | 4 +-
gcc/ada/libgnat/a-coormu.ads | 4 +-
gcc/ada/libgnat/a-coorse.adb | 4 +-
gcc/ada/libgnat/a-coorse.ads | 4 +-
gcc/ada/libgnat/a-nbnbin.adb | 117 +-
gcc/ada/libgnat/a-nbnbin.ads | 118 +-
gcc/ada/libgnat/a-nbnbin__gmp.adb | 6 +-
gcc/ada/libgnat/a-nbnbre.adb | 23 +-
gcc/ada/libgnat/a-nbnbre.ads | 106 +-
gcc/ada/libgnat/a-numaux__dummy.adb | 32 +
gcc/ada/libgnat/a-numaux__x86.adb | 577 -
gcc/ada/libgnat/a-numaux__x86.ads | 76 -
gcc/ada/libgnat/a-stobbu.adb | 2 -
gcc/ada/libgnat/a-stobbu.ads | 2 -
gcc/ada/libgnat/a-stobfi.adb | 2 -
gcc/ada/libgnat/a-stobfi.ads | 2 -
gcc/ada/libgnat/a-stoubu.adb | 2 -
gcc/ada/libgnat/a-stoubu.ads | 2 -
gcc/ada/libgnat/a-stoufi.adb | 2 -
gcc/ada/libgnat/a-stoufi.ads | 2 -
gcc/ada/libgnat/a-stoufo.adb | 36 +-
gcc/ada/libgnat/a-stoufo.ads | 10 +-
gcc/ada/libgnat/a-stouut.adb | 3 +-
gcc/ada/libgnat/a-stouut.ads | 2 -
gcc/ada/libgnat/a-strsto.ads | 1 -
gcc/ada/libgnat/a-strunb.adb | 83 +-
gcc/ada/libgnat/a-strunb__shared.adb | 105 +-
gcc/ada/libgnat/a-ststbo.adb | 1 -
gcc/ada/libgnat/a-ststbo.ads | 1 -
gcc/ada/libgnat/a-ststun.adb | 2 +-
gcc/ada/libgnat/a-ststun.ads | 2 +-
gcc/ada/libgnat/a-stteou.ads | 3 +-
gcc/ada/libgnat/a-tags.adb | 5 -
gcc/ada/libgnat/a-tags.ads | 4 +
gcc/ada/libgnat/a-wichha.adb | 7 +
gcc/ada/libgnat/a-wichha.ads | 6 +
gcc/ada/libgnat/a-wichun.adb | 9 +
gcc/ada/libgnat/a-wichun.ads | 8 +-
gcc/ada/libgnat/a-zchhan.adb | 7 +
gcc/ada/libgnat/a-zchhan.ads | 6 +
gcc/ada/libgnat/a-zchuni.adb | 9 +
gcc/ada/libgnat/a-zchuni.ads | 6 +
gcc/ada/libgnat/g-calend.adb | 6 +-
gcc/ada/libgnat/g-catiio.adb | 311 +-
gcc/ada/libgnat/g-catiio.ads | 27 +-
gcc/ada/libgnat/g-sechas.adb | 128 +-
gcc/ada/libgnat/g-sechas.ads | 28 +-
gcc/ada/libgnat/g-shshco.adb | 3 +-
gcc/ada/libgnat/g-socket.adb | 43 +-
gcc/ada/libgnat/i-cexten.ads | 4 +-
gcc/ada/libgnat/s-aoinar.ads | 2 -
gcc/ada/libgnat/s-aomoar.ads | 2 -
gcc/ada/libgnat/s-atopex.ads | 3 -
gcc/ada/libgnat/s-bignum.adb | 141 +-
gcc/ada/libgnat/s-bignum.ads | 6 +-
gcc/ada/libgnat/s-genbig.adb | 554 +-
gcc/ada/libgnat/s-genbig.ads | 104 +-
gcc/ada/libgnat/s-mmap.ads | 2 -
gcc/ada/libgnat/s-putaim.adb | 1 -
gcc/ada/libgnat/s-putaim.ads | 2 +-
gcc/ada/libgnat/s-putima.adb | 4 +-
gcc/ada/libgnat/s-putima.ads | 4 +-
gcc/ada/libgnat/s-rannum.adb | 11 +
gcc/ada/libgnat/s-rannum.ads | 7 +-
gcc/ada/libgnat/s-rident.ads | 16 +-
gcc/ada/libgnat/s-secsta.ads | 2 +-
gcc/ada/libgnat/s-shabig.ads | 80 +
gcc/ada/libgnat/s-stposu.adb | 15 +-
gcc/ada/libgnat/s-ststop.adb | 27 +-
gcc/ada/libgnat/s-ststop.ads | 2 +-
gcc/ada/libgnat/s-thread__ae653.adb | 55 +-
gcc/ada/libgnat/s-utf_32.adb | 411 +-
gcc/ada/libgnat/s-utf_32.ads | 6 +
gcc/ada/namet.adb | 224 -
gcc/ada/namet.ads | 124 -
gcc/ada/nlists.adb | 2 +-
gcc/ada/opt.ads | 4 +-
gcc/ada/osint-c.adb | 17 +-
gcc/ada/osint.adb | 75 +-
gcc/ada/output.adb | 29 +
gcc/ada/output.ads | 9 +
gcc/ada/par-ch10.adb | 45 +-
gcc/ada/par-ch2.adb | 5 +-
gcc/ada/par-ch3.adb | 7 +-
gcc/ada/par-ch4.adb | 72 +-
gcc/ada/par-ch5.adb | 30 +-
gcc/ada/par-ch6.adb | 7 +-
gcc/ada/par-prag.adb | 46 +-
gcc/ada/par-util.adb | 2 +-
gcc/ada/par.adb | 5 +
gcc/ada/par_sco.adb | 14 +-
gcc/ada/pprint.adb | 13 +-
gcc/ada/raise-gcc.c | 2 +-
gcc/ada/repinfo.adb | 47 +-
gcc/ada/restrict.adb | 84 +-
gcc/ada/restrict.ads | 35 +-
gcc/ada/rtsfind.adb | 12 +-
gcc/ada/rtsfind.ads | 19 +
gcc/ada/scil_ll.adb | 7 +-
gcc/ada/scng.adb | 9 +-
gcc/ada/sem.adb | 24 +-
gcc/ada/sem.ads | 10 +-
gcc/ada/sem_aggr.adb | 330 +-
gcc/ada/sem_aggr.ads | 1 +
gcc/ada/sem_attr.adb | 468 +-
gcc/ada/sem_aux.adb | 36 +-
gcc/ada/sem_case.adb | 8 +-
gcc/ada/sem_cat.adb | 16 +-
gcc/ada/sem_ch10.adb | 154 +-
gcc/ada/sem_ch11.adb | 12 +-
gcc/ada/sem_ch12.adb | 265 +-
gcc/ada/sem_ch13.adb | 1495 +-
gcc/ada/sem_ch13.ads | 26 +-
gcc/ada/sem_ch3.adb | 389 +-
gcc/ada/sem_ch3.ads | 2 +-
gcc/ada/sem_ch4.adb | 229 +-
gcc/ada/sem_ch5.adb | 58 +-
gcc/ada/sem_ch6.adb | 452 +-
gcc/ada/sem_ch7.adb | 28 +-
gcc/ada/sem_ch8.adb | 250 +-
gcc/ada/sem_ch9.adb | 22 +-
gcc/ada/sem_dim.adb | 61 +-
gcc/ada/sem_disp.adb | 20 +-
gcc/ada/sem_dist.adb | 9 +-
gcc/ada/sem_elab.adb | 326 +-
gcc/ada/sem_elim.adb | 2 +-
gcc/ada/sem_eval.adb | 349 +-
gcc/ada/sem_eval.ads | 2 -
gcc/ada/sem_intr.adb | 45 +-
gcc/ada/sem_mech.adb | 4 +-
gcc/ada/sem_prag.adb | 964 +-
gcc/ada/sem_prag.ads | 1 +
gcc/ada/sem_res.adb | 538 +-
gcc/ada/sem_scil.adb | 12 +-
gcc/ada/sem_type.adb | 51 +-
gcc/ada/sem_util.adb | 2002 +-
gcc/ada/sem_util.ads | 86 +-
gcc/ada/sem_warn.adb | 75 +-
gcc/ada/sinfo.adb | 288 +-
gcc/ada/sinfo.ads | 209 +-
gcc/ada/snames.ads-tmpl | 13 +
gcc/ada/socket.c | 36 +-
gcc/ada/sprint.adb | 27 +-
gcc/ada/styleg.adb | 6 +-
gcc/ada/switch.adb | 5 +-
gcc/ada/sysdep.c | 2 +-
gcc/ada/tbuild.adb | 22 +-
gcc/ada/tbuild.ads | 5 +
gcc/ada/terminals.c | 97 +-
gcc/ada/tracebak.c | 3 +
gcc/ada/treepr.adb | 11 +-
gcc/analyzer/ChangeLog | 1444 ++
gcc/analyzer/analyzer-logging.cc | 8 +-
gcc/analyzer/analyzer-logging.h | 2 +
gcc/analyzer/analyzer-selftests.cc | 1 +
gcc/analyzer/analyzer-selftests.h | 1 +
gcc/analyzer/analyzer.cc | 30 +
gcc/analyzer/analyzer.h | 192 +-
gcc/analyzer/analyzer.opt | 8 +
gcc/analyzer/call-string.cc | 2 +
gcc/analyzer/checker-path.cc | 52 +-
gcc/analyzer/checker-path.h | 12 +-
gcc/analyzer/constraint-manager.cc | 1226 +-
gcc/analyzer/constraint-manager.h | 113 +-
gcc/analyzer/diagnostic-manager.cc | 451 +-
gcc/analyzer/diagnostic-manager.h | 20 +-
gcc/analyzer/engine.cc | 790 +-
gcc/analyzer/exploded-graph.h | 55 +-
gcc/analyzer/program-point.cc | 61 +
gcc/analyzer/program-point.h | 52 +-
gcc/analyzer/program-state.cc | 1271 +-
gcc/analyzer/program-state.h | 240 +-
gcc/analyzer/region-model-impl-calls.cc | 352 +
gcc/analyzer/region-model-manager.cc | 1088 ++
gcc/analyzer/region-model-reachability.cc | 280 +
gcc/analyzer/region-model-reachability.h | 117 +
gcc/analyzer/region-model.cc | 8950 +++------
gcc/analyzer/region-model.h | 3142 ++--
gcc/analyzer/region.cc | 1091 ++
gcc/analyzer/sm-file.cc | 26 +-
gcc/analyzer/sm-malloc.cc | 164 +-
gcc/analyzer/sm-sensitive.cc | 3 +-
gcc/analyzer/sm-signal.cc | 15 +-
gcc/analyzer/sm-taint.cc | 9 +-
gcc/analyzer/sm.cc | 21 +-
gcc/analyzer/sm.h | 35 +-
gcc/analyzer/store.cc | 2085 +++
gcc/analyzer/store.h | 616 +
gcc/analyzer/svalue.cc | 1004 +
gcc/asan.c | 7 +
gcc/asan.h | 2 +
gcc/brig/ChangeLog | 7 +
gcc/brig/brigfrontend/brig-util.cc | 9 +
gcc/brig/brigfrontend/brig-util.h | 2 +
gcc/{ => brig/brigfrontend}/hsa-brig-format.h | 0
gcc/builtins.c | 187 +-
gcc/builtins.def | 16 -
gcc/c-family/ChangeLog | 104 +
gcc/c-family/c-common.c | 143 +-
gcc/c-family/c-common.h | 2 +
gcc/c-family/c-cppbuiltin.c | 6 +-
gcc/c-family/c-indentation.c | 5 +-
gcc/c-family/c-omp.c | 11 +
gcc/c-family/c-opts.c | 16 +-
gcc/c-family/c-ppoutput.c | 16 +-
gcc/c-family/c.opt | 7 +-
gcc/c/ChangeLog | 44 +
gcc/c/c-decl.c | 7 +
gcc/c/c-objc-common.h | 2 +
gcc/c/c-parser.c | 47 +-
gcc/c/c-typeck.c | 110 +-
gcc/calls.c | 22 +-
gcc/cfganal.c | 436 +-
gcc/cfganal.h | 3 +-
gcc/cgraph.h | 2 -
gcc/cgraphunit.c | 166 +-
gcc/combine.c | 11 +-
gcc/common.opt | 40 +-
gcc/common/config/i386/cpuinfo.h | 8 +
gcc/common/config/i386/i386-common.c | 6 +
gcc/common/config/i386/i386-cpuinfo.h | 2 +
gcc/common/config/riscv/riscv-common.c | 70 +-
gcc/config.gcc | 12 +-
gcc/config.in | 6 -
gcc/config/aarch64/aarch64-builtins.c | 376 +-
gcc/config/aarch64/aarch64-c.c | 16 +
gcc/config/aarch64/aarch64-cores.def | 3 +
gcc/config/aarch64/aarch64-ldpstp.md | 42 +
gcc/config/aarch64/aarch64-protos.h | 10 +-
gcc/config/aarch64/aarch64-simd-builtins.def | 1014 +-
gcc/config/aarch64/aarch64-simd.md | 10 +-
gcc/config/aarch64/aarch64-sve.md | 8 +-
gcc/config/aarch64/aarch64-tune.md | 2 +-
gcc/config/aarch64/aarch64.c | 660 +-
gcc/config/aarch64/aarch64.h | 27 +-
gcc/config/aarch64/aarch64.md | 184 +-
gcc/config/aarch64/aarch64.opt | 4 +
gcc/config/aarch64/constraints.md | 9 +
gcc/config/aarch64/driver-aarch64.c | 146 +-
gcc/config/aarch64/geniterators.sh | 4 +-
gcc/config/aarch64/iterators.md | 17 +
gcc/config/aarch64/predicates.md | 3 +-
gcc/config/arm/arm-builtins.c | 35 +-
gcc/config/arm/arm-cpus.in | 2 +-
gcc/config/arm/arm-protos.h | 4 +
gcc/config/arm/arm.c | 126 +-
gcc/config/arm/arm.h | 3 +
gcc/config/arm/arm.md | 6 +-
gcc/config/arm/constraints.md | 7 +
gcc/config/arm/driver-arm.c | 8 +-
gcc/config/arm/thumb1.md | 8 +-
gcc/config/arm/thumb2.md | 49 +-
gcc/config/arm/unspecs.md | 1 +
gcc/config/arm/vfp.md | 26 +-
gcc/config/bpf/bpf-helpers.def | 194 -
gcc/config/bpf/bpf-helpers.h | 530 +-
gcc/config/bpf/bpf.c | 172 +-
gcc/config/bpf/bpf.md | 2 +-
gcc/config/bpf/constraints.md | 1 -
gcc/config/bpf/predicates.md | 1 -
gcc/config/cris/cris-modes.def | 17 +-
gcc/config/cris/cris-passes.def | 20 +
gcc/config/cris/cris-protos.h | 2 +
gcc/config/cris/cris.c | 218 +-
gcc/config/cris/cris.md | 183 +-
gcc/config/cris/sync.md | 6 +-
gcc/config/cris/t-cris | 3 +-
gcc/config/csky/csky-elf.h | 2 +
gcc/config/csky/csky-linux-elf.h | 2 +
gcc/config/csky/csky.h | 9 +-
gcc/config/csky/csky.opt | 29 +-
gcc/config/csky/csky_opts.h | 7 +
gcc/config/csky/t-csky-linux | 8 +-
gcc/config/darwin.c | 62 +-
gcc/config/darwin.h | 3 +
gcc/config/gcn/gcn-hsa.h | 1 +
gcc/config/gcn/gcn-protos.h | 1 +
gcc/config/gcn/gcn-run.c | 18 -
gcc/config/gcn/gcn-valu.md | 20 +
gcc/config/gcn/gcn.c | 141 +-
gcc/config/gcn/gcn.md | 105 +
gcc/config/gcn/mkoffload.c | 292 +-
gcc/config/i386/avx512fintrin.h | 164 +-
gcc/config/i386/cpuid.h | 12 +
gcc/config/i386/driver-i386.c | 13 +-
gcc/config/i386/i386-builtin.def | 38 +-
gcc/config/i386/i386-builtins.c | 19 +-
gcc/config/i386/i386-c.c | 15 +
gcc/config/i386/i386-expand.c | 296 +-
gcc/config/i386/i386-options.c | 21 +-
gcc/config/i386/i386-protos.h | 4 +-
gcc/config/i386/i386.c | 336 +-
gcc/config/i386/i386.h | 16 +-
gcc/config/i386/i386.md | 330 +-
gcc/config/i386/intelmic-mkoffload.c | 72 +-
gcc/config/i386/predicates.md | 31 +
gcc/config/i386/sse.md | 128 +-
gcc/config/i386/sync.md | 87 +-
gcc/config/i386/x86-64.h | 11 +
gcc/config/i386/x86-tune-costs.h | 42 +-
gcc/config/i386/x86-tune.def | 4 +-
gcc/config/m68k/m68k.c | 12 +-
gcc/config/mmix/mmix.c | 54 +-
gcc/config/mmix/mmix.h | 8 +
gcc/config/mmix/mmix.md | 48 +-
gcc/config/msp430/msp430-protos.h | 1 -
gcc/config/msp430/msp430.c | 13 -
gcc/config/msp430/msp430.h | 7 +-
gcc/config/msp430/msp430.md | 40 +-
gcc/config/nvptx/mkoffload.c | 15 +-
gcc/config/nvptx/nvptx.c | 70 +-
gcc/config/nvptx/nvptx.md | 222 +-
gcc/config/pa/pa.c | 8 +-
gcc/config/riscv/multilib-generator | 30 +-
gcc/config/riscv/riscv-opts.h | 6 +
gcc/config/riscv/riscv-sr.c | 6 +
gcc/config/riscv/riscv.c | 47 +
gcc/config/riscv/riscv.md | 88 +
gcc/config/riscv/riscv.opt | 28 +
gcc/config/rs6000/aix71.h | 91 +-
gcc/config/rs6000/aix72.h | 4 +-
gcc/config/rs6000/altivec.h | 25 +
gcc/config/rs6000/altivec.md | 234 +-
gcc/config/rs6000/defaultaix64.h | 28 -
gcc/config/rs6000/dfp.md | 13 +
gcc/config/rs6000/mma.md | 22 +-
gcc/config/rs6000/predicates.md | 22 +-
gcc/config/rs6000/rs6000-builtin.def | 130 +
gcc/config/rs6000/rs6000-c.c | 24 +-
gcc/config/rs6000/rs6000-call.c | 435 +-
gcc/config/rs6000/rs6000-protos.h | 2 +
gcc/config/rs6000/rs6000.c | 250 +-
gcc/config/rs6000/rs6000.md | 161 +-
gcc/config/rs6000/rs6000.opt | 7 +-
gcc/config/rs6000/vsx.md | 352 +
gcc/config/s390/s390.c | 40 +-
gcc/config/s390/s390.h | 5 +
gcc/config/s390/s390.md | 4 +-
gcc/config/s390/vector.md | 6 +-
gcc/config/sparc/linux.h | 10 +-
gcc/config/sparc/linux64.h | 10 +-
gcc/config/sparc/sparc.c | 22 +-
gcc/configure | 87 +-
gcc/configure.ac | 55 +-
gcc/convert.c | 14 +-
gcc/coverage.c | 9 +-
gcc/cp/ChangeLog | 740 +
gcc/cp/Make-lang.in | 1 -
gcc/cp/call.c | 216 +-
gcc/cp/class.c | 198 +-
gcc/cp/constexpr.c | 77 +-
gcc/cp/constraint.cc | 6 +
gcc/cp/coroutines.cc | 1727 +-
gcc/cp/cp-gimplify.c | 1 +
gcc/cp/cp-objcp-common.c | 5 +-
gcc/cp/cp-objcp-common.h | 2 +
gcc/cp/cp-tree.def | 4 +-
gcc/cp/cp-tree.h | 157 +-
gcc/cp/cvt.c | 11 +-
gcc/cp/cxx-pretty-print.c | 13 +-
gcc/cp/decl.c | 395 +-
gcc/cp/decl2.c | 57 +-
gcc/cp/error.c | 24 +-
gcc/cp/except.c | 190 +-
gcc/cp/init.c | 43 +-
gcc/cp/mangle.c | 142 +-
gcc/cp/method.c | 7 +-
gcc/cp/name-lookup.c | 207 +-
gcc/cp/name-lookup.h | 61 +-
gcc/cp/parser.c | 517 +-
gcc/cp/pt.c | 191 +-
gcc/cp/ptree.c | 45 +-
gcc/cp/rtti.c | 5 +-
gcc/cp/search.c | 36 +-
gcc/cp/semantics.c | 43 +-
gcc/cp/tree.c | 48 +-
gcc/cp/typeck.c | 136 +-
gcc/cp/typeck2.c | 12 +-
gcc/d/ChangeLog | 135 +
gcc/d/d-codegen.cc | 151 +-
gcc/d/d-tree.h | 9 +-
gcc/d/decl.cc | 22 +-
gcc/d/dmd/MERGE | 2 +-
gcc/d/dmd/cond.c | 73 +-
gcc/d/dmd/dstruct.c | 9 +-
gcc/d/dmd/expressionsem.c | 10 +
gcc/d/dmd/parse.c | 1 +
gcc/d/expr.cc | 537 +-
gcc/d/gdc.texi | 6 +
gcc/d/intrinsics.cc | 400 +-
gcc/d/intrinsics.def | 175 +-
gcc/d/lang.opt | 4 +
gcc/dbgcnt.def | 1 +
gcc/diagnostic-format-json.cc | 55 +-
gcc/diagnostic-show-locus.c | 504 +-
gcc/diagnostic.c | 113 +-
gcc/diagnostic.h | 28 +-
gcc/doc/analyzer.texi | 115 +-
gcc/doc/cpp.texi | 14 +-
gcc/doc/extend.texi | 629 +-
gcc/doc/gcov.texi | 8 +-
gcc/doc/generic.texi | 2 +-
gcc/doc/gimple.texi | 6 +-
gcc/doc/gty.texi | 2 +-
gcc/doc/install.texi | 16 +-
gcc/doc/invoke.texi | 233 +-
gcc/doc/languages.texi | 2 +-
gcc/doc/match-and-simplify.texi | 16 +
gcc/doc/md.texi | 26 +
gcc/doc/passes.texi | 7 -
gcc/doc/sourcebuild.texi | 49 +
gcc/doc/tm.texi | 11 +-
gcc/doc/tm.texi.in | 4 +-
gcc/dse.c | 78 +-
gcc/dumpfile.c | 5 +-
gcc/dumpfile.h | 1 +
gcc/explow.c | 20 +-
gcc/expmed.c | 38 +-
gcc/expr.c | 275 +-
gcc/expr.h | 8 +-
gcc/flag-types.h | 3 +-
gcc/fold-const-call.c | 6 +-
gcc/fold-const.c | 239 +-
gcc/fold-const.h | 3 +-
gcc/fortran/ChangeLog | 473 +
gcc/fortran/arith.c | 2 +-
gcc/fortran/check.c | 38 +-
gcc/fortran/class.c | 11 +-
gcc/fortran/decl.c | 27 +-
gcc/fortran/dump-parse-tree.c | 60 +-
gcc/fortran/expr.c | 17 +-
gcc/fortran/f95-lang.c | 11 -
gcc/fortran/frontend-passes.c | 393 +-
gcc/fortran/gfc-internals.texi | 2 +-
gcc/fortran/gfortran.h | 39 +-
gcc/fortran/gfortran.texi | 18 +-
gcc/fortran/interface.c | 24 +-
gcc/fortran/intrinsic.c | 34 +-
gcc/fortran/intrinsic.texi | 101 +-
gcc/fortran/invoke.texi | 8 +-
gcc/fortran/io.c | 26 +-
gcc/fortran/match.c | 19 +-
gcc/fortran/match.h | 1 +
gcc/fortran/misc.c | 8 +-
gcc/fortran/module.c | 73 +-
gcc/fortran/openmp.c | 390 +-
gcc/fortran/parse.c | 78 +-
gcc/fortran/primary.c | 23 +-
gcc/fortran/resolve.c | 106 +-
gcc/fortran/symbol.c | 12 +-
gcc/fortran/trans-array.c | 29 +-
gcc/fortran/trans-decl.c | 9 +-
gcc/fortran/trans-expr.c | 27 +-
gcc/fortran/trans-openmp.c | 458 +-
gcc/fortran/trans-stmt.c | 6 +-
gcc/function.c | 4 +-
gcc/gcc.c | 15 +-
gcc/gcov-dump.c | 53 +-
gcc/gcov-io.c | 2 +-
gcc/gcov-io.h | 3 +
gcc/gcov.c | 26 +-
gcc/generic-match-head.c | 10 +
gcc/genmatch.c | 104 +-
gcc/gimple-array-bounds.cc | 11 +-
gcc/gimple-fold.c | 177 +-
gcc/gimple-loop-interchange.cc | 2 +
gcc/gimple-low.c | 1 -
gcc/gimple-match-head.c | 10 +
gcc/gimple-pretty-print.c | 7 -
gcc/gimple-range.cc | 15 +-
gcc/gimple-ssa-split-paths.c | 39 +
gcc/gimple-ssa-sprintf.c | 69 +-
gcc/gimple-ssa-store-merging.c | 202 +-
gcc/gimple-walk.c | 1 -
gcc/gimple.c | 15 -
gcc/gimple.def | 4 -
gcc/gimple.h | 134 +-
gcc/gimplify.c | 174 +-
gcc/glimits.h | 8 +
gcc/go/ChangeLog | 5 +
gcc/go/go-c.h | 1 +
gcc/go/go-lang.c | 1 +
gcc/go/gofrontend/MERGE | 2 +-
gcc/go/gofrontend/escape.cc | 29 +-
gcc/go/gofrontend/expressions.cc | 110 +-
gcc/go/gofrontend/expressions.h | 2 +-
gcc/go/gofrontend/go.cc | 2 +
gcc/go/gofrontend/gogo.cc | 52 +-
gcc/go/gofrontend/gogo.h | 14 +
gcc/go/gofrontend/names.cc | 9 +-
gcc/go/gofrontend/runtime.def | 16 +-
gcc/go/gofrontend/types.cc | 31 +-
gcc/graphite-dependences.c | 2 +-
gcc/graphite-isl-ast-to-gimple.c | 32 +-
gcc/graphite-optimize-isl.c | 2 +-
gcc/graphite-poly.c | 2 +-
gcc/graphite-scop-detection.c | 2 +-
gcc/graphite-sese-to-poly.c | 11 +-
gcc/graphite.c | 2 +-
gcc/graphite.h | 16 -
gcc/hash-map.h | 3 +-
gcc/hsa-brig.c | 2612 ---
gcc/hsa-builtins.def | 39 -
gcc/hsa-common.c | 996 -
gcc/hsa-common.h | 1419 --
gcc/hsa-dump.c | 1278 --
gcc/hsa-gen.c | 6694 -------
gcc/hsa-regalloc.c | 729 -
gcc/incpath.c | 8 +-
gcc/incpath.h | 4 +-
gcc/input.c | 72 +-
gcc/input.h | 4 +-
gcc/internal-fn.c | 42 +-
gcc/internal-fn.def | 6 +
gcc/ipa-cp.c | 19 +-
gcc/ipa-devirt.c | 9 +-
gcc/ipa-fnsummary.c | 29 +-
gcc/ipa-hsa.c | 336 -
gcc/ipa-param-manipulation.c | 6 +-
gcc/ipa-prop.h | 2 -
gcc/ipa-sra.c | 4 +-
gcc/ira.c | 2 +
gcc/langhooks-def.h | 5 +-
gcc/langhooks.c | 14 +
gcc/langhooks.h | 3 +
gcc/lto-opts.c | 15 +
gcc/lto-section-in.c | 1 -
gcc/lto-streamer-out.c | 29 +-
gcc/lto-streamer.h | 1 -
gcc/lto-wrapper.c | 80 +-
gcc/match.pd | 182 +-
gcc/omp-expand.c | 1219 +-
gcc/omp-general.c | 209 +-
gcc/omp-general.h | 8 +
gcc/omp-grid.c | 1419 --
gcc/omp-grid.h | 27 -
gcc/omp-low.c | 216 +-
gcc/optabs-query.c | 27 +
gcc/optabs-query.h | 1 +
gcc/optabs.def | 2 +
gcc/optc-save-gen.awk | 4 +
gcc/opts-common.c | 39 +-
gcc/opts.c | 98 +-
gcc/params.opt | 8 +-
gcc/passes.c | 47 +-
gcc/passes.def | 2 -
gcc/po/ChangeLog | 22 +
gcc/po/be.po | 9675 +++++-----
gcc/po/da.po | 9705 +++++-----
gcc/po/de.po | 9704 +++++-----
gcc/po/el.po | 9687 +++++-----
gcc/po/es.po | 9725 +++++-----
gcc/po/fi.po | 9700 +++++-----
gcc/po/fr.po | 9703 +++++-----
gcc/po/gcc.pot | 18475 ++++++++++---------
gcc/po/hr.po | 9674 +++++-----
gcc/po/id.po | 9715 +++++-----
gcc/po/ja.po | 17172 +++++------------
gcc/po/nl.po | 9707 +++++-----
gcc/po/ru.po | 9715 +++++-----
gcc/po/sr.po | 9713 +++++-----
gcc/po/sv.po | 11904 ++++++------
gcc/po/tr.po | 9719 +++++-----
gcc/po/uk.po | 9692 +++++-----
gcc/po/vi.po | 9704 +++++-----
gcc/po/zh_CN.po | 9711 +++++-----
gcc/po/zh_TW.po | 9723 +++++-----
gcc/predict.c | 76 +-
gcc/range-op.cc | 44 +-
gcc/regrename.c | 16 +-
gcc/regrename.h | 2 +-
gcc/shrink-wrap.c | 7 +-
gcc/simplify-rtx.c | 207 +-
gcc/spellcheck.c | 22 +-
gcc/symbol-summary.h | 13 +-
gcc/symtab.c | 13 +
gcc/system.h | 34 +-
gcc/target.def | 11 +-
gcc/testsuite/ChangeLog | 2937 ++-
.../c-c++-common/Waddress-of-packed-member-1.c | 48 +-
.../c-c++-common/Waddress-of-packed-member-2.c | 37 +-
gcc/testsuite/c-c++-common/Wattributes.c | 2 +-
.../c-c++-common/Wmisleading-indentation-3.c | 12 +-
.../c-c++-common/Wmisleading-indentation.c | 6 +-
gcc/testsuite/c-c++-common/attr-copy.c | 1 +
.../c-c++-common/builtin-arith-overflow-1.c | 73 +-
.../c-c++-common/builtin-has-attribute-4.c | 3 +-
.../c-c++-common/cpp/has-include-1-traditional.c | 38 +
gcc/testsuite/c-c++-common/cpp/line-2.c | 11 +
gcc/testsuite/c-c++-common/cpp/line-2.h | 5 +
gcc/testsuite/c-c++-common/cpp/line-3.c | 20 +
gcc/testsuite/c-c++-common/cpp/line-4.c | 11 +
gcc/testsuite/c-c++-common/cpp/line-4.h | 3 +
gcc/testsuite/c-c++-common/cpp/pr96323.c | 8 +
gcc/testsuite/c-c++-common/cpp/pragma-eof.c | 7 +
.../c-c++-common/diagnostic-format-json-1.c | 5 +
.../c-c++-common/diagnostic-format-json-2.c | 5 +
.../c-c++-common/diagnostic-format-json-3.c | 5 +
.../c-c++-common/diagnostic-format-json-4.c | 9 +
.../c-c++-common/diagnostic-format-json-5.c | 9 +
gcc/testsuite/c-c++-common/diagnostic-units-1.c | 28 +
gcc/testsuite/c-c++-common/diagnostic-units-2.c | 28 +
gcc/testsuite/c-c++-common/diagnostic-units-3.c | 28 +
gcc/testsuite/c-c++-common/diagnostic-units-4.c | 28 +
gcc/testsuite/c-c++-common/diagnostic-units-5.c | 28 +
gcc/testsuite/c-c++-common/diagnostic-units-6.c | 28 +
gcc/testsuite/c-c++-common/diagnostic-units-7.c | 28 +
gcc/testsuite/c-c++-common/diagnostic-units-8.c | 28 +
gcc/testsuite/c-c++-common/goacc/mdc-1.c | 14 +-
gcc/testsuite/c-c++-common/gomp/gridify-1.c | 54 -
gcc/testsuite/c-c++-common/gomp/gridify-2.c | 66 -
gcc/testsuite/c-c++-common/gomp/gridify-3.c | 68 -
.../c-c++-common/gomp/hsa-indirect-call-1.c | 24 -
gcc/testsuite/c-c++-common/gomp/loop-7.c | 24 +
gcc/testsuite/c-c++-common/gomp/pr96424.c | 23 +
gcc/testsuite/c-c++-common/missing-close-symbol.c | 6 +-
.../c-c++-common/patchable_function_entry-decl.c | 2 +-
.../patchable_function_entry-default.c | 2 +-
.../patchable_function_entry-definition.c | 2 +-
gcc/testsuite/c-c++-common/pr28656.c | 12 +-
gcc/testsuite/c-c++-common/pr51628-13.c | 2 +-
gcc/testsuite/c-c++-common/pr51628-15.c | 2 +-
gcc/testsuite/c-c++-common/pr51628-16.c | 4 +-
gcc/testsuite/c-c++-common/pr51628-26.c | 6 +-
gcc/testsuite/c-c++-common/pr51628-27.c | 2 +-
gcc/testsuite/c-c++-common/pr51628-28.c | 10 +-
gcc/testsuite/c-c++-common/pr51628-29.c | 3 +-
gcc/testsuite/c-c++-common/pr51628-3.c | 12 +-
gcc/testsuite/c-c++-common/pr51628-30.c | 5 +-
gcc/testsuite/c-c++-common/pr51628-31.c | 2 +-
gcc/testsuite/c-c++-common/pr51628-32.c | 3 +-
gcc/testsuite/c-c++-common/pr51628-33.c | 2 +-
gcc/testsuite/c-c++-common/pr51628-35.c | 4 +-
gcc/testsuite/c-c++-common/pr51628-4.c | 12 +-
gcc/testsuite/c-c++-common/pr51628-5.c | 12 +-
gcc/testsuite/c-c++-common/pr51628-6.c | 12 +-
gcc/testsuite/c-c++-common/pr51628-8.c | 14 +-
gcc/testsuite/c-c++-common/pr51628-9.c | 14 +-
gcc/testsuite/c-c++-common/pr56493.c | 2 +-
gcc/testsuite/c-c++-common/pr66208.c | 2 +-
gcc/testsuite/c-c++-common/pr88664-2.c | 4 +-
gcc/testsuite/c-c++-common/pr95237-1.c | 16 +
gcc/testsuite/c-c++-common/pr95237-2.c | 10 +
gcc/testsuite/c-c++-common/pr95237-3.c | 10 +
gcc/testsuite/c-c++-common/pr95237-4.c | 10 +
gcc/testsuite/c-c++-common/pr95237-5.c | 16 +
gcc/testsuite/c-c++-common/pr95237-6.c | 24 +
gcc/testsuite/c-c++-common/pr95237-7.c | 19 +
gcc/testsuite/c-c++-common/pr95237-8.c | 10 +
gcc/testsuite/c-c++-common/pr95237-9.c | 10 +
gcc/testsuite/c-c++-common/pr96192-1.c | 16 +
gcc/testsuite/c-c++-common/pr96369.c | 12 +
gcc/testsuite/c-c++-common/pr96545.c | 31 +
gcc/testsuite/g++.dg/DRs/dr188.C | 7 +
gcc/testsuite/g++.dg/abi/pure-virtual1.C | 1 +
gcc/testsuite/g++.dg/analyzer/pr93212.C | 5 +-
gcc/testsuite/g++.dg/analyzer/pr93950.C | 4 +-
gcc/testsuite/g++.dg/analyzer/pr94011.C | 16 +
gcc/testsuite/g++.dg/analyzer/pr94028.C | 9 +-
gcc/testsuite/g++.dg/analyzer/pr94503.C | 25 +
gcc/testsuite/g++.dg/analyzer/pr95042.C | 28 +
gcc/testsuite/g++.dg/analyzer/pr96641.C | 18 +
gcc/testsuite/g++.dg/concepts/abbrev7.C | 14 +
gcc/testsuite/g++.dg/concepts/diagnostic14.C | 36 +
gcc/testsuite/g++.dg/concepts/fn8.C | 2 +-
gcc/testsuite/g++.dg/conversion/ref4.C | 22 +
gcc/testsuite/g++.dg/conversion/ref5.C | 14 +
gcc/testsuite/g++.dg/conversion/ref6.C | 24 +
.../coroutines/co-return-syntax-10-movable.C | 12 +-
...> pr94760-mismatched-traits-and-promise-prev.C} | 0
gcc/testsuite/g++.dg/coroutines/pr95591.C | 26 +
gcc/testsuite/g++.dg/coroutines/pr95599.C | 69 +
gcc/testsuite/g++.dg/coroutines/pr95711.C | 79 +
gcc/testsuite/g++.dg/coroutines/pr95823.C | 30 +
gcc/testsuite/g++.dg/coroutines/pr95824.C | 37 +
.../coroutines/torture/pr95519-02-final_suspend.C | 2 +-
.../coroutines/torture/pr95519-03-return-value.C | 2 +-
.../coroutines/torture/pr95519-04-yield-value.C | 2 +-
.../g++.dg/coroutines/torture/pr95519-05-gro.C | 4 +-
gcc/testsuite/g++.dg/cpp0x/Wredundant-move1.C | 2 +-
gcc/testsuite/g++.dg/cpp0x/Wredundant-move7.C | 6 +-
gcc/testsuite/g++.dg/cpp0x/Wredundant-move9.C | 2 +-
gcc/testsuite/g++.dg/cpp0x/constexpr-array26.C | 13 +
gcc/testsuite/g++.dg/cpp0x/constexpr-array27.C | 13 +
gcc/testsuite/g++.dg/cpp0x/constexpr-is_literal.C | 2 +-
gcc/testsuite/g++.dg/cpp0x/decltype77.C | 10 +
gcc/testsuite/g++.dg/cpp0x/decltype78.C | 24 +
gcc/testsuite/g++.dg/cpp0x/decltype79.C | 19 +
gcc/testsuite/g++.dg/cpp0x/elision_neg.C | 2 +-
gcc/testsuite/g++.dg/cpp0x/move-return2.C | 2 +-
gcc/testsuite/g++.dg/cpp0x/move-return3.C | 23 +
gcc/testsuite/g++.dg/cpp0x/nullptr22.C | 4 +-
gcc/testsuite/g++.dg/cpp0x/pr81246.C | 2 +-
gcc/testsuite/g++.dg/cpp0x/ref-qual20.C | 5 +-
gcc/testsuite/g++.dg/cpp0x/variadic74.C | 2 +-
gcc/testsuite/g++.dg/cpp0x/vt-59978.C | 16 +
gcc/testsuite/g++.dg/cpp1y/auto-fn58.C | 13 +
gcc/testsuite/g++.dg/cpp1y/auto-fn59.C | 8 +
gcc/testsuite/g++.dg/cpp1y/auto-fn60.C | 11 +
gcc/testsuite/g++.dg/cpp1y/auto-fn61.C | 13 +
gcc/testsuite/g++.dg/cpp1y/constexpr-96182.C | 6 +
gcc/testsuite/g++.dg/cpp1y/constexpr-array8.C | 18 +
gcc/testsuite/g++.dg/cpp1y/constexpr-return2.C | 1 +
gcc/testsuite/g++.dg/cpp1y/pr63996.C | 1 +
gcc/testsuite/g++.dg/cpp1y/pr68578.C | 2 +-
gcc/testsuite/g++.dg/cpp1y/var-templ44.C | 1 +
gcc/testsuite/g++.dg/cpp1y/var-templ66.C | 7 +
gcc/testsuite/g++.dg/cpp1y/var-templ67.C | 16 +
gcc/testsuite/g++.dg/cpp1z/aggr-base10.C | 16 +
gcc/testsuite/g++.dg/cpp1z/launder9.C | 11 +
gcc/testsuite/g++.dg/cpp1z/nontype-auto3.C | 2 +-
gcc/testsuite/g++.dg/cpp1z/nontype2.C | 2 +-
gcc/testsuite/g++.dg/cpp1z/nontype3.C | 2 +-
gcc/testsuite/g++.dg/cpp2a/class-deduction-aggr5.C | 20 +
gcc/testsuite/g++.dg/cpp2a/class-deduction-aggr6.C | 35 +
gcc/testsuite/g++.dg/cpp2a/class-deduction-aggr7.C | 14 +
.../g++.dg/cpp2a/class-deduction-alias3.C | 11 +
.../g++.dg/cpp2a/concepts-explicit-inst5.C | 14 +
gcc/testsuite/g++.dg/cpp2a/concepts-fn1.C | 2 +-
gcc/testsuite/g++.dg/cpp2a/concepts-fn5.C | 17 +
gcc/testsuite/g++.dg/cpp2a/concepts-pr95497.C | 12 +
gcc/testsuite/g++.dg/cpp2a/concepts-redecl1.C | 7 +
gcc/testsuite/g++.dg/cpp2a/concepts-ts2.C | 2 +-
gcc/testsuite/g++.dg/cpp2a/concepts-ts3.C | 2 +-
gcc/testsuite/g++.dg/cpp2a/consteval-virtual1.C | 12 +
gcc/testsuite/g++.dg/cpp2a/consteval-virtual2.C | 22 +
gcc/testsuite/g++.dg/cpp2a/consteval-virtual3.C | 53 +
gcc/testsuite/g++.dg/cpp2a/consteval-virtual4.C | 48 +
gcc/testsuite/g++.dg/cpp2a/consteval-virtual5.C | 61 +
gcc/testsuite/g++.dg/cpp2a/constexpr-init18.C | 16 +
gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C | 4 +-
gcc/testsuite/g++.dg/cpp2a/implicit-move1.C | 17 +
gcc/testsuite/g++.dg/cpp2a/implicit-move2.C | 49 +
gcc/testsuite/g++.dg/cpp2a/implicit-move3.C | 49 +
gcc/testsuite/g++.dg/cpp2a/no_unique_address4.C | 22 +
gcc/testsuite/g++.dg/cpp2a/no_unique_address5.C | 25 +
gcc/testsuite/g++.dg/cpp2a/no_unique_address6.C | 25 +
gcc/testsuite/g++.dg/cpp2a/no_unique_address7.C | 13 +
gcc/testsuite/g++.dg/cpp2a/no_unique_address7a.C | 14 +
gcc/testsuite/g++.dg/cpp2a/nontype-class-equiv1.C | 25 +
gcc/testsuite/g++.dg/cpp2a/nontype-class-union1.C | 25 +
gcc/testsuite/g++.dg/cpp2a/nontype-subob1.C | 25 +
gcc/testsuite/g++.dg/cpp2a/nontype-subob2.C | 13 +
gcc/testsuite/g++.dg/cpp2a/paren-init27.C | 24 +
gcc/testsuite/g++.dg/cpp2a/paren-init28.C | 15 +
gcc/testsuite/g++.dg/cpp2a/paren-init29.C | 15 +
gcc/testsuite/g++.dg/cpp2a/paren-init30.C | 23 +
gcc/testsuite/g++.dg/cpp2a/paren-init31.C | 10 +
gcc/testsuite/g++.dg/cpp2a/paren-init32.C | 21 +
gcc/testsuite/g++.dg/cpp2a/spaceship-constexpr3.C | 7 +
gcc/testsuite/g++.dg/diagnostic/bad-binary-ops.C | 8 +-
gcc/testsuite/g++.dg/diagnostic/enum2.C | 10 +
gcc/testsuite/g++.dg/diagnostic/mem-init1.C | 29 +
gcc/testsuite/g++.dg/diagnostic/pr96328.C | 4 +
gcc/testsuite/g++.dg/eh/builtin10.C | 12 +-
gcc/testsuite/g++.dg/eh/builtin11.C | 20 +-
gcc/testsuite/g++.dg/eh/builtin5.C | 8 +-
gcc/testsuite/g++.dg/eh/builtin6.C | 16 +-
gcc/testsuite/g++.dg/eh/builtin7.C | 12 +-
gcc/testsuite/g++.dg/eh/builtin9.C | 20 +-
gcc/testsuite/g++.dg/ext/attr-nonnull.C | 8 +-
gcc/testsuite/g++.dg/ext/attrib49.C | 4 +-
gcc/testsuite/g++.dg/ext/flexary37.C | 15 +
gcc/testsuite/g++.dg/gcov/loop.C | 2 +-
gcc/testsuite/g++.dg/gomp/critical-3.C | 31 +-
gcc/testsuite/g++.dg/gomp/gomp.exp | 2 +-
gcc/testsuite/g++.dg/ipa/pr83667.C | 2 +-
.../g++.dg/lookup/missing-std-include-10.C | 43 +
.../g++.dg/lookup/missing-std-include-10.h | 1 +
.../g++.dg/lookup/missing-std-include-11.C | 43 +
gcc/testsuite/g++.dg/opt/flifetime-dse2.C | 1 -
gcc/testsuite/g++.dg/opt/flifetime-dse4.C | 1 -
gcc/testsuite/g++.dg/opt/flifetime-dse7.C | 16 +
gcc/testsuite/g++.dg/opt/pr96194.C | 21 +
gcc/testsuite/g++.dg/opt/pr96354.C | 24 +
gcc/testsuite/g++.dg/other/error35.C | 2 +-
gcc/testsuite/g++.dg/parse/crash55.C | 4 +-
gcc/testsuite/g++.dg/parse/enum14.C | 7 +
gcc/testsuite/g++.dg/parse/error4.C | 2 +-
gcc/testsuite/g++.dg/parse/pr96257.C | 18 +
gcc/testsuite/g++.dg/parse/pragma-recovery.C | 32 +
gcc/testsuite/g++.dg/pr71973-2.C | 2 +-
gcc/testsuite/g++.dg/pr96308.C | 7 +
gcc/testsuite/g++.dg/template/crash106.C | 8 +-
gcc/testsuite/g++.dg/template/crash119.C | 2 +-
gcc/testsuite/g++.dg/template/incomplete12.C | 9 +
gcc/testsuite/g++.dg/template/nontype12.C | 20 +-
gcc/testsuite/g++.dg/template/nontype25.C | 6 +-
gcc/testsuite/g++.dg/template/nontype8.C | 4 +-
gcc/testsuite/g++.dg/template/pr39425.C | 8 +-
gcc/testsuite/g++.dg/template/template-keyword3.C | 11 +
gcc/testsuite/g++.dg/template/void3.C | 2 +-
gcc/testsuite/g++.dg/template/void7.C | 2 +-
gcc/testsuite/g++.dg/template/void9.C | 2 +-
gcc/testsuite/g++.dg/vect/pr96022.cc | 12 +
gcc/testsuite/g++.dg/vect/pr96163.cc | 146 +
gcc/testsuite/g++.dg/vect/slp-pr56812.cc | 2 +-
gcc/testsuite/g++.dg/warn/Wmismatched-tags-7.C | 13 +
gcc/testsuite/g++.dg/warn/Wmismatched-tags-8.C | 22 +
gcc/testsuite/g++.dg/warn/Wnonnull3.C | 4 +-
gcc/testsuite/g++.dg/warn/Wnonnull4.C | 4 +-
gcc/testsuite/g++.dg/warn/Wnonnull5.C | 108 +
gcc/testsuite/g++.dg/warn/Wnonnull6.C | 37 +
gcc/testsuite/g++.dg/warn/Wnonnull7.C | 36 +
gcc/testsuite/g++.dg/warn/Wnonnull8.C | 20 +
gcc/testsuite/g++.old-deja/g++.brendan/crash11.C | 4 +-
gcc/testsuite/g++.old-deja/g++.bugs/900404_04.C | 6 +-
gcc/testsuite/g++.old-deja/g++.law/missed-error2.C | 4 +-
gcc/testsuite/g++.old-deja/g++.pt/overload2.C | 2 +-
gcc/testsuite/g++.old-deja/g++.pt/spec20.C | 5 +-
gcc/testsuite/g++.old-deja/g++.robertl/eb109.C | 4 +-
gcc/testsuite/g++.target/aarch64/pr95114.C | 3 +
gcc/testsuite/g++.target/aarch64/pr95726.C | 46 +
.../aarch64/sve/acle/general-c++/gnu_vectors_3.C | 15 +
.../aarch64/sve/acle/general-c++/gnu_vectors_4.C | 15 +
gcc/testsuite/g++.target/arm/pr95726.C | 49 +
gcc/testsuite/g++.target/i386/mv16.C | 12 +
gcc/testsuite/gcc.c-torture/compile/pr96426.c | 10 +
gcc/testsuite/gcc.c-torture/execute/pr23135.c | 2 +-
gcc/testsuite/gcc.c-torture/execute/pr96549.c | 12 +
gcc/testsuite/gcc.dg/Warray-bounds-46.c | 3 +-
gcc/testsuite/gcc.dg/Warray-bounds-48.c | 3 +-
gcc/testsuite/gcc.dg/Warray-bounds-50.c | 3 +-
gcc/testsuite/gcc.dg/Warray-bounds-62.c | 130 +
gcc/testsuite/gcc.dg/Wattributes-6.c | 2 +-
gcc/testsuite/gcc.dg/Wno-frame-address.c | 2 +-
gcc/testsuite/gcc.dg/Wreturn-local-addr-2.c | 3 +-
gcc/testsuite/gcc.dg/Wreturn-local-addr-3.c | 3 +-
gcc/testsuite/gcc.dg/Wreturn-local-addr-4.c | 3 +-
gcc/testsuite/gcc.dg/Wreturn-local-addr-6.c | 3 +-
gcc/testsuite/gcc.dg/Wstack-usage.c | 3 +-
gcc/testsuite/gcc.dg/Wstringop-overflow-15.c | 3 +-
gcc/testsuite/gcc.dg/Wstringop-overflow-23.c | 3 +-
gcc/testsuite/gcc.dg/Wstringop-overflow-25.c | 3 +-
gcc/testsuite/gcc.dg/Wstringop-overflow-27.c | 3 +-
gcc/testsuite/gcc.dg/Wstringop-overflow-39.c | 3 +-
gcc/testsuite/gcc.dg/Wunused-var-4.c | 33 +
.../gcc.dg/analyzer/CVE-2005-1689-dedupe-issue-2.c | 30 +
.../gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c | 2 +-
.../gcc.dg/analyzer/CVE-2005-1689-minimal.c | 61 +
gcc/testsuite/gcc.dg/analyzer/abs-1.c | 22 +
gcc/testsuite/gcc.dg/analyzer/aliasing-1.c | 25 +
gcc/testsuite/gcc.dg/analyzer/aliasing-2.c | 32 +
gcc/testsuite/gcc.dg/analyzer/alloca-leak.c | 2 +
gcc/testsuite/gcc.dg/analyzer/analyzer-decls.h | 7 +-
gcc/testsuite/gcc.dg/analyzer/attribute-nonnull.c | 12 +-
gcc/testsuite/gcc.dg/analyzer/bzero-1.c | 11 +
gcc/testsuite/gcc.dg/analyzer/casts-1.c | 49 +
gcc/testsuite/gcc.dg/analyzer/casts-2.c | 15 +
.../gcc.dg/analyzer/compound-assignment-1.c | 9 +-
.../gcc.dg/analyzer/compound-assignment-3.c | 2 +-
.../gcc.dg/analyzer/compound-assignment-4.c | 28 +
.../gcc.dg/analyzer/compound-assignment-5.c | 142 +
.../gcc.dg/analyzer/conditionals-notrans.c | 33 +-
gcc/testsuite/gcc.dg/analyzer/data-model-1.c | 98 +-
gcc/testsuite/gcc.dg/analyzer/data-model-13.c | 7 +-
gcc/testsuite/gcc.dg/analyzer/data-model-14.c | 9 +-
gcc/testsuite/gcc.dg/analyzer/data-model-16.c | 2 +
gcc/testsuite/gcc.dg/analyzer/data-model-18.c | 4 +-
gcc/testsuite/gcc.dg/analyzer/data-model-20.c | 25 +
gcc/testsuite/gcc.dg/analyzer/data-model-5.c | 13 +-
gcc/testsuite/gcc.dg/analyzer/data-model-5b.c | 12 +-
gcc/testsuite/gcc.dg/analyzer/data-model-5c.c | 13 +-
gcc/testsuite/gcc.dg/analyzer/data-model-5d.c | 61 +-
gcc/testsuite/gcc.dg/analyzer/data-model-6.c | 14 -
gcc/testsuite/gcc.dg/analyzer/data-model-8.c | 3 +-
gcc/testsuite/gcc.dg/analyzer/describe-1.c | 11 +
gcc/testsuite/gcc.dg/analyzer/dot-output.c | 3 +-
gcc/testsuite/gcc.dg/analyzer/explode-1.c | 2 +-
gcc/testsuite/gcc.dg/analyzer/explode-2.c | 16 +-
gcc/testsuite/gcc.dg/analyzer/feasibility-1.c | 62 +
gcc/testsuite/gcc.dg/analyzer/first-field-1.c | 24 +
gcc/testsuite/gcc.dg/analyzer/first-field-2.c | 33 +
gcc/testsuite/gcc.dg/analyzer/init.c | 136 +
gcc/testsuite/gcc.dg/analyzer/leak-2.c | 9 +
.../analyzer/loop-0-up-to-n-by-1-with-iter-obj.c | 73 +
.../gcc.dg/analyzer/loop-0-up-to-n-by-1.c | 31 +
gcc/testsuite/gcc.dg/analyzer/loop-2a.c | 10 +-
gcc/testsuite/gcc.dg/analyzer/loop-3.c | 7 +-
gcc/testsuite/gcc.dg/analyzer/loop-4.c | 13 +-
.../gcc.dg/analyzer/loop-n-down-to-1-by-1.c | 35 +
.../gcc.dg/analyzer/loop-start-down-to-end-by-1.c | 35 +
.../analyzer/loop-start-down-to-end-by-step.c | 30 +
.../gcc.dg/analyzer/loop-start-to-end-by-step.c | 36 +
.../gcc.dg/analyzer/loop-start-up-to-end-by-1.c | 34 +
gcc/testsuite/gcc.dg/analyzer/loop.c | 9 +-
gcc/testsuite/gcc.dg/analyzer/malloc-1.c | 28 +-
gcc/testsuite/gcc.dg/analyzer/malloc-4.c | 4 +-
gcc/testsuite/gcc.dg/analyzer/malloc-in-loop.c | 19 +
.../gcc.dg/analyzer/malloc-ipa-8-double-free.c | 82 +-
.../gcc.dg/analyzer/malloc-ipa-8-unchecked.c | 6 +-
gcc/testsuite/gcc.dg/analyzer/malloc-paths-8.c | 1 +
gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c | 59 +-
gcc/testsuite/gcc.dg/analyzer/malloc-vs-local-1a.c | 22 +-
gcc/testsuite/gcc.dg/analyzer/malloc-vs-local-2.c | 16 +-
gcc/testsuite/gcc.dg/analyzer/malloc-vs-local-3.c | 7 +-
gcc/testsuite/gcc.dg/analyzer/memset-1.c | 100 +
gcc/testsuite/gcc.dg/analyzer/paths-3.c | 4 +-
gcc/testsuite/gcc.dg/analyzer/paths-4.c | 10 +-
gcc/testsuite/gcc.dg/analyzer/paths-6.c | 4 +-
gcc/testsuite/gcc.dg/analyzer/paths-7.c | 3 +-
.../gcc.dg/analyzer/pr93032-mztools-simplified.c | 22 +
gcc/testsuite/gcc.dg/analyzer/pr93032-mztools.c | 331 +
gcc/testsuite/gcc.dg/analyzer/pr93382.c | 6 +-
gcc/testsuite/gcc.dg/analyzer/pr93546.c | 1 +
gcc/testsuite/gcc.dg/analyzer/pr93938.c | 13 +
gcc/testsuite/gcc.dg/analyzer/pr94099.c | 3 +-
gcc/testsuite/gcc.dg/analyzer/pr94399.c | 13 +
gcc/testsuite/gcc.dg/analyzer/pr94447.c | 2 +-
gcc/testsuite/gcc.dg/analyzer/pr94458.c | 23 +
gcc/testsuite/gcc.dg/analyzer/pr94640.c | 17 +
gcc/testsuite/gcc.dg/analyzer/pr94688.c | 6 +
gcc/testsuite/gcc.dg/analyzer/pr94689.c | 8 +
gcc/testsuite/gcc.dg/analyzer/pr94839.c | 20 +
gcc/testsuite/gcc.dg/analyzer/pr95026.c | 17 +
gcc/testsuite/gcc.dg/analyzer/pr95240.c | 27 +
gcc/testsuite/gcc.dg/analyzer/pr96598.c | 26 +
gcc/testsuite/gcc.dg/analyzer/pr96611.c | 14 +
gcc/testsuite/gcc.dg/analyzer/pr96639.c | 10 +
gcc/testsuite/gcc.dg/analyzer/pr96642.c | 10 +
gcc/testsuite/gcc.dg/analyzer/pr96644.c | 24 +
gcc/testsuite/gcc.dg/analyzer/refcounting-1.c | 31 +
gcc/testsuite/gcc.dg/analyzer/setjmp-1.c | 1 +
gcc/testsuite/gcc.dg/analyzer/setjmp-2.c | 1 +
gcc/testsuite/gcc.dg/analyzer/setjmp-3.c | 1 +
gcc/testsuite/gcc.dg/analyzer/setjmp-4.c | 1 +
gcc/testsuite/gcc.dg/analyzer/setjmp-5.c | 1 +
gcc/testsuite/gcc.dg/analyzer/setjmp-6.c | 2 +
gcc/testsuite/gcc.dg/analyzer/setjmp-7.c | 2 +
gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c | 1 +
gcc/testsuite/gcc.dg/analyzer/setjmp-8.c | 1 +
gcc/testsuite/gcc.dg/analyzer/setjmp-9.c | 1 +
gcc/testsuite/gcc.dg/analyzer/setjmp-pr93378.c | 1 +
gcc/testsuite/gcc.dg/analyzer/signal-1.c | 1 +
gcc/testsuite/gcc.dg/analyzer/signal-2.c | 1 +
gcc/testsuite/gcc.dg/analyzer/signal-3.c | 1 +
gcc/testsuite/gcc.dg/analyzer/signal-4a.c | 1 +
gcc/testsuite/gcc.dg/analyzer/signal-4b.c | 1 +
gcc/testsuite/gcc.dg/analyzer/signal-5.c | 1 +
gcc/testsuite/gcc.dg/analyzer/signal-6.c | 1 +
gcc/testsuite/gcc.dg/analyzer/signal-exit.c | 1 +
gcc/testsuite/gcc.dg/analyzer/single-field.c | 37 +
gcc/testsuite/gcc.dg/analyzer/stale-frame-1.c | 15 +
gcc/testsuite/gcc.dg/analyzer/symbolic-1.c | 43 +
gcc/testsuite/gcc.dg/analyzer/symbolic-2.c | 32 +
gcc/testsuite/gcc.dg/analyzer/symbolic-3.c | 12 +
gcc/testsuite/gcc.dg/analyzer/symbolic-4.c | 20 +
gcc/testsuite/gcc.dg/analyzer/symbolic-5.c | 29 +
gcc/testsuite/gcc.dg/analyzer/symbolic-6.c | 24 +
gcc/testsuite/gcc.dg/analyzer/taint-1.c | 22 +-
.../gcc.dg/analyzer/torture/loop-inc-ptr-1.c | 15 +
.../gcc.dg/analyzer/torture/loop-inc-ptr-2.c | 17 +
.../gcc.dg/analyzer/torture/loop-inc-ptr-3.c | 18 +
gcc/testsuite/gcc.dg/analyzer/unknown-fns-2.c | 238 +
gcc/testsuite/gcc.dg/analyzer/unknown-fns-3.c | 67 +
gcc/testsuite/gcc.dg/analyzer/unknown-fns-4.c | 15 +
gcc/testsuite/gcc.dg/analyzer/unknown-fns.c | 8 +-
gcc/testsuite/gcc.dg/analyzer/use-after-free.c | 12 +
gcc/testsuite/gcc.dg/analyzer/vla-1.c | 13 +
gcc/testsuite/gcc.dg/analyzer/zlib-4.c | 10 +-
gcc/testsuite/gcc.dg/attr-copy-4.c | 4 +-
gcc/testsuite/gcc.dg/attr-copy-6.c | 1 +
gcc/testsuite/gcc.dg/attr-copy-8.c | 25 +
gcc/testsuite/gcc.dg/bad-binary-ops.c | 8 +-
gcc/testsuite/gcc.dg/builtin-object-size-21.c | 3 +-
gcc/testsuite/gcc.dg/c11-align-9.c | 4 +-
gcc/testsuite/gcc.dg/c11-bool-limits-1.c | 13 +
gcc/testsuite/gcc.dg/c2x-bool-limits-1.c | 19 +
gcc/testsuite/gcc.dg/cdce3.c | 3 +-
gcc/testsuite/gcc.dg/const-uniq-1.c | 2 +-
gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-1.c | 17 +
gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-2.c | 17 +
gcc/testsuite/gcc.dg/fixits-pr84852-1.c | 2 +-
gcc/testsuite/gcc.dg/fixits-pr84852-2.c | 2 +-
gcc/testsuite/gcc.dg/fold-parity-1.c | 21 +
gcc/testsuite/gcc.dg/fold-parity-2.c | 20 +
gcc/testsuite/gcc.dg/fold-parity-3.c | 20 +
gcc/testsuite/gcc.dg/fold-parity-4.c | 20 +
gcc/testsuite/gcc.dg/fold-parity-5.c | 38 +
gcc/testsuite/gcc.dg/fold-popcount-5.c | 38 +
gcc/testsuite/gcc.dg/format/branch-1.c | 2 +-
gcc/testsuite/gcc.dg/format/pr79210.c | 2 +-
gcc/testsuite/gcc.dg/gimplefe-44.c | 1 +
gcc/testsuite/gcc.dg/gomp/gomp.exp | 2 +-
gcc/testsuite/gcc.dg/guality/pr95343.c | 45 +
gcc/testsuite/gcc.dg/ia64-sync-5.c | 83 +
gcc/testsuite/gcc.dg/independent-cloneids-1.c | 1 +
gcc/testsuite/gcc.dg/ipa/ipa-clone-2.c | 2 +-
gcc/testsuite/gcc.dg/ipa/pr96040.c | 57 +
gcc/testsuite/gcc.dg/ipa/pr96482-2.c | 33 +
gcc/testsuite/gcc.dg/ipa/pr96482.c | 44 +
gcc/testsuite/gcc.dg/loop-8.c | 2 +-
gcc/testsuite/gcc.dg/lto/pr96291.h | 4 +
gcc/testsuite/gcc.dg/lto/pr96291_0.c | 11 +
gcc/testsuite/gcc.dg/lto/pr96291_1.c | 3 +
gcc/testsuite/gcc.dg/lto/pr96291_2.c | 7 +
gcc/testsuite/gcc.dg/memchr-2.c | 41 +
gcc/testsuite/gcc.dg/memchr.c | 94 +
gcc/testsuite/gcc.dg/memcmp-2.c | 183 +
gcc/testsuite/gcc.dg/memcmp-3.c | 349 +
gcc/testsuite/gcc.dg/memcmp-4.c | 81 +
gcc/testsuite/gcc.dg/memcmp-5.c | 72 +
gcc/testsuite/gcc.dg/memcmp-6.c | 47 +
gcc/testsuite/gcc.dg/memcmp-pr95189.c | 28 +
.../gcc.dg/no_profile_instrument_function-attr-1.c | 2 +-
.../gcc.dg/plugin/diagnostic-test-expressions-1.c | 16 +-
.../plugin/diagnostic-test-string-literals-1.c | 4 +-
gcc/testsuite/gcc.dg/pr26570.c | 2 +
gcc/testsuite/gcc.dg/pr30957-1.c | 4 +-
gcc/testsuite/gcc.dg/pr44194-1.c | 1 +
gcc/testsuite/gcc.dg/pr51628-17.c | 2 +-
gcc/testsuite/gcc.dg/pr51628-19.c | 6 +-
gcc/testsuite/gcc.dg/pr51628-20.c | 2 +-
gcc/testsuite/gcc.dg/pr51628-21.c | 2 +-
gcc/testsuite/gcc.dg/pr51628-22.c | 2 +-
gcc/testsuite/gcc.dg/pr51628-24.c | 2 +-
gcc/testsuite/gcc.dg/pr51628-25.c | 2 +-
gcc/testsuite/gcc.dg/pr51628-34.c | 8 +-
gcc/testsuite/gcc.dg/pr53037-1.c | 4 +-
gcc/testsuite/gcc.dg/pr84131.c | 3 +-
gcc/testsuite/gcc.dg/pr87485.c | 1 +
gcc/testsuite/gcc.dg/pr88928.c | 2 +-
gcc/testsuite/gcc.dg/pr89410-1.c | 2 +-
gcc/testsuite/gcc.dg/pr89410-2.c | 2 +-
gcc/testsuite/gcc.dg/pr93986.c | 3 +-
gcc/testsuite/gcc.dg/pr94600-1.c | 36 +
gcc/testsuite/gcc.dg/pr94600-2.c | 34 +
gcc/testsuite/gcc.dg/pr94600-3.c | 35 +
gcc/testsuite/gcc.dg/pr94600-4.c | 34 +
gcc/testsuite/gcc.dg/pr94600-5.c | 34 +
gcc/testsuite/gcc.dg/pr94600-6.c | 33 +
gcc/testsuite/gcc.dg/pr94600-7.c | 33 +
gcc/testsuite/gcc.dg/pr94600-8.c | 33 +
gcc/testsuite/gcc.dg/pr95133.c | 1 +
gcc/testsuite/gcc.dg/pr95694.c | 23 +
gcc/testsuite/gcc.dg/pr95854.c | 20 +
gcc/testsuite/gcc.dg/pr95857.c | 38 +
gcc/testsuite/gcc.dg/pr96298.c | 18 +
gcc/testsuite/gcc.dg/pr96335.c | 12 +
gcc/testsuite/gcc.dg/pr96370.c | 8 +
gcc/testsuite/gcc.dg/pr96377-1.c | 32 +
gcc/testsuite/gcc.dg/pr96377-2.c | 31 +
gcc/testsuite/gcc.dg/pr96377-3.c | 33 +
gcc/testsuite/gcc.dg/pr96377-4.c | 32 +
gcc/testsuite/gcc.dg/pr96377-5.c | 33 +
gcc/testsuite/gcc.dg/pr96377-6.c | 32 +
gcc/testsuite/gcc.dg/pr96514.c | 27 +
gcc/testsuite/gcc.dg/pr96558.c | 32 +
gcc/testsuite/gcc.dg/redecl-4.c | 2 +-
gcc/testsuite/gcc.dg/sso-11.c | 36 +
gcc/testsuite/gcc.dg/sso/memcpy-1.c | 59 +
gcc/testsuite/gcc.dg/sso/sso.exp | 12 +-
gcc/testsuite/gcc.dg/strlenopt-55.c | 3 +-
gcc/testsuite/gcc.dg/strlenopt-83.c | 3 +-
gcc/testsuite/gcc.dg/strlenopt-84.c | 3 +-
gcc/testsuite/gcc.dg/strlenopt-91.c | 3 +-
gcc/testsuite/gcc.dg/strncmp-3.c | 57 +
gcc/testsuite/gcc.dg/torture/20200727-0.c | 82 +
.../gcc.dg/torture/fp-int-convert-timode-3.c | 1 +
.../gcc.dg/torture/fp-int-convert-timode-4.c | 1 +
gcc/testsuite/gcc.dg/torture/pr39074-2.c | 4 +-
gcc/testsuite/gcc.dg/torture/pr39074.c | 4 +-
gcc/testsuite/gcc.dg/torture/pr59330.c | 1 +
gcc/testsuite/gcc.dg/torture/pr92088-1.c | 1 +
gcc/testsuite/gcc.dg/torture/pr92088-2.c | 1 +
gcc/testsuite/gcc.dg/torture/pr93124.c | 1 +
gcc/testsuite/gcc.dg/torture/pr94479.c | 1 +
gcc/testsuite/gcc.dg/torture/pr96130.c | 26 +
gcc/testsuite/gcc.dg/torture/pr96133.c | 16 +
gcc/testsuite/gcc.dg/torture/pr96349.c | 25 +
gcc/testsuite/gcc.dg/torture/pr96491.c | 29 +
gcc/testsuite/gcc.dg/torture/pta-callused-1.c | 2 +-
.../gcc.dg/tree-prof/cold_partition_label.c | 8 +-
.../tree-prof/crossmodule-indir-call-topn-1.c | 8 +-
.../tree-prof/crossmodule-indir-call-topn-2.c | 8 +-
.../gcc.dg/tree-prof/indir-call-prof-malloc.c | 49 +
.../gcc.dg/tree-prof/indir-call-prof-topn.c | 8 +-
gcc/testsuite/gcc.dg/tree-prof/section-attr-1.c | 8 +-
gcc/testsuite/gcc.dg/tree-prof/section-attr-2.c | 8 +-
gcc/testsuite/gcc.dg/tree-prof/section-attr-3.c | 8 +-
gcc/testsuite/gcc.dg/tree-ssa/andnot-2.c | 10 +
.../gcc.dg/tree-ssa/builtin-sprintf-warn-22.c | 3 +-
gcc/testsuite/gcc.dg/tree-ssa/forwprop-36.c | 3 +-
gcc/testsuite/gcc.dg/tree-ssa/pr93121-1.c | 56 +
gcc/testsuite/gcc.dg/tree-ssa/pr93121-2.c | 22 +
gcc/testsuite/gcc.dg/tree-ssa/pr94882-1.c | 42 +
gcc/testsuite/gcc.dg/tree-ssa/pr94882-2.c | 78 +
gcc/testsuite/gcc.dg/tree-ssa/pr94882-3.c | 79 +
gcc/testsuite/gcc.dg/tree-ssa/pr94882.c | 36 +
gcc/testsuite/gcc.dg/tree-ssa/pr95433-2.c | 15 +
gcc/testsuite/gcc.dg/tree-ssa/pr95433.c | 8 +
gcc/testsuite/gcc.dg/tree-ssa/pr95804.c | 18 +
gcc/testsuite/gcc.dg/tree-ssa/pr95906.c | 13 +
gcc/testsuite/gcc.dg/tree-ssa/pr96480.c | 23 +
gcc/testsuite/gcc.dg/tree-ssa/reassoc-20.c | 2 +-
gcc/testsuite/gcc.dg/tree-ssa/split-path-12.c | 19 +
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c | 2 +-
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-26.c | 8 +-
gcc/testsuite/gcc.dg/tree-ssa/vector-4.c | 3 +-
gcc/testsuite/gcc.dg/uninit-32.c | 3 +-
gcc/testsuite/gcc.dg/uninit-36.c | 3 +-
gcc/testsuite/gcc.dg/vect/bb-slp-10.c | 2 +-
gcc/testsuite/gcc.dg/vect/bb-slp-pr95839-2.c | 20 +
.../vect/costmodel/x86_64/costmodel-vect-slp-2.c | 14 +
gcc/testsuite/gcc.dg/vect/pr95916.c | 13 +
gcc/testsuite/gcc.dg/vect/slp-45.c | 3 +-
gcc/testsuite/gcc.dg/vect/slp-46.c | 96 +
gcc/testsuite/gcc.dg/vect/slp-47.c | 56 +
gcc/testsuite/gcc.dg/vect/slp-48.c | 56 +
gcc/testsuite/gcc.dg/vect/vect-109.c | 2 +-
gcc/testsuite/gcc.misc-tests/arm-isr.c | 2 +
gcc/testsuite/gcc.misc-tests/outputs.exp | 37 +-
gcc/testsuite/gcc.target/aarch64/acle/jcvt_2.c | 33 +
gcc/testsuite/gcc.target/aarch64/bti-4.c | 60 +
.../aarch64/cpunative/aarch64-cpunative.exp | 35 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_0 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_1 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_10 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_11 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_12 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_13 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_14 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_15 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_2 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_3 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_4 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_5 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_6 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_7 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_8 | 8 +
gcc/testsuite/gcc.target/aarch64/cpunative/info_9 | 8 +
.../gcc.target/aarch64/cpunative/native_cpu_0.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_1.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_10.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_11.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_12.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_13.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_14.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_15.c | 15 +
.../gcc.target/aarch64/cpunative/native_cpu_2.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_3.c | 13 +
.../gcc.target/aarch64/cpunative/native_cpu_4.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_5.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_6.c | 13 +
.../gcc.target/aarch64/cpunative/native_cpu_7.c | 13 +
.../gcc.target/aarch64/cpunative/native_cpu_8.c | 12 +
.../gcc.target/aarch64/cpunative/native_cpu_9.c | 14 +
gcc/testsuite/gcc.target/aarch64/cpymem-q-reg_1.c | 16 +
gcc/testsuite/gcc.target/aarch64/get_fpcr64_1.c | 10 +
gcc/testsuite/gcc.target/aarch64/get_fpsr64_1.c | 10 +
.../gcc.target/aarch64/large_struct_copy_2.c | 7 +-
gcc/testsuite/gcc.target/aarch64/ldp_vec_v2sf.c | 14 +
gcc/testsuite/gcc.target/aarch64/ldp_vec_v2si.c | 14 +
gcc/testsuite/gcc.target/aarch64/nospill.c | 35 +
gcc/testsuite/gcc.target/aarch64/pr96377-1.c | 20 +
gcc/testsuite/gcc.target/aarch64/pr96402.c | 16 +
.../gcc.target/aarch64/return_address_sign_1.c | 8 +-
.../gcc.target/aarch64/return_address_sign_b_1.c | 8 +-
gcc/testsuite/gcc.target/aarch64/set_fpcr64_1.c | 10 +
gcc/testsuite/gcc.target/aarch64/set_fpsr64_1.c | 10 +
.../aarch64/sls-mitigation/sls-miti-blr-bti.c | 40 +
.../aarch64/sls-mitigation/sls-miti-blr.c | 33 +
.../aarch64/sls-mitigation/sls-miti-retbr-pacret.c | 21 +
.../aarch64/sls-mitigation/sls-miti-retbr.c | 119 +
.../aarch64/sls-mitigation/sls-mitigation.exp | 73 +
.../gcc.target/aarch64/stack-protector-1.c | 89 +
.../gcc.target/aarch64/stack-protector-2.c | 6 +
gcc/testsuite/gcc.target/aarch64/stp_vec_v2df.c | 18 +
gcc/testsuite/gcc.target/aarch64/stp_vec_v2di.c | 18 +
gcc/testsuite/gcc.target/aarch64/stp_vec_v2sf.c | 18 +
gcc/testsuite/gcc.target/aarch64/stp_vec_v2si.c | 18 +
.../aarch64/sve/acle/general-c/gnu_vectors_3.c | 15 +
.../aarch64/sve/acle/general-c/gnu_vectors_4.c | 15 +
.../gcc.target/aarch64/sve/acle/general/pr96146.c | 20 +
gcc/testsuite/gcc.target/aarch64/sve/clastb_1.c | 2 +-
gcc/testsuite/gcc.target/aarch64/sve/clastb_2.c | 2 +-
gcc/testsuite/gcc.target/aarch64/sve/clastb_3.c | 2 +-
gcc/testsuite/gcc.target/aarch64/sve/clastb_4.c | 2 +-
gcc/testsuite/gcc.target/aarch64/sve/clastb_5.c | 2 +-
gcc/testsuite/gcc.target/aarch64/sve/clastb_6.c | 2 +-
gcc/testsuite/gcc.target/aarch64/sve/clastb_7.c | 2 +-
.../gcc.target/aarch64/sve/cost_model_2.c | 2 +-
gcc/testsuite/gcc.target/aarch64/sve/pr95961.c | 16 +
gcc/testsuite/gcc.target/aarch64/sve/pr96195.c | 17 +
gcc/testsuite/gcc.target/aarch64/vdup_n_3.c | 16 +
gcc/testsuite/gcc.target/aarch64/vins-1.c | 23 +
gcc/testsuite/gcc.target/aarch64/vins-2.c | 23 +
gcc/testsuite/gcc.target/aarch64/vins-3.c | 23 +
gcc/testsuite/gcc.target/aarch64/vzip_1.c | 12 +
gcc/testsuite/gcc.target/aarch64/vzip_2.c | 13 +
gcc/testsuite/gcc.target/aarch64/vzip_3.c | 13 +
gcc/testsuite/gcc.target/aarch64/vzip_4.c | 13 +
gcc/testsuite/gcc.target/arm/empty_fiq_handler.c | 1 +
gcc/testsuite/gcc.target/arm/handler-align.c | 2 +-
gcc/testsuite/gcc.target/arm/interrupt-1.c | 2 +-
gcc/testsuite/gcc.target/arm/interrupt-2.c | 2 +-
gcc/testsuite/gcc.target/arm/ivopts.c | 2 +-
gcc/testsuite/gcc.target/arm/lob.h | 15 +
gcc/testsuite/gcc.target/arm/lob1.c | 85 +
gcc/testsuite/gcc.target/arm/lob2.c | 32 +
gcc/testsuite/gcc.target/arm/lob3.c | 27 +
gcc/testsuite/gcc.target/arm/lob4.c | 34 +
gcc/testsuite/gcc.target/arm/lob5.c | 35 +
gcc/testsuite/gcc.target/arm/lob6.c | 97 +
gcc/testsuite/gcc.target/arm/multilib.exp | 2 +-
.../arm/mve/intrinsics/mve-vldstr16-no-writeback.c | 17 +
gcc/testsuite/gcc.target/arm/pr70830.c | 2 +-
gcc/testsuite/gcc.target/arm/pr94743-1-hard.c | 29 +
gcc/testsuite/gcc.target/arm/pr94743-1-soft.c | 27 +
gcc/testsuite/gcc.target/arm/pr94743-1-softfp.c | 29 +
gcc/testsuite/gcc.target/arm/pr94743-2.c | 22 +
gcc/testsuite/gcc.target/arm/pr94743-3.c | 23 +
gcc/testsuite/gcc.target/arm/stack-protector-1.c | 63 +
gcc/testsuite/gcc.target/arm/stack-protector-2.c | 6 +
gcc/testsuite/gcc.target/arm/unsigned-extend-2.c | 2 +-
gcc/testsuite/gcc.target/bpf/diag-funargs-2.c | 1 -
gcc/testsuite/gcc.target/bpf/diag-funargs-3.c | 1 -
gcc/testsuite/gcc.target/bpf/helper-bind.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-bpf-redirect.c | 4 +-
.../gcc.target/bpf/helper-clone-redirect.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-csum-diff.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-csum-update.c | 4 +-
.../bpf/helper-current-task-under-cgroup.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-fib-lookup.c | 4 +-
.../gcc.target/bpf/helper-get-cgroup-classid.c | 4 +-
.../gcc.target/bpf/helper-get-current-cgroup-id.c | 6 +-
.../gcc.target/bpf/helper-get-current-comm.c | 4 +-
.../gcc.target/bpf/helper-get-current-pid-tgid.c | 4 +-
.../gcc.target/bpf/helper-get-current-task.c | 4 +-
.../gcc.target/bpf/helper-get-current-uid-gid.c | 4 +-
.../gcc.target/bpf/helper-get-hash-recalc.c | 4 +-
.../gcc.target/bpf/helper-get-listener-sock.c | 4 +-
.../gcc.target/bpf/helper-get-local-storage.c | 6 +-
.../gcc.target/bpf/helper-get-numa-node-id.c | 4 +-
.../gcc.target/bpf/helper-get-prandom-u32.c | 4 +-
.../gcc.target/bpf/helper-get-route-realm.c | 4 +-
.../gcc.target/bpf/helper-get-smp-processor-id.c | 4 +-
.../gcc.target/bpf/helper-get-socket-cookie.c | 6 +-
.../gcc.target/bpf/helper-get-socket-uid.c | 6 +-
gcc/testsuite/gcc.target/bpf/helper-get-stack.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-get-stackid.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-getsockopt.c | 8 +-
gcc/testsuite/gcc.target/bpf/helper-ktime-get-ns.c | 4 +-
.../gcc.target/bpf/helper-l3-csum-replace.c | 4 +-
.../gcc.target/bpf/helper-l4-csum-replace.c | 4 +-
.../gcc.target/bpf/helper-lwt-push-encap.c | 6 +-
.../gcc.target/bpf/helper-lwt-seg6-action.c | 8 +-
.../gcc.target/bpf/helper-lwt-seg6-adjust-srh.c | 7 +-
.../gcc.target/bpf/helper-lwt-seg6-store-bytes.c | 7 +-
.../gcc.target/bpf/helper-map-delete-elem.c | 5 +-
.../gcc.target/bpf/helper-map-lookup-elem.c | 5 +-
.../gcc.target/bpf/helper-map-peek-elem.c | 5 +-
gcc/testsuite/gcc.target/bpf/helper-map-pop-elem.c | 5 +-
.../gcc.target/bpf/helper-map-push-elem.c | 4 +-
.../gcc.target/bpf/helper-map-update-elem.c | 4 +-
.../gcc.target/bpf/helper-msg-apply-bytes.c | 6 +-
.../gcc.target/bpf/helper-msg-cork-bytes.c | 6 +-
gcc/testsuite/gcc.target/bpf/helper-msg-pop-data.c | 4 +-
.../gcc.target/bpf/helper-msg-pull-data.c | 9 +-
.../gcc.target/bpf/helper-msg-push-data.c | 4 +-
.../gcc.target/bpf/helper-msg-redirect-hash.c | 4 +-
.../gcc.target/bpf/helper-msg-redirect-map.c | 7 +-
.../gcc.target/bpf/helper-override-return.c | 6 +-
.../gcc.target/bpf/helper-perf-event-output.c | 3 +-
.../gcc.target/bpf/helper-perf-event-read-value.c | 6 +-
.../gcc.target/bpf/helper-perf-event-read.c | 4 +-
.../gcc.target/bpf/helper-perf-prog-read-value.c | 6 +-
.../gcc.target/bpf/helper-probe-read-str.c | 6 +-
gcc/testsuite/gcc.target/bpf/helper-probe-read.c | 4 +-
.../gcc.target/bpf/helper-probe-write-user.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-rc-keydown.c | 7 +-
.../gcc.target/bpf/helper-rc-pointer-rel.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-rc-repeat.c | 6 +-
gcc/testsuite/gcc.target/bpf/helper-redirect-map.c | 6 +-
.../gcc.target/bpf/helper-set-hash-invalid.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-set-hash.c | 6 +-
gcc/testsuite/gcc.target/bpf/helper-setsockopt.c | 7 +-
gcc/testsuite/gcc.target/bpf/helper-sk-fullsock.c | 4 +-
.../gcc.target/bpf/helper-sk-lookup-tcp.c | 12 +-
.../gcc.target/bpf/helper-sk-lookup-upd.c | 12 +-
.../gcc.target/bpf/helper-sk-redirect-hash.c | 5 +-
.../gcc.target/bpf/helper-sk-redirect-map.c | 6 +-
gcc/testsuite/gcc.target/bpf/helper-sk-release.c | 6 +-
.../gcc.target/bpf/helper-sk-select-reuseport.c | 8 +-
.../gcc.target/bpf/helper-sk-storage-delete.c | 6 +-
.../gcc.target/bpf/helper-sk-storage-get.c | 7 +-
.../gcc.target/bpf/helper-skb-adjust-room.c | 6 +-
.../gcc.target/bpf/helper-skb-cgroup-id.c | 6 +-
.../gcc.target/bpf/helper-skb-change-head.c | 6 +-
.../gcc.target/bpf/helper-skb-change-proto.c | 4 +-
.../gcc.target/bpf/helper-skb-change-tail.c | 4 +-
.../gcc.target/bpf/helper-skb-change-type.c | 4 +-
.../gcc.target/bpf/helper-skb-ecn-set-ce.c | 4 +-
.../gcc.target/bpf/helper-skb-get-tunnel-key.c | 4 +-
.../gcc.target/bpf/helper-skb-get-tunnel-opt.c | 4 +-
.../gcc.target/bpf/helper-skb-get-xfrm-state.c | 6 +-
.../bpf/helper-skb-load-bytes-relative.c | 8 +-
.../gcc.target/bpf/helper-skb-load-bytes.c | 4 +-
.../gcc.target/bpf/helper-skb-pull-data.c | 4 +-
.../gcc.target/bpf/helper-skb-set-tunnel-key.c | 4 +-
.../gcc.target/bpf/helper-skb-set-tunnel-opt.c | 4 +-
.../gcc.target/bpf/helper-skb-store-bytes.c | 4 +-
.../gcc.target/bpf/helper-skb-under-cgroup.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-skb-vlan-pop.c | 4 +-
.../gcc.target/bpf/helper-skb-vlan-push.c | 4 +-
.../gcc.target/bpf/helper-skc-lookup-tcp.c | 6 +-
.../gcc.target/bpf/helper-sock-hash-update.c | 4 +-
.../gcc.target/bpf/helper-sock-map-update.c | 7 +-
.../gcc.target/bpf/helper-sock-ops-cb-flags-set.c | 7 +-
gcc/testsuite/gcc.target/bpf/helper-spin-lock.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-spin-unlock.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-strtol.c | 6 +-
gcc/testsuite/gcc.target/bpf/helper-strtoul.c | 6 +-
.../bpf/helper-sysctl-get-current-value.c | 7 +-
.../gcc.target/bpf/helper-sysctl-get-name.c | 7 +-
.../gcc.target/bpf/helper-sysctl-get-new-value.c | 7 +-
.../gcc.target/bpf/helper-sysctl-set-new-value.c | 7 +-
gcc/testsuite/gcc.target/bpf/helper-tail-call.c | 5 +-
.../gcc.target/bpf/helper-tcp-check-syncookie.c | 10 +-
gcc/testsuite/gcc.target/bpf/helper-tcp-sock.c | 4 +-
gcc/testsuite/gcc.target/bpf/helper-trace-printk.c | 5 +-
.../gcc.target/bpf/helper-xdp-adjust-head.c | 6 +-
.../gcc.target/bpf/helper-xdp-adjust-meta.c | 6 +-
.../gcc.target/bpf/helper-xdp-adjust-tail.c | 3 +-
.../gcc.target/bpf/skb-ancestor-cgroup-id.c | 7 +-
gcc/testsuite/gcc.target/cris/peep2-movulsr.c | 19 +
gcc/testsuite/gcc.target/cris/pr93372-36.c | 37 +
gcc/testsuite/gcc.target/cris/pr93372-37.c | 26 +
gcc/testsuite/gcc.target/cris/pr93372-38.c | 30 +
gcc/testsuite/gcc.target/cris/pr93372-39.c | 19 +
gcc/testsuite/gcc.target/cris/pr93372-44.c | 13 +
gcc/testsuite/gcc.target/cris/pr93372-45.c | 13 +
gcc/testsuite/gcc.target/cris/pr93372-46.c | 16 +
gcc/testsuite/gcc.target/i386/avx512bw-pr96246-1.c | 30 +
gcc/testsuite/gcc.target/i386/avx512bw-pr96246-2.c | 47 +
.../gcc.target/i386/avx512bw-vmovdqu16-1.c | 6 +-
.../gcc.target/i386/avx512bw-vmovdqu8-1.c | 6 +-
gcc/testsuite/gcc.target/i386/avx512f-vcmppd-3.c | 4 +
gcc/testsuite/gcc.target/i386/avx512f-vcmpps-3.c | 4 +
gcc/testsuite/gcc.target/i386/avx512f-vmovapd-1.c | 2 +-
gcc/testsuite/gcc.target/i386/avx512f-vmovaps-1.c | 2 +-
.../gcc.target/i386/avx512f-vmovdqa32-1.c | 2 +-
.../gcc.target/i386/avx512f-vmovdqa64-1.c | 2 +-
.../gcc.target/i386/avx512vl-pr92686-movcc-1.c | 8 +-
gcc/testsuite/gcc.target/i386/avx512vl-pr96246-1.c | 36 +
gcc/testsuite/gcc.target/i386/avx512vl-pr96246-2.c | 51 +
gcc/testsuite/gcc.target/i386/avx512vl-vmovapd-1.c | 4 +-
gcc/testsuite/gcc.target/i386/avx512vl-vmovaps-1.c | 4 +-
.../gcc.target/i386/avx512vl-vmovdqa32-1.c | 4 +-
.../gcc.target/i386/avx512vl-vmovdqa64-1.c | 4 +-
gcc/testsuite/gcc.target/i386/endbr_immediate.c | 198 +
gcc/testsuite/gcc.target/i386/funcspec-56.inc | 2 +
gcc/testsuite/gcc.target/i386/memcpy-pr95886.c | 107 +
gcc/testsuite/gcc.target/i386/minmax-10.c | 38 +
gcc/testsuite/gcc.target/i386/minmax-11.c | 12 +
gcc/testsuite/gcc.target/i386/minmax-12.c | 17 +
gcc/testsuite/gcc.target/i386/minmax-8.c | 18 +
gcc/testsuite/gcc.target/i386/minmax-9.c | 23 +
gcc/testsuite/gcc.target/i386/pr60473.c | 12 +
gcc/testsuite/gcc.target/i386/pr70314.c | 15 +
gcc/testsuite/gcc.target/i386/pr71321.c | 3 +-
gcc/testsuite/gcc.target/i386/pr88240.c | 26 +
gcc/testsuite/gcc.target/i386/pr88713-1.c | 13 +
gcc/testsuite/gcc.target/i386/pr88713-2.c | 6 +
gcc/testsuite/gcc.target/i386/pr88713-3.c | 17 +
gcc/testsuite/gcc.target/i386/pr92865-1.c | 10 +-
gcc/testsuite/gcc.target/i386/pr93492-1.c | 2 +-
gcc/testsuite/gcc.target/i386/pr93492-2.c | 2 +-
gcc/testsuite/gcc.target/i386/pr93492-3.c | 2 +-
gcc/testsuite/gcc.target/i386/pr93492-4.c | 2 +-
gcc/testsuite/gcc.target/i386/pr93492-5.c | 3 +-
gcc/testsuite/gcc.target/i386/pr95443-1.c | 130 +
gcc/testsuite/gcc.target/i386/pr95443-2.c | 79 +
gcc/testsuite/gcc.target/i386/pr95750.c | 19 +
gcc/testsuite/gcc.target/i386/pr95973.c | 25 +
gcc/testsuite/gcc.target/i386/pr96176.c | 13 +
gcc/testsuite/gcc.target/i386/pr96189-1.c | 24 +
gcc/testsuite/gcc.target/i386/pr96189.c | 12 +
gcc/testsuite/gcc.target/i386/pr96203-1.c | 18 +
gcc/testsuite/gcc.target/i386/pr96203-2.c | 11 +
gcc/testsuite/gcc.target/i386/pr96298.c | 18 +
gcc/testsuite/gcc.target/i386/pr96539.c | 16 +
gcc/testsuite/gcc.target/i386/pr96562-1.c | 81 +
gcc/testsuite/gcc.target/i386/rdrand-1.c | 2 +-
gcc/testsuite/gcc.target/i386/rdrand-2.c | 2 +-
gcc/testsuite/gcc.target/i386/rdrand-3.c | 2 +-
gcc/testsuite/gcc.target/nvptx/cvt.c | 13 +
gcc/testsuite/gcc.target/nvptx/ia64-sync-1.c | 2 +
gcc/testsuite/gcc.target/nvptx/ia64-sync-2.c | 2 +
gcc/testsuite/gcc.target/nvptx/ia64-sync-3.c | 2 +
gcc/testsuite/gcc.target/nvptx/ia64-sync-4.c | 3 +
gcc/testsuite/gcc.target/nvptx/ia64-sync-5.c | 2 +
gcc/testsuite/gcc.target/nvptx/mul-hi.c | 15 +
gcc/testsuite/gcc.target/nvptx/mul-wide.c | 16 +
gcc/testsuite/gcc.target/nvptx/popc-1.c | 9 +
gcc/testsuite/gcc.target/nvptx/popc-2.c | 11 +
gcc/testsuite/gcc.target/nvptx/popc-3.c | 11 +
gcc/testsuite/gcc.target/nvptx/recip-1.c | 18 +
gcc/testsuite/gcc.target/nvptx/shift16.c | 30 +
gcc/testsuite/gcc.target/nvptx/umul-hi.c | 15 +
gcc/testsuite/gcc.target/nvptx/umul-wide.c | 16 +
gcc/testsuite/gcc.target/nvptx/v2si-cvt.c | 34 +-
.../gcc.target/nvptx/v2si-vec-set-extract.c | 25 +
gcc/testsuite/gcc.target/nvptx/vadd_add.c | 15 +
gcc/testsuite/gcc.target/nvptx/vsub_add.c | 25 +
gcc/testsuite/gcc.target/powerpc/20030218-1.c | 26 -
gcc/testsuite/gcc.target/powerpc/20030505.c | 21 -
gcc/testsuite/gcc.target/powerpc/20081204-1.c | 9 -
gcc/testsuite/gcc.target/powerpc/bcd-1.c | 1 -
gcc/testsuite/gcc.target/powerpc/bcd-2.c | 1 -
gcc/testsuite/gcc.target/powerpc/bcd-3.c | 1 -
gcc/testsuite/gcc.target/powerpc/bswap-brd.c | 23 +
gcc/testsuite/gcc.target/powerpc/bswap-brh.c | 11 +
gcc/testsuite/gcc.target/powerpc/bswap-brw.c | 22 +
.../gcc.target/powerpc/builtins-1-p9-runnable.c | 2 +-
gcc/testsuite/gcc.target/powerpc/builtins-1.c | 3 +-
.../gcc.target/powerpc/builtins-2-p9-runnable.c | 5 +-
gcc/testsuite/gcc.target/powerpc/builtins-2.c | 4 +-
.../gcc.target/powerpc/builtins-3-p9-runnable.c | 3 +-
gcc/testsuite/gcc.target/powerpc/builtins-3-p9.c | 2 +-
.../gcc.target/powerpc/builtins-3-runnable-p8.c | 2 +-
gcc/testsuite/gcc.target/powerpc/builtins-3.c | 2 +-
.../gcc.target/powerpc/builtins-4-p9-runnable.c | 3 +-
gcc/testsuite/gcc.target/powerpc/builtins-4.c | 2 +-
.../gcc.target/powerpc/builtins-5-p9-runnable.c | 3 +-
gcc/testsuite/gcc.target/powerpc/builtins-5.c | 3 +-
.../gcc.target/powerpc/builtins-6-p9-runnable.c | 4 +-
.../gcc.target/powerpc/builtins-6-runnable.c | 4 +-
.../gcc.target/powerpc/builtins-7-p9-runnable.c | 4 +-
.../gcc.target/powerpc/builtins-7-runnable.c | 3 +-
.../gcc.target/powerpc/builtins-8-p9-runnable.c | 3 +-
.../gcc.target/powerpc/builtins-8-runnable.c | 3 +-
.../gcc.target/powerpc/builtins-msum-runnable.c | 74 +
.../gcc.target/powerpc/builtins-revb-runnable.c | 4 +-
.../gcc.target/powerpc/conv-vectorize-1.c | 2 +-
.../gcc.target/powerpc/conv-vectorize-2.c | 2 +-
gcc/testsuite/gcc.target/powerpc/convert-fp-128.c | 20 +-
gcc/testsuite/gcc.target/powerpc/cpu-builtin-1.c | 2 +-
.../gcc.target/powerpc/direct-move-double1.c | 3 +-
.../gcc.target/powerpc/direct-move-double2.c | 3 +-
.../gcc.target/powerpc/direct-move-float1.c | 3 +-
.../gcc.target/powerpc/direct-move-float2.c | 3 +-
.../gcc.target/powerpc/direct-move-float3.c | 3 +-
.../gcc.target/powerpc/direct-move-long1.c | 3 +-
.../gcc.target/powerpc/direct-move-long2.c | 3 +-
.../gcc.target/powerpc/direct-move-vint1.c | 3 +-
.../gcc.target/powerpc/direct-move-vint2.c | 3 +-
gcc/testsuite/gcc.target/powerpc/extend-divide-1.c | 1 -
gcc/testsuite/gcc.target/powerpc/extend-divide-2.c | 1 -
gcc/testsuite/gcc.target/powerpc/float128-fma1.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw10.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw11.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw2.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw3.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw4.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw5.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw6.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw7.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw8.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-hw9.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-minmax.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-odd.c | 3 +-
gcc/testsuite/gcc.target/powerpc/float128-sqrt1.c | 3 +-
gcc/testsuite/gcc.target/powerpc/lsbb-runnable.c | 65 +
gcc/testsuite/gcc.target/powerpc/lsbb.c | 24 +
gcc/testsuite/gcc.target/powerpc/mma-double-test.c | 186 +
gcc/testsuite/gcc.target/powerpc/mma-single-test.c | 194 +
gcc/testsuite/gcc.target/powerpc/mma-supported.c | 25 +
gcc/testsuite/gcc.target/powerpc/p10-arch31.c | 25 +
gcc/testsuite/gcc.target/powerpc/p10-identify.c | 26 +
.../gcc.target/powerpc/p8vector-int128-1.c | 3 +-
.../gcc.target/powerpc/p8vector-int128-2.c | 4 +-
gcc/testsuite/gcc.target/powerpc/p9-vec-length-1.h | 18 +
gcc/testsuite/gcc.target/powerpc/p9-vec-length-2.h | 17 +
gcc/testsuite/gcc.target/powerpc/p9-vec-length-3.h | 31 +
gcc/testsuite/gcc.target/powerpc/p9-vec-length-4.h | 24 +
gcc/testsuite/gcc.target/powerpc/p9-vec-length-5.h | 29 +
gcc/testsuite/gcc.target/powerpc/p9-vec-length-6.h | 32 +
gcc/testsuite/gcc.target/powerpc/p9-vec-length-7.h | 20 +
gcc/testsuite/gcc.target/powerpc/p9-vec-length-8.h | 14 +
.../gcc.target/powerpc/p9-vec-length-epil-1.c | 15 +
.../gcc.target/powerpc/p9-vec-length-epil-2.c | 15 +
.../gcc.target/powerpc/p9-vec-length-epil-3.c | 18 +
.../gcc.target/powerpc/p9-vec-length-epil-4.c | 15 +
.../gcc.target/powerpc/p9-vec-length-epil-5.c | 15 +
.../gcc.target/powerpc/p9-vec-length-epil-6.c | 16 +
.../gcc.target/powerpc/p9-vec-length-epil-7.c | 11 +
.../gcc.target/powerpc/p9-vec-length-epil-8.c | 12 +
.../gcc.target/powerpc/p9-vec-length-epil-run-1.c | 10 +
.../gcc.target/powerpc/p9-vec-length-epil-run-2.c | 10 +
.../gcc.target/powerpc/p9-vec-length-epil-run-3.c | 10 +
.../gcc.target/powerpc/p9-vec-length-epil-run-4.c | 10 +
.../gcc.target/powerpc/p9-vec-length-epil-run-5.c | 10 +
.../gcc.target/powerpc/p9-vec-length-epil-run-6.c | 10 +
.../gcc.target/powerpc/p9-vec-length-epil-run-7.c | 10 +
.../gcc.target/powerpc/p9-vec-length-epil-run-8.c | 10 +
.../gcc.target/powerpc/p9-vec-length-full-1.c | 16 +
.../gcc.target/powerpc/p9-vec-length-full-2.c | 16 +
.../gcc.target/powerpc/p9-vec-length-full-3.c | 17 +
.../gcc.target/powerpc/p9-vec-length-full-4.c | 16 +
.../gcc.target/powerpc/p9-vec-length-full-5.c | 16 +
.../gcc.target/powerpc/p9-vec-length-full-6.c | 16 +
.../gcc.target/powerpc/p9-vec-length-full-7.c | 13 +
.../gcc.target/powerpc/p9-vec-length-full-8.c | 12 +
.../gcc.target/powerpc/p9-vec-length-full-run-1.c | 10 +
.../gcc.target/powerpc/p9-vec-length-full-run-2.c | 10 +
.../gcc.target/powerpc/p9-vec-length-full-run-3.c | 10 +
.../gcc.target/powerpc/p9-vec-length-full-run-4.c | 10 +
.../gcc.target/powerpc/p9-vec-length-full-run-5.c | 10 +
.../gcc.target/powerpc/p9-vec-length-full-run-6.c | 10 +
.../gcc.target/powerpc/p9-vec-length-full-run-7.c | 10 +
.../gcc.target/powerpc/p9-vec-length-full-run-8.c | 10 +
.../gcc.target/powerpc/p9-vec-length-run-1.h | 34 +
.../gcc.target/powerpc/p9-vec-length-run-2.h | 36 +
.../gcc.target/powerpc/p9-vec-length-run-3.h | 34 +
.../gcc.target/powerpc/p9-vec-length-run-4.h | 62 +
.../gcc.target/powerpc/p9-vec-length-run-5.h | 45 +
.../gcc.target/powerpc/p9-vec-length-run-6.h | 52 +
.../gcc.target/powerpc/p9-vec-length-run-7.h | 16 +
.../gcc.target/powerpc/p9-vec-length-run-8.h | 27 +
gcc/testsuite/gcc.target/powerpc/p9-vec-length.h | 14 +
gcc/testsuite/gcc.target/powerpc/pack01.c | 1 -
gcc/testsuite/gcc.target/powerpc/pack02.c | 1 -
gcc/testsuite/gcc.target/powerpc/pack03.c | 1 -
gcc/testsuite/gcc.target/powerpc/ppc-spe.c | 663 -
gcc/testsuite/gcc.target/powerpc/ppc-spe64-1.c | 7 -
gcc/testsuite/gcc.target/powerpc/pr52457.c | 1 -
gcc/testsuite/gcc.target/powerpc/pr60102.c | 11 -
gcc/testsuite/gcc.target/powerpc/pr60158.c | 89 -
gcc/testsuite/gcc.target/powerpc/pr60735.c | 11 -
gcc/testsuite/gcc.target/powerpc/pr71309.c | 34 +
gcc/testsuite/gcc.target/powerpc/pr78458.c | 15 -
gcc/testsuite/gcc.target/powerpc/pr80343.c | 50 -
gcc/testsuite/gcc.target/powerpc/pr88845.c | 1 -
gcc/testsuite/gcc.target/powerpc/pr89310.c | 17 +
gcc/testsuite/gcc.target/powerpc/pr90763.c | 3 +-
gcc/testsuite/gcc.target/powerpc/pr92488.c | 43 +
gcc/testsuite/gcc.target/powerpc/pr95907.c | 7 +
gcc/testsuite/gcc.target/powerpc/pr96125.c | 47 +
gcc/testsuite/gcc.target/powerpc/pr96446.c | 16 +
gcc/testsuite/gcc.target/powerpc/pr96493.c | 30 +
gcc/testsuite/gcc.target/powerpc/pr96506.c | 66 +
gcc/testsuite/gcc.target/powerpc/pr96530.c | 20 +
gcc/testsuite/gcc.target/powerpc/prefix-large-dd.c | 1 +
gcc/testsuite/gcc.target/powerpc/prefix-large-kf.c | 1 +
gcc/testsuite/gcc.target/powerpc/prefix-large-sd.c | 1 +
gcc/testsuite/gcc.target/powerpc/prefix-pcrel-dd.c | 1 +
gcc/testsuite/gcc.target/powerpc/prefix-pcrel-kf.c | 1 +
gcc/testsuite/gcc.target/powerpc/prefix-pcrel-sd.c | 1 +
gcc/testsuite/gcc.target/powerpc/quad-atomic.c | 1 -
gcc/testsuite/gcc.target/powerpc/recip-6.c | 1 -
gcc/testsuite/gcc.target/powerpc/recip-7.c | 1 -
gcc/testsuite/gcc.target/powerpc/spe-evmerge.c | 71 -
.../gcc.target/powerpc/spe-small-data-1.c | 14 -
.../gcc.target/powerpc/spe-small-data-2.c | 13 -
gcc/testsuite/gcc.target/powerpc/spe-unwind-1.c | 116 -
.../gcc.target/powerpc/spe-vector-memcpy.c | 10 -
.../gcc.target/powerpc/spe-vector-memset.c | 13 -
gcc/testsuite/gcc.target/powerpc/spe1.c | 15 -
.../gcc.target/powerpc/vec-blend-runnable.c | 276 +
.../gcc.target/powerpc/vec-insert-word-runnable.c | 345 +
.../gcc.target/powerpc/vec-permute-ext-runnable.c | 294 +
.../gcc.target/powerpc/vec-replace-word-runnable.c | 289 +
.../gcc.target/powerpc/vec-shift-double-runnable.c | 384 +
.../gcc.target/powerpc/vec-splati-runnable.c | 166 +
gcc/testsuite/gcc.target/powerpc/vector_float.c | 16 +
.../gcc.target/powerpc/vsx-builtin-msum.c | 26 +
gcc/testsuite/gcc.target/powerpc/vsx-vector-1.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vector-2.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vector-3.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vector-4.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vector-5.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vector-6.p8.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vector-6.p9.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vector-abss.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c | 8 +-
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c | 8 +-
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c | 2 +-
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c | 2 +-
.../gcc.target/powerpc/vsx_mask-count-runnable.c | 149 +
.../gcc.target/powerpc/vsx_mask-expand-runnable.c | 194 +
.../gcc.target/powerpc/vsx_mask-extract-runnable.c | 162 +
.../gcc.target/powerpc/vsx_mask-move-runnable.c | 225 +
gcc/testsuite/gcc.target/riscv/attribute-13.c | 6 +
gcc/testsuite/gcc.target/riscv/pr91441.c | 2 +-
gcc/testsuite/gcc.target/riscv/pr96260.c | 9 +
.../gcc.target/riscv/read-thread-pointer.c | 7 +
gcc/testsuite/gcc.target/riscv/save-restore-9.c | 23 +
gcc/testsuite/gcc.target/s390/pr96127.c | 29 +
gcc/testsuite/gcc.target/s390/pr96456.c | 13 +
gcc/testsuite/gcc.target/s390/vector/pr96128.c | 35 +
gcc/testsuite/gdc.dg/array1.d | 14 +
gcc/testsuite/gdc.dg/compilable.d | 444 -
gcc/testsuite/gdc.dg/gdc108.d | 19 +
gcc/testsuite/gdc.dg/gdc115.d | 16 +
gcc/testsuite/gdc.dg/gdc121.d | 4 +
gcc/testsuite/gdc.dg/gdc122.d | 36 +
gcc/testsuite/gdc.dg/gdc127.d | 6 +
gcc/testsuite/gdc.dg/gdc131.d | 15 +
gcc/testsuite/gdc.dg/gdc133.d | 16 +
gcc/testsuite/gdc.dg/gdc141.d | 14 +
gcc/testsuite/gdc.dg/gdc142.d | 15 +
gcc/testsuite/gdc.dg/gdc15.d | 35 +
gcc/testsuite/gdc.dg/gdc17.d | 37 +
gcc/testsuite/gdc.dg/gdc170.d | 21 +
gcc/testsuite/gdc.dg/gdc171.d | 38 +
gcc/testsuite/gdc.dg/gdc179.d | 32 +
gcc/testsuite/gdc.dg/gdc183.d | 60 +
gcc/testsuite/gdc.dg/gdc186.d | 60 +
gcc/testsuite/gdc.dg/gdc187.d | 40 +
gcc/testsuite/gdc.dg/gdc19.d | 8 +
gcc/testsuite/gdc.dg/gdc191.d | 201 +
gcc/testsuite/gdc.dg/gdc194.d | 9 +
gcc/testsuite/gdc.dg/gdc196.d | 21 +
gcc/testsuite/gdc.dg/gdc198.d | 71 +
gcc/testsuite/gdc.dg/gdc200.d | 16 +
gcc/testsuite/gdc.dg/gdc204.d | 12 +
gcc/testsuite/gdc.dg/gdc210.d | 62 +
gcc/testsuite/gdc.dg/gdc212.d | 48 +
gcc/testsuite/gdc.dg/gdc213.d | 17 +
gcc/testsuite/gdc.dg/gdc218.d | 41 +
gcc/testsuite/gdc.dg/gdc223.d | 43 +
gcc/testsuite/gdc.dg/gdc231.d | 13 +
gcc/testsuite/gdc.dg/gdc239.d | 10 +
gcc/testsuite/gdc.dg/gdc24.d | 15 +
gcc/testsuite/gdc.dg/gdc240.d | 16 +
gcc/testsuite/gdc.dg/gdc241.d | 6 +
gcc/testsuite/gdc.dg/gdc242a.d | 24 +
gcc/testsuite/gdc.dg/gdc242b.d | 25 +
gcc/testsuite/gdc.dg/gdc248.d | 44 +
gcc/testsuite/gdc.dg/gdc250.d | 18 +
gcc/testsuite/gdc.dg/gdc251.d | 6 +
gcc/testsuite/gdc.dg/gdc253a.d | 10 +
gcc/testsuite/gdc.dg/gdc253b.d | 19 +
gcc/testsuite/gdc.dg/gdc255.d | 83 +
gcc/testsuite/gdc.dg/gdc256.d | 5 +
gcc/testsuite/gdc.dg/gdc261.d | 19 +
gcc/testsuite/gdc.dg/gdc27.d | 18 +
gcc/testsuite/gdc.dg/gdc273.d | 19 +
gcc/testsuite/gdc.dg/gdc280.d | 30 +
gcc/testsuite/gdc.dg/gdc284.d | 10 +
gcc/testsuite/gdc.dg/gdc285.d | 15 +
gcc/testsuite/gdc.dg/gdc286.d | 37 +
gcc/testsuite/gdc.dg/gdc300.d | 25 +
gcc/testsuite/gdc.dg/gdc309.d | 41 +
gcc/testsuite/gdc.dg/gdc31.d | 25 +
gcc/testsuite/gdc.dg/gdc35.d | 73 +
gcc/testsuite/gdc.dg/gdc36.d | 125 +
gcc/testsuite/gdc.dg/gdc37.d | 16 +
gcc/testsuite/gdc.dg/gdc4.d | 9 +
gcc/testsuite/gdc.dg/gdc43.d | 29 +
gcc/testsuite/gdc.dg/gdc47.d | 12 +
gcc/testsuite/gdc.dg/gdc51.d | 29 +
gcc/testsuite/gdc.dg/gdc57.d | 21 +
gcc/testsuite/gdc.dg/gdc66.d | 14 +
gcc/testsuite/gdc.dg/gdc67.d | 4 +
gcc/testsuite/gdc.dg/gdc71.d | 27 +
gcc/testsuite/gdc.dg/gdc77.d | 11 +
gcc/testsuite/gdc.dg/imports/gdc239.d | 22 +-
gcc/testsuite/gdc.dg/imports/gdc241a.d | 4 +-
gcc/testsuite/gdc.dg/imports/gdc241b.d | 1 +
gcc/testsuite/gdc.dg/imports/gdc251a.d | 2 +-
gcc/testsuite/gdc.dg/imports/gdc253.d | 23 -
gcc/testsuite/gdc.dg/imports/gdc253a.d | 23 +
gcc/testsuite/gdc.dg/imports/gdc253b.d | 12 +
gcc/testsuite/gdc.dg/imports/gdc36.d | 8 +
gcc/testsuite/gdc.dg/imports/runnable.d | 23 -
gcc/testsuite/gdc.dg/intrinsics.d | 123 +
gcc/testsuite/gdc.dg/link.d | 39 -
gcc/testsuite/gdc.dg/pr96140.d | 15 +
gcc/testsuite/gdc.dg/pr96152.d | 32 +
gcc/testsuite/gdc.dg/pr96153.d | 31 +
gcc/testsuite/gdc.dg/pr96154a.d | 18 +
gcc/testsuite/gdc.dg/pr96154b.d | 19 +
gcc/testsuite/gdc.dg/pr96254a.d | 28 +
gcc/testsuite/gdc.dg/pr96254b.d | 24 +
gcc/testsuite/gdc.dg/pr96301a.d | 31 +
gcc/testsuite/gdc.dg/pr96301b.d | 25 +
gcc/testsuite/gdc.dg/pr96301c.d | 25 +
gcc/testsuite/gdc.dg/pr96429.d | 26 +
gcc/testsuite/gdc.dg/runnable.d | 1394 --
gcc/testsuite/gdc.dg/runnable2.d | 244 -
gcc/testsuite/gdc.dg/simd.d | 2 -
gcc/testsuite/gdc.test/compilable/b9490.d | 39 +
gcc/testsuite/gdc.test/compilable/ice14739.d | 19 +
.../gdc.test/fail_compilation/fail17492.d | 20 +-
gcc/testsuite/gdc.test/fail_compilation/ice21060.d | 15 +
.../fail_compilation/imports/ice21060a/package.d | 1 +
.../fail_compilation/imports/ice21060b/package.d | 5 +
.../fail_compilation/imports/ice21060c/package.d | 1 +
.../fail_compilation/imports/ice21060d/package.d | 5 +
gcc/testsuite/gdc.test/runnable/b16278.d | 6 +
gcc/testsuite/gfortran.dg/char4-subscript.f90 | 8 +-
gcc/testsuite/gfortran.dg/coarray/pr93671.f90 | 24 +
.../gfortran.dg/diagnostic-format-json-1.F90 | 5 +
.../gfortran.dg/diagnostic-format-json-2.F90 | 5 +
.../gfortran.dg/diagnostic-format-json-3.F90 | 5 +
gcc/testsuite/gfortran.dg/do_check_13.f90 | 86 +
gcc/testsuite/gfortran.dg/do_check_14.f90 | 56 +
gcc/testsuite/gfortran.dg/do_check_15.f90 | 58 +
gcc/testsuite/gfortran.dg/do_check_4.f90 | 24 +-
.../gfortran.dg/elemental_optional_args_6.f90 | 4 +-
gcc/testsuite/gfortran.dg/error_recovery_1.f90 | 4 +-
gcc/testsuite/gfortran.dg/fmt_en.f90 | 6 +-
gcc/testsuite/gfortran.dg/fmt_en_rd.f90 | 185 +
gcc/testsuite/gfortran.dg/fmt_en_rn.f90 | 185 +
gcc/testsuite/gfortran.dg/fmt_en_ru.f90 | 185 +
gcc/testsuite/gfortran.dg/fmt_en_rz.f90 | 185 +
.../gfortran.dg/goacc/attach-descriptor.f90 | 29 +
gcc/testsuite/gfortran.dg/goacc/finalize-1.f | 8 +-
.../gfortran.dg/goacc/mapping-tests-3.f90 | 15 +
.../gfortran.dg/goacc/mapping-tests-4.f90 | 17 +
gcc/testsuite/gfortran.dg/gomp/cancel-2.f90 | 15 +
gcc/testsuite/gfortran.dg/gomp/cancel-3.f90 | 35 +
gcc/testsuite/gfortran.dg/gomp/collapse1.f90 | 2 +-
gcc/testsuite/gfortran.dg/gomp/collapse2.f90 | 32 +
gcc/testsuite/gfortran.dg/gomp/gomp.exp | 2 +-
gcc/testsuite/gfortran.dg/gomp/gridify-1.f90 | 16 -
gcc/testsuite/gfortran.dg/gomp/if-1.f90 | 122 +
.../gfortran.dg/gomp/lastprivate-conditional-1.f90 | 82 +
.../gfortran.dg/gomp/lastprivate-conditional-2.f90 | 46 +
.../gfortran.dg/gomp/lastprivate-conditional-3.f90 | 61 +
.../gfortran.dg/gomp/lastprivate-conditional-4.f90 | 28 +
.../gfortran.dg/gomp/lastprivate-conditional-5.f90 | 47 +
gcc/testsuite/gfortran.dg/gomp/map-1.f90 | 35 +-
gcc/testsuite/gfortran.dg/gomp/map-2.f90 | 6 +
gcc/testsuite/gfortran.dg/gomp/map-3.f90 | 38 +
gcc/testsuite/gfortran.dg/gomp/map-4.f90 | 7 +
gcc/testsuite/gfortran.dg/gomp/nontemporal-1.f90 | 25 +
gcc/testsuite/gfortran.dg/gomp/nontemporal-2.f90 | 26 +
gcc/testsuite/gfortran.dg/gomp/order-3.f90 | 227 +
gcc/testsuite/gfortran.dg/gomp/order-4.f90 | 34 +
gcc/testsuite/gfortran.dg/gomp/requires-1.f90 | 13 +
gcc/testsuite/gfortran.dg/gomp/requires-2.f90 | 14 +
gcc/testsuite/gfortran.dg/gomp/requires-3.f90 | 4 +
gcc/testsuite/gfortran.dg/gomp/requires-4.f90 | 36 +
gcc/testsuite/gfortran.dg/gomp/requires-5.f90 | 16 +
gcc/testsuite/gfortran.dg/gomp/requires-6.f90 | 16 +
gcc/testsuite/gfortran.dg/gomp/requires-7.f90 | 41 +
gcc/testsuite/gfortran.dg/gomp/requires-8.f90 | 22 +
gcc/testsuite/gfortran.dg/gomp/requires-9.f90 | 85 +
gcc/testsuite/gfortran.dg/implicit_pure_5.c | 7 +
gcc/testsuite/gfortran.dg/implicit_pure_5.f90 | 63 +
gcc/testsuite/gfortran.dg/interface_47.f90 | 19 +
gcc/testsuite/gfortran.dg/interface_48.f90 | 31 +
gcc/testsuite/gfortran.dg/module_procedure_4.f90 | 63 +
gcc/testsuite/gfortran.dg/pr45337_1.f90 | 14 +
gcc/testsuite/gfortran.dg/pr45337_2.f90 | 18 +
gcc/testsuite/gfortran.dg/pr53298.f90 | 14 +
gcc/testsuite/gfortran.dg/pr71706.f90 | 10 +
gcc/testsuite/gfortran.dg/pr88379.f90 | 11 +
gcc/testsuite/gfortran.dg/pr89574.f90 | 29 +
gcc/testsuite/gfortran.dg/pr91589.f90 | 2 +-
gcc/testsuite/gfortran.dg/pr93337.f90 | 10 +
gcc/testsuite/gfortran.dg/pr93423.f90 | 21 +
gcc/testsuite/gfortran.dg/pr95340.f90 | 10 +
gcc/testsuite/gfortran.dg/pr95446.f90 | 38 +
gcc/testsuite/gfortran.dg/pr95584.f90 | 16 +
gcc/testsuite/gfortran.dg/pr95612.f90 | 7 +
gcc/testsuite/gfortran.dg/pr95690.f90 | 4 +-
gcc/testsuite/gfortran.dg/pr95709.f90 | 14 +
gcc/testsuite/gfortran.dg/pr95829.f90 | 14 +
gcc/testsuite/gfortran.dg/pr95880.f90 | 9 +
gcc/testsuite/gfortran.dg/pr95881.f90 | 11 +
gcc/testsuite/gfortran.dg/pr95978.f90 | 10 +
gcc/testsuite/gfortran.dg/pr95980.f90 | 10 +
gcc/testsuite/gfortran.dg/pr95980_2.f90 | 11 +
gcc/testsuite/gfortran.dg/pr95981.f90 | 9 +
gcc/testsuite/gfortran.dg/pr96038.f90 | 8 +
gcc/testsuite/gfortran.dg/pr96085.f90 | 12 +
gcc/testsuite/gfortran.dg/pr96086.f90 | 8 +
gcc/testsuite/gfortran.dg/pr96102.f90 | 27 +
gcc/testsuite/gfortran.dg/pr96312.f90 | 30 +
gcc/testsuite/gfortran.dg/pr96319.f90 | 12 +
gcc/testsuite/gfortran.dg/pr96325.f90 | 21 +
gcc/testsuite/gfortran.dg/recursive_check_16.f90 | 25 +
gcc/testsuite/gfortran.dg/round_3.f08 | 26 +-
gcc/testsuite/gfortran.dg/select_type_49.f90 | 43 +
gcc/testsuite/gfortran.dg/use_15.f90 | 2 +-
gcc/testsuite/gnat.dg/opt87.adb | 12 +
gcc/testsuite/gnat.dg/opt87_pkg.adb | 12 +
gcc/testsuite/gnat.dg/opt87_pkg.ads | 6 +
gcc/testsuite/go.dg/arrayclear.go | 3 +
gcc/testsuite/jit.dg/jit.exp | 20 +-
gcc/testsuite/lib/c-compat.exp | 26 +-
gcc/testsuite/lib/gcc-defs.exp | 55 +-
gcc/testsuite/lib/gcc-dg.exp | 26 +-
gcc/testsuite/lib/options.exp | 4 +-
gcc/testsuite/lib/profopt.exp | 4 +-
gcc/testsuite/lib/prune.exp | 17 +-
gcc/testsuite/lib/scandump.exp | 56 +-
gcc/testsuite/lib/scanlang.exp | 51 +
gcc/testsuite/lib/scanoffload.exp | 20 +-
gcc/testsuite/lib/scanwpaipa.exp | 4 +-
gcc/testsuite/lib/target-supports-dg.exp | 28 +
gcc/testsuite/lib/target-supports.exp | 110 +-
.../obj-c++.dg/attributes/method-nonnull-1.mm | 8 +-
.../objc.dg/attributes/method-nonnull-1.m | 8 +-
gcc/timevar.def | 1 -
gcc/toplev.c | 36 +-
gcc/tree-cfg.c | 40 +-
gcc/tree-core.h | 9 +-
gcc/tree-diagnostic-path.cc | 5 +-
gcc/tree-if-conv.c | 5 +
gcc/tree-loop-distribution.c | 21 +-
gcc/tree-nested.c | 63 +-
gcc/tree-pass.h | 2 -
gcc/tree-pretty-print.c | 16 +-
gcc/tree-ssa-ccp.c | 86 +-
gcc/tree-ssa-loop-im.c | 153 +-
gcc/tree-ssa-loop-ivopts.c | 4 +
gcc/tree-ssa-loop-split.c | 10 +
gcc/tree-ssa-math-opts.c | 2 +-
gcc/tree-ssa-pre.c | 11 +
gcc/tree-ssa-propagate.c | 15 +-
gcc/tree-ssa-propagate.h | 2 +-
gcc/tree-ssa-reassoc.c | 98 +-
gcc/tree-ssa-sccvn.c | 80 +-
gcc/tree-ssa-sccvn.h | 1 +
gcc/tree-ssa-sink.c | 3 +-
gcc/tree-ssanames.c | 2 +-
gcc/tree-ssanames.h | 2 +-
gcc/tree-vect-data-refs.c | 123 +-
gcc/tree-vect-generic.c | 78 +-
gcc/tree-vect-loop-manip.c | 190 +-
gcc/tree-vect-loop.c | 564 +-
gcc/tree-vect-slp.c | 293 +-
gcc/tree-vect-stmts.c | 346 +-
gcc/tree-vectorizer.c | 49 +-
gcc/tree-vectorizer.h | 46 +-
gcc/tree.c | 59 +-
gcc/tree.h | 21 +-
gcc/tristate.h | 2 +
gcc/value-range-equiv.h | 5 +-
gcc/value-range.cc | 82 +-
gcc/value-range.h | 14 +-
gcc/var-tracking.c | 110 +-
gcc/vec.h | 20 +-
gcc/vr-values.c | 208 +-
gcc/vr-values.h | 23 +-
gcc/wide-int.cc | 33 +
gcc/wide-int.h | 2 +
include/ChangeLog | 15 +
include/gomp-constants.h | 13 +-
libatomic/ChangeLog | 4 +
libatomic/config/t-aix | 2 +-
libbacktrace/ChangeLog | 10 +
libbacktrace/configure | 35 +-
libbacktrace/configure.ac | 4 +-
libcc1/ChangeLog | 29 +
libcc1/configure | 21 +-
libcc1/libcp1plugin.cc | 6 +-
libcpp/ChangeLog | 62 +
libcpp/charset.c | 98 +-
libcpp/configure | 21 +-
libcpp/directives.c | 44 +-
libcpp/files.c | 12 +-
libcpp/include/cpplib.h | 43 +-
libcpp/init.c | 24 +-
libcpp/internal.h | 4 +-
libcpp/lex.c | 3 +-
libcpp/line-map.c | 52 +-
libcpp/po/ChangeLog | 4 +
libcpp/po/cpplib.pot | 244 +-
libcpp/traditional.c | 4 +-
libdecnumber/ChangeLog | 5 +
libdecnumber/configure | 21 +-
libgcc/ChangeLog | 82 +
libgcc/config/aarch64/aarch64-unwind.h | 40 +-
libgcc/config/aarch64/lse.S | 45 +-
libgcc/config/i386/morestack.S | 2 +-
libgcc/config/nvptx/atomic.c | 73 +
libgcc/config/nvptx/t-nvptx | 3 +-
libgcc/config/riscv/save-restore.S | 13 +-
libgcc/config/rs6000/t-slibgcc-aix | 2 +-
libgcc/libgcov-driver-system.c | 2 +-
libgcc/libgcov-driver.c | 50 +-
libgcc/libgcov-util.c | 41 +-
libgcc/libgcov.h | 49 +-
libgcc/unwind-dw2.c | 34 +-
libgfortran/ChangeLog | 39 +
libgfortran/Makefile.am | 6 +-
libgfortran/Makefile.in | 8 +-
libgfortran/caf/single.c | 11 +-
libgfortran/config/t-aix | 5 +-
libgfortran/configure | 19 +-
libgfortran/configure.ac | 13 +
libgfortran/io/write_float.def | 15 +-
libgfortran/mk-kinds-h.sh | 15 +-
libgfortran/mk-sik-inc.sh | 13 +-
libgfortran/mk-srk-inc.sh | 13 +-
libgo/MERGE | 2 +-
libgo/Makefile.am | 44 +-
libgo/Makefile.in | 88 +-
libgo/VERSION | 2 +-
libgo/check-packages.txt | 4 +-
libgo/configure | 15 +-
libgo/configure.ac | 10 +-
libgo/go/bufio/bufio.go | 52 +-
libgo/go/bufio/bufio_test.go | 34 +-
libgo/go/bufio/scan.go | 5 +
libgo/go/bufio/scan_test.go | 57 +
libgo/go/bytes/buffer_test.go | 19 +-
libgo/go/bytes/bytes.go | 199 +-
libgo/go/bytes/bytes_test.go | 78 +-
libgo/go/cmd/cgo/doc.go | 11 +-
libgo/go/cmd/cgo/gcc.go | 42 +-
libgo/go/cmd/cgo/out.go | 51 +-
libgo/go/cmd/go/alldocs.go | 166 +-
libgo/go/cmd/go/go_test.go | 2747 +--
libgo/go/cmd/go/help_test.go | 2 +
libgo/go/cmd/go/internal/auth/auth.go | 4 +-
libgo/go/cmd/go/internal/base/base.go | 25 -
libgo/go/cmd/go/internal/base/env.go | 14 +-
libgo/go/cmd/go/internal/base/goflags.go | 12 +-
libgo/go/cmd/go/internal/cache/cache.go | 2 +-
libgo/go/cmd/go/internal/cfg/cfg.go | 11 +
libgo/go/cmd/go/internal/clean/clean.go | 33 +-
libgo/go/cmd/go/internal/cmdflag/flag.go | 203 +-
libgo/go/cmd/go/internal/envcmd/env.go | 1 +
libgo/go/cmd/go/internal/fmtcmd/fmt.go | 7 +-
libgo/go/cmd/go/internal/generate/generate.go | 33 +-
libgo/go/cmd/go/internal/get/get.go | 33 +-
libgo/go/cmd/go/internal/get/vcs.go | 2 +-
libgo/go/cmd/go/internal/help/help.go | 2 +-
libgo/go/cmd/go/internal/help/helpdoc.go | 97 +
libgo/go/cmd/go/internal/list/list.go | 4 +-
libgo/go/cmd/go/internal/load/pkg.go | 294 +-
libgo/go/cmd/go/internal/load/test.go | 11 +-
.../lockedfile/internal/filelock/filelock_fcntl.go | 70 +-
.../cmd/go/internal/lockedfile/lockedfile_test.go | 98 +
libgo/go/cmd/go/internal/modcmd/download.go | 3 +-
libgo/go/cmd/go/internal/modcmd/vendor.go | 5 +
libgo/go/cmd/go/internal/modcmd/verify.go | 55 +-
libgo/go/cmd/go/internal/modconv/convert_test.go | 4 +-
libgo/go/cmd/go/internal/modfetch/cache.go | 28 +-
.../cmd/go/internal/modfetch/codehost/codehost.go | 10 +-
libgo/go/cmd/go/internal/modfetch/codehost/git.go | 5 -
.../cmd/go/internal/modfetch/codehost/git_test.go | 1 -
.../go/cmd/go/internal/modfetch/codehost/shell.go | 3 +-
libgo/go/cmd/go/internal/modfetch/coderepo.go | 27 +-
libgo/go/cmd/go/internal/modfetch/coderepo_test.go | 2 +-
libgo/go/cmd/go/internal/modfetch/fetch.go | 102 +-
libgo/go/cmd/go/internal/modfetch/proxy.go | 129 +-
libgo/go/cmd/go/internal/modfetch/pseudo.go | 4 +-
libgo/go/cmd/go/internal/modfetch/sumdb.go | 99 +-
.../modfetch/zip_sum_test/testdata/zip_sums.csv | 5 -
.../internal/modfetch/zip_sum_test/zip_sum_test.go | 2 +-
libgo/go/cmd/go/internal/modget/get.go | 50 +-
libgo/go/cmd/go/internal/modload/build.go | 30 +-
libgo/go/cmd/go/internal/modload/help.go | 18 +-
libgo/go/cmd/go/internal/modload/import.go | 118 +-
libgo/go/cmd/go/internal/modload/init.go | 254 +-
libgo/go/cmd/go/internal/modload/load.go | 658 +-
libgo/go/cmd/go/internal/modload/modfile.go | 164 +
libgo/go/cmd/go/internal/modload/mvs.go | 259 +
libgo/go/cmd/go/internal/modload/query.go | 90 +-
libgo/go/cmd/go/internal/modload/query_test.go | 5 +-
libgo/go/cmd/go/internal/modload/search.go | 45 +-
libgo/go/cmd/go/internal/modload/vendor.go | 217 +
libgo/go/cmd/go/internal/mvs/mvs.go | 23 +-
libgo/go/cmd/go/internal/renameio/renameio_test.go | 6 +
libgo/go/cmd/go/internal/search/search.go | 231 +-
libgo/go/cmd/go/internal/str/path.go | 2 +-
libgo/go/cmd/go/internal/test/flagdefs.go | 34 +
libgo/go/cmd/go/internal/test/flagdefs_test.go | 34 +
libgo/go/cmd/go/internal/test/genflags.go | 90 +
libgo/go/cmd/go/internal/test/test.go | 168 +-
libgo/go/cmd/go/internal/test/testflag.go | 480 +-
libgo/go/cmd/go/internal/version/version.go | 6 +
libgo/go/cmd/go/internal/vet/vet.go | 8 +-
libgo/go/cmd/go/internal/vet/vetflag.go | 163 +-
libgo/go/cmd/go/internal/web/api.go | 17 +-
libgo/go/cmd/go/internal/web/http.go | 40 +-
libgo/go/cmd/go/internal/work/action.go | 2 +-
libgo/go/cmd/go/internal/work/build.go | 5 +-
libgo/go/cmd/go/internal/work/build_test.go | 2 +-
libgo/go/cmd/go/internal/work/buildid.go | 4 +-
libgo/go/cmd/go/internal/work/exec.go | 114 +-
libgo/go/cmd/go/internal/work/gc.go | 27 +-
libgo/go/cmd/go/internal/work/init.go | 37 +-
libgo/go/cmd/go/internal/work/security.go | 3 +
libgo/go/cmd/go/internal/work/security_test.go | 2 +
libgo/go/cmd/go/internal/work/testgo.go | 33 +-
libgo/go/cmd/go/main.go | 3 +-
libgo/go/cmd/go/note_test.go | 4 +-
libgo/go/cmd/go/proxy_test.go | 19 +
libgo/go/cmd/go/script_test.go | 483 +-
libgo/go/cmd/go/testdata/example1_test.go | 23 -
libgo/go/cmd/go/testdata/example2_test.go | 21 -
libgo/go/cmd/go/testdata/generate/test1.go | 13 -
libgo/go/cmd/go/testdata/generate/test2.go | 10 -
libgo/go/cmd/go/testdata/generate/test3.go | 9 -
libgo/go/cmd/go/testdata/generate/test4.go | 10 -
.../mod/example.com_printversion_v0.1.0.txt | 6 +
.../mod/example.com_printversion_v1.0.0.txt | 6 +
.../cmd/go/testdata/norunexample/example_test.go | 11 -
libgo/go/cmd/go/testdata/norunexample/test_test.go | 10 -
libgo/go/cmd/go/testdata/print_goroot.go | 14 -
libgo/go/cmd/go/testdata/rundir/sub/sub.go | 1 -
libgo/go/cmd/go/testdata/rundir/x.go | 1 -
libgo/go/cmd/go/testdata/script/README | 24 +-
libgo/go/cmd/go/testdata/script/build_gcflags.txt | 3 +-
libgo/go/cmd/go/testdata/script/build_trimpath.txt | 4 +
.../go/cmd/go/testdata/script/cmd_import_error.txt | 2 +-
.../go/cmd/go/testdata/script/gcflags_patterns.txt | 2 +
.../cmd/go/testdata/script/install_cross_gobin.txt | 9 +-
.../go/testdata/script/link_syso_issue33139.txt | 4 -
.../cmd/go/testdata/script/list_ambiguous_path.txt | 4 +-
libgo/go/cmd/go/testdata/script/list_importmap.txt | 2 +-
libgo/go/cmd/go/testdata/script/list_parse_err.txt | 36 +-
.../cmd/go/testdata/script/list_test_imports.txt | 2 +-
.../go/testdata/script/list_test_non_go_files.txt | 2 +-
.../go/testdata/script/mod_ambiguous_import.txt | 3 +-
.../go/cmd/go/testdata/script/mod_convert_dep.txt | 1 -
.../go/cmd/go/testdata/script/mod_convert_git.txt | 17 +
libgo/go/cmd/go/testdata/script/mod_dot.txt | 97 +-
libgo/go/cmd/go/testdata/script/mod_empty_err.txt | 8 +-
.../go/cmd/go/testdata/script/mod_fs_patterns.txt | 4 +-
libgo/go/cmd/go/testdata/script/mod_get_commit.txt | 3 +
libgo/go/cmd/go/testdata/script/mod_get_main.txt | 15 +-
libgo/go/cmd/go/testdata/script/mod_get_tags.txt | 3 +-
libgo/go/cmd/go/testdata/script/mod_gonoproxy.txt | 15 +-
.../cmd/go/testdata/script/mod_goroot_errors.txt | 4 +-
.../cmd/go/testdata/script/mod_invalid_version.txt | 6 +-
libgo/go/cmd/go/testdata/script/mod_list_dir.txt | 4 -
.../go/testdata/script/mod_list_replace_dir.txt | 4 +-
libgo/go/cmd/go/testdata/script/mod_list_std.txt | 10 +
libgo/go/cmd/go/testdata/script/mod_proxy_list.txt | 14 +-
libgo/go/cmd/go/testdata/script/mod_readonly.txt | 4 +-
.../cmd/go/testdata/script/mod_replace_import.txt | 5 +-
libgo/go/cmd/go/testdata/script/mod_retention.txt | 12 +-
.../go/cmd/go/testdata/script/mod_sumdb_proxy.txt | 17 +
.../cmd/go/testdata/script/noncanonical_import.txt | 4 +-
libgo/go/cmd/go/testdata/script/script_wait.txt | 7 +-
.../cmd/go/testdata/script/test_cache_inputs.txt | 21 +
libgo/go/cmd/go/testdata/script/version.txt | 27 +-
libgo/go/cmd/go/testdata/script/vet_flags.txt | 58 +-
.../go/cmd/go/testdata/shadow/root1/src/foo/foo.go | 1 -
.../cmd/go/testdata/shadow/root1/src/math/math.go | 1 -
.../go/cmd/go/testdata/shadow/root2/src/foo/foo.go | 1 -
libgo/go/cmd/go/testdata/src/cgotest/m.go | 5 -
libgo/go/cmd/go/testdata/src/coverasm/p.go | 7 -
libgo/go/cmd/go/testdata/src/coverasm/p.s | 2 -
libgo/go/cmd/go/testdata/src/coverasm/p_test.go | 7 -
libgo/go/cmd/go/testdata/src/coverbad/p.go | 5 -
libgo/go/cmd/go/testdata/src/coverbad/p1.go | 7 -
libgo/go/cmd/go/testdata/src/coverbad/p_test.go | 5 -
libgo/go/cmd/go/testdata/src/coverdep/p.go | 6 -
libgo/go/cmd/go/testdata/src/coverdep/p1/p1.go | 3 -
libgo/go/cmd/go/testdata/src/coverdep/p_test.go | 7 -
libgo/go/cmd/go/testdata/src/coverdep2/p1/p.go | 3 -
.../go/cmd/go/testdata/src/coverdep2/p1/p_test.go | 10 -
libgo/go/cmd/go/testdata/src/coverdep2/p2/p2.go | 7 -
libgo/go/cmd/go/testdata/src/coverdot1/p.go | 3 -
libgo/go/cmd/go/testdata/src/coverdot2/p.go | 5 -
libgo/go/cmd/go/testdata/src/coverdot2/p_test.go | 7 -
libgo/go/cmd/go/testdata/src/empty/pkg/pkg.go | 1 -
libgo/go/cmd/go/testdata/src/empty/pkgtest/pkg.go | 1 -
.../cmd/go/testdata/src/empty/pkgtest/test_test.go | 1 -
.../cmd/go/testdata/src/empty/pkgtestxtest/pkg.go | 1 -
.../testdata/src/empty/pkgtestxtest/test_test.go | 1 -
.../testdata/src/empty/pkgtestxtest/xtest_test.go | 1 -
libgo/go/cmd/go/testdata/src/empty/pkgxtest/pkg.go | 1 -
.../go/testdata/src/empty/pkgxtest/xtest_test.go | 1 -
.../go/cmd/go/testdata/src/empty/test/test_test.go | 1 -
.../go/testdata/src/empty/testxtest/test_test.go | 1 -
.../go/testdata/src/empty/testxtest/xtest_test.go | 1 -
.../cmd/go/testdata/src/empty/xtest/xtest_test.go | 1 -
libgo/go/cmd/go/testdata/src/exclude/empty/x.txt | 0
libgo/go/cmd/go/testdata/src/exclude/ignore/_x.go | 1 -
libgo/go/cmd/go/testdata/src/exclude/x.go | 3 -
libgo/go/cmd/go/testdata/src/exclude/x_linux.go | 3 -
libgo/go/cmd/go/testdata/src/failfast_test.go | 62 -
libgo/go/cmd/go/testdata/src/hello/hello.go | 5 -
libgo/go/cmd/go/testdata/src/my.pkg/main/main.go | 7 -
libgo/go/cmd/go/testdata/src/my.pkg/pkg.go | 3 -
libgo/go/cmd/go/testdata/src/skipper/skip_test.go | 7 -
.../go/cmd/go/testdata/src/testlist/bench_test.go | 14 -
.../cmd/go/testdata/src/testlist/example_test.go | 21 -
libgo/go/cmd/go/testdata/src/testlist/test_test.go | 10 -
libgo/go/cmd/go/testdata/src/vend/bad.go | 3 -
libgo/go/cmd/go/testdata/src/vend/dir1/dir1.go | 1 -
libgo/go/cmd/go/testdata/src/vend/good.go | 3 -
libgo/go/cmd/go/testdata/src/vend/hello/hello.go | 10 -
.../cmd/go/testdata/src/vend/hello/hello_test.go | 12 -
.../cmd/go/testdata/src/vend/hello/hellox_test.go | 12 -
libgo/go/cmd/go/testdata/src/vend/subdir/bad.go | 3 -
libgo/go/cmd/go/testdata/src/vend/subdir/good.go | 3 -
libgo/go/cmd/go/testdata/src/vend/vendor/p/p.go | 1 -
libgo/go/cmd/go/testdata/src/vend/vendor/q/q.go | 1 -
.../cmd/go/testdata/src/vend/vendor/strings/msg.go | 3 -
.../src/vend/vendor/vend/dir1/dir2/dir2.go | 1 -
.../cmd/go/testdata/src/vend/x/invalid/invalid.go | 3 -
libgo/go/cmd/go/testdata/src/vend/x/vendor/p/p.go | 1 -
.../go/cmd/go/testdata/src/vend/x/vendor/p/p/p.go | 3 -
libgo/go/cmd/go/testdata/src/vend/x/vendor/r/r.go | 1 -
libgo/go/cmd/go/testdata/src/vend/x/x.go | 7 -
libgo/go/cmd/go/testdata/src/vetcycle/p.go | 13 -
libgo/go/cmd/go/testdata/src/vetfail/p1/p1.go | 9 -
libgo/go/cmd/go/testdata/src/vetfail/p2/p2.go | 6 -
libgo/go/cmd/go/testdata/src/vetfail/p2/p2_test.go | 7 -
libgo/go/cmd/go/testdata/src/vetpkg/a_test.go | 1 -
libgo/go/cmd/go/testdata/src/vetpkg/b.go | 7 -
libgo/go/cmd/go/testdata/src/vetpkg/c.go | 9 -
libgo/go/cmd/go/testdata/src/xtestonly/f.go | 3 -
libgo/go/cmd/go/testdata/src/xtestonly/f_test.go | 12 -
.../cmd/go/testdata/standalone_benchmark_test.go | 6 -
.../go/cmd/go/testdata/standalone_fail_sub_test.go | 8 -
.../cmd/go/testdata/standalone_main_normal_test.go | 10 -
.../cmd/go/testdata/standalone_main_wrong_test.go | 10 -
.../go/testdata/standalone_parallel_sub_test.go | 14 -
libgo/go/cmd/go/testdata/standalone_sub_test.go | 7 -
libgo/go/cmd/go/testdata/standalone_test.go | 6 -
.../go/testdata/standalone_testmain_flag_test.go | 29 -
libgo/go/cmd/go/testdata/test_regexps.txt | 75 +
libgo/go/cmd/go/testdata/testcover/pkg1/a.go | 7 -
libgo/go/cmd/go/testdata/testcover/pkg2/a.go | 7 -
libgo/go/cmd/go/testdata/testcover/pkg2/a_test.go | 1 -
libgo/go/cmd/go/testdata/testcover/pkg3/a.go | 7 -
libgo/go/cmd/go/testdata/testcover/pkg3/a_test.go | 7 -
libgo/go/cmd/go/testdata/testcover/pkg4/a.go | 5 -
libgo/go/cmd/go/testdata/testcover/pkg4/a_test.go | 9 -
libgo/go/cmd/go/testdata/testimport/p.go | 3 -
libgo/go/cmd/go/testdata/testimport/p1/p1.go | 3 -
libgo/go/cmd/go/testdata/testimport/p2/p2.go | 3 -
libgo/go/cmd/go/testdata/testimport/p_test.go | 13 -
libgo/go/cmd/go/testdata/testimport/x_test.go | 15 -
libgo/go/cmd/go/testdata/testinternal/p.go | 3 -
libgo/go/cmd/go/testdata/testinternal2/p.go | 3 -
.../testdata/testinternal2/x/y/z/internal/w/w.go | 1 -
libgo/go/cmd/go/testdata/testinternal3/t.go | 3 -
libgo/go/cmd/go/testdata/testinternal4/src/p/p.go | 6 -
.../testdata/testinternal4/src/q/internal/x/x.go | 1 -
.../go/cmd/go/testdata/testinternal4/src/q/j/j.go | 3 -
libgo/go/cmd/go/testdata/testonly/p_test.go | 1 -
libgo/go/cmd/go/testdata/testonly2/t.go | 6 -
libgo/go/cmd/go/testdata/testvendor/src/p/p.go | 6 -
.../cmd/go/testdata/testvendor/src/q/vendor/x/x.go | 1 -
libgo/go/cmd/go/testdata/testvendor/src/q/y/y.go | 3 -
libgo/go/cmd/go/testdata/testvendor/src/q/z/z.go | 3 -
libgo/go/cmd/go/testdata/testvendor2/src/p/p.go | 3 -
libgo/go/cmd/go/testdata/testvendor2/vendor/x/x.go | 1 -
libgo/go/cmd/go/testdata/timeoutbench_test.go | 10 -
libgo/go/cmd/go/vendor_test.go | 412 -
libgo/go/cmd/gofmt/gofmt.go | 64 +-
libgo/go/cmd/gofmt/internal.go | 8 +-
libgo/go/cmd/internal/objabi/autotype.go | 2 +-
libgo/go/cmd/internal/objabi/funcdata.go | 28 +-
libgo/go/cmd/internal/objabi/head.go | 2 +-
libgo/go/cmd/internal/objabi/reloctype.go | 2 +-
libgo/go/cmd/internal/objabi/stack.go | 2 +-
libgo/go/cmd/internal/objabi/symkind.go | 2 +-
libgo/go/cmd/internal/objabi/symkind_string.go | 24 +-
libgo/go/cmd/internal/objabi/util.go | 19 +-
libgo/go/cmd/internal/sys/supported.go | 11 +-
libgo/go/cmd/vet/main.go | 4 +
libgo/go/compress/flate/deflate_test.go | 56 +-
libgo/go/compress/flate/deflatefast.go | 49 +-
libgo/go/compress/flate/huffman_bit_writer.go | 1 +
libgo/go/compress/flate/writer_test.go | 63 +
libgo/go/container/list/list.go | 18 +-
libgo/go/context/context.go | 9 +
libgo/go/context/context_test.go | 159 +-
libgo/go/context/example_test.go | 6 +-
libgo/go/context/x_test.go | 1 +
libgo/go/crypto/crypto.go | 47 +-
libgo/go/crypto/ecdsa/ecdsa.go | 88 +-
libgo/go/crypto/ecdsa/ecdsa_noasm.go | 21 +
libgo/go/crypto/ecdsa/ecdsa_s390x.go | 164 +
libgo/go/crypto/ecdsa/ecdsa_s390x_test.go | 34 +
libgo/go/crypto/ecdsa/ecdsa_test.go | 30 +
libgo/go/crypto/ecdsa/equal_test.go | 75 +
libgo/go/crypto/ecdsa/example_test.go | 6 +-
libgo/go/crypto/ed25519/ed25519.go | 21 +
libgo/go/crypto/ed25519/ed25519_test.go | 22 +
libgo/go/crypto/elliptic/elliptic.go | 83 +-
libgo/go/crypto/elliptic/elliptic_test.go | 147 +-
libgo/go/crypto/hmac/hmac.go | 80 +-
libgo/go/crypto/hmac/hmac_test.go | 13 +-
libgo/go/crypto/rsa/equal_test.go | 51 +
libgo/go/crypto/rsa/example_test.go | 2 +-
libgo/go/crypto/rsa/pkcs1v15.go | 41 +-
libgo/go/crypto/rsa/pkcs1v15_test.go | 18 +
libgo/go/crypto/rsa/pss.go | 182 +-
libgo/go/crypto/rsa/rsa.go | 86 +-
libgo/go/crypto/sha512/sha512block_generic.go | 4 +-
libgo/go/crypto/tls/alert.go | 120 +-
libgo/go/crypto/tls/auth.go | 18 +-
libgo/go/crypto/tls/auth_test.go | 14 +-
libgo/go/crypto/tls/common.go | 324 +-
libgo/go/crypto/tls/common_string.go | 116 +
libgo/go/crypto/tls/conn.go | 84 +-
libgo/go/crypto/tls/example_test.go | 122 +-
libgo/go/crypto/tls/generate_cert.go | 12 +-
libgo/go/crypto/tls/handshake_client.go | 126 +-
libgo/go/crypto/tls/handshake_client_test.go | 535 +-
libgo/go/crypto/tls/handshake_client_tls13.go | 88 +-
libgo/go/crypto/tls/handshake_messages_test.go | 9 +-
libgo/go/crypto/tls/handshake_server.go | 87 +-
libgo/go/crypto/tls/handshake_server_test.go | 22 +-
libgo/go/crypto/tls/handshake_server_tls13.go | 17 +-
libgo/go/crypto/tls/key_agreement.go | 2 +-
libgo/go/crypto/tls/key_schedule.go | 7 +-
libgo/go/crypto/tls/link_test.go | 121 +
.../testdata/Server-TLSv10-ExportKeyingMaterial | 83 +-
libgo/go/crypto/tls/testdata/Server-TLSv12-ALPN | 83 +-
.../crypto/tls/testdata/Server-TLSv12-ALPN-NoMatch | 83 +-
.../testdata/Server-TLSv12-ExportKeyingMaterial | 81 +-
.../crypto/tls/testdata/Server-TLSv12-IssueTicket | 167 +-
.../testdata/Server-TLSv12-IssueTicketPreDisable | 167 +-
libgo/go/crypto/tls/testdata/Server-TLSv12-Resume | 82 +-
libgo/go/crypto/tls/ticket.go | 119 +-
libgo/go/crypto/tls/tls.go | 106 +-
libgo/go/crypto/tls/tls_test.go | 174 +-
libgo/go/crypto/x509/cert_pool.go | 12 +-
.../crypto/x509/internal/macos/corefoundation.go | 141 +
libgo/go/crypto/x509/internal/macos/security.go | 116 +
libgo/go/crypto/x509/pkcs1.go | 12 +-
libgo/go/crypto/x509/pkcs8.go | 6 +-
libgo/go/crypto/x509/pkix/pkix.go | 52 +-
libgo/go/crypto/x509/root.go | 2 +
libgo/go/crypto/x509/root_cgo_darwin.go | 314 -
libgo/go/crypto/x509/root_cgo_darwin_amd64.go | 322 +
libgo/go/crypto/x509/root_darwin.go | 288 -
libgo/go/crypto/x509/root_darwin_amd64.go | 243 +
libgo/go/crypto/x509/root_darwin_arm_gen.go | 186 -
libgo/go/crypto/x509/root_darwin_armx.go | 4313 -----
libgo/go/crypto/x509/root_darwin_ios.go | 5262 ++++++
libgo/go/crypto/x509/root_darwin_ios_gen.go | 179 +
libgo/go/crypto/x509/root_nocgo_darwin.go | 11 -
libgo/go/crypto/x509/root_omit.go | 29 +
libgo/go/crypto/x509/root_omit_test.go | 23 +
libgo/go/crypto/x509/root_unix.go | 46 +-
libgo/go/crypto/x509/root_unix_test.go | 109 +
libgo/go/crypto/x509/root_windows.go | 46 +-
libgo/go/crypto/x509/sec1.go | 7 +-
libgo/go/crypto/x509/verify.go | 142 +-
libgo/go/crypto/x509/verify_test.go | 931 +-
libgo/go/crypto/x509/x509.go | 193 +-
libgo/go/crypto/x509/x509_test.go | 519 +-
libgo/go/database/sql/driver/driver.go | 61 +-
libgo/go/database/sql/fakedb_test.go | 45 +-
libgo/go/database/sql/sql.go | 350 +-
libgo/go/database/sql/sql_test.go | 296 +
libgo/go/debug/gosym/symtab.go | 4 +-
libgo/go/debug/pe/file_test.go | 12 +-
libgo/go/debug/pe/pe.go | 53 +
libgo/go/encoding/asn1/asn1.go | 12 +
libgo/go/encoding/asn1/asn1_test.go | 12 +
libgo/go/encoding/asn1/marshal.go | 56 +
libgo/go/encoding/asn1/marshal_test.go | 57 +
libgo/go/encoding/base64/base64.go | 26 +-
libgo/go/encoding/base64/base64_test.go | 2 +-
libgo/go/encoding/binary/varint.go | 5 +-
libgo/go/encoding/binary/varint_test.go | 18 +-
libgo/go/encoding/csv/writer.go | 16 +-
libgo/go/encoding/csv/writer_test.go | 17 +
libgo/go/encoding/hex/hex_test.go | 1 -
libgo/go/encoding/json/decode.go | 69 +-
libgo/go/encoding/json/decode_test.go | 145 +-
libgo/go/encoding/json/encode.go | 13 +-
libgo/go/encoding/json/encode_test.go | 87 +-
libgo/go/encoding/json/scanner.go | 31 +-
libgo/go/encoding/json/stream_test.go | 8 +-
libgo/go/encoding/xml/marshal.go | 16 +-
libgo/go/encoding/xml/marshal_test.go | 17 +
libgo/go/encoding/xml/read.go | 16 +-
libgo/go/encoding/xml/typeinfo.go | 16 +-
libgo/go/encoding/xml/xml.go | 4 +-
libgo/go/errors/wrap.go | 2 +-
libgo/go/errors/wrap_test.go | 13 +
libgo/go/expvar/expvar_test.go | 8 +-
libgo/go/flag/flag.go | 11 +-
libgo/go/flag/flag_test.go | 66 +
libgo/go/fmt/fmt_test.go | 19 +-
libgo/go/fmt/format.go | 13 +-
libgo/go/fmt/scan.go | 8 +-
libgo/go/go/ast/ast.go | 55 +-
libgo/go/go/ast/ast_test.go | 29 +
libgo/go/go/build/build.go | 3 +-
libgo/go/go/build/build_test.go | 23 +-
libgo/go/go/build/deps_test.go | 1147 +-
libgo/go/go/build/doc.go | 97 +-
libgo/go/go/constant/value.go | 31 -
libgo/go/go/doc/example.go | 6 +-
libgo/go/go/doc/example_test.go | 76 +-
libgo/go/go/format/format.go | 14 +-
libgo/go/go/format/format_test.go | 38 +
libgo/go/go/format/internal.go | 2 +-
libgo/go/go/internal/gccgoimporter/parser.go | 2 +-
libgo/go/go/internal/gcimporter/bimport.go | 1021 -
libgo/go/go/internal/gcimporter/gcimporter.go | 13 +-
libgo/go/go/internal/gcimporter/gcimporter_test.go | 17 +-
libgo/go/go/internal/gcimporter/support.go | 127 +
libgo/go/go/internal/srcimporter/srcimporter.go | 64 +-
.../go/go/internal/srcimporter/srcimporter_test.go | 21 +
libgo/go/go/parser/interface.go | 8 +-
libgo/go/go/printer/nodes.go | 63 +
libgo/go/go/printer/performance_test.go | 2 +-
libgo/go/go/printer/printer.go | 16 +
libgo/go/go/printer/printer_test.go | 8 +-
libgo/go/go/printer/testdata/go2numbers.golden | 186 +
libgo/go/go/printer/testdata/go2numbers.input | 186 +
libgo/go/go/printer/testdata/go2numbers.norm | 186 +
libgo/go/go/token/position.go | 23 +-
libgo/go/go/types/api.go | 17 +-
libgo/go/go/types/assignments.go | 2 +-
libgo/go/go/types/builtins.go | 10 +-
libgo/go/go/types/builtins_test.go | 16 +
libgo/go/go/types/call.go | 100 +-
libgo/go/go/types/check.go | 10 +-
libgo/go/go/types/conversions.go | 2 +-
libgo/go/go/types/example_test.go | 11 +
libgo/go/go/types/expr.go | 55 +-
libgo/go/go/types/lookup.go | 28 +-
libgo/go/go/types/methodset.go | 54 +-
libgo/go/go/types/operand.go | 22 +-
libgo/go/go/types/package.go | 1 +
libgo/go/go/types/resolver.go | 5 +-
libgo/go/go/types/stdlib_test.go | 1 +
libgo/go/go/types/testdata/decls3.src | 18 +-
libgo/go/go/types/testdata/decls4.src | 4 +-
libgo/go/go/types/testdata/expr3.src | 4 +-
libgo/go/go/types/testdata/issue28251.src | 4 +-
libgo/go/go/types/testdata/issues.src | 16 +-
libgo/go/go/types/testdata/methodsets.src | 12 +-
libgo/go/go/types/universe.go | 8 +-
.../golang.org/x/crypto/chacha20/chacha_arm64.go | 3 +-
.../golang.org/x/crypto/chacha20/chacha_generic.go | 140 +-
.../golang.org/x/crypto/chacha20/chacha_noasm.go | 2 +-
.../golang.org/x/crypto/chacha20/chacha_ppc64le.go | 2 +-
.../golang.org/x/crypto/chacha20/chacha_s390x.go | 2 +-
libgo/go/golang.org/x/crypto/chacha20/xor.go | 17 +-
.../chacha20poly1305/chacha20poly1305_amd64.go | 2 +-
.../chacha20poly1305/chacha20poly1305_generic.go | 56 +-
.../chacha20poly1305/chacha20poly1305_noasm.go | 2 +-
libgo/go/golang.org/x/crypto/cryptobyte/asn1.go | 6 +-
libgo/go/golang.org/x/crypto/poly1305/mac_noasm.go | 4 +-
libgo/go/golang.org/x/crypto/poly1305/poly1305.go | 26 +-
libgo/go/golang.org/x/crypto/poly1305/sum_amd64.go | 13 +-
libgo/go/golang.org/x/crypto/poly1305/sum_arm.go | 19 -
.../go/golang.org/x/crypto/poly1305/sum_generic.go | 21 +-
libgo/go/golang.org/x/crypto/poly1305/sum_noasm.go | 13 -
.../go/golang.org/x/crypto/poly1305/sum_ppc64le.go | 13 +-
libgo/go/golang.org/x/crypto/poly1305/sum_s390x.go | 72 +-
libgo/go/golang.org/x/mod/modfile/print.go | 25 +-
libgo/go/golang.org/x/mod/modfile/read.go | 319 +-
libgo/go/golang.org/x/mod/modfile/rule.go | 154 +-
libgo/go/golang.org/x/mod/zip/zip.go | 20 +-
.../go/golang.org/x/net/dns/dnsmessage/message.go | 21 +-
libgo/go/golang.org/x/net/http2/hpack/huffman.go | 7 +
libgo/go/golang.org/x/net/route/address.go | 4 +-
libgo/go/golang.org/x/net/route/route.go | 2 +-
libgo/go/golang.org/x/sys/cpu/byteorder.go | 38 +-
libgo/go/golang.org/x/sys/cpu/cpu.go | 45 +
libgo/go/golang.org/x/sys/cpu/cpu_arm.go | 40 +
libgo/go/golang.org/x/sys/cpu/cpu_arm64.go | 138 +
libgo/go/golang.org/x/sys/cpu/cpu_gc_arm64.go | 11 +
libgo/go/golang.org/x/sys/cpu/cpu_gccgo_arm64.go | 11 +
.../x/sys/cpu/{cpu_gccgo.c => cpu_gccgo_x86.c} | 0
.../x/sys/cpu/{cpu_gccgo.go => cpu_gccgo_x86.go} | 0
libgo/go/golang.org/x/sys/cpu/cpu_linux.go | 48 +-
libgo/go/golang.org/x/sys/cpu/cpu_linux_arm.go | 39 +
libgo/go/golang.org/x/sys/cpu/cpu_linux_arm64.go | 6 +
libgo/go/golang.org/x/sys/cpu/cpu_linux_mips64x.go | 22 +
libgo/go/golang.org/x/sys/cpu/cpu_linux_noinit.go | 9 +
libgo/go/golang.org/x/sys/cpu/cpu_linux_other.go | 9 -
libgo/go/golang.org/x/sys/cpu/cpu_linux_ppc64x.go | 2 +
libgo/go/golang.org/x/sys/cpu/cpu_linux_s390x.go | 2 +
libgo/go/golang.org/x/sys/cpu/cpu_mips64x.go | 9 +
libgo/go/golang.org/x/sys/cpu/cpu_mipsx.go | 9 +
libgo/go/golang.org/x/sys/cpu/cpu_other_arm64.go | 9 +
libgo/go/golang.org/x/sys/cpu/cpu_riscv64.go | 2 +
libgo/go/golang.org/x/sys/cpu/cpu_wasm.go | 13 +
libgo/go/golang.org/x/sys/cpu/cpu_x86.go | 2 +
libgo/go/golang.org/x/sys/cpu/hwcap_linux.go | 56 +
libgo/go/golang.org/x/text/unicode/bidi/core.go | 8 +-
.../go/golang.org/x/tools/go/analysis/analysis.go | 16 +
libgo/go/golang.org/x/tools/go/analysis/doc.go | 86 +-
.../go/analysis/internal/analysisflags/flags.go | 2 +-
.../x/tools/go/analysis/passes/cgocall/cgocall.go | 14 +-
.../tools/go/analysis/passes/errorsas/errorsas.go | 2 +-
.../analysis/passes/httpresponse/httpresponse.go | 12 +-
.../go/analysis/passes/ifaceassert/ifaceassert.go | 101 +
.../analysis/passes/internal/analysisutil/util.go | 10 +
.../x/tools/go/analysis/passes/printf/printf.go | 67 +-
.../go/analysis/passes/stringintconv/string.go | 126 +
.../go/analysis/passes/unreachable/unreachable.go | 13 +-
.../golang.org/x/tools/go/ast/astutil/imports.go | 5 +-
.../x/tools/go/ast/inspector/inspector.go | 10 +-
libgo/go/golang.org/x/tools/go/cfg/cfg.go | 2 +-
.../x/tools/go/types/objectpath/objectpath.go | 5 +-
.../x/tools/internal/analysisinternal/analysis.go | 118 +
libgo/go/golang.org/x/xerrors/fmt.go | 138 +-
libgo/go/hash/crc32/crc32_s390x.go | 8 +-
libgo/go/hash/maphash/example_test.go | 37 +
libgo/go/hash/maphash/maphash_test.go | 56 +
libgo/go/html/template/clone_test.go | 2 +-
libgo/go/html/template/content_test.go | 76 +-
libgo/go/html/template/escape_test.go | 8 +-
libgo/go/html/template/example_test.go | 6 +-
libgo/go/html/template/exec_test.go | 1708 ++
libgo/go/html/template/html.go | 3 +-
libgo/go/html/template/js.go | 70 +-
libgo/go/html/template/js_test.go | 68 +-
libgo/go/html/template/multi_test.go | 246 +
libgo/go/html/template/template_test.go | 39 +
libgo/go/html/template/testdata/file1.tmpl | 2 +
libgo/go/html/template/testdata/file2.tmpl | 2 +
libgo/go/html/template/testdata/tmpl1.tmpl | 3 +
libgo/go/html/template/testdata/tmpl2.tmpl | 3 +
libgo/go/image/draw/bench_test.go | 6 +-
libgo/go/image/draw/draw.go | 22 +-
libgo/go/image/draw/draw_test.go | 32 +-
libgo/go/image/geom.go | 35 +
libgo/go/image/gif/writer_test.go | 7 +-
libgo/go/image/image.go | 96 +-
libgo/go/image/image_test.go | 72 +
libgo/go/image/jpeg/reader_test.go | 170 +
libgo/go/image/jpeg/scan.go | 19 +
libgo/go/image/names.go | 1 +
libgo/go/image/png/reader.go | 15 +-
libgo/go/image/png/reader_test.go | 134 +-
libgo/go/image/ycbcr.go | 20 +
libgo/go/internal/bytealg/bytealg.go | 128 +-
libgo/go/internal/bytealg/gccgo.go | 3 -
libgo/go/internal/bytealg/index_generic.go | 38 +-
libgo/go/internal/cfg/cfg.go | 1 +
libgo/go/internal/cpu/cpu.go | 56 +-
libgo/go/internal/cpu/cpu_arm.go | 5 +-
libgo/go/internal/cpu/cpu_arm64.go | 4 +-
libgo/go/internal/cpu/cpu_mips64x.go | 32 +
libgo/go/internal/cpu/cpu_no_init.go | 2 +
libgo/go/internal/cpu/cpu_ppc64x.go | 4 +-
libgo/go/internal/goversion/goversion.go | 2 +-
libgo/go/internal/poll/copy_file_range_linux.go | 99 +
libgo/go/internal/poll/fd.go | 18 +-
libgo/go/internal/poll/fd_mutex_test.go | 12 +-
libgo/go/internal/poll/fd_plan9.go | 33 +-
libgo/go/internal/poll/fd_poll_js.go | 2 +-
libgo/go/internal/poll/fd_poll_runtime.go | 19 +-
libgo/go/internal/poll/fd_posix.go | 20 +
libgo/go/internal/poll/fd_unix.go | 81 +-
libgo/go/internal/poll/fd_windows.go | 149 +-
libgo/go/internal/poll/fd_writev_unix.go | 13 +-
libgo/go/internal/poll/sendfile_bsd.go | 3 +
libgo/go/internal/poll/sendfile_windows.go | 2 +-
libgo/go/internal/poll/splice_linux.go | 3 +
libgo/go/internal/poll/writev.go | 5 +-
.../{runtime/pprof => }/internal/profile/encode.go | 0
.../{runtime/pprof => }/internal/profile/filter.go | 0
.../pprof => }/internal/profile/legacy_profile.go | 0
libgo/go/internal/profile/merge.go | 461 +
libgo/go/internal/profile/profile.go | 614 +
.../pprof => }/internal/profile/profile_test.go | 0
libgo/go/internal/profile/proto.go | 363 +
.../pprof => }/internal/profile/proto_test.go | 0
.../{runtime/pprof => }/internal/profile/prune.go | 0
libgo/go/internal/reflectlite/swapper.go | 7 +-
libgo/go/internal/reflectlite/value.go | 18 +-
.../internal/syscall/unix/copy_file_range_linux.go | 26 +
libgo/go/internal/syscall/unix/getrandom_linux.go | 2 +-
.../internal/syscall/unix/getrandom_linux_386.go | 9 -
.../internal/syscall/unix/getrandom_linux_alpha.go | 9 -
.../internal/syscall/unix/getrandom_linux_amd64.go | 9 -
.../syscall/unix/getrandom_linux_amd64p32.go | 9 -
.../internal/syscall/unix/getrandom_linux_arm.go | 9 -
.../syscall/unix/getrandom_linux_generic.go | 16 -
.../internal/syscall/unix/getrandom_linux_ia64.go | 9 -
.../internal/syscall/unix/getrandom_linux_m68k.go | 9 -
.../syscall/unix/getrandom_linux_mips64p32x.go | 11 -
.../syscall/unix/getrandom_linux_mips64x.go | 11 -
.../internal/syscall/unix/getrandom_linux_mipsx.go | 11 -
.../syscall/unix/getrandom_linux_ppc64x.go | 11 -
.../internal/syscall/unix/getrandom_linux_s390.go | 9 -
.../internal/syscall/unix/getrandom_linux_s390x.go | 9 -
.../internal/syscall/unix/getrandom_linux_shx.go | 11 -
.../syscall/unix/getrandom_linux_sparcx.go | 11 -
libgo/go/internal/syscall/unix/sysnum_linux_386.go | 10 +
.../go/internal/syscall/unix/sysnum_linux_alpha.go | 10 +
.../go/internal/syscall/unix/sysnum_linux_amd64.go | 10 +
.../internal/syscall/unix/sysnum_linux_amd64p32.go | 10 +
libgo/go/internal/syscall/unix/sysnum_linux_arm.go | 10 +
.../internal/syscall/unix/sysnum_linux_generic.go | 17 +
.../go/internal/syscall/unix/sysnum_linux_ia64.go | 10 +
.../go/internal/syscall/unix/sysnum_linux_m68k.go | 10 +
.../syscall/unix/sysnum_linux_mips64p32x.go | 12 +
.../internal/syscall/unix/sysnum_linux_mips64x.go | 12 +
.../go/internal/syscall/unix/sysnum_linux_mipsx.go | 12 +
.../internal/syscall/unix/sysnum_linux_ppc64x.go | 12 +
.../go/internal/syscall/unix/sysnum_linux_s390.go | 10 +
.../go/internal/syscall/unix/sysnum_linux_s390x.go | 10 +
libgo/go/internal/syscall/unix/sysnum_linux_shx.go | 12 +
.../internal/syscall/unix/sysnum_linux_sparcx.go | 12 +
.../go/internal/syscall/windows/syscall_windows.go | 17 +-
libgo/go/internal/testenv/testenv.go | 6 +-
libgo/go/internal/trace/writer.go | 4 +
libgo/go/internal/unsafeheader/unsafeheader.go | 37 +
.../go/internal/unsafeheader/unsafeheader_test.go | 100 +
libgo/go/internal/xcoff/file.go | 8 +-
libgo/go/io/example_test.go | 47 +-
libgo/go/io/io.go | 4 +
libgo/go/io/io_test.go | 3 +
libgo/go/io/ioutil/export_test.go | 7 +
libgo/go/io/ioutil/ioutil.go | 2 +-
libgo/go/io/ioutil/ioutil_test.go | 3 +-
libgo/go/io/ioutil/tempfile.go | 19 +-
libgo/go/io/ioutil/tempfile_test.go | 82 +-
libgo/go/log/syslog/syslog_test.go | 4 +-
libgo/go/math/all_test.go | 4 +
libgo/go/math/arith_s390x.go | 8 +-
libgo/go/math/big/arith_decl.go | 2 +-
libgo/go/math/big/arith_decl_pure.go | 2 +-
libgo/go/math/big/arith_decl_s390x.go | 11 +-
libgo/go/math/big/arith_s390x_test.go | 12 -
libgo/go/math/big/float.go | 4 +-
libgo/go/math/big/floatconv.go | 2 +-
libgo/go/math/big/int.go | 19 +-
libgo/go/math/big/int_test.go | 54 +
libgo/go/math/big/link_test.go | 63 +
libgo/go/math/big/nat.go | 30 +-
libgo/go/math/big/nat_test.go | 18 +
libgo/go/math/big/sqrt.go | 77 +-
libgo/go/math/bits/bits_test.go | 124 +
libgo/go/math/cmplx/abs.go | 3 +-
libgo/go/math/cmplx/asin.go | 70 +-
libgo/go/math/cmplx/cmath_test.go | 937 +-
libgo/go/math/cmplx/exp.go | 17 +
libgo/go/math/cmplx/huge_test.go | 22 +
libgo/go/math/cmplx/log.go | 3 +-
libgo/go/math/cmplx/sin.go | 52 +
libgo/go/math/cmplx/sqrt.go | 4 +-
libgo/go/math/cmplx/tan.go | 139 +-
libgo/go/math/example_test.go | 19 +
libgo/go/math/huge_test.go | 16 +
libgo/go/math/trig_reduce.go | 16 +-
libgo/go/mime/type.go | 8 +-
libgo/go/mime/type_test.go | 27 +
libgo/go/net/dial.go | 3 +-
libgo/go/net/dial_test.go | 17 +-
libgo/go/net/dnsclient_test.go | 2 +-
libgo/go/net/dnsclient_unix.go | 8 +-
libgo/go/net/dnsclient_unix_test.go | 15 +-
libgo/go/net/error_test.go | 10 +-
libgo/go/net/fd_posix.go | 100 +
libgo/go/net/fd_unix.go | 94 +-
libgo/go/net/fd_windows.go | 96 +-
libgo/go/net/http/cgi/child.go | 2 -
libgo/go/net/http/cgi/host.go | 39 +-
libgo/go/net/http/client.go | 21 +-
libgo/go/net/http/client_test.go | 35 +
libgo/go/net/http/cookie.go | 11 +-
libgo/go/net/http/fs.go | 17 +-
libgo/go/net/http/fs_test.go | 9 +
libgo/go/net/http/h2_bundle.go | 75 +-
libgo/go/net/http/http.go | 5 +
libgo/go/net/http/httptest/recorder.go | 7 +-
libgo/go/net/http/httptest/recorder_test.go | 36 +
libgo/go/net/http/httputil/reverseproxy.go | 58 +-
libgo/go/net/http/httputil/reverseproxy_test.go | 195 +-
libgo/go/net/http/omithttp2.go | 2 +-
libgo/go/net/http/pprof/pprof.go | 107 +-
libgo/go/net/http/pprof/pprof_test.go | 177 +
libgo/go/net/http/proxy_test.go | 2 +-
libgo/go/net/http/request.go | 17 +-
libgo/go/net/http/response.go | 8 +-
libgo/go/net/http/response_test.go | 1 +
libgo/go/net/http/roundtrip_js.go | 35 +-
libgo/go/net/http/serve_test.go | 154 +-
libgo/go/net/http/server.go | 70 +-
libgo/go/net/http/transfer.go | 139 +-
libgo/go/net/http/transfer_test.go | 58 +-
libgo/go/net/http/transport.go | 160 +-
libgo/go/net/http/transport_test.go | 130 +-
libgo/go/net/interface_plan9.go | 4 +-
libgo/go/net/interface_windows.go | 2 +-
libgo/go/net/ip.go | 4 +-
libgo/go/net/ipsock_plan9.go | 80 +-
libgo/go/net/ipsock_plan9_test.go | 29 +
libgo/go/net/lookup.go | 25 +
libgo/go/net/lookup_test.go | 91 +-
libgo/go/net/lookup_windows.go | 8 +-
libgo/go/net/mail/message.go | 9 +
libgo/go/net/mail/message_test.go | 14 +
libgo/go/net/net.go | 75 +-
libgo/go/net/net_test.go | 542 +-
libgo/go/net/pipe.go | 15 +-
libgo/go/net/platform_test.go | 6 +-
libgo/go/net/rawconn_test.go | 8 +-
libgo/go/net/rpc/client.go | 2 +-
libgo/go/net/rpc/jsonrpc/all_test.go | 4 +-
libgo/go/net/sockopt_aix.go | 7 +-
libgo/go/net/sockopt_bsd.go | 7 +-
libgo/go/net/sockopt_linux.go | 7 +-
libgo/go/net/sockopt_solaris.go | 7 +-
libgo/go/net/sockopt_windows.go | 6 +-
libgo/go/net/textproto/pipeline.go | 11 +-
libgo/go/net/textproto/reader.go | 4 +-
libgo/go/net/timeout_test.go | 60 +-
libgo/go/net/unixsock_test.go | 4 +-
libgo/go/net/url/url.go | 83 +-
libgo/go/net/url/url_test.go | 99 +-
libgo/go/os/error.go | 20 +-
libgo/go/os/exec/exec_linux_test.go | 45 +
libgo/go/os/exec/exec_test.go | 106 +-
libgo/go/os/exec/read3.go | 99 +
libgo/go/os/exec_unix.go | 15 +-
libgo/go/os/exec_windows.go | 2 +-
libgo/go/os/export_linux_test.go | 7 +
libgo/go/os/file.go | 34 +-
libgo/go/os/file_plan9.go | 16 +-
libgo/go/os/file_posix.go | 45 +
libgo/go/os/file_unix.go | 75 +-
libgo/go/os/issue37161/a | 1 +
libgo/go/os/issue37161/b | 1 +
libgo/go/os/issue37161/c | 1 +
libgo/go/os/os_test.go | 136 +-
libgo/go/os/os_unix_test.go | 2 +-
libgo/go/os/os_windows_test.go | 119 +-
libgo/go/os/path_test.go | 4 +-
libgo/go/os/pipe_test.go | 19 +
libgo/go/os/readfrom_linux.go | 46 +
libgo/go/os/readfrom_linux_test.go | 363 +
libgo/go/os/readfrom_stub.go | 13 +
libgo/go/os/removeall_at.go | 3 +-
libgo/go/os/signal/internal/pty/pty.go | 8 +-
libgo/go/os/signal/signal.go | 14 +-
libgo/go/os/signal/signal_cgo_test.go | 46 +-
libgo/go/os/signal/signal_plan9.go | 4 +-
libgo/go/os/signal/signal_test.go | 427 +-
libgo/go/os/signal/signal_unix.go | 2 -
libgo/go/os/testdata/issue37161/a | 1 +
libgo/go/os/testdata/issue37161/b | 1 +
libgo/go/os/testdata/issue37161/c | 1 +
libgo/go/os/timeout_test.go | 31 +-
libgo/go/os/user/lookup_windows.go | 4 +-
libgo/go/os/wait_wait6.go | 23 +-
libgo/go/os/wait_waitid.go | 12 +-
libgo/go/path/filepath/match.go | 6 +-
libgo/go/path/filepath/path_test.go | 16 +-
libgo/go/reflect/all_test.go | 329 +-
libgo/go/reflect/deepequal.go | 16 +-
libgo/go/reflect/swapper.go | 7 +-
libgo/go/reflect/type.go | 1 +
libgo/go/reflect/value.go | 119 +-
libgo/go/regexp/all_test.go | 42 +-
libgo/go/regexp/example_test.go | 13 +
libgo/go/regexp/regexp.go | 18 +
libgo/go/regexp/syntax/compile.go | 68 +-
libgo/go/regexp/syntax/parse.go | 16 +-
libgo/go/runtime/alg.go | 10 +-
libgo/go/runtime/callers_test.go | 2 +
libgo/go/runtime/cgocheck.go | 13 +-
libgo/go/runtime/chan.go | 80 +-
libgo/go/runtime/chan_test.go | 14 +
libgo/go/runtime/checkptr.go | 8 +-
libgo/go/runtime/checkptr_test.go | 8 +-
libgo/go/runtime/conv_wasm_test.go | 128 +
libgo/go/runtime/crash_cgo_test.go | 53 +-
libgo/go/runtime/crash_test.go | 14 +-
libgo/go/runtime/crash_unix_test.go | 7 +
libgo/go/runtime/debug.go | 4 +-
libgo/go/runtime/debug/mod.go | 51 +-
libgo/go/runtime/debuglog.go | 21 +-
libgo/go/runtime/defer_test.go | 27 +-
libgo/go/runtime/env_posix.go | 2 +-
libgo/go/runtime/env_test.go | 4 -
libgo/go/runtime/eqtype.go | 21 +
libgo/go/runtime/eqtype_aix_gccgo.go | 32 +
libgo/go/runtime/error.go | 51 +-
libgo/go/runtime/export_debug_test.go | 12 +-
libgo/go/runtime/export_test.go | 34 +-
libgo/go/runtime/extern.go | 15 +-
libgo/go/runtime/gc_test.go | 117 +
libgo/go/runtime/hash_test.go | 8 +-
libgo/go/runtime/iface.go | 17 +-
libgo/go/runtime/iface_test.go | 66 +-
libgo/go/runtime/lock_futex.go | 12 +-
libgo/go/runtime/lock_js.go | 19 +-
libgo/go/runtime/lock_sema.go | 14 +-
libgo/go/runtime/lockrank.go | 254 +
libgo/go/runtime/lockrank_off.go | 36 +
libgo/go/runtime/lockrank_on.go | 214 +
libgo/go/runtime/malloc.go | 86 +-
libgo/go/runtime/map.go | 2 +-
libgo/go/runtime/map_benchmark_test.go | 19 +
libgo/go/runtime/mbarrier.go | 56 +-
libgo/go/runtime/mbitmap.go | 60 +-
libgo/go/runtime/mcache.go | 6 +-
libgo/go/runtime/mcentral.go | 259 +-
libgo/go/runtime/mgc.go | 43 +-
libgo/go/runtime/mgcmark.go | 155 +-
libgo/go/runtime/mgcscavenge.go | 411 +-
libgo/go/runtime/mgcscavenge_test.go | 6 +-
libgo/go/runtime/mgcsweep.go | 433 +-
libgo/go/runtime/mgcsweepbuf.go | 2 +-
libgo/go/runtime/mgcwork.go | 8 +
libgo/go/runtime/mheap.go | 192 +-
libgo/go/runtime/mkpreempt.go | 29 +-
libgo/go/runtime/mpagealloc.go | 224 +-
libgo/go/runtime/mpagealloc_64bit.go | 12 +-
libgo/go/runtime/mpagealloc_test.go | 57 +
libgo/go/runtime/mpagecache.go | 25 +-
libgo/go/runtime/mpagecache_test.go | 33 +-
libgo/go/runtime/mprof.go | 41 +-
libgo/go/runtime/mranges.go | 205 +-
libgo/go/runtime/msize.go | 4 +-
libgo/go/runtime/mspanset.go | 358 +
libgo/go/runtime/mstats.go | 11 +-
libgo/go/runtime/mwbbuf.go | 7 +
libgo/go/runtime/netpoll.go | 64 +-
libgo/go/runtime/netpoll_aix.go | 15 +-
libgo/go/runtime/netpoll_epoll.go | 36 +-
libgo/go/runtime/netpoll_kqueue.go | 32 +-
libgo/go/runtime/netpoll_os_test.go | 28 +
libgo/go/runtime/netpoll_solaris.go | 30 +-
libgo/go/runtime/netpoll_stub.go | 3 +
libgo/go/runtime/netpoll_windows.go | 103 +-
libgo/go/runtime/os_linux.go | 7 +-
libgo/go/runtime/os_linux_mips64x.go | 6 +
libgo/go/runtime/panic_test.go | 48 +
libgo/go/runtime/pprof/internal/profile/profile.go | 577 -
libgo/go/runtime/pprof/internal/profile/proto.go | 360 -
libgo/go/runtime/pprof/label.go | 23 +-
libgo/go/runtime/pprof/label_test.go | 32 +
libgo/go/runtime/pprof/mprof_test.go | 2 +-
libgo/go/runtime/pprof/pprof.go | 64 +-
libgo/go/runtime/pprof/pprof_norusage.go | 15 +
libgo/go/runtime/pprof/pprof_rusage.go | 31 +
libgo/go/runtime/pprof/pprof_test.go | 247 +-
libgo/go/runtime/pprof/proto.go | 2 +-
libgo/go/runtime/pprof/proto_test.go | 2 +-
libgo/go/runtime/pprof/protomem_test.go | 2 +-
libgo/go/runtime/preempt.go | 22 +-
libgo/go/runtime/print.go | 54 +
libgo/go/runtime/proc.go | 345 +-
libgo/go/runtime/proc_test.go | 49 +
libgo/go/runtime/runtime1.go | 5 -
libgo/go/runtime/runtime2.go | 48 +-
libgo/go/runtime/rwmutex.go | 10 +-
libgo/go/runtime/select.go | 7 +-
libgo/go/runtime/sema.go | 10 +-
libgo/go/runtime/sema_test.go | 8 +-
libgo/go/runtime/signal_unix.go | 62 +-
libgo/go/runtime/signal_windows_test.go | 91 +
libgo/go/runtime/sigqueue.go | 9 +-
libgo/go/runtime/sizeof_test.go | 3 +-
libgo/go/runtime/slice.go | 87 +-
libgo/go/runtime/slice_test.go | 78 +
libgo/go/runtime/string.go | 58 +-
libgo/go/runtime/string_test.go | 4 +-
libgo/go/runtime/stubs.go | 2 +-
libgo/go/runtime/symtab.go | 4 +-
libgo/go/runtime/testdata/testprog/gc.go | 52 +-
libgo/go/runtime/testdata/testprog/lockosthread.go | 49 +
.../go/runtime/testdata/testprog/numcpu_freebsd.go | 8 +-
libgo/go/runtime/testdata/testprog/panicprint.go | 111 +
libgo/go/runtime/testdata/testprogcgo/eintr.go | 246 +
libgo/go/runtime/testdata/testprogcgo/segv.go | 56 +
.../go/runtime/testdata/testwinlibsignal/dummy.go | 10 +
libgo/go/runtime/time.go | 37 +-
libgo/go/runtime/trace.go | 30 +-
libgo/go/runtime/trace/trace.go | 2 +-
libgo/go/runtime/trace/trace_stack_test.go | 2 +
libgo/go/runtime/type.go | 19 +-
libgo/go/strconv/atoc.go | 105 +
libgo/go/strconv/atoc_test.go | 202 +
libgo/go/strconv/atof.go | 156 +-
libgo/go/strconv/atof_test.go | 22 +
libgo/go/strconv/atoi.go | 6 +-
libgo/go/strconv/ctoa.go | 27 +
libgo/go/strconv/extfloat.go | 24 +-
libgo/go/strconv/internal_test.go | 4 +
libgo/go/strconv/quote_test.go | 66 +-
libgo/go/strings/strings.go | 157 +-
libgo/go/strings/strings_test.go | 58 +-
libgo/go/sync/atomic/atomic_test.go | 68 +-
libgo/go/sync/atomic/doc.go | 5 -
libgo/go/sync/atomic/value_test.go | 8 +-
libgo/go/sync/map.go | 25 +-
libgo/go/sync/map_bench_test.go | 74 +
libgo/go/sync/map_reference_test.go | 23 +
libgo/go/sync/map_test.go | 13 +-
libgo/go/sync/runtime.go | 10 -
libgo/go/sync/runtime2.go | 19 +
libgo/go/sync/runtime2_lockrank.go | 22 +
libgo/go/sync/rwmutex_test.go | 2 +
libgo/go/syscall/env_plan9.go | 122 -
libgo/go/syscall/env_unix.go | 16 +-
libgo/go/syscall/exec_bsd.go | 23 +-
libgo/go/syscall/exec_darwin.go | 23 +-
libgo/go/syscall/exec_linux.go | 47 +-
libgo/go/syscall/exec_unix.go | 20 +-
libgo/go/syscall/exec_unix_test.go | 28 +
libgo/go/syscall/fs_js.go | 10 +-
libgo/go/syscall/js/func.go | 26 +-
libgo/go/syscall/js/js.go | 12 +-
libgo/go/syscall/js/js_test.go | 11 +
libgo/go/syscall/security_windows.go | 2 +-
libgo/go/syscall/syscall_unix.go | 16 +-
libgo/go/syscall/syscall_unix_test.go | 2 +-
libgo/go/testing/benchmark.go | 3 +
libgo/go/testing/helper_test.go | 2 +
libgo/go/testing/helperfuncs_test.go | 11 +
libgo/go/testing/sub_test.go | 126 +-
libgo/go/testing/testing.go | 256 +-
libgo/go/testing/testing_test.go | 62 +
libgo/go/text/template/exec_test.go | 6 +-
libgo/go/text/template/funcs.go | 217 +-
libgo/go/text/template/link_test.go | 64 +
libgo/go/text/template/multi_test.go | 3 +-
libgo/go/text/template/parse/node.go | 2 +-
libgo/go/text/template/template.go | 2 +-
libgo/go/time/embed.go | 12 +
libgo/go/time/example_test.go | 113 +-
libgo/go/time/export_test.go | 35 +
libgo/go/time/format.go | 24 +-
libgo/go/time/format_test.go | 20 +-
libgo/go/time/internal_test.go | 13 +-
libgo/go/time/sleep.go | 7 +-
libgo/go/time/tick.go | 9 +
libgo/go/time/tick_test.go | 36 +-
libgo/go/time/time.go | 153 +-
libgo/go/time/time_test.go | 149 +-
libgo/go/time/tzdata/generate_zipdata.go | 78 +
libgo/go/time/tzdata/tzdata.go | 109 +
libgo/go/time/tzdata/zipdata.go | 13060 +++++++++++++
libgo/go/time/tzdata_test.go | 99 +
libgo/go/time/zoneinfo.go | 348 +
libgo/go/time/zoneinfo_ios.go | 2 +-
libgo/go/time/zoneinfo_read.go | 40 +-
libgo/go/time/zoneinfo_test.go | 94 +
libgo/go/time/zoneinfo_unix.go | 4 +-
libgo/go/unicode/utf8/utf8.go | 28 +
libgo/gotool-packages.txt | 3 +
libgo/libgo-packages.txt | 4 +-
libgo/misc/cgo/test/pkg_test.go | 2 +-
libgo/misc/cgo/test/sigaltstack.go | 15 +-
libgo/misc/cgo/test/test.go | 25 +
libgo/misc/cgo/test/testdata/issue27054/egl.h | 1 +
.../misc/cgo/test/testdata/issue27054/test27054.go | 6 +-
libgo/misc/cgo/test/testx.go | 12 +-
libgo/misc/cgo/testcarchive/carchive_test.go | 8 +-
libgo/misc/cgo/testcshared/cshared_test.go | 2 +-
libgo/misc/cgo/testgodefs/testdata/issue38649.go | 15 +
libgo/misc/cgo/testgodefs/testdata/issue39534.go | 12 +
libgo/misc/cgo/testgodefs/testdata/main.go | 3 +
libgo/misc/cgo/testgodefs/testgodefs_test.go | 2 +
libgo/misc/cgo/testplugin/plugin_test.go | 2 +-
libgo/misc/cgo/testshared/shared_test.go | 43 +-
.../cgo/testshared/testdata/gcdata/main/main.go | 37 +
libgo/misc/cgo/testshared/testdata/gcdata/p/p.go | 7 +
.../misc/cgo/testshared/testdata/issue39777/a/a.go | 9 +
.../misc/cgo/testshared/testdata/issue39777/b/b.go | 7 +
libgo/misc/cgo/testso/so_test.go | 6 +-
libgo/misc/cgo/testsovar/so_test.go | 6 +-
libgo/testsuite/Makefile.in | 1 +
libgomp/ChangeLog | 345 +
libgomp/Makefile.in | 282 +-
libgomp/aclocal.m4 | 189 +-
libgomp/allocator.c | 13 +-
libgomp/config.h.in | 3 -
libgomp/config/t-aix | 2 +-
libgomp/configure | 305 +-
libgomp/configure.ac | 15 +
libgomp/fortran.c | 38 +
libgomp/icv.c | 2 +
libgomp/libgomp.h | 12 +-
libgomp/libgomp.map | 5 +
libgomp/libgomp.texi | 11 +
libgomp/libgomp_f.h.in | 7 +-
libgomp/oacc-init.c | 38 +
libgomp/oacc-mem.c | 394 +-
libgomp/omp.h.in | 8 +-
libgomp/omp_lib.f90.in | 166 +-
libgomp/omp_lib.h.in | 121 +-
libgomp/plugin/Makefrag.am | 14 -
libgomp/plugin/configfrag.ac | 56 +-
libgomp/plugin/hsa_ext_finalize.h | 270 -
libgomp/plugin/plugin-hsa.c | 1871 --
libgomp/target.c | 63 +-
libgomp/testsuite/Makefile.in | 15 +-
libgomp/testsuite/lib/libgomp.exp | 60 -
libgomp/testsuite/libgomp.c-c++-common/alloc-2.c | 4 +-
.../libgomp.c-c++-common/critical-hint-1.c | 49 +
.../libgomp.c-c++-common/critical-hint-2.c | 37 +
libgomp/testsuite/libgomp.c-c++-common/for-14.c | 53 +-
libgomp/testsuite/libgomp.c-c++-common/for-2.h | 36 +
.../testsuite/libgomp.c-c++-common/reduction-16.c | 53 +
libgomp/testsuite/libgomp.c/loop-19.c | 86 +
libgomp/testsuite/libgomp.c/loop-20.c | 84 +
libgomp/testsuite/libgomp.c/loop-21.c | 230 +
libgomp/testsuite/libgomp.c/loop-22.c | 424 +
libgomp/testsuite/libgomp.c/loop-23.c | 424 +
libgomp/testsuite/libgomp.c/loop-24.c | 424 +
libgomp/testsuite/libgomp.c/pr95620.c | 18 +
libgomp/testsuite/libgomp.c/teams-3.c | 20 +
libgomp/testsuite/libgomp.fortran/alloc-1.F90 | 174 +
libgomp/testsuite/libgomp.fortran/alloc-2.F90 | 3 +
libgomp/testsuite/libgomp.fortran/alloc-3.F | 3 +
libgomp/testsuite/libgomp.fortran/alloc-4.f90 | 71 +
libgomp/testsuite/libgomp.fortran/alloc-5.f90 | 23 +
.../testsuite/libgomp.fortran/critical-hint-1.f90 | 96 +
.../testsuite/libgomp.fortran/critical-hint-2.f90 | 66 +
libgomp/testsuite/libgomp.fortran/pr93553.f90 | 21 +
.../libgomp.fortran/struct-elem-map-1.f90 | 411 +
libgomp/testsuite/libgomp.fortran/target-map-1.f90 | 41 +
libgomp/testsuite/libgomp.hsa.c/alloca-1.c | 25 -
libgomp/testsuite/libgomp.hsa.c/bitfield-1.c | 160 -
libgomp/testsuite/libgomp.hsa.c/bits-insns.c | 73 -
libgomp/testsuite/libgomp.hsa.c/builtins-1.c | 97 -
libgomp/testsuite/libgomp.hsa.c/c.exp | 42 -
libgomp/testsuite/libgomp.hsa.c/complex-1.c | 65 -
libgomp/testsuite/libgomp.hsa.c/complex-align-2.c | 27 -
.../testsuite/libgomp.hsa.c/formal-actual-args-1.c | 83 -
libgomp/testsuite/libgomp.hsa.c/function-call-1.c | 50 -
libgomp/testsuite/libgomp.hsa.c/get-level-1.c | 26 -
libgomp/testsuite/libgomp.hsa.c/gridify-1.c | 26 -
libgomp/testsuite/libgomp.hsa.c/gridify-2.c | 26 -
libgomp/testsuite/libgomp.hsa.c/gridify-3.c | 39 -
libgomp/testsuite/libgomp.hsa.c/gridify-4.c | 45 -
.../testsuite/libgomp.hsa.c/memory-operations-1.c | 92 -
libgomp/testsuite/libgomp.hsa.c/pr69568.c | 41 -
libgomp/testsuite/libgomp.hsa.c/pr82416.c | 43 -
libgomp/testsuite/libgomp.hsa.c/rotate-1.c | 39 -
libgomp/testsuite/libgomp.hsa.c/staticvar.c | 23 -
libgomp/testsuite/libgomp.hsa.c/switch-1.c | 145 -
libgomp/testsuite/libgomp.hsa.c/switch-branch-1.c | 116 -
libgomp/testsuite/libgomp.hsa.c/switch-sbr-2.c | 59 -
libgomp/testsuite/libgomp.hsa.c/tiling-1.c | 212 -
libgomp/testsuite/libgomp.hsa.c/tiling-2.c | 258 -
libgomp/testsuite/libgomp.oacc-c++/c++.exp | 1 +
.../libgomp.oacc-c-c++-common/acc_prof-init-2.c | 80 +
.../libgomp.oacc-c-c++-common/mdc-refcount-1.c | 60 +
.../libgomp.oacc-c-c++-common/mdc-refcount-2.c | 123 +
.../libgomp.oacc-c-c++-common/mdc-refcount-3.c | 86 +
.../libgomp.oacc-c-c++-common/pr85381-2.c | 4 +-
.../libgomp.oacc-c-c++-common/pr85381-3.c | 4 +-
.../libgomp.oacc-c-c++-common/pr85381-4.c | 4 +-
.../libgomp.oacc-c-c++-common/pr85381-5.c | 4 +-
.../testsuite/libgomp.oacc-c-c++-common/pr85381.c | 4 +-
.../libgomp.oacc-c-c++-common/pr92843-1.c | 1 -
.../libgomp.oacc-c-c++-common/pr95270-1.c | 46 +
.../libgomp.oacc-c-c++-common/pr95270-2.c | 48 +
.../libgomp.oacc-c-c++-common/refcounting-1.c | 31 +
.../libgomp.oacc-c-c++-common/refcounting-2.c | 31 +
.../libgomp.oacc-c-c++-common/struct-3-1-1.c | 34 +
.../structured-detach-underflow.c | 28 +
.../structured-dynamic-lifetimes-4.c | 2 -
libgomp/testsuite/libgomp.oacc-c/c.exp | 1 +
.../libgomp.oacc-fortran/attach-descriptor-1.f90 | 124 +
.../libgomp.oacc-fortran/attach-descriptor-2.f90 | 18 +
.../deep-copy-6-no_finalize.F90 | 10 +-
.../testsuite/libgomp.oacc-fortran/deep-copy-6.f90 | 16 +-
.../dynamic-incr-structural-1.f90 | 49 +
.../libgomp.oacc-fortran/dynamic-pointer-1.f90 | 97 +
libgomp/testsuite/libgomp.oacc-fortran/fortran.exp | 1 +
.../libgomp.oacc-fortran/mdc-refcount-1-1-1.f90 | 8 -
.../libgomp.oacc-fortran/mdc-refcount-1-1-2.F90 | 5 +-
.../libgomp.oacc-fortran/mdc-refcount-1-2-1.f90 | 8 -
.../libgomp.oacc-fortran/mdc-refcount-1-2-2.f90 | 8 -
.../libgomp.oacc-fortran/mdc-refcount-1-3-1.f90 | 8 -
.../libgomp.oacc-fortran/mdc-refcount-1-4-1.f90 | 7 +-
.../libgomp.oacc-fortran/pr96628-part1.f90 | 20 +
.../libgomp.oacc-fortran/pr96628-part2.f90 | 37 +
libiberty/ChangeLog | 27 +
libiberty/configure | 21 +-
libiberty/cp-demangle.c | 80 +-
libiberty/simple-object-elf.c | 5 +
libiberty/testsuite/demangle-expected | 23 +-
libitm/ChangeLog | 13 +
libitm/config/aarch64/sjlj.S | 79 +-
libsanitizer/ChangeLog | 5 +
libsanitizer/sanitizer_common/sanitizer_linux.cpp | 6 +-
libstdc++-v3/ChangeLog | 1290 ++
libstdc++-v3/acinclude.m4 | 431 +-
libstdc++-v3/config.h.in | 6 +
libstdc++-v3/config/abi/pre/gnu.ver | 29 +-
libstdc++-v3/config/os/aix/t-aix | 2 +-
libstdc++-v3/config/os/gnu-linux/ldbl-extra.ver | 4 +
libstdc++-v3/configure | 395 +-
libstdc++-v3/configure.ac | 5 +
libstdc++-v3/crossconfig.m4 | 6 +
libstdc++-v3/doc/html/manual/status.html | 2 +-
libstdc++-v3/doc/html/manual/using_exceptions.html | 2 +-
libstdc++-v3/doc/xml/manual/status_cxx2017.xml | 2 +-
libstdc++-v3/doc/xml/manual/status_cxx2020.xml | 3 +-
libstdc++-v3/doc/xml/manual/using_exceptions.xml | 2 +-
libstdc++-v3/include/Makefile.am | 1 -
libstdc++-v3/include/Makefile.in | 1 -
libstdc++-v3/include/bits/basic_string.h | 69 +-
libstdc++-v3/include/bits/basic_string.tcc | 123 +-
libstdc++-v3/include/bits/forward_list.tcc | 65 +-
libstdc++-v3/include/bits/fs_dir.h | 2 +-
libstdc++-v3/include/bits/hashtable.h | 296 +-
libstdc++-v3/include/bits/hashtable_policy.h | 185 +-
libstdc++-v3/include/bits/int_limits.h | 74 -
libstdc++-v3/include/bits/istream.tcc | 74 +-
libstdc++-v3/include/bits/iterator_concepts.h | 8 +-
libstdc++-v3/include/bits/list.tcc | 70 +-
libstdc++-v3/include/bits/localefwd.h | 4 +-
libstdc++-v3/include/bits/parse_numbers.h | 4 +-
libstdc++-v3/include/bits/range_access.h | 8 +-
libstdc++-v3/include/bits/regex.h | 7 +-
libstdc++-v3/include/bits/stl_bvector.h | 140 +-
libstdc++-v3/include/bits/stl_deque.h | 3 +
libstdc++-v3/include/bits/stl_iterator.h | 62 +-
libstdc++-v3/include/bits/stl_list.h | 2 +-
libstdc++-v3/include/bits/stl_map.h | 2 +-
libstdc++-v3/include/bits/stl_multimap.h | 2 +-
libstdc++-v3/include/bits/stl_multiset.h | 2 +-
libstdc++-v3/include/bits/stl_set.h | 2 +-
libstdc++-v3/include/bits/stl_tree.h | 4 +-
libstdc++-v3/include/bits/unordered_map.h | 2 +
libstdc++-v3/include/bits/unordered_set.h | 2 +
libstdc++-v3/include/debug/bitset | 6 +-
libstdc++-v3/include/debug/formatter.h | 2 +-
libstdc++-v3/include/debug/forward_list | 82 +-
libstdc++-v3/include/debug/list | 91 +-
libstdc++-v3/include/debug/macros.h | 6 -
libstdc++-v3/include/debug/safe_container.h | 9 +-
libstdc++-v3/include/debug/safe_iterator.h | 6 +-
libstdc++-v3/include/debug/safe_local_iterator.h | 6 +-
libstdc++-v3/include/debug/unordered_map | 22 +-
libstdc++-v3/include/debug/unordered_set | 30 +-
libstdc++-v3/include/experimental/executor | 69 +-
libstdc++-v3/include/experimental/io_context | 53 +-
libstdc++-v3/include/ext/numeric_traits.h | 10 +
libstdc++-v3/include/std/atomic | 8 +-
libstdc++-v3/include/std/bit | 60 +-
libstdc++-v3/include/std/charconv | 28 +-
libstdc++-v3/include/std/complex | 12 +-
libstdc++-v3/include/std/coroutine | 12 +-
libstdc++-v3/include/std/functional | 4 +-
libstdc++-v3/include/std/future | 122 +-
libstdc++-v3/include/std/istream | 85 +-
libstdc++-v3/include/std/limits | 292 +-
libstdc++-v3/include/std/memory_resource | 6 +-
libstdc++-v3/include/std/optional | 265 +-
libstdc++-v3/include/std/stop_token | 10 +-
libstdc++-v3/include/std/streambuf | 4 +-
libstdc++-v3/include/std/string_view | 10 +-
libstdc++-v3/include/std/system_error | 6 +-
libstdc++-v3/include/std/thread | 63 +-
libstdc++-v3/include/std/tuple | 57 +-
libstdc++-v3/include/std/type_traits | 11 +-
libstdc++-v3/include/std/utility | 12 +-
libstdc++-v3/include/std/valarray | 2 +-
libstdc++-v3/include/std/variant | 15 +-
libstdc++-v3/python/libstdcxx/v6/printers.py | 11 +-
libstdc++-v3/src/c++11/istream-inst.cc | 9 +
libstdc++-v3/src/c++11/thread.cc | 33 +-
libstdc++-v3/src/c++17/Makefile.am | 1 +
libstdc++-v3/src/c++17/Makefile.in | 5 +-
libstdc++-v3/src/c++17/floating_from_chars.cc | 438 +
libstdc++-v3/src/c++17/fs_ops.cc | 8 +-
libstdc++-v3/src/c++98/compatibility.cc | 32 +-
libstdc++-v3/src/c++98/istream-string.cc | 2 +-
libstdc++-v3/src/c++98/istream.cc | 71 +-
libstdc++-v3/src/filesystem/ops-common.h | 6 +-
libstdc++-v3/src/filesystem/ops.cc | 8 +-
.../17_intro/headers/c++1998/all_attributes.cc | 2 +
.../17_intro/headers/c++2011/all_attributes.cc | 2 +
.../17_intro/headers/c++2014/all_attributes.cc | 2 +
.../17_intro/headers/c++2017/all_attributes.cc | 4 +-
.../17_intro/headers/c++2017/all_no_exceptions.cc | 2 +-
.../17_intro/headers/c++2017/all_no_rtti.cc | 2 +-
.../headers/c++2017/all_pedantic_errors.cc | 2 +-
.../17_intro/headers/c++2017/operator_names.cc | 2 +-
.../testsuite/17_intro/headers/c++2017/stdc++.cc | 2 +-
.../headers/c++2017/stdc++_multiple_inclusion.cc | 2 +-
.../17_intro/headers/c++2020/all_attributes.cc | 2 +
.../comparisons/algorithms/partial_order.cc | 56 +-
.../comparisons/algorithms/weak_order.cc | 62 +-
.../18_support/headers/cstdalign/std_c++0x_neg.cc | 2 +-
.../18_support/headers/cstdbool/std_c++0x_neg.cc | 2 +-
.../18_support/headers/cstdint/std_c++0x_neg.cc | 2 +-
.../18_support/headers/new/synopsis_cxx98.cc | 2 +-
libstdc++-v3/testsuite/18_support/set_terminate.cc | 2 +-
.../uncaught_exceptions/uncaught_exceptions.cc | 1 +
.../19_diagnostics/error_code/is_error_code_v.cc | 2 +-
.../headers/system_error/std_c++0x_neg.cc | 2 +-
libstdc++-v3/testsuite/20_util/any/assign/1.cc | 2 +-
libstdc++-v3/testsuite/20_util/any/assign/2.cc | 2 +-
.../testsuite/20_util/any/assign/emplace.cc | 2 +-
.../testsuite/20_util/any/assign/exception.cc | 2 +-
libstdc++-v3/testsuite/20_util/any/assign/self.cc | 1 +
libstdc++-v3/testsuite/20_util/any/cons/1.cc | 2 +-
libstdc++-v3/testsuite/20_util/any/cons/2.cc | 2 +-
libstdc++-v3/testsuite/20_util/any/cons/aligned.cc | 1 +
.../testsuite/20_util/any/cons/explicit.cc | 2 +-
.../testsuite/20_util/any/cons/in_place.cc | 2 +-
.../testsuite/20_util/any/cons/nontrivial.cc | 1 +
libstdc++-v3/testsuite/20_util/any/make_any.cc | 2 +-
.../testsuite/20_util/any/misc/any_cast.cc | 2 +-
.../testsuite/20_util/any/misc/any_cast_no_rtti.cc | 2 +-
libstdc++-v3/testsuite/20_util/any/misc/swap.cc | 2 +-
libstdc++-v3/testsuite/20_util/any/modifiers/1.cc | 2 +-
.../testsuite/20_util/any/observers/type.cc | 2 +-
libstdc++-v3/testsuite/20_util/any/requirements.cc | 2 +-
libstdc++-v3/testsuite/20_util/any/typedefs.cc | 2 +-
libstdc++-v3/testsuite/20_util/as_const/1.cc | 2 +-
.../testsuite/20_util/as_const/rvalue_neg.cc | 2 +-
libstdc++-v3/testsuite/20_util/assume_aligned/3.cc | 2 +-
.../testsuite/20_util/bind/is_placeholder_v.cc | 2 +-
.../20_util/bool_constant/requirements.cc | 2 +-
.../requirements/treat_as_floating_point_v.cc | 2 +-
.../testsuite/20_util/duration_cast/rounding.cc | 2 +-
.../members/weak_from_this.cc | 1 +
.../testsuite/20_util/from_chars/1_c++20_neg.cc | 1 +
libstdc++-v3/testsuite/20_util/from_chars/1_neg.cc | 1 +
libstdc++-v3/testsuite/20_util/from_chars/2.cc | 11 +
libstdc++-v3/testsuite/20_util/from_chars/4.cc | 374 +
libstdc++-v3/testsuite/20_util/from_chars/5.cc | 169 +
libstdc++-v3/testsuite/20_util/from_chars/6.cc | 49 +
.../20_util/function_objects/invoke/59768.cc | 2 +-
.../testsuite/20_util/function_objects/not_fn/1.cc | 1 +
.../20_util/function_objects/searchers.cc | 1 +
.../20_util/headers/type_traits/std_c++0x_neg.cc | 2 +-
.../testsuite/20_util/in_place/requirements.cc | 2 +-
.../testsuite/20_util/is_aggregate/value.cc | 15 +-
.../requirements/explicit_instantiation.cc | 2 +-
.../20_util/is_invocable/requirements/typedefs.cc | 2 +-
.../testsuite/20_util/is_invocable/value.cc | 2 +-
.../20_util/is_literal_type/deprecated-1z.cc | 26 +
.../requirements/explicit_instantiation.cc | 1 +
.../is_literal_type/requirements/typedefs.cc | 1 +
.../testsuite/20_util/is_literal_type/value.cc | 1 +
.../requirements/explicit_instantiation.cc | 2 +-
.../is_nothrow_invocable/requirements/typedefs.cc | 2 +-
.../requirements/explicit_instantiation.cc | 2 +-
.../is_nothrow_swappable/requirements/typedefs.cc | 2 +-
.../20_util/is_nothrow_swappable/value.cc | 2 +-
.../requirements/explicit_instantiation.cc | 2 +-
.../requirements/typedefs.cc | 2 +-
.../20_util/is_nothrow_swappable_with/value.cc | 2 +-
.../requirements/explicit_instantiation.cc | 2 +-
.../20_util/is_swappable/requirements/typedefs.cc | 2 +-
.../testsuite/20_util/is_swappable/value.cc | 2 +-
.../requirements/explicit_instantiation.cc | 2 +-
.../is_swappable_with/requirements/typedefs.cc | 2 +-
.../testsuite/20_util/is_swappable_with/value.cc | 2 +-
.../requirements/explicit_instantiation.cc | 2 +-
.../logical_traits/requirements/typedefs.cc | 2 +-
.../testsuite/20_util/logical_traits/value.cc | 2 +-
.../20_util/optional/assignment/noexcept.cc | 81 +
.../testsuite/20_util/optional/cons/noexcept.cc | 64 +
.../20_util/optional/constexpr/make_optional.cc | 1 +
.../20_util/optional/constexpr/nullopt.cc | 2 +-
.../20_util/optional/constexpr/observers/2.cc | 1 +
.../20_util/optional/constexpr/observers/3.cc | 1 +
libstdc++-v3/testsuite/20_util/optional/hash.cc | 1 +
.../testsuite/20_util/optional/make_optional-2.cc | 94 +
libstdc++-v3/testsuite/20_util/optional/nullopt.cc | 2 +-
.../testsuite/20_util/optional/requirements.cc | 3 +
libstdc++-v3/testsuite/20_util/pair/swap_cxx17.cc | 2 +-
.../20_util/ratio/requirements/ratio_equal_v.cc | 2 +-
.../testsuite/20_util/reference_wrapper/83427.cc | 2 +-
.../20_util/shared_ptr/requirements/weak_type.cc | 2 +-
.../memory_management_tools/1.cc | 1 +
.../uninitialized_fill_n/sizes.cc | 18 +-
.../testsuite/20_util/time_point_cast/rounding.cc | 4 +-
libstdc++-v3/testsuite/20_util/tuple/78939.cc | 5 +-
libstdc++-v3/testsuite/20_util/tuple/apply/1.cc | 1 +
.../20_util/tuple/comparison_operators/93147.cc | 36 +
.../20_util/tuple/creation_functions/55713.cc | 33 +
.../20_util/tuple/element_access/71096.cc | 30 +
.../testsuite/20_util/tuple/make_from_tuple/1.cc | 1 +
libstdc++-v3/testsuite/20_util/tuple/swap_cxx17.cc | 2 +-
.../testsuite/20_util/tuple/tuple_size_v.cc | 2 +-
.../specialized_algorithms/swap_cxx17.cc | 2 +-
.../requirements/uses_allocator_v.cc | 2 +-
.../20_util/variable_templates_for_traits.cc | 7 +-
libstdc++-v3/testsuite/20_util/variant/91807.cc | 35 +
libstdc++-v3/testsuite/20_util/variant/95915.cc | 35 +
libstdc++-v3/testsuite/20_util/variant/any.cc | 2 +-
libstdc++-v3/testsuite/20_util/variant/compile.cc | 9 +-
libstdc++-v3/testsuite/20_util/variant/hash.cc | 1 +
.../testsuite/20_util/variant/index_type.cc | 1 +
libstdc++-v3/testsuite/20_util/variant/run.cc | 2 +-
libstdc++-v3/testsuite/20_util/void_t/1.cc | 2 +-
.../testsuite/21_strings/basic_string/79162.cc | 2 +-
.../21_strings/basic_string/capacity/1.cc | 14 +-
.../21_strings/basic_string/capacity/char/1.cc | 14 +-
.../21_strings/basic_string/capacity/char/18654.cc | 8 +-
.../21_strings/basic_string/capacity/char/2.cc | 6 +-
.../21_strings/basic_string/capacity/wchar_t/1.cc | 14 +-
.../basic_string/capacity/wchar_t/18654.cc | 8 +-
.../21_strings/basic_string/capacity/wchar_t/2.cc | 6 +-
.../21_strings/basic_string/cons/char/7.cc | 1 +
.../21_strings/basic_string/cons/char/self_move.cc | 52 +
.../21_strings/basic_string/cons/wchar_t/7.cc | 1 +
.../basic_string/inserters_extractors/char/13.cc | 55 +
.../inserters_extractors/wchar_t/13.cc | 55 +
.../testsuite/21_strings/basic_string/lwg2758.cc | 2 +-
.../testsuite/21_strings/basic_string/lwg2946.cc | 2 +-
.../basic_string/modifiers/append/char/4.cc | 1 +
.../basic_string/modifiers/append/wchar_t/4.cc | 1 +
.../basic_string/modifiers/assign/char/4.cc | 1 +
.../basic_string/modifiers/assign/wchar_t/4.cc | 1 +
.../basic_string/modifiers/insert/char/3.cc | 1 +
.../basic_string/modifiers/insert/wchar_t/3.cc | 1 +
.../basic_string/modifiers/replace/char/7.cc | 1 +
.../basic_string/modifiers/replace/wchar_t/7.cc | 1 +
.../basic_string/operations/compare/char/2.cc | 1 +
.../basic_string/operations/compare/wchar_t/2.cc | 1 +
.../basic_string/operations/data/char/2.cc | 1 +
.../basic_string/operations/data/wchar_t/2.cc | 1 +
.../basic_string/operations/find/char/5.cc | 1 +
.../basic_string/operations/find/wchar_t/5.cc | 1 +
.../21_strings/basic_string/operators/char/5.cc | 1 +
.../21_strings/basic_string/operators/wchar_t/5.cc | 1 +
.../21_strings/basic_string_view/capacity/1.cc | 1 +
.../21_strings/basic_string_view/cons/char/1.cc | 1 +
.../21_strings/basic_string_view/cons/char/2.cc | 1 +
.../21_strings/basic_string_view/cons/char/3.cc | 1 +
.../basic_string_view/cons/char/nonnull.cc | 6 +-
.../21_strings/basic_string_view/cons/wchar_t/1.cc | 1 +
.../21_strings/basic_string_view/cons/wchar_t/2.cc | 1 +
.../21_strings/basic_string_view/cons/wchar_t/3.cc | 1 +
.../basic_string_view/cons/wchar_t/nonnull.cc | 6 +-
.../basic_string_view/element_access/char/1.cc | 1 +
.../basic_string_view/element_access/char/2.cc | 3 +-
.../basic_string_view/element_access/char/empty.cc | 1 +
.../element_access/char/front_back.cc | 1 +
.../basic_string_view/element_access/wchar_t/1.cc | 1 +
.../basic_string_view/element_access/wchar_t/2.cc | 3 +-
.../element_access/wchar_t/empty.cc | 1 +
.../element_access/wchar_t/front_back.cc | 1 +
.../21_strings/basic_string_view/include.cc | 2 +-
.../basic_string_view/inserters/char/1.cc | 1 +
.../basic_string_view/inserters/char/2.cc | 1 +
.../basic_string_view/inserters/char/3.cc | 1 +
.../basic_string_view/inserters/pod/10081-out.cc | 1 +
.../basic_string_view/inserters/wchar_t/1.cc | 1 +
.../basic_string_view/inserters/wchar_t/2.cc | 1 +
.../basic_string_view/inserters/wchar_t/3.cc | 1 +
.../basic_string_view/literals/types-char8_t.cc | 2 +-
.../21_strings/basic_string_view/literals/types.cc | 2 +-
.../basic_string_view/literals/values-char8_t.cc | 1 +
.../basic_string_view/literals/values.cc | 1 +
.../modifiers/remove_prefix/char/1.cc | 1 +
.../modifiers/remove_prefix/wchar_t/1.cc | 1 +
.../modifiers/remove_suffix/char/1.cc | 1 +
.../modifiers/remove_suffix/wchar_t/1.cc | 1 +
.../basic_string_view/operations/compare/char/1.cc | 1 +
.../operations/compare/char/13650.cc | 1 +
.../operations/compare/char/nonnull.cc | 4 +-
.../operations/compare/wchar_t/1.cc | 1 +
.../operations/compare/wchar_t/13650.cc | 1 +
.../basic_string_view/operations/copy/char/1.cc | 1 +
.../basic_string_view/operations/copy/wchar_t/1.cc | 1 +
.../basic_string_view/operations/data/char/1.cc | 1 +
.../basic_string_view/operations/data/wchar_t/1.cc | 1 +
.../basic_string_view/operations/find/char/1.cc | 1 +
.../basic_string_view/operations/find/char/2.cc | 1 +
.../basic_string_view/operations/find/char/3.cc | 1 +
.../basic_string_view/operations/find/char/4.cc | 1 +
.../operations/find/char/nonnull.cc | 12 +-
.../basic_string_view/operations/find/wchar_t/1.cc | 1 +
.../basic_string_view/operations/find/wchar_t/2.cc | 1 +
.../basic_string_view/operations/find/wchar_t/3.cc | 1 +
.../basic_string_view/operations/find/wchar_t/4.cc | 1 +
.../basic_string_view/operations/rfind/char/1.cc | 1 +
.../basic_string_view/operations/rfind/char/2.cc | 1 +
.../basic_string_view/operations/rfind/char/3.cc | 1 +
.../operations/rfind/char/nonnull.cc | 4 +-
.../operations/rfind/wchar_t/1.cc | 1 +
.../operations/rfind/wchar_t/2.cc | 1 +
.../operations/rfind/wchar_t/3.cc | 1 +
.../operations/string_conversion/1.cc | 1 +
.../basic_string_view/operations/substr/char/1.cc | 1 +
.../operations/substr/wchar_t/1.cc | 1 +
.../basic_string_view/range_access/char/1.cc | 2 +-
.../basic_string_view/range_access/wchar_t/1.cc | 2 +-
.../requirements/explicit_instantiation/1.cc | 2 +-
.../requirements/explicit_instantiation/char/1.cc | 2 +-
.../explicit_instantiation/char16_t/1.cc | 2 +-
.../explicit_instantiation/char32_t/1.cc | 2 +-
.../explicit_instantiation/char8_t/1.cc | 2 +-
.../explicit_instantiation/wchar_t/1.cc | 2 +-
.../basic_string_view/requirements/typedefs.cc | 2 +-
.../21_strings/basic_string_view/typedefs.cc | 2 +-
.../21_strings/basic_string_view/types/1.cc | 2 +-
.../array/specialized_algorithms/swap_cxx17.cc | 2 +-
.../23_containers/bitset/operations/96303.cc | 31 +
.../23_containers/deque/cons/self_move.cc | 44 +
.../23_containers/forward_list/cons/self_move.cc | 44 +
.../23_containers/forward_list/operations/91620.cc | 88 +
.../23_containers/headers/array/std_c++0x_neg.cc | 2 +-
.../23_containers/headers/tuple/std_c++0x_neg.cc | 2 +-
.../headers/unordered_map/std_c++0x_neg.cc | 2 +-
.../headers/unordered_set/std_c++0x_neg.cc | 2 +-
.../testsuite/23_containers/list/cons/self_move.cc | 44 +
.../23_containers/list/operations/91620.cc | 110 +
.../map/cons/noexcept_move_construct.cc | 32 +-
.../23_containers/map/modifiers/extract.cc | 1 +
.../map/modifiers/insert_or_assign/1.cc | 1 +
.../testsuite/23_containers/map/modifiers/merge.cc | 1 +
.../23_containers/map/modifiers/try_emplace/1.cc | 1 +
.../multimap/cons/noexcept_move_construct.cc | 32 +-
.../23_containers/multimap/modifiers/extract.cc | 1 +
.../23_containers/multimap/modifiers/merge.cc | 1 +
.../multiset/cons/noexcept_move_construct.cc | 32 +-
.../23_containers/multiset/modifiers/extract.cc | 1 +
.../23_containers/multiset/modifiers/merge.cc | 1 +
.../set/cons/noexcept_move_construct.cc | 32 +-
.../testsuite/23_containers/set/cons/self_move.cc | 47 +
.../23_containers/set/modifiers/extract.cc | 1 +
.../testsuite/23_containers/set/modifiers/merge.cc | 1 +
.../23_containers/span/back_assert_neg.cc | 3 +-
.../23_containers/span/first_2_assert_neg.cc | 3 +-
.../23_containers/span/first_assert_neg.cc | 3 +-
.../23_containers/span/front_assert_neg.cc | 3 +-
.../23_containers/span/index_op_assert_neg.cc | 3 +-
.../23_containers/span/last_2_assert_neg.cc | 3 +-
.../23_containers/span/last_assert_neg.cc | 3 +-
.../23_containers/span/subspan_2_assert_neg.cc | 3 +-
.../23_containers/span/subspan_3_assert_neg.cc | 3 +-
.../23_containers/span/subspan_4_assert_neg.cc | 3 +-
.../23_containers/span/subspan_5_assert_neg.cc | 3 +-
.../23_containers/span/subspan_6_assert_neg.cc | 3 +-
.../23_containers/span/subspan_assert_neg.cc | 3 +-
.../unordered_map/allocator/default_init.cc | 69 +
.../cons/noexcept_default_construct.cc | 68 +
.../unordered_map/cons/noexcept_move_construct.cc | 65 +
.../unordered_map/modifiers/extract.cc | 1 +
.../unordered_map/modifiers/insert_or_assign.cc | 1 +
.../23_containers/unordered_map/modifiers/merge.cc | 1 +
.../unordered_map/modifiers/move_assign.cc | 81 +
.../unordered_map/modifiers/try_emplace.cc | 1 +
.../cons/noexcept_default_construct.cc | 68 +
.../cons/noexcept_move_construct.cc | 65 +
.../unordered_multimap/modifiers/extract.cc | 1 +
.../unordered_multimap/modifiers/merge.cc | 1 +
.../cons/noexcept_default_construct.cc | 68 +
.../cons/noexcept_move_construct.cc | 65 +
.../unordered_multiset/modifiers/extract.cc | 1 +
.../unordered_multiset/modifiers/merge.cc | 1 +
.../unordered_set/allocator/default_init.cc | 69 +
.../unordered_set/cons/bucket_hint.cc | 63 +
.../cons/noexcept_default_construct.cc | 68 +
.../unordered_set/cons/noexcept_move_construct.cc | 65 +
.../23_containers/unordered_set/cons/self_move.cc | 50 +
.../unordered_set/modifiers/extract.cc | 1 +
.../unordered_set/modifiers/insert.cc | 66 +
.../23_containers/unordered_set/modifiers/merge.cc | 1 +
.../testsuite/23_containers/vector/bool/72847.cc | 2 +-
.../23_containers/vector/bool/allocator/swap.cc | 22 +-
.../vector/bool/cons/noexcept_move_construct.cc | 32 +-
.../23_containers/vector/cons/self_move.cc | 44 +
.../headers/iterator/range_access_c++11.cc | 2 +-
.../headers/iterator/range_access_c++14.cc | 2 +-
.../headers/iterator/range_access_c++17.cc | 2 +-
.../24_iterators/headers/iterator/synopsis.cc | 2 +-
.../headers/iterator/synopsis_c++11.cc | 2 +-
.../headers/iterator/synopsis_c++14.cc | 2 +-
.../headers/iterator/synopsis_c++17.cc | 2 +-
.../24_iterators/insert_iterator/dr561.cc | 47 +
.../testsuite/24_iterators/move_iterator/dr3435.cc | 37 +
.../24_iterators/reverse_iterator/dr3435.cc | 36 +
libstdc++-v3/testsuite/25_algorithms/clamp/1.cc | 1 +
libstdc++-v3/testsuite/25_algorithms/clamp/2.cc | 1 +
.../testsuite/25_algorithms/clamp/constexpr.cc | 2 +-
.../clamp/requirements/explicit_instantiation/1.cc | 2 +-
.../requirements/explicit_instantiation/pod.cc | 2 +-
.../26_numerics/headers/ccomplex/std_c++0x_neg.cc | 2 +-
.../26_numerics/headers/cfenv/std_c++0x_neg.cc | 2 +-
.../cmath/c99_classification_macros_c++98.cc | 4 +-
.../headers/cmath/functions_std_c++17.cc | 2 +-
.../headers/cmath/special_functions_global.cc | 2 +-
.../26_numerics/headers/ctgmath/std_c++0x_neg.cc | 2 +-
.../26_numerics/headers/random/std_c++0x_neg.cc | 2 +-
.../testsuite/26_numerics/numbers/float128.cc | 2 +-
.../testsuite/26_numerics/valarray/69116.cc | 2 +-
.../testsuite/27_io/basic_ios/conv/voidptr.cc | 1 +
.../basic_istream/extractors_character/char/3.cc | 2 +-
.../basic_istream/extractors_character/char/4.cc | 1 +
.../basic_istream/extractors_character/char/5.cc | 54 +
.../extractors_character/char/9555-ic.cc | 2 +
.../extractors_character/char/9826.cc | 2 +-
.../extractors_character/char/lwg2499.cc | 80 +
.../extractors_character/char/lwg2499_neg.cc | 45 +
.../extractors_character/char/overflow.cc | 79 +
.../extractors_character/wchar_t/3.cc | 2 +-
.../extractors_character/wchar_t/4.cc | 1 +
.../extractors_character/wchar_t/5.cc | 54 +
.../extractors_character/wchar_t/9555-ic.cc | 2 +
.../extractors_character/wchar_t/lwg2499.cc | 70 +
.../extractors_character/wchar_t/lwg2499_neg.cc | 40 +
.../extractors_character/wchar_t/overflow.cc | 57 +
.../27_io/basic_istream/get/char/lwg3464.cc | 91 +
.../27_io/basic_istream/get/wchar_t/lwg3464.cc | 91 +
.../27_io/basic_istream/ignore/char/94749.cc | 151 +
.../27_io/basic_istream/ignore/char/96161.cc | 79 +
.../27_io/basic_istream/ignore/wchar_t/94749.cc | 155 +-
.../27_io/basic_istream/ignore/wchar_t/96161.cc | 79 +
.../basic_ostream/inserters_other/char/lwg2221.cc | 2 +-
.../27_io/headers/cinttypes/std_c++0x_neg.cc | 2 +-
.../28_regex/headers/regex/std_c++0x_neg.cc | 2 +-
.../testsuite/28_regex/match_results/94627.cc | 75 +
libstdc++-v3/testsuite/28_regex/simple_c++11.cc | 2 +-
.../29_atomics/atomic/is_always_lock_free.cc | 2 +-
.../testsuite/29_atomics/atomic_float/1.cc | 87 +-
.../29_atomics/atomic_float/value_init.cc | 1 +
.../atomic_integral/is_always_lock_free.cc | 2 +-
.../testsuite/29_atomics/atomic_ref/float.cc | 45 +-
.../29_atomics/headers/atomic/std_c++0x_neg.cc | 2 +-
libstdc++-v3/testsuite/30_threads/async/69724.cc | 119 +
.../30_threads/future/requirements/lwg3458.cc | 34 +
.../headers/condition_variable/std_c++0x_neg.cc | 5 +-
.../30_threads/headers/future/std_c++0x_neg.cc | 5 +-
.../30_threads/headers/mutex/std_c++0x_neg.cc | 2 +-
.../30_threads/headers/thread/std_c++0x_neg.cc | 2 +-
.../30_threads/promise/requirements/lwg3466.cc | 34 +
.../shared_future/requirements/lwg3458.cc | 32 +
.../testsuite/30_threads/shared_lock/70766.cc | 2 +-
.../testsuite/30_threads/shared_mutex/cons/1.cc | 2 +-
.../30_threads/shared_mutex/cons/assign_neg.cc | 2 +-
.../30_threads/shared_mutex/cons/copy_neg.cc | 2 +-
.../shared_mutex/requirements/standard_layout.cc | 2 +-
.../30_threads/shared_mutex/try_lock/1.cc | 2 +-
.../30_threads/shared_mutex/try_lock/2.cc | 2 +-
.../testsuite/30_threads/shared_mutex/unlock/1.cc | 2 +-
libstdc++-v3/testsuite/30_threads/this_thread/2.cc | 45 -
.../testsuite/30_threads/this_thread/58038.cc | 1 +
.../testsuite/30_threads/this_thread/60421.cc | 1 +
.../this_thread/{3.cc => sleep_for-mt.cc} | 0
.../testsuite/30_threads/this_thread/sleep_for.cc | 43 +
.../this_thread/{4.cc => sleep_until-mt.cc} | 0
.../30_threads/this_thread/sleep_until.cc | 43 +
.../testsuite/30_threads/this_thread/yield.cc | 42 +
.../testsuite/30_threads/thread/cons/84535.cc | 3 +
.../testsuite/30_threads/thread/cons/lwg2097.cc | 3 +
.../filesystem/filesystem_error/cons.cc | 2 +-
.../net/execution_context/use_service.cc | 7 +-
.../testsuite/experimental/net/system_context/1.cc | 42 +
.../experimental/optional/constexpr/nullopt.cc | 2 +-
.../testsuite/experimental/optional/nullopt.cc | 2 +-
.../testsuite/experimental/type_traits/value.cc | 3 +
libstdc++-v3/testsuite/lib/dg-options.exp | 5 +-
libstdc++-v3/testsuite/lib/libstdc++.exp | 2 +-
.../testsuite/libstdc++-prettyprinters/48362.cc | 2 +-
.../testsuite/libstdc++-prettyprinters/compat.cc | 4 +-
.../concept.arithmetic/floating_point.cc | 2 +-
.../testsuite/std/ranges/access/lwg3467.cc | 33 +
.../testsuite/tr1/headers/c++200x/complex.cc | 2 +-
libstdc++-v3/testsuite/util/testsuite_abi.cc | 18 +-
libstdc++-v3/testsuite/util/testsuite_allocator.h | 4 +-
.../testsuite/util/testsuite_common_types.h | 4 +-
libstdc++-v3/testsuite/util/testsuite_containers.h | 5 +-
libstdc++-v3/testsuite/util/testsuite_shared.cc | 7 +-
lto-plugin/ChangeLog | 5 +
lto-plugin/configure | 25 +-
3599 files changed, 251444 insertions(+), 189995 deletions(-)
diff --cc gcc/gimple-range.cc
index a29bc8d4c5a,00000000000..e37d7ff5580
mode 100644,000000..100644
--- a/gcc/gimple-range.cc
+++ b/gcc/gimple-range.cc
@@@ -1,1321 -1,0 +1,1334 @@@
+/* Code for GIMPLE range related routines.
+ Copyright (C) 2019-2020 Free Software Foundation, Inc.
+ Contributed by Andrew MacLeod <amacleod@redhat.com>
+ and Aldy Hernandez <aldyh@redhat.com>.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "backend.h"
+#include "insn-codes.h"
+#include "rtl.h"
+#include "tree.h"
+#include "gimple.h"
+#include "ssa.h"
+#include "gimple-pretty-print.h"
+#include "gimple-iterator.h"
+#include "optabs-tree.h"
+#include "gimple-fold.h"
+#include "tree-cfg.h"
+#include "fold-const.h"
+#include "tree-cfg.h"
+#include "wide-int.h"
+#include "fold-const.h"
+#include "case-cfn-macros.h"
+#include "omp-general.h"
+#include "cfgloop.h"
+#include "tree-ssa-loop.h"
+#include "tree-scalar-evolution.h"
+#include "dbgcnt.h"
+#include "alloc-pool.h"
+#include "vr-values.h"
+#include "gimple-range.h"
+
+
+// Adjust the range for a pointer difference where the operands came
+// from a memchr.
+//
+// This notices the following sequence:
+//
+// def = __builtin_memchr (arg, 0, sz)
+// n = def - arg
+//
+// The range for N can be narrowed to [0, PTRDIFF_MAX - 1].
+
+static void
+adjust_pointer_diff_expr (irange &res, const gimple *diff_stmt)
+{
+ tree op0 = gimple_assign_rhs1 (diff_stmt);
+ tree op1 = gimple_assign_rhs2 (diff_stmt);
+ tree op0_ptype = TREE_TYPE (TREE_TYPE (op0));
+ tree op1_ptype = TREE_TYPE (TREE_TYPE (op1));
+ gimple *call;
+
+ if (TREE_CODE (op0) == SSA_NAME
+ && TREE_CODE (op1) == SSA_NAME
+ && (call = SSA_NAME_DEF_STMT (op0))
+ && is_gimple_call (call)
+ && gimple_call_builtin_p (call, BUILT_IN_MEMCHR)
+ && TYPE_MODE (op0_ptype) == TYPE_MODE (char_type_node)
+ && TYPE_PRECISION (op0_ptype) == TYPE_PRECISION (char_type_node)
+ && TYPE_MODE (op1_ptype) == TYPE_MODE (char_type_node)
+ && TYPE_PRECISION (op1_ptype) == TYPE_PRECISION (char_type_node)
+ && gimple_call_builtin_p (call, BUILT_IN_MEMCHR)
+ && vrp_operand_equal_p (op1, gimple_call_arg (call, 0))
+ && integer_zerop (gimple_call_arg (call, 1)))
+ {
+ tree max = vrp_val_max (ptrdiff_type_node);
+ wide_int wmax = wi::to_wide (max, TYPE_PRECISION (TREE_TYPE (max)));
+ tree expr_type = gimple_expr_type (diff_stmt);
+ tree range_min = build_zero_cst (expr_type);
+ tree range_max = wide_int_to_tree (expr_type, wmax - 1);
+ int_range<2> r (range_min, range_max);
+ res.intersect (r);
+ }
+}
+
+// This function looks for situations when walking the use/def chains
+// may provide additonal contextual range information not exposed on
+// this statement. Like knowing the IMAGPART return value from a
+// builtin function is a boolean result.
+
+// We should rework how we're called, as we have an op_unknown entry
+// for IMAGPART_EXPR and POINTER_DIFF_EXPR in range-ops just so this
+// function gets called.
+
+static void
+gimple_range_adjustment (irange &res, const gimple *stmt)
+{
+ switch (gimple_expr_code (stmt))
+ {
+ case POINTER_DIFF_EXPR:
+ adjust_pointer_diff_expr (res, stmt);
+ return;
+
+ case IMAGPART_EXPR:
+ {
+ tree name = TREE_OPERAND (gimple_assign_rhs1 (stmt), 0);
+ if (TREE_CODE (name) == SSA_NAME)
+ {
+ gimple *def_stmt = SSA_NAME_DEF_STMT (name);
+ if (def_stmt && is_gimple_call (def_stmt)
+ && gimple_call_internal_p (def_stmt))
+ {
+ switch (gimple_call_internal_fn (def_stmt))
+ {
+ case IFN_ADD_OVERFLOW:
+ case IFN_SUB_OVERFLOW:
+ case IFN_MUL_OVERFLOW:
+ case IFN_ATOMIC_COMPARE_EXCHANGE:
+ {
+ int_range<2> r;
+ r.set_varying (boolean_type_node);
+ tree type = TREE_TYPE (gimple_assign_lhs (stmt));
+ range_cast (r, type);
+ res.intersect (r);
+ }
+ default:
+ break;
+ }
+ }
+ }
+ break;
+ }
+
+ default:
+ break;
+ }
+}
+
+// ------------------------------------------------------------------------
+
+// This function will calculate the "constant" range on edge E from
+// switch SW returning it in R, and return the switch statement
+// itself. This is currently not very efficent as the way we
+// represent switches in GIMPLE does not map well to this calculation.
+
+static gimple *
+calc_range_for_switch_on_edge (irange &r, gswitch *sw, edge e)
+{
+ unsigned x, lim;
+ lim = gimple_switch_num_labels (sw);
+ tree type = TREE_TYPE (gimple_switch_index (sw));
+
+ // ADA and FORTRAN currently have cases where the index is 64 bits
+ // and the case arguments are 32 bit, causing a trap when we create
+ // a case_range. Until this is resolved
+ // (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87798) punt on
+ // these switches. Furthermore, cfamily fails during a bootstrap
+ // due to a signed index and unsigned cases. So punting unless
+ // types_compatible_p () for now.
+ tree case_type = TREE_TYPE (CASE_LOW (gimple_switch_label (sw, 1)));
+ if (lim > 1 && !types_compatible_p (type, case_type))
+ return NULL;
+
+ edge default_edge = gimple_switch_default_edge (cfun, sw);
+ if (e != default_edge)
+ {
+ r.set_undefined ();
+ // Union all the ranges for each switch edge, ignoring the
+ // default edge.
+ for (x = 1; x < lim; x++)
+ {
+ if (gimple_switch_edge (cfun, sw, x) != e)
+ continue;
+ tree low = CASE_LOW (gimple_switch_label (sw, x));
+ tree high = CASE_HIGH (gimple_switch_label (sw, x));
+ if (!high)
+ high = low;
+ int_range<2> case_range (low, high);
+ r.union_ (case_range);
+ }
+ }
+ else
+ {
+ r.set_varying (type);
+ // Loop through all the switches edges, ignoring the default
+ // edge, while intersecting the ranges not covered by the case.
+ for (x = 1; x < lim; x++)
+ {
+ // Some other edge could still point to the default edge
+ // destination. Ignore it.
+ if (gimple_switch_edge (cfun, sw, x) == default_edge)
+ continue;
+ tree low = CASE_LOW (gimple_switch_label (sw, x));
+ tree high = CASE_HIGH (gimple_switch_label (sw, x));
+ if (!high)
+ high = low;
+ int_range<2> case_range (low, high, VR_ANTI_RANGE);
+ r.intersect (case_range);
+ }
+ }
+ return sw;
+}
+
+
+// If there is a range control statment at the end of block BB, return it.
+
+gimple_stmt_iterator
+gsi_outgoing_range_stmt (basic_block bb)
+{
+ gimple_stmt_iterator gsi = gsi_last_nondebug_bb (bb);
+ if (!gsi_end_p (gsi))
+ {
+ gimple *s = gsi_stmt (gsi);
+ if (is_a<gcond *> (s) || is_a<gswitch *> (s))
+ return gsi;
+ }
+ return gsi_none ();
+}
+
+
+// If there is a range control statment at the end of block BB, return it.
+
+gimple *
+gimple_outgoing_range_stmt_p (basic_block bb)
+{
+ // This will return NULL if there is not a branch statement.
+ return gsi_stmt (gsi_outgoing_range_stmt (bb));
+}
+
+
+// Calculate the range forced on on edge E by control flow, return it
+// in R. Return the statment which defines the range, otherwise
+// return NULL
+
+gimple *
+gimple_outgoing_edge_range_p (irange &r, edge e)
+{
+ // Determine if there is an outgoing edge.
+ gimple *s = gimple_outgoing_range_stmt_p (e->src);
+ if (!s)
+ return NULL;
+
+ if (is_a<gcond *> (s))
+ {
+ if (e->flags & EDGE_TRUE_VALUE)
+ r = int_range<2> (boolean_true_node, boolean_true_node);
+ else if (e->flags & EDGE_FALSE_VALUE)
+ r = int_range<2> (boolean_false_node, boolean_false_node);
+ else
+ gcc_unreachable ();
+ return s;
+ }
+
+ gcc_checking_assert (is_a<gswitch *> (s));
+ gswitch *sw = as_a<gswitch *> (s);
+ tree type = TREE_TYPE (gimple_switch_index (sw));
+
+ if (!irange::supports_type_p (type))
+ return NULL;
+
+ return calc_range_for_switch_on_edge (r, sw, e);
+}
+
+
+// Return a range in R for the tree EXPR. Return true if a range is
+// representable.
+
+bool
+get_tree_range (irange &r, tree expr)
+{
+ tree type;
+ if (TYPE_P (expr))
+ type = expr;
+ else
+ type = TREE_TYPE (expr);
+
+ // Return false if the type isn't suported.
+ if (!irange::supports_type_p (type))
+ return false;
+
+ switch (TREE_CODE (expr))
+ {
+ case INTEGER_CST:
+ r.set (expr, expr);
+ return true;
+
+ case SSA_NAME:
+ r = gimple_range_global (expr);
+ return true;
+
+ case ADDR_EXPR:
+ {
+ // Handle &var which can show up in phi arguments.
+ bool ov;
+ if (tree_single_nonzero_warnv_p (expr, &ov))
+ {
+ r = range_nonzero (type);
+ return true;
+ }
+ break;
+ }
+
+ default:
+ break;
+ }
+ r.set_varying (type);
+ return true;
+}
+
+// Fold this unary statement using R1 as operand1's range, returning
+// the result in RES. Return false if the operation fails.
+
+bool
+gimple_range_fold (irange &res, const gimple *stmt, const irange &r1)
+{
+ gcc_checking_assert (gimple_range_handler (stmt));
+
+ tree type = gimple_expr_type (stmt);
+ // Unary SSA operations require the LHS type as the second range.
+ int_range<2> r2 (type);
+
+ return gimple_range_fold (res, stmt, r1, r2);
+}
+
+
+// Fold this binary statement using R1 and R2 as the operands ranges,
+// returning the result in RES. Return false if the operation fails.
+
+bool
+gimple_range_fold (irange &res, const gimple *stmt,
+ const irange &r1, const irange &r2)
+{
+ gcc_checking_assert (gimple_range_handler (stmt));
+
+ gimple_range_handler (stmt)->fold_range (res, gimple_expr_type (stmt),
+ r1, r2);
+
+ // If there are any gimple lookups, do those now.
+ gimple_range_adjustment (res, stmt);
+ return true;
+}
+
+// Return the base of the RHS of an assignment.
+
+tree
+gimple_range_base_of_assignment (const gimple *stmt)
+{
+ gcc_checking_assert (gimple_code (stmt) == GIMPLE_ASSIGN);
+ tree op1 = gimple_assign_rhs1 (stmt);
+ if (gimple_assign_rhs_code (stmt) == ADDR_EXPR)
+ return get_base_address (TREE_OPERAND (op1, 0));
+ return op1;
+}
+
+// Return the first operand of this statement if it is a valid operand
+// supported by ranges, otherwise return NULL_TREE. Special case is
+// &(SSA_NAME expr), return the SSA_NAME instead of the ADDR expr.
+
+tree
+gimple_range_operand1 (const gimple *stmt)
+{
+ gcc_checking_assert (gimple_range_handler (stmt));
+
+ switch (gimple_code (stmt))
+ {
+ case GIMPLE_COND:
+ return gimple_cond_lhs (stmt);
+ case GIMPLE_ASSIGN:
+ {
+ tree base = gimple_range_base_of_assignment (stmt);
+ if (base && TREE_CODE (base) == MEM_REF)
+ {
+ // If the base address is an SSA_NAME, we return it
+ // here. This allows processing of the range of that
+ // name, while the rest of the expression is simply
+ // ignored. The code in range_ops will see the
+ // ADDR_EXPR and do the right thing.
+ tree ssa = TREE_OPERAND (base, 0);
+ if (TREE_CODE (ssa) == SSA_NAME)
+ return ssa;
+ }
+ return base;
+ }
+ default:
+ break;
+ }
+ return NULL;
+}
+
+
+// Return the second operand of statement STMT, otherwise return NULL_TREE.
+
+tree
+gimple_range_operand2 (const gimple *stmt)
+{
+ gcc_checking_assert (gimple_range_handler (stmt));
+
+ switch (gimple_code (stmt))
+ {
+ case GIMPLE_COND:
+ return gimple_cond_rhs (stmt);
+ case GIMPLE_ASSIGN:
+ if (gimple_num_ops (stmt) >= 3)
+ return gimple_assign_rhs2 (stmt);
+ default:
+ break;
+ }
+ return NULL_TREE;
+}
+
+
+
+// Calculate what we can determine of the range of this unary
+// statement's operand if the lhs of the expression has the range
+// LHS_RANGE. Return false if nothing can be determined.
+
+bool
+gimple_range_calc_op1 (irange &r, const gimple *stmt, const irange &lhs_range)
+{
+ gcc_checking_assert (gimple_num_ops (stmt) < 3);
+ // An empty range is viral, so return an empty range.
+
+ tree type = TREE_TYPE (gimple_range_operand1 (stmt));
+ if (lhs_range.undefined_p ())
+ {
+ r.set_undefined ();
+ return true;
+ }
+ // Unary operations require the type of the first operand in the
+ // second range position.
+ int_range<2> type_range (type);
+ return gimple_range_handler (stmt)->op1_range (r, type, lhs_range,
+ type_range);
+}
+
+
+// Calculate what we can determine of the range of this statement's
+// first operand if the lhs of the expression has the range LHS_RANGE
+// and the second operand has the range OP2_RANGE. Return false if
+// nothing can be determined.
+
+bool
+gimple_range_calc_op1 (irange &r, const gimple *stmt,
+ const irange &lhs_range, const irange &op2_range)
+{
+ // Unary operation are allowed to pass a range in for second operand
+ // as there are often additional restrictions beyond the type which
+ // can be imposed. See operator_cast::op1_range.()
+ tree type = TREE_TYPE (gimple_range_operand1 (stmt));
+ // An empty range is viral, so return an empty range.
+ if (op2_range.undefined_p () || lhs_range.undefined_p ())
+ {
+ r.set_undefined ();
+ return true;
+ }
+ return gimple_range_handler (stmt)->op1_range (r, type, lhs_range,
+ op2_range);
+}
+
+
+// Calculate what we can determine of the range of this statement's
+// second operand if the lhs of the expression has the range LHS_RANGE
+// and the first operand has the range OP1_RANGE. Return false if
+// nothing can be determined.
+
+bool
+gimple_range_calc_op2 (irange &r, const gimple *stmt,
+ const irange &lhs_range, const irange &op1_range)
+{
+ tree type = TREE_TYPE (gimple_range_operand2 (stmt));
+ // An empty range is viral, so return an empty range.
+ if (op1_range.undefined_p () || lhs_range.undefined_p ())
+ {
+ r.set_undefined ();
+ return true;
+ }
+ return gimple_range_handler (stmt)->op2_range (r, type, lhs_range,
+ op1_range);
+}
+
+
+// Calculate a range for statement S and return it in R. If NAME is provided it
+// represents the SSA_NAME on the LHS of the statement. It is only required
+// if there is more than one lhs/output. If a range cannot
+// be calculated, return false.
+
+bool
+gimple_ranger::calc_stmt (irange &r, gimple *s, tree name)
+{
+ bool res = false;
+ // If name is specified, make sure it is a LHS of S.
+ gcc_checking_assert (name ? SSA_NAME_DEF_STMT (name) == s : true);
+
+ if (gimple_range_handler (s))
+ res = range_of_range_op (r, s);
+ else if (is_a<gphi *>(s))
+ res = range_of_phi (r, as_a<gphi *> (s));
+ else if (is_a<gcall *>(s))
+ res = range_of_call (r, as_a<gcall *> (s));
+ else if (is_a<gassign *> (s) && gimple_assign_rhs_code (s) == COND_EXPR)
+ res = range_of_cond_expr (r, as_a<gassign *> (s));
+ else
+ {
+ // If no name is specified, try the expression kind.
+ if (!name)
+ {
+ tree t = gimple_expr_type (s);
+ if (!irange::supports_type_p (t))
+ return false;
+ r.set_varying (t);
+ return true;
+ }
+ // We don't understand the stmt, so return the global range.
+ r = gimple_range_global (name);
+ return true;
+ }
+ if (res)
+ {
+ if (r.undefined_p ())
+ return true;
+ if (name && TREE_TYPE (name) != r.type ())
+ range_cast (r, TREE_TYPE (name));
+ return true;
+ }
+ return false;
+}
+
+// Calculate a range for range_op statement S and return it in R. If any
+// If a range cannot be calculated, return false.
+
+bool
+gimple_ranger::range_of_range_op (irange &r, gimple *s)
+{
+ widest_irange range1, range2;
+ tree type = gimple_expr_type (s);
+ gcc_checking_assert (irange::supports_type_p (type));
+
+ tree op1 = gimple_range_operand1 (s);
+ tree op2 = gimple_range_operand2 (s);
+
+ if (range_of_non_trivial_assignment (r, s))
+ return true;
+
+ if (range_of_expr (range1, op1, s))
+ {
+ if (!op2)
+ return gimple_range_fold (r, s, range1);
+
+ if (range_of_expr (range2, op2, s))
+ return gimple_range_fold (r, s, range1, range2);
+ }
+ r.set_varying (type);
+ return true;
+}
+
+
+// Calculate the range of a non-trivial assignment. That is, is one
+// inolving arithmetic on an SSA name (for example, an ADDR_EXPR).
+// Return the range in R.
+//
+// If a range cannot be calculated, return false.
+
+bool
+gimple_ranger::range_of_non_trivial_assignment (irange &r, gimple *stmt)
+{
+ if (gimple_code (stmt) != GIMPLE_ASSIGN)
+ return false;
+
+ tree base = gimple_range_base_of_assignment (stmt);
+ if (base && TREE_CODE (base) == MEM_REF
+ && TREE_CODE (TREE_OPERAND (base, 0)) == SSA_NAME)
+ {
+ widest_irange range1;
+ tree ssa = TREE_OPERAND (base, 0);
+ if (range_of_expr (range1, ssa, stmt))
+ {
+ tree type = TREE_TYPE (ssa);
+ range_operator *op = range_op_handler (POINTER_PLUS_EXPR, type);
+ int_range<2> offset (TREE_OPERAND (base, 1), TREE_OPERAND (base, 1));
+ op->fold_range (r, type, range1, offset);
+ return true;
+ }
+ }
+ return false;
+}
+
+
+// Calculate a range for phi statement S and return it in R.
+// If a range cannot be calculated, return false.
+
+bool
+gimple_ranger::range_of_phi (irange &r, gphi *phi)
+{
+ tree phi_def = gimple_phi_result (phi);
+ tree type = TREE_TYPE (phi_def);
+ widest_irange phi_range;
+ unsigned x;
+
+ if (!irange::supports_type_p (type))
+ return false;
+
+ if (loop_aware_p ())
+ {
+ // If there is no global range for a PHI, start the party with
+ // whatever information SCEV may have.
+ tree phi_result = PHI_RESULT (phi);
+ if (!POINTER_TYPE_P (TREE_TYPE (phi_result))
+ && !m_cache.m_globals.get_global_range (r, phi_result)
+ && range_with_loop_info (r, phi_result))
+ {
+ value_range loop_range;
+ get_range_info (phi_result, loop_range);
+ r.intersect (loop_range);
+ if (!r.varying_p ())
+ set_range_info (phi_result, r);
+ }
+ }
+
+ // And start with an empty range, unioning in each argument's range.
+ r.set_undefined ();
+ for (x = 0; x < gimple_phi_num_args (phi); x++)
+ {
+ widest_irange arg_range;
+ tree arg = gimple_phi_arg_def (phi, x);
+ edge e = gimple_phi_arg_edge (phi, x);
+
+ range_on_edge (arg_range, e, arg);
+ r.union_ (arg_range);
+ // Once the value reaches varying, stop looking.
+ if (r.varying_p ())
+ break;
+ }
+
+ return true;
+}
+
+
+// Calculate a range for call statement S and return it in R.
+// If a range cannot be calculated, return false.
+
+bool
+gimple_ranger::range_of_call (irange &r, gcall *call)
+{
+ tree type = gimple_call_return_type (call);
+ tree lhs = gimple_call_lhs (call);
+ bool strict_overflow_p;
+
+ if (!irange::supports_type_p (type))
+ return false;
+
+ if (range_of_builtin_call (r, call))
+ ;
+ else if (gimple_stmt_nonnegative_warnv_p (call, &strict_overflow_p))
+ r.set (build_int_cst (type, 0), TYPE_MAX_VALUE (type));
+ else if (gimple_call_nonnull_result_p (call)
+ || gimple_call_nonnull_arg (call))
+ r = range_nonzero (type);
+ else
+ r.set_varying (type);
+
+ // If there is a lHS, intersect that with what is known.
+ if (lhs)
+ {
+ value_range def;
+ def = gimple_range_global (lhs);
+ r.intersect (def);
+ }
+ return true;
+}
+
+
+void
+gimple_ranger::range_of_builtin_ubsan_call (irange &r, gcall *call,
+ tree_code code)
+{
+ gcc_checking_assert (code == PLUS_EXPR || code == MINUS_EXPR
+ || code == MULT_EXPR);
+ tree type = gimple_call_return_type (call);
+ range_operator *op = range_op_handler (code, type);
+ gcc_checking_assert (op);
+ widest_irange ir0, ir1;
+ tree arg0 = gimple_call_arg (call, 0);
+ tree arg1 = gimple_call_arg (call, 1);
+ gcc_assert (range_of_expr (ir0, arg0, call));
+ gcc_assert (range_of_expr (ir1, arg1, call));
+
+ bool saved_flag_wrapv = flag_wrapv;
+ /* Pretend the arithmetics is wrapping. If there is
+ any overflow, we'll complain, but will actually do
+ wrapping operation. */
+ flag_wrapv = 1;
+ op->fold_range (r, type, ir0, ir1);
+ flag_wrapv = saved_flag_wrapv;
+
+ /* If for both arguments vrp_valueize returned non-NULL,
+ this should have been already folded and if not, it
+ wasn't folded because of overflow. Avoid removing the
+ UBSAN_CHECK_* calls in that case. */
+ if (r.singleton_p ())
+ r.set_varying (type);
+}
+
+
+bool
+gimple_ranger::range_of_builtin_call (irange &r, gcall *call)
+{
+ combined_fn func = gimple_call_combined_fn (call);
+ if (func == CFN_LAST)
+ return false;
+
+ tree type = gimple_call_return_type (call);
+ tree arg;
+ int mini, maxi, zerov, prec;
+ scalar_int_mode mode;
+
+ switch (func)
+ {
+ case CFN_BUILT_IN_CONSTANT_P:
+ if (cfun->after_inlining)
+ {
+ r.set_zero (type);
+ // r.equiv_clear ();
+ return true;
+ }
+ arg = gimple_call_arg (call, 0);
+ if (range_of_expr (r, arg, call) && r.singleton_p ())
+ {
+ r.set (build_one_cst (type), build_one_cst (type));
+ return true;
+ }
+ break;
+
+ CASE_CFN_FFS:
+ CASE_CFN_POPCOUNT:
+ // __builtin_ffs* and __builtin_popcount* return [0, prec].
+ arg = gimple_call_arg (call, 0);
+ prec = TYPE_PRECISION (TREE_TYPE (arg));
+ mini = 0;
+ maxi = prec;
+ gcc_assert (range_of_expr (r, arg, call));
+ // If arg is non-zero, then ffs or popcount are non-zero.
+ if (!range_includes_zero_p (&r))
+ mini = 1;
+ // If some high bits are known to be zero, decrease the maximum.
+ if (!r.undefined_p ())
+ {
+ wide_int max = r.upper_bound ();
+ maxi = wi::floor_log2 (max) + 1;
+ }
+ r.set (build_int_cst (type, mini), build_int_cst (type, maxi));
+ return true;
+
+ CASE_CFN_PARITY:
+ r.set (build_zero_cst (type), build_one_cst (type));
+ return true;
+
+ CASE_CFN_CLZ:
+ // __builtin_c[lt]z* return [0, prec-1], except when the
+ // argument is 0, but that is undefined behavior.
+ //
+ // On many targets where the CLZ RTL or optab value is defined
+ // for 0, the value is prec, so include that in the range by
+ // default.
+ arg = gimple_call_arg (call, 0);
+ prec = TYPE_PRECISION (TREE_TYPE (arg));
+ mini = 0;
+ maxi = prec;
+ mode = SCALAR_INT_TYPE_MODE (TREE_TYPE (arg));
+ if (optab_handler (clz_optab, mode) != CODE_FOR_nothing
+ && CLZ_DEFINED_VALUE_AT_ZERO (mode, zerov)
+ // Only handle the single common value.
+ && zerov != prec)
+ // Magic value to give up, unless we can prove arg is non-zero.
+ mini = -2;
+
+ gcc_assert (range_of_expr (r, arg, call));
+ // From clz of minimum we can compute result maximum.
+ if (r.constant_p ())
+ {
+ maxi = prec - 1 - wi::floor_log2 (r.lower_bound ());
+ if (maxi != prec)
+ mini = 0;
+ }
+ else if (!range_includes_zero_p (&r))
+ {
+ maxi = prec - 1;
+ mini = 0;
+ }
+ if (mini == -2)
+ break;
+ // From clz of maximum we can compute result minimum.
+ if (r.constant_p ())
+ {
+ mini = prec - 1 - wi::floor_log2 (r.upper_bound ());
+ if (mini == prec)
+ break;
+ }
+ if (mini == -2)
+ break;
+ r.set (build_int_cst (type, mini), build_int_cst (type, maxi));
+ return true;
+
+ CASE_CFN_CTZ:
+ // __builtin_ctz* return [0, prec-1], except for when the
+ // argument is 0, but that is undefined behavior.
+ //
+ // If there is a ctz optab for this mode and
+ // CTZ_DEFINED_VALUE_AT_ZERO, include that in the range,
+ // otherwise just assume 0 won't be seen.
+ arg = gimple_call_arg (call, 0);
+ prec = TYPE_PRECISION (TREE_TYPE (arg));
+ mini = 0;
+ maxi = prec - 1;
+ mode = SCALAR_INT_TYPE_MODE (TREE_TYPE (arg));
+ if (optab_handler (ctz_optab, mode) != CODE_FOR_nothing
+ && CTZ_DEFINED_VALUE_AT_ZERO (mode, zerov))
+ {
+ // Handle only the two common values.
+ if (zerov == -1)
+ mini = -1;
+ else if (zerov == prec)
+ maxi = prec;
+ else
+ // Magic value to give up, unless we can prove arg is non-zero.
+ mini = -2;
+ }
+ gcc_assert (range_of_expr (r, arg, call));
+ if (!r.undefined_p ())
+ {
+ if (r.lower_bound () != 0)
+ {
+ mini = 0;
+ maxi = prec - 1;
+ }
+ // If some high bits are known to be zero, we can decrease
+ // the maximum.
+ wide_int max = r.upper_bound ();
+ if (max == 0)
+ break;
+ maxi = wi::floor_log2 (max);
+ }
+ if (mini == -2)
+ break;
+ r.set (build_int_cst (type, mini), build_int_cst (type, maxi));
+ return true;
+
+ CASE_CFN_CLRSB:
+ arg = gimple_call_arg (call, 0);
+ prec = TYPE_PRECISION (TREE_TYPE (arg));
+ r.set (build_int_cst (type, 0), build_int_cst (type, prec - 1));
+ return true;
+ case CFN_UBSAN_CHECK_ADD:
+ range_of_builtin_ubsan_call (r, call, PLUS_EXPR);
+ return true;
+ case CFN_UBSAN_CHECK_SUB:
+ range_of_builtin_ubsan_call (r, call, MINUS_EXPR);
+ return true;
+ case CFN_UBSAN_CHECK_MUL:
+ range_of_builtin_ubsan_call (r, call, MULT_EXPR);
+ return true;
+
+ case CFN_GOACC_DIM_SIZE:
+ case CFN_GOACC_DIM_POS:
+ // Optimizing these two internal functions helps the loop
+ // optimizer eliminate outer comparisons. Size is [1,N]
+ // and pos is [0,N-1].
+ {
+ bool is_pos = func == CFN_GOACC_DIM_POS;
+ int axis = oacc_get_ifn_dim_arg (call);
+ int size = oacc_get_fn_dim_size (current_function_decl, axis);
+ if (!size)
+ // If it's dynamic, the backend might know a hardware limitation.
+ size = targetm.goacc.dim_limit (axis);
+
+ r.set (build_int_cst (type, is_pos ? 0 : 1),
+ size
+ ? build_int_cst (type, size - is_pos) : vrp_val_max (type));
+ return true;
+ }
+
+ case CFN_BUILT_IN_STRLEN:
+ if (tree lhs = gimple_call_lhs (call))
+ if (ptrdiff_type_node
+ && (TYPE_PRECISION (ptrdiff_type_node)
+ == TYPE_PRECISION (TREE_TYPE (lhs))))
+ {
+ tree type = TREE_TYPE (lhs);
+ tree max = vrp_val_max (ptrdiff_type_node);
+ wide_int wmax
+ = wi::to_wide (max, TYPE_PRECISION (TREE_TYPE (max)));
+ tree range_min = build_zero_cst (type);
+ // To account for the terminating NULL, the maximum length
+ // is one less than the maximum array size, which in turn
+ // is one less than PTRDIFF_MAX (or SIZE_MAX where it's
+ // smaller than the former type).
+ // FIXME: Use max_object_size() - 1 here.
+ tree range_max = wide_int_to_tree (type, wmax - 2);
+ r.set (range_min, range_max);
+ return true;
+ }
+ break;
+ default:
+ break;
+ }
+ return false;
+}
+
+
+
+
+// Calculate a range for COND_EXPR statement S and return it in R.
+// If a range cannot be calculated, return false.
+
+bool
+gimple_ranger::range_of_cond_expr (irange &r, gassign *s)
+{
+ widest_irange cond_range, range1, range2;
+ tree cond = gimple_assign_rhs1 (s);
+ tree op1 = gimple_assign_rhs2 (s);
+ tree op2 = gimple_assign_rhs3 (s);
+
+ gcc_checking_assert (gimple_assign_rhs_code (s) == COND_EXPR);
+ gcc_checking_assert (useless_type_conversion_p (TREE_TYPE (op1),
+ TREE_TYPE (op2)));
+ if (!irange::supports_type_p (TREE_TYPE (op1)))
+ return false;
+
+ gcc_assert (range_of_expr (cond_range, cond, s));
+ gcc_assert (range_of_expr (range1, op1, s));
+ gcc_assert (range_of_expr (range2, op2, s));
+
+ // If the condition is known, choose the appropriate expression.
+ if (cond_range.singleton_p ())
+ {
+ // False, pick second operand
+ if (cond_range.zero_p ())
+ r = range2;
+ else
+ r = range1;
+ }
+ else
+ {
+ r = range1;
+ r.union_ (range2);
+ }
+ return true;
+}
+
+
+
+bool
+gimple_ranger::range_of_expr (irange &r, tree expr, gimple *stmt)
+{
+ if (!gimple_range_ssa_p (expr))
+ return get_tree_range (r, expr);
+
+ // If there is no statement, just get the global value.
+ if (!stmt)
+ {
+ if (!m_cache.m_globals.get_global_range (r, expr))
+ r = gimple_range_global (expr);
+ return true;
+ }
+
+ basic_block bb = gimple_bb (stmt);
+ gimple *def_stmt = SSA_NAME_DEF_STMT (expr);
+
+ // If name is defined in this block, try to get an range from S.
+ if (def_stmt && gimple_bb (def_stmt) == bb)
+ gcc_assert (range_of_stmt (r, def_stmt, expr));
+ else
+ // Otherwise OP comes from outside this block, use range on entry.
+ range_on_entry (r, bb, expr);
+
+ // No range yet, see if there is a dereference in the block.
+ // We don't care if it's between the def and a use within a block
+ // because the entire block must be executed anyway.
+ // FIXME:?? For non-call exceptions we could have a statement throw
+ // which causes an early block exit.
+ // in which case we may need to walk from S back to the def/top of block
+ // to make sure the deref happens between S and there before claiming
+ // there is a deref. Punt for now.
+ if (!cfun->can_throw_non_call_exceptions && r.varying_p () &&
+ m_cache.m_non_null.non_null_deref_p (expr, bb))
+ r = range_nonzero (TREE_TYPE (expr));
+
+ return true;
+}
+
+
+// Return the range of NAME on entry to block BB in R.
+
+void
+gimple_ranger::range_on_entry (irange &r, basic_block bb, tree name)
+{
+ widest_irange entry_range;
+ gcc_checking_assert (gimple_range_ssa_p (name));
+
+ // Start with any known range
+ gcc_assert (range_of_stmt (r, SSA_NAME_DEF_STMT (name), name));
+
+ // Now see if there is any on_entry value which may refine it.
+ if (m_cache.block_range (entry_range, bb, name))
+ r.intersect (entry_range);
+}
+
+
+// Calculate the range for NAME at the end of block BB and return it in R.
+// Return false if no range can be calculated.
+
+void
+gimple_ranger::range_on_exit (irange &r, basic_block bb, tree name)
+{
+ // on-exit from the exit block?
+ gcc_checking_assert (bb != EXIT_BLOCK_PTR_FOR_FN (cfun));
+
+ gimple *s = last_stmt (bb);
+ // If there is no statement in the block and this isn't the entry
+ // block, go get the range_on_entry for this block. For the entry
+ // block, a NULL stmt will return the global value for NAME.
+ if (!s && bb != ENTRY_BLOCK_PTR_FOR_FN (cfun))
+ range_on_entry (r, bb, name);
+ else
+ gcc_assert (range_of_expr (r, name, s));
+ gcc_checking_assert (r.undefined_p ()
+ || types_compatible_p (r.type(), TREE_TYPE (name)));
+}
+
+// Calculate a range for NAME on edge E and return it in R.
+
+void
+gimple_ranger::range_on_edge (irange &r, edge e, tree name)
+{
+ widest_irange edge_range;
+ gcc_checking_assert (irange::supports_type_p (TREE_TYPE (name)));
+
+ // PHI arguments can be constants, catch these here.
+ if (!gimple_range_ssa_p (name))
+ {
+ gcc_assert (range_of_expr (r, name));
+ return;
+ }
+
+ range_on_exit (r, e->src, name);
+ gcc_checking_assert (r.undefined_p ()
+ || types_compatible_p (r.type(), TREE_TYPE (name)));
+
+ // Check to see if NAME is defined on edge e.
+ if (m_cache.outgoing_edge_range_p (edge_range, e, name))
+ r.intersect (edge_range);
+
+ if (loop_aware_p ())
+ {
+ int_range<2> loop_range;
+ if (range_with_loop_info (loop_range, name))
+ r.intersect (loop_range);
+ }
+}
+
+// Calculate a range for statement S and return it in R. If NAME is
+// provided it represents the SSA_NAME on the LHS of the statement.
+// It is only required if there is more than one lhs/output. Check
+// the global cache for NAME first to see if the evaluation can be
+// avoided. If a range cannot be calculated, return false.
+
+bool
+gimple_ranger::range_of_stmt (irange &r, gimple *s, tree name)
+{
+ // If no name, simply call the base routine.
+ if (!name)
+ name = gimple_get_lhs (s);
+
+ if (!name)
+ return calc_stmt (r, s, NULL_TREE);
+
+ gcc_checking_assert (TREE_CODE (name) == SSA_NAME &&
+ irange::supports_type_p (TREE_TYPE (name)));
+
+ // If this STMT has already been processed, return that value.
+ if (m_cache.m_globals.get_global_range (r, name))
+ return true;
+ // Avoid infinite recursion by initializing global cache
+ widest_irange tmp = gimple_range_global (name);
+ m_cache.m_globals.set_global_range (name, tmp);
+
+ gcc_assert (calc_stmt (r, s, name));
+
+ if (is_a<gphi *> (s))
+ r.intersect (tmp);
+ m_cache.m_globals.set_global_range (name, r);
+ return true;
+}
+
+
+// This routine will export whatever global ranges are known to GCC
+// SSA_RANGE_NAME_INFO fields.
+
+void
+gimple_ranger::export_global_ranges ()
+{
+ unsigned x;
+ widest_irange r;
+ if (dump_file)
+ {
+ fprintf (dump_file, "Exported global range table\n");
+ fprintf (dump_file, "===========================\n");
+ }
+
+ for ( x = 1; x < num_ssa_names; x++)
+ {
+ tree name = ssa_name (x);
+ if (name && !SSA_NAME_IN_FREE_LIST (name)
+ && gimple_range_ssa_p (name)
+ && m_cache.m_globals.get_global_range (r, name)
+ && !r.varying_p())
+ {
+ // Make sure the new range is a subset of the old range.
+ widest_irange old_range;
+ old_range = gimple_range_global (name);
+ old_range.intersect (r);
+ /* Disable this while we fix tree-ssa/pr61743-2.c. */
+ //gcc_checking_assert (old_range == r);
+
+ // WTF? Can't write non-null pointer ranges?? stupid set_range_info!
+ if (!POINTER_TYPE_P (TREE_TYPE (name)) && !r.undefined_p ())
+ {
+ value_range vr = r;
+ set_range_info (name, vr);
+ if (dump_file)
+ {
+ print_generic_expr (dump_file, name , TDF_SLIM);
+ fprintf (dump_file, " --> ");
+ vr.dump (dump_file);
+ fprintf (dump_file, "\n");
+ fprintf (dump_file, " irange : ");
+ r.dump (dump_file);
+ fprintf (dump_file, "\n");
+ }
+ }
+ }
+ }
+}
+
+
+// Print the known table values to file F.
+
+void
+gimple_ranger::dump (FILE *f)
+{
+ basic_block bb;
+
+ FOR_EACH_BB_FN (bb, cfun)
+ {
+ unsigned x;
+ edge_iterator ei;
+ edge e;
+ widest_irange range;
+ fprintf (f, "\n=========== BB %d ============\n", bb->index);
+ m_cache.m_on_entry.dump (f, bb);
+
+ dump_bb (f, bb, 4, TDF_NONE);
+
+ // Now find any globals defined in this block
+ for (x = 1; x < num_ssa_names; x++)
+ {
+ tree name = ssa_name (x);
+ if (gimple_range_ssa_p (name) && SSA_NAME_DEF_STMT (name) &&
+ gimple_bb (SSA_NAME_DEF_STMT (name)) == bb &&
+ m_cache.m_globals.get_global_range (range, name))
+ {
+ if (!range.varying_p ())
+ {
+ print_generic_expr (f, name, TDF_SLIM);
+ fprintf (f, " : ");
+ range.dump (f);
+ fprintf (f, "\n");
+ }
+
+ }
+ }
+
+ // And now outgoing edges, if they define anything.
+ FOR_EACH_EDGE (e, ei, bb->succs)
+ {
+ for (x = 1; x < num_ssa_names; x++)
+ {
+ tree name = gimple_range_ssa_p (ssa_name (x));
+ if (name && m_cache.outgoing_edge_range_p (range, e, name))
+ {
+ gimple *s = SSA_NAME_DEF_STMT (name);
+ // Only print the range if this is the def block, or
+ // the on entry cache for either end of the edge is
+ // set.
+ if ((s && bb == gimple_bb (s)) ||
+ m_cache.block_range (range, bb, name, false) ||
+ m_cache.block_range (range, e->dest, name, false))
+ {
+ range_on_edge (range, e, name);
+ if (!range.varying_p ())
+ {
+ fprintf (f, "%d->%d ", e->src->index,
+ e->dest->index);
+ char c = ' ';
+ if (e->flags & EDGE_TRUE_VALUE)
+ fprintf (f, " (T)%c", c);
+ else if (e->flags & EDGE_FALSE_VALUE)
+ fprintf (f, " (F)%c", c);
+ else
+ fprintf (f, " ");
+ print_generic_expr (f, name, TDF_SLIM);
+ fprintf(f, " : \t");
+ range.dump(f);
+ fprintf (f, "\n");
+ }
+ }
+ }
+ }
+ }
+ }
+
+ m_cache.m_globals.dump (dump_file);
+ fprintf (f, "\n");
+
+ if (dump_flags & TDF_DETAILS)
+ {
+ fprintf (f, "\nDUMPING GORI MAP\n");
+ m_cache.dump (f);
+ fprintf (f, "\n");
+ }
+}
+
+// Bridge to provide a get_value_range() to range_of_var_in_loop.
+// As an alternative, gimple_ranger could inherit from range_query and
+// provide get_value_range, thus rendering this class unnecessary.
+
+class range_query_bridge : public range_query
+{
+public:
+ range_query_bridge (gimple_ranger *ranger)
+ : range_pool ("range_query_bridge range pool"),
+ ranger (ranger) { }
+ ~range_query_bridge ()
+ {
+ range_pool.release ();
+ }
+ const value_range_equiv *get_value_range (const_tree expr,
+ gimple *stmt) OVERRIDE
+ {
+ widest_irange r;
+ if (ranger->range_of_expr (r, const_cast<tree> (expr), stmt))
+ return new (range_pool.allocate ()) value_range_equiv (r);
+ return new (range_pool.allocate ()) value_range_equiv (TREE_TYPE (expr));
+ }
+private:
+ object_allocator<value_range_equiv> range_pool;
+ gimple_ranger *ranger;
+};
+
+gimple_ranger::gimple_ranger (bool use_loop_info)
+{
+ if (use_loop_info)
+ m_range_query = new range_query_bridge (this);
+ else
+ m_range_query = NULL;
+}
+
+gimple_ranger::~gimple_ranger ()
+{
+ if (loop_aware_p ())
+ delete m_range_query;
+}
+
+void
+gimple_ranger::range_of_ssa_name_with_loop_info (irange &r, tree name,
+ class loop *l, gphi *phi)
+{
+ gcc_checking_assert (TREE_CODE (name) == SSA_NAME);
- range_of_var_in_loop (&r, m_range_query, l, phi, name);
++ tree min, max, type = TREE_TYPE (name);
++ if (bounds_of_var_in_loop (&min, &max, m_range_query, l, phi, name))
++ {
++ // ?? We could do better here. Since MIN/MAX can only be an
++ // SSA, SSA +- INTEGER_CST, or INTEGER_CST, we could easily call
++ // the ranger and solve anything not an integer.
++ if (TREE_CODE (min) != INTEGER_CST)
++ min = vrp_val_min (type);
++ if (TREE_CODE (max) != INTEGER_CST)
++ max = vrp_val_max (type);
++ r.set (min, max);
++ }
++ else
++ r.set_varying (type);
+}
+
+// If NAME is either a PHI result or a PHI argument, see if we can
+// determine range information by querying loop info. If so, return
+// TRUE and set the range in R.
+
+bool
+gimple_ranger::range_with_loop_info (irange &r, tree name)
+{
+ if (!scev_initialized_p ())
+ return false;
+
+ gimple *def = SSA_NAME_DEF_STMT (name);
+ class loop *l = loop_containing_stmt (def);
+ if (!l)
+ return false;
+
+ basic_block header = l->header;
+ for (gphi_iterator iter = gsi_start_phis (header);
+ !gsi_end_p (iter); gsi_next (&iter))
+ {
+ gphi *phi = iter.phi ();
+ if (PHI_RESULT (phi) == name)
+ {
+ range_of_ssa_name_with_loop_info (r, name, l, phi);
+ return true;
+ }
+ for (size_t i = 0; i < gimple_phi_num_args (phi); ++i)
+ if (PHI_ARG_DEF (phi, i) == name)
+ {
+ range_of_ssa_name_with_loop_info (r, name, l, phi);
+ return true;
+ }
+ }
+ return false;
+}
diff --cc gcc/value-range.h
index f4e7403c0c9,1ab39939703..8ae6d9c10e3
--- a/gcc/value-range.h
+++ b/gcc/value-range.h
@@@ -621,56 -619,4 +621,56 @@@ vrp_val_min (const_tree type
return NULL_TREE;
}
+
+class irange_pool
+{
+public:
+ irange_pool ();
+ ~irange_pool ();
+ irange *allocate (unsigned num_pairs);
+ irange *allocate (const irange &);
+private:
+ struct obstack irange_obstack;
+};
+
+inline
+irange_pool::irange_pool ()
+{
+ obstack_init (&irange_obstack);
+}
+
+inline
+irange_pool::~irange_pool ()
+{
+ obstack_free (&irange_obstack, NULL);
+}
+
+inline irange *
+irange_pool::allocate (unsigned num_pairs)
+{
+ struct newir {
+ irange range;
+ tree mem[1];
+ };
+
- // Never allocate 0 pairs.
- // // Dont allocate 1 either, or we get legacy value_range "usage".
++ // Never allocate 0 pairs.
++ // Dont allocate 1 either, or we get legacy value_range "usage".
+ if (num_pairs < 2)
+ num_pairs = 2;
+
+ struct newir *r = (struct newir *) obstack_alloc (&irange_obstack,
+ sizeof (struct newir)
+ + sizeof(tree) * 2
+ * (num_pairs - 1));
+ return new ((irange *)r) irange (&(r->mem[0]), num_pairs);
+}
+
+inline irange *
+irange_pool::allocate (const irange &src)
+{
+ irange *r = allocate (src.num_pairs ());
+ *r = src;
+ return r;
+}
+
#endif // GCC_VALUE_RANGE_H
More information about the Libstdc++-cvs
mailing list