This is an automated email from the git hooks/post-receive script.
tcwg-buildslave pushed a change to branch linaro-local/ci/tcwg_kernel/gnu-master-arm-stable-allyesconfig in repository toolchain/ci/gcc.
from 4acba485901 IBM Z: Restrict vec_cmp<m><n> on z13 adds 97981e13b7f Tweak plugin-gcn.c defines adds e253d362140 libstdc++: Use __libc_single_threaded for locale initialization adds 4bbd5d0c5fb libstdc++: Throw instead of segfaulting in std::thread cons [...] adds 7e0078f8643 libstdc++: Run all tests in file adds 489be3119e6 aarch64: Fix aapcs64 testsuite failures adds 13f93cf5336 preprocessor: Add deferred macros adds f30a9a8d9e0 arm: correctly handle negating INT_MIN in arm_split_atomic_ [...] adds bc8f0f1f88d [PR97933] LRA: find correctly last empty dest block. adds 1805dbc58ba Adjust regex pattern to expect an additional attribute and [...] adds ce2d9549f2b Revert: "Fix -ffast-math flags handling inconsistencies" adds 92a30040c8d c++: ICE with int{} in template. [PR97899] adds f2a5cdff045 Add a note. adds 211d68dda14 PR c/97955 - ICE in build_array_type_1 on invalid redeclara [...] adds a3313a2214a libstdc++: Disable failing tests [PR 97936] adds d3e763efcb8 changelog: fix parsing of a revert commit adds 1e2c9a27610 Daily bump. adds a7285c86596 middle-end: Reject flexible array members in __builtin_clea [...] adds ad9cbcee543 libstdc++: Fix handling of futex wake [PR 97936] adds a5ccfd04605 libstdc++: Fix silly typos [PR 97936] adds bc771e6c3a2 arm: Add test that was missing from old commit [PR91816] adds 97a26d19d23 [Ada] Minor refine type of a counter variable adds 90cb252f5f7 [Ada] Fix style and typos in code for expanding attribute r [...] adds 868268a8ecd [Ada] Reuse Is_Named_Number where possible adds 193040a071b [Ada] Fix crash on invalid `pragma Profile` adds 6b0c5c72270 [Ada] Remove repeated calls to Attribute_Name adds cf4737dcec1 [Ada] Unrecursify Set_Digit/Set_Image_Unsigned procedure adds bbf14e1350d [Ada] Allow debugging finalization-related expanded code adds 6d88dbdc5e3 [Ada] Add support for 128-bit integer types to GNAT.Random_Numbers adds a8c229e14c4 [Ada] Fix internal compilation error on circular type in SP [...] adds 9d41d78b05f [Ada] Adjust support for 128-bit integer types in System.Ra [...] adds a6fecb06710 [Ada] Minimize side-effect removal in GNATprove mode adds 4d617c3f2ad [Ada] Reinstate utime based code for vx6 in __gnat_copy_attribs adds e480bca2400 [Ada] Crash on right shift operator for signed integers adds 595c9aebadb [Ada] Remove hyphens in two cases of "side-effect" used as a noun adds 2d80df42331 [Ada] Remove dead and duplicated diagnostics for generic ac [...] adds eb0d08adb60 [Ada] Don't constant-fold renamed qualified expressions adds a24033ec70c [Ada] Consistently use explicit Entity_Id type instead of alias adds 49c4dd7a229 [Ada] Simplify Is_Standard_xxx_Type routines with membership tests adds ad26cae122e [Ada] Simplify Ekind tests with wrappers and membership tests adds a79039c0ebc [Ada] Fix copy-paste mistake in diagnostics for aspect Effe [...] adds 28488f5ff5a [Ada] Simplify aspect processing with membership tests adds 6d97121d2fa [Ada] Reuse Is_Named_Number where possible adds 52b9a264dd8 [Ada] Use hardcoded names when converting aspects to pragmas adds 14a16e30cae [Ada] Minor whitespace fix in expansion of attribute Size adds 47c2b77ffb9 [Ada] Document attribute Has_Tagged_Values in GNAT RM adds ea89e1c31ec [Ada] Merge duplicated processing for gnatmake -u and -U switches adds 7a173848847 [Ada] Remove shadowing by a nested subprogram parameter adds 57966b4d2f8 [Ada] Fix couple of minor issues with local exception propagation adds 55fae09dcb8 [Ada] Spurious error on instance with predicated actual adds a46fa6510d2 [Ada] Further optimization with uninitialized aggregates adds 52ce50d6c59 Fix atomic_capture-1.f90 testcase adds fddc7f0080f middle-end/97579 - lower VECTOR_BOOLEAN_TYPE_P VEC_COND_EXPRs adds 45281f120da Free more of CFG adds 049ce9d233e middle-end: __builtin_mul_overflow expansion improvements [ [...] adds 4aff491ffcb compiler: avoid silent truncation for string(1 << 32) adds a4d9837ee4b aarch64: Avoid false dependencies for SVE unary operations adds b13dacdfb31 testsuite: Rename test to avoid typo in its name [PR95862] adds 1ee3d1ef105 libsanitizer: add hwasan. adds 8eb12742e8a libsanitizer: Hwasan reporting check for dladdr failing adds edb07cb95af libsanitizer: Tie the hwasan library into our build system adds 8a769f816f8 libsanitizer: Only build libhwasan when targeting AArch64 adds 170e618ef55 libsanitizer: Add option to bootstrap using HWASAN adds 3bd87832077 libsanitizer: options: Add hwasan flags and argument parsing adds 0854b584bdc libsanitizer: mid-end: Introduce stack variable handling f [...] adds 93a73251486 libsanitizer: Add hwasan pass and associated gimple changes adds a47850552a0 libsanitizer: Add tests adds b85fb3187e4 libsanitizer: Add recently added commit to LOCAL_PATCHES adds 1a8d1f54de3 libstdc++: Fix test failure on AIX adds 9d908b7fc47 libstdc++: Fix missing subsumption in std::iterator_traits [...] adds aec2d684916 PR middle-end/97956 - ICE due to type mismatch in pointer_p [...] adds f76cad692a6 libstdc++: Fix testsuite helper functions [PR 97936] adds 7d2a98a7273 libstdc++: Encapsulate __gthread_cond_t as std::__condvar adds dfc537e554a libstdc++: Remove redundant clock conversions in atomic waits adds 4919ed711c1 Improve abs with overflow implementations adds 0cab70604cf Fix templatized C++ OpenACC 'cache' directive ICEs adds 1049e5408fa Add 'g++.dg/gomp/map-{1,2}.C' adds 94172dc7091 PR fortran/85796 - Floating point exception with implied do adds 5962efe9186 Copy arg_flags in duplication hoooks in ipa-modref adds bb07490abba Add EAF_NODIRECTESCAPE flag adds 15f82d80cfb New ipa-modref testcases adds ca23341b28c Clean up -Wformat-diag warnings (PR bootstrap/97622, PR boo [...] adds 360258daf5d Daily bump. adds a02e304245b [PR97983] LRA: Use the right emit func for putting insn in [...] adds 8f81f43f606 testsuite: Adjust nextafter and skip profile-info-section on AIX. adds 768ce4f0ceb C: Do not drop qualifiers in typeof for _Atomic types. [PR6 [...] adds 32b0abb24b8 i386: Optimize psubusw compared to 0 into pminuw compared t [...] adds 8593037b17d [Ada] Fix casing of "circular instantiation" error adds 1e00c00d8a7 [Ada] Compiler crash on named association in return aggregate adds 3268fb4dace [Ada] Spurious error on formal package with overloaded subprograms adds e3946607a68 [Ada] Correct a typo, plus other minor reformatting adds 96ccfec0296 [Ada] Issue advice for error regarding Old/Loop_Entry on un [...] adds 0dd6aab1951 [Ada] New warning on questionable missing parentheses adds 21d66365ad6 [Ada] Add contracts to Ada.Strings.Maps adds 5f7ee280184 [Ada] Simplify checks for library unit pragmas adds 5af3a22afe8 [Ada] Reuse Is_Access_Object_Type where possible adds adfa6cb8e4c [Ada] Remove extra whitespace in bounded container Read procedures adds b6735a10049 [Ada] Incorrect runtime accessibility check on access discriminant adds 2015a575b77 [Ada] Adjust documentation of Aft_Value and Scale_Value adds ccd05f6c8fd [Ada] Pass base type to Set_Has_Own_Invariants adds 416f9a27265 [Ada] Constraint_Error in Task_Wrapper and -u0 adds a160b4e046d [Ada] Reuse Is_Concurrent_Type when detecting protected or [...] adds 0ea529086e7 [Ada] Memory leak in concatenation with Initialize_Scalars adds 433b2e91f9e [Ada] Remove duplicated calls to Set_Entity adds 81c629f8f12 [Ada] Warn on slices of the form A (subtype) for all objects adds bc0c82e9948 [Ada] Avoid potentially repeated calls to Prefix in Eval_Slice adds 9597d24c7f8 [Ada] Sync wide Ada.String hashing units adds 52424b13d80 [Ada] Crash on task declaration with Restriction_Warning (N [...] adds 4e94b2442d9 [Ada] Improve error message on illegal prefixed procedure call adds c9e2eeb5034 [Ada] Replace warning suppression with assertion adds ebf90d68e94 [Ada] Minor reformatting and a typo fix adds aa83f3d0b7c [Ada] Reuse Is_Generic_Subprogram where possible adds 781fb9a006d [Ada] Add support for .c output file adds 0938e514585 [Ada] Add the remark concerning the use of Image_Ordinary_F [...] adds 8d87bb8f56d [Ada] Add support for 128-bit fixed-point types on 64-bit p [...] adds 678e19545eb [Ada] Ada 2020 AI12-0401 Renaming of qualified expression o [...] adds e3068952d75 [Ada] Ada.Numerics.Big_Numbers.Big_Reals.To_Big_Real looses [...] adds acdf30d66ca i386: Use SDWIM mode iterator for abs and maxmin [PR97873] adds c0c7270cc4e Don't create location wrapper nodes within OpenACC clauses adds 5b3a8fad183 testsuite/98002 - fix gcc.dg/strncmp-2.c adds 776a37f6ac5 Delete dead code in ix86_expand_special_args_builtin adds 39f5e9aded2 match.pd: Avoid ICE with shifts [PR97979] adds a3865661180 gimple-fold: Use DECL_PADDING_P in __builtin_clear_padding adds f6702584aa3 rs6000: Set param_vect_partial_vector_usage as 1 for P10 adds 127aa17e162 libstdc++: Add new headers to stdc++.h adds 2762cb1df68 libstdc++: Fix undefined FILE* operations in test adds 55ebb0d6fb0 ada: c++: Get rid of libposix4, librt on Solaris adds 2a93fa47853 dwarf: fix language_string for C2X adds 715a8bc8d47 i386: Cleanup argument handling in ix86_expand_*_builtin fu [...] adds d24a4c8c425 Fix early-debug relocations adds 5c197b83e12 tree-optimization/98015 - fix VEC_COND_EXPR lowering condition adds c76b3f9e833 tree-optimization/97953 - fix bougs range recorded by EVRP adds a3ebc13492f match.pd: Use ranges to optimize some x * y / y to x [PR97997] adds 294e72e9acb Fix PR target/96607 adds 10ee46adf44 libstdc++: Add "futex" and "gthreads" effective-target keywords adds 10522ed1089 libstdc++: Fix some more deadlocks in tests [PR 97936] adds 39e837cd750 libstdc++: Allow dejagnu tool_timeout to be overridden adds 218cedd5a36 libstdc++: Set dg-timeout-factor for some slow tests adds c87cce5a339 libgfortran: Correct FP feature macro checks adds beb9afcaf14 libgfortran: Verify the presence of all functions for POSIX [...]
No new revisions were added by this update.
Summary of changes: ChangeLog | 5 + config/ChangeLog | 9 + config/bootstrap-hwasan.mk | 12 + configure | 2 +- configure.ac | 2 +- contrib/ChangeLog | 5 + contrib/gcc-changelog/git_commit.py | 27 +- gcc/ChangeLog | 429 ++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 421 ++++++++ gcc/ada/Makefile.rtl | 49 +- gcc/ada/adaint.c | 17 +- gcc/ada/cstand.adb | 6 + .../gnat_rm/implementation_defined_attributes.rst | 13 + .../implementation_defined_characteristics.rst | 30 +- gcc/ada/doc/gnat_rm/intrinsic_subprograms.rst | 4 +- gcc/ada/einfo.adb | 85 +- gcc/ada/einfo.ads | 13 +- gcc/ada/exp_attr.adb | 213 ++-- gcc/ada/exp_ch11.adb | 6 +- gcc/ada/exp_ch13.adb | 5 +- gcc/ada/exp_ch2.adb | 44 +- gcc/ada/exp_ch4.adb | 40 +- gcc/ada/exp_ch7.adb | 37 +- gcc/ada/exp_ch8.adb | 12 +- gcc/ada/exp_ch9.adb | 7 +- gcc/ada/exp_fixd.adb | 182 ++-- gcc/ada/exp_imgv.adb | 304 ++++-- gcc/ada/exp_prag.adb | 17 +- gcc/ada/exp_util.adb | 117 ++- gcc/ada/freeze.adb | 228 +++-- gcc/ada/gnat_rm.texi | 1005 ++++++++++--------- gcc/ada/lib-writ.adb | 4 +- gcc/ada/libgnarl/s-osinte__solaris.ads | 3 - gcc/ada/libgnarl/s-tassta.adb | 11 +- gcc/ada/libgnat/a-cbhase.adb | 2 +- gcc/ada/libgnat/a-cbmutr.ads | 2 +- gcc/ada/libgnat/a-cborse.adb | 2 +- gcc/ada/libgnat/{s-fore.ads => a-decima__128.ads} | 44 +- gcc/ada/libgnat/a-nbnbre.adb | 10 +- gcc/ada/libgnat/a-strmap.ads | 179 +++- gcc/ada/libgnat/a-stzhas.adb | 14 +- gcc/ada/libgnat/a-stzhas.ads | 6 +- gcc/ada/libgnat/a-tideau.adb | 187 +--- gcc/ada/libgnat/a-tideau.ads | 74 +- gcc/ada/libgnat/a-tideio.adb | 58 +- .../libgnat/{a-tideio.adb => a-tideio__128.adb} | 80 +- gcc/ada/libgnat/{a-tideio.adb => a-tifiau.adb} | 159 +-- gcc/ada/libgnat/{a-tideau.ads => a-tifiau.ads} | 111 ++- gcc/ada/libgnat/a-tifiio.adb | 597 +++-------- gcc/ada/libgnat/a-tifiio__128.adb | 365 +++++++ gcc/ada/libgnat/a-tiflau.adb | 7 +- gcc/ada/libgnat/a-wtdeau.adb | 191 +--- gcc/ada/libgnat/a-wtdeau.ads | 75 +- gcc/ada/libgnat/a-wtdeio.adb | 68 +- .../libgnat/{a-wtdeio.adb => a-wtdeio__128.adb} | 94 +- gcc/ada/libgnat/{a-tideio.adb => a-wtfiau.adb} | 159 +-- gcc/ada/libgnat/{a-tideau.ads => a-wtfiau.ads} | 111 ++- gcc/ada/libgnat/a-wtfiio.adb | 127 ++- gcc/ada/libgnat/a-wtfiio__128.adb | 267 +++++ gcc/ada/libgnat/a-ztdeau.adb | 189 +--- gcc/ada/libgnat/a-ztdeau.ads | 75 +- gcc/ada/libgnat/a-ztdeio.adb | 77 +- .../libgnat/{a-ztdeio.adb => a-ztdeio__128.adb} | 103 +- gcc/ada/libgnat/{a-tideio.adb => a-ztfiau.adb} | 159 +-- gcc/ada/libgnat/{a-tideau.ads => a-ztfiau.ads} | 111 ++- gcc/ada/libgnat/a-ztfiio.adb | 127 ++- gcc/ada/libgnat/a-ztfiio__128.adb | 269 +++++ gcc/ada/libgnat/g-rannum.adb | 86 +- gcc/ada/libgnat/g-rannum.ads | 2 + gcc/ada/libgnat/s-arit32.adb | 182 ++++ gcc/ada/libgnat/{s-fore.ads => s-arit32.ads} | 32 +- gcc/ada/libgnat/{s-fore.ads => s-fode128.ads} | 23 +- gcc/ada/libgnat/{s-fore.ads => s-fode32.ads} | 23 +- gcc/ada/libgnat/{s-fore.ads => s-fode64.ads} | 23 +- gcc/ada/libgnat/{s-fore.ads => s-fofi128.ads} | 24 +- gcc/ada/libgnat/{s-fore.ads => s-fofi32.ads} | 24 +- gcc/ada/libgnat/{s-fore.ads => s-fofi64.ads} | 24 +- gcc/ada/libgnat/{s-fore.adb => s-fore_d.adb} | 38 +- gcc/ada/libgnat/{s-fore.ads => s-fore_d.ads} | 22 +- gcc/ada/libgnat/{s-fore.adb => s-fore_f.adb} | 85 +- gcc/ada/libgnat/{s-fore.ads => s-fore_f.ads} | 26 +- gcc/ada/libgnat/{s-fore.adb => s-forrea.adb} | 25 +- gcc/ada/libgnat/{s-fore.ads => s-forrea.ads} | 15 +- gcc/ada/libgnat/{s-imglld.adb => s-imaged.adb} | 39 +- gcc/ada/libgnat/{s-imglld.ads => s-imaged.ads} | 41 +- gcc/ada/libgnat/s-imagef.adb | 287 ++++++ gcc/ada/libgnat/{s-imgdec.ads => s-imagef.ads} | 100 +- gcc/ada/libgnat/s-imagei.adb | 47 +- gcc/ada/libgnat/s-imageu.adb | 39 +- gcc/ada/libgnat/{s-fore.ads => s-imde128.ads} | 38 +- gcc/ada/libgnat/{s-fore.ads => s-imde32.ads} | 38 +- gcc/ada/libgnat/{s-fore.ads => s-imde64.ads} | 38 +- gcc/ada/libgnat/{s-fore.ads => s-imfi128.ads} | 44 +- gcc/ada/libgnat/{s-fore.ads => s-imfi32.ads} | 44 +- gcc/ada/libgnat/{s-fore.ads => s-imfi64.ads} | 44 +- gcc/ada/libgnat/s-imgrea.adb | 38 +- gcc/ada/libgnat/s-imgrea.ads | 3 + gcc/ada/libgnat/{s-imgdec.adb => s-imguti.adb} | 75 +- gcc/ada/libgnat/{s-imglld.adb => s-imguti.ads} | 72 +- gcc/ada/libgnat/s-rannum.adb | 35 + gcc/ada/libgnat/{s-valdec.adb => s-vade128.ads} | 54 +- gcc/ada/libgnat/{s-fore.ads => s-vade32.ads} | 37 +- gcc/ada/libgnat/{s-fore.ads => s-vade64.ads} | 39 +- gcc/ada/libgnat/{s-fore.ads => s-vafi128.ads} | 39 +- gcc/ada/libgnat/{s-fore.ads => s-vafi32.ads} | 39 +- gcc/ada/libgnat/{s-fore.ads => s-vafi64.ads} | 39 +- gcc/ada/libgnat/s-vallld.adb | 70 -- gcc/ada/libgnat/s-valrea.adb | 522 +--------- gcc/ada/libgnat/s-valued.adb | 257 +++++ gcc/ada/libgnat/{s-valdec.ads => s-valued.ads} | 44 +- gcc/ada/libgnat/s-valuef.adb | 332 +++++++ gcc/ada/libgnat/{s-vallld.ads => s-valuef.ads} | 59 +- gcc/ada/libgnat/s-valuei.adb | 2 +- gcc/ada/libgnat/{s-valrea.adb => s-valuer.adb} | 444 +++++---- gcc/ada/libgnat/{s-vallld.ads => s-valuer.ads} | 74 +- gcc/ada/libgnat/system-aix.ads | 2 +- gcc/ada/libgnat/system-darwin-arm.ads | 2 +- gcc/ada/libgnat/system-darwin-ppc.ads | 2 +- gcc/ada/libgnat/system-darwin-x86.ads | 2 +- gcc/ada/libgnat/system-djgpp.ads | 2 +- gcc/ada/libgnat/system-dragonfly-x86_64.ads | 2 +- gcc/ada/libgnat/system-freebsd.ads | 2 +- gcc/ada/libgnat/system-hpux-ia64.ads | 2 +- gcc/ada/libgnat/system-hpux.ads | 2 +- gcc/ada/libgnat/system-linux-alpha.ads | 2 +- gcc/ada/libgnat/system-linux-arm.ads | 2 +- gcc/ada/libgnat/system-linux-hppa.ads | 2 +- gcc/ada/libgnat/system-linux-ia64.ads | 2 +- gcc/ada/libgnat/system-linux-m68k.ads | 2 +- gcc/ada/libgnat/system-linux-mips.ads | 2 +- gcc/ada/libgnat/system-linux-ppc.ads | 2 +- gcc/ada/libgnat/system-linux-riscv.ads | 2 +- gcc/ada/libgnat/system-linux-s390.ads | 2 +- gcc/ada/libgnat/system-linux-sh4.ads | 2 +- gcc/ada/libgnat/system-linux-sparc.ads | 2 +- gcc/ada/libgnat/system-linux-x86.ads | 2 +- gcc/ada/libgnat/system-lynxos178-ppc.ads | 2 +- gcc/ada/libgnat/system-lynxos178-x86.ads | 2 +- gcc/ada/libgnat/system-mingw.ads | 2 +- gcc/ada/libgnat/system-qnx-aarch64.ads | 2 +- gcc/ada/libgnat/system-rtems.ads | 2 +- gcc/ada/libgnat/system-solaris-sparc.ads | 2 +- gcc/ada/libgnat/system-solaris-x86.ads | 2 +- gcc/ada/libgnat/system-vxworks-arm-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks-arm-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks-arm.ads | 2 +- gcc/ada/libgnat/system-vxworks-e500-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks-e500-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks-e500-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks-e500-vthread.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc-ravenscar.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc-vthread.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc.ads | 2 +- gcc/ada/libgnat/system-vxworks-x86-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks-x86-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks-x86-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks-x86-vthread.ads | 2 +- gcc/ada/libgnat/system-vxworks-x86.ads | 2 +- .../libgnat/system-vxworks7-aarch64-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-aarch64.ads | 2 +- gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-arm.ads | 2 +- gcc/ada/libgnat/system-vxworks7-e500-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks7-e500-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-e500-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-ppc-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-x86-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-x86-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads | 2 +- gcc/ada/make.adb | 14 +- gcc/ada/osint-c.adb | 9 +- gcc/ada/rtsfind.ads | 108 +- gcc/ada/sem_attr.adb | 43 +- gcc/ada/sem_ch12.adb | 39 +- gcc/ada/sem_ch13.adb | 220 ++--- gcc/ada/sem_ch3.adb | 29 +- gcc/ada/sem_ch4.adb | 2 +- gcc/ada/sem_ch6.adb | 234 ++++- gcc/ada/sem_ch8.adb | 23 +- gcc/ada/sem_eval.adb | 47 +- gcc/ada/sem_prag.adb | 65 +- gcc/ada/sem_res.adb | 73 +- gcc/ada/sem_util.adb | 10 +- gcc/ada/sem_util.ads | 4 +- gcc/ada/stand.ads | 9 +- gcc/ada/uintp.ads | 10 + gcc/ada/urealp.adb | 168 +++- gcc/ada/urealp.ads | 32 +- gcc/asan.c | 1034 +++++++++++++++++++- gcc/asan.h | 45 +- gcc/builtin-types.def | 3 + gcc/builtins.def | 1 + gcc/c-family/ChangeLog | 10 + gcc/c-family/c-attribs.c | 4 +- gcc/c-family/c-warn.c | 4 +- gcc/c/ChangeLog | 7 + gcc/c/c-parser.c | 9 - gcc/cfg.c | 45 +- gcc/cfg.h | 2 +- gcc/cfgexpand.c | 167 +++- gcc/cgraph.c | 2 +- gcc/common.opt | 5 +- gcc/config/aarch64/aarch64-sve.md | 154 +-- gcc/config/aarch64/aarch64-sve2.md | 37 +- gcc/config/aarch64/aarch64.c | 42 +- gcc/config/arm/arm.c | 2 +- gcc/config/gcn/mkoffload.c | 15 +- gcc/config/gnu-user.h | 8 +- gcc/config/i386/i386-expand.c | 176 ++-- gcc/config/i386/i386-options.c | 4 +- gcc/config/i386/i386.md | 36 +- gcc/config/i386/sse.md | 61 +- gcc/config/rs6000/rs6000.c | 11 +- gcc/config/sol2.h | 3 - gcc/config/sparc/sparc-protos.h | 1 - gcc/config/sparc/sparc.c | 35 - gcc/config/sparc/sparc.md | 37 +- gcc/cp/ChangeLog | 30 + gcc/cp/constraint.cc | 4 +- gcc/cp/error.c | 21 +- gcc/cp/g++spec.c | 33 +- gcc/cp/logic.cc | 5 +- gcc/cp/name-lookup.c | 3 +- gcc/cp/parser.c | 25 +- gcc/cp/pt.c | 2 + gcc/cp/typeck.c | 3 +- gcc/cp/typeck2.c | 1 + gcc/cppbuiltin.c | 3 + gcc/digraph.cc | 2 +- gcc/doc/install.texi | 5 + gcc/doc/invoke.texi | 89 +- gcc/doc/tm.texi | 66 ++ gcc/doc/tm.texi.in | 16 + gcc/dumpfile.c | 18 +- gcc/dwarf2out.c | 2 +- gcc/edit-context.c | 14 +- gcc/explow.c | 10 +- gcc/explow.h | 2 +- gcc/flag-types.h | 3 + gcc/fortran/ChangeLog | 6 + gcc/fortran/resolve.c | 11 +- gcc/gcc.c | 25 + gcc/gimple-fold.c | 78 +- gcc/gimple-fold.h | 15 + gcc/gimple-isel.cc | 22 +- gcc/gimple-pretty-print.c | 1 + gcc/gimple-ssa-evrp-analyze.c | 6 +- gcc/gimple.c | 2 +- gcc/gimplify.c | 9 +- gcc/ginclude/stdatomic.h | 14 +- gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/expressions.cc | 10 +- gcc/internal-fn.c | 188 +++- gcc/internal-fn.def | 7 + gcc/ipa-modref.c | 26 +- gcc/jit/ChangeLog | 7 + gcc/jit/jit-recording.c | 20 +- gcc/json.cc | 5 +- gcc/lra.c | 16 +- gcc/lto-wrapper.c | 3 +- gcc/match.pd | 48 +- gcc/opts.c | 156 ++- gcc/params.opt | 24 + gcc/reload.c | 2 +- gcc/sanitizer.def | 61 ++ gcc/sanopt.c | 21 +- gcc/target.def | 80 ++ gcc/targhooks.c | 115 +++ gcc/targhooks.h | 9 + gcc/testsuite/ChangeLog | 461 +++++++++ .../c-c++-common/builtin-clear-padding-2.c | 17 + .../c-c++-common/builtin-clear-padding-3.c | 15 + gcc/testsuite/c-c++-common/goacc/cache-1.c | 18 +- gcc/testsuite/c-c++-common/goacc/cache-2.c | 10 +- gcc/testsuite/c-c++-common/goacc/cache-3-1.c | 116 +++ gcc/testsuite/c-c++-common/goacc/cache-3-2.c | 50 + gcc/testsuite/c-c++-common/goacc/data-clause-1.c | 115 +++ gcc/testsuite/c-c++-common/goacc/data-clause-2.c | 49 + gcc/testsuite/c-c++-common/gomp/map-1.c | 7 +- gcc/testsuite/c-c++-common/gomp/map-2.c | 7 +- gcc/testsuite/c-c++-common/hwasan/aligned-alloc.c | 16 + .../c-c++-common/hwasan/alloca-array-accessible.c | 33 + .../c-c++-common/hwasan/alloca-base-init.c | 66 ++ .../hwasan/alloca-gets-different-tag.c | 65 ++ .../c-c++-common/hwasan/alloca-outside-caught.c | 25 + gcc/testsuite/c-c++-common/hwasan/arguments-1.c | 3 + gcc/testsuite/c-c++-common/hwasan/arguments-2.c | 3 + gcc/testsuite/c-c++-common/hwasan/arguments-3.c | 3 + gcc/testsuite/c-c++-common/hwasan/arguments.c | 3 + gcc/testsuite/c-c++-common/hwasan/asan-pr63316.c | 24 + gcc/testsuite/c-c++-common/hwasan/asan-pr70541.c | 36 + gcc/testsuite/c-c++-common/hwasan/asan-pr78106.c | 31 + gcc/testsuite/c-c++-common/hwasan/asan-pr79944.c | 19 + .../c-c++-common/hwasan/asan-rlimit-mmap-test-1.c | 24 + gcc/testsuite/c-c++-common/hwasan/bitfield-1.c | 31 + gcc/testsuite/c-c++-common/hwasan/bitfield-2.c | 30 + .../c-c++-common/hwasan/builtin-special-handling.c | 31 + .../c-c++-common/hwasan/check-interface.c | 26 + .../c-c++-common/hwasan/halt_on_error-1.c | 24 + .../hwasan/handles-poly_int-marked-vars.c | 37 + gcc/testsuite/c-c++-common/hwasan/heap-overflow.c | 29 + .../hwasan/hwasan-poison-optimisation.c | 29 + .../hwasan/hwasan-thread-access-parent.c | 51 + .../hwasan/hwasan-thread-basic-failure.c | 48 + .../hwasan/hwasan-thread-clears-stack.c | 56 ++ .../c-c++-common/hwasan/hwasan-thread-success.c | 35 + .../c-c++-common/hwasan/kernel-defaults.c | 37 + .../c-c++-common/hwasan/large-aligned-0.c | 33 + .../c-c++-common/hwasan/large-aligned-1.c | 14 + .../hwasan/large-aligned-untagging-0.c | 75 ++ .../hwasan/large-aligned-untagging-1.c | 15 + .../hwasan/large-aligned-untagging-2.c | 15 + .../hwasan/large-aligned-untagging-3.c | 15 + .../hwasan/large-aligned-untagging-4.c | 16 + .../hwasan/large-aligned-untagging-5.c | 16 + .../hwasan/large-aligned-untagging-6.c | 16 + .../hwasan/large-aligned-untagging-7.c | 16 + .../c-c++-common/hwasan/macro-definition.c | 11 + .../c-c++-common/hwasan/no-sanitize-attribute.c | 12 + .../hwasan/param-instrument-mem-intrinsics.c | 10 + .../hwasan/param-instrument-reads-and-writes.c | 7 + .../c-c++-common/hwasan/param-instrument-reads.c | 21 + .../c-c++-common/hwasan/param-instrument-writes.c | 7 + .../c-c++-common/hwasan/random-frame-tag.c | 7 + .../c-c++-common/hwasan/sanity-check-pure-c.c | 25 + .../c-c++-common/hwasan/setjmp-longjmp-0.c | 54 + .../c-c++-common/hwasan/setjmp-longjmp-1.c | 19 + .../c-c++-common/hwasan/stack-tagging-basic-0.c | 37 + .../c-c++-common/hwasan/stack-tagging-basic-1.c | 18 + .../c-c++-common/hwasan/stack-tagging-disable.c | 33 + .../c-c++-common/hwasan/unprotected-allocas-0.c | 46 + .../c-c++-common/hwasan/unprotected-allocas-1.c | 16 + gcc/testsuite/c-c++-common/hwasan/use-after-free.c | 28 + .../c-c++-common/hwasan/vararray-outside-caught.c | 22 + .../hwasan/vararray-stack-restore-correct.c | 43 + .../c-c++-common/hwasan/very-large-objects.c | 68 ++ .../patchable_function_entry-error-3.c | 6 +- .../c-c++-common/ubsan/sanitize-recover-7.c | 2 +- gcc/testsuite/g++.dg/cpp0x/initlist-template3.C | 13 + gcc/testsuite/g++.dg/ext/builtin-clear-padding-1.C | 15 + gcc/testsuite/g++.dg/goacc/cache-1.C | 15 + .../goacc/cache-2.c => g++.dg/goacc/cache-2.C} | 15 +- gcc/testsuite/g++.dg/goacc/cache-3-1.C | 123 +++ gcc/testsuite/g++.dg/goacc/cache-3-2.C | 57 ++ gcc/testsuite/g++.dg/goacc/data-clause-1.C | 122 +++ gcc/testsuite/g++.dg/goacc/data-clause-2.C | 56 ++ .../gomp/map-1.c => g++.dg/gomp/map-1.C} | 16 +- .../gomp/map-2.c => g++.dg/gomp/map-2.C} | 14 +- gcc/testsuite/g++.dg/hwasan/hwasan.exp | 34 + gcc/testsuite/g++.dg/hwasan/rvo-handled.C | 46 + gcc/testsuite/gcc.c-torture/compile/pr97979.c | 7 + gcc/testsuite/gcc.dg/Wstringop-overflow-47.c | 2 +- gcc/testsuite/gcc.dg/builtin-arith-overflow-5.c | 87 ++ gcc/testsuite/gcc.dg/builtin-clear-padding-2.c | 15 + gcc/testsuite/gcc.dg/hwasan/hwasan.exp | 36 + gcc/testsuite/gcc.dg/hwasan/nested-functions-0.c | 53 + gcc/testsuite/gcc.dg/hwasan/nested-functions-1.c | 27 + gcc/testsuite/gcc.dg/hwasan/nested-functions-2.c | 28 + gcc/testsuite/gcc.dg/lto/modref-3_0.c | 17 + gcc/testsuite/gcc.dg/lto/modref-3_1.c | 13 + gcc/testsuite/gcc.dg/lto/modref-4_0.c | 17 + gcc/testsuite/gcc.dg/lto/modref-4_1.c | 13 + gcc/testsuite/gcc.dg/memchr-3.c | 25 + gcc/testsuite/gcc.dg/nextafter-1.c | 2 + gcc/testsuite/gcc.dg/nextafter-2.c | 3 + gcc/testsuite/gcc.dg/pr97534.c | 9 + gcc/testsuite/gcc.dg/pr97579.c | 31 + gcc/testsuite/gcc.dg/pr97953.c | 24 + gcc/testsuite/gcc.dg/pr97955.c | 7 + gcc/testsuite/gcc.dg/pr97979.c | 13 + gcc/testsuite/gcc.dg/profile-info-section.c | 2 + gcc/testsuite/gcc.dg/strncmp-2.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/modref-5.c | 27 + gcc/testsuite/gcc.dg/tree-ssa/pr97997-1.c | 52 + gcc/testsuite/gcc.dg/tree-ssa/pr97997-2.c | 41 + gcc/testsuite/gcc.dg/typeof-2.c | 20 +- .../gcc.target/aarch64/aapcs64/abitest-2.h | 2 +- gcc/testsuite/gcc.target/aarch64/aapcs64/abitest.h | 2 +- .../gcc.target/aarch64/sve/acle/asm/abs_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cls_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cls_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cls_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cls_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cvt_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cvt_f16.c | 8 + .../gcc.target/aarch64/sve/acle/asm/cvt_f32.c | 6 + .../gcc.target/aarch64/sve/acle/asm/cvt_f64.c | 6 + .../gcc.target/aarch64/sve/acle/asm/cvt_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cvt_s32.c | 3 + .../gcc.target/aarch64/sve/acle/asm/cvt_s64.c | 3 + .../gcc.target/aarch64/sve/acle/asm/cvt_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cvt_u32.c | 3 + .../gcc.target/aarch64/sve/acle/asm/cvt_u64.c | 3 + .../gcc.target/aarch64/sve/acle/asm/extb_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/extb_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/extb_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/exth_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/exth_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/extw_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/recpx_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/recpx_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/recpx_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revh_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revh_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revh_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revh_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revw_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revw_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinta_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinta_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinta_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinti_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinti_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinti_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintm_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintm_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintm_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintn_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintn_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintn_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintp_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintp_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintp_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintx_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintx_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintx_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintz_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintz_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintz_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/sqrt_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/sqrt_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/sqrt_f64.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/cvtlt_f32.c | 8 +- .../gcc.target/aarch64/sve2/acle/asm/cvtlt_f64.c | 8 +- .../gcc.target/aarch64/sve2/acle/asm/cvtx_f32.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/logb_f16.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/logb_f32.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/logb_f64.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qabs_s16.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qabs_s32.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qabs_s64.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qabs_s8.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qneg_s16.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qneg_s32.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qneg_s64.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qneg_s8.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/recpe_u32.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/rsqrte_u32.c | 1 + gcc/testsuite/gcc.target/arm/pr91816.c | 63 ++ gcc/testsuite/gcc.target/i386/pr96906-1.c | 62 ++ gcc/testsuite/gcc.target/i386/pr97873-3.c | 27 + .../gfortran.dg/gomp/declare-target-4.f90 | 16 +- gcc/testsuite/gfortran.dg/pr85796.f90 | 8 + gcc/testsuite/gnat.dg/multfixed.adb | 3 +- gcc/testsuite/lib/asan-dg.exp | 31 +- gcc/testsuite/lib/hwasan-dg.exp | 150 +++ gcc/toplev.c | 12 + gcc/tree-core.h | 4 + gcc/tree-diagnostic-path.cc | 13 +- gcc/tree-ssa-structalias.c | 25 +- gcc/ubsan.c | 13 +- libcpp/ChangeLog | 26 + libcpp/directives.c | 11 +- libcpp/expr.c | 9 +- libcpp/include/cpplib.h | 32 +- libcpp/internal.h | 9 +- libcpp/lex.c | 18 +- libcpp/macro.c | 95 +- libgcc/ChangeLog | 6 + libgcc/libgcc2.c | 42 +- libgfortran/io/io.h | 10 +- libgfortran/io/transfer.c | 4 +- libgfortran/io/unit.c | 6 +- libgfortran/libgfortran.h | 12 +- libgfortran/runtime/error.c | 2 +- libgomp/ChangeLog | 21 + libgomp/plugin/plugin-gcn.c | 3 +- libgomp/testsuite/libgomp.oacc-c++/cache-1.C | 13 + .../testsuite/libgomp.oacc-c-c++-common/cache-1.c | 12 +- .../libgomp.oacc-fortran/atomic_capture-1.f90 | 38 +- libiberty/ChangeLog | 5 + libiberty/configure | 1 + libiberty/configure.ac | 1 + libsanitizer/ChangeLog | 31 + libsanitizer/LOCAL_PATCHES | 1 + libsanitizer/MERGE | 2 +- libsanitizer/Makefile.am | 6 +- libsanitizer/Makefile.in | 9 +- libsanitizer/README.gcc | 1 + libsanitizer/asan/Makefile.in | 1 + libsanitizer/configure | 43 +- libsanitizer/configure.ac | 21 + libsanitizer/configure.tgt | 1 + libsanitizer/hwasan/Makefile.am | 89 ++ libsanitizer/{ubsan => hwasan}/Makefile.in | 169 +++- libsanitizer/hwasan/hwasan.cpp | 522 ++++++++++ libsanitizer/hwasan/hwasan.h | 165 ++++ libsanitizer/hwasan/hwasan_allocator.cpp | 408 ++++++++ libsanitizer/hwasan/hwasan_allocator.h | 107 ++ libsanitizer/hwasan/hwasan_checks.h | 124 +++ libsanitizer/hwasan/hwasan_dynamic_shadow.cpp | 126 +++ libsanitizer/hwasan/hwasan_dynamic_shadow.h | 27 + libsanitizer/hwasan/hwasan_exceptions.cpp | 67 ++ libsanitizer/hwasan/hwasan_flags.h | 29 + libsanitizer/hwasan/hwasan_flags.inc | 74 ++ libsanitizer/hwasan/hwasan_globals.cpp | 91 ++ libsanitizer/hwasan/hwasan_globals.h | 49 + libsanitizer/hwasan/hwasan_interceptors.cpp | 349 +++++++ libsanitizer/hwasan/hwasan_interceptors_vfork.S | 11 + libsanitizer/hwasan/hwasan_interface_internal.h | 227 +++++ libsanitizer/hwasan/hwasan_linux.cpp | 455 +++++++++ libsanitizer/hwasan/hwasan_malloc_bisect.h | 50 + libsanitizer/hwasan/hwasan_mapping.h | 66 ++ libsanitizer/hwasan/hwasan_memintrinsics.cpp | 44 + libsanitizer/hwasan/hwasan_new_delete.cpp | 81 ++ libsanitizer/hwasan/hwasan_poisoning.cpp | 52 + libsanitizer/hwasan/hwasan_poisoning.h | 24 + libsanitizer/hwasan/hwasan_report.cpp | 652 ++++++++++++ libsanitizer/hwasan/hwasan_report.h | 35 + libsanitizer/hwasan/hwasan_setjmp.S | 100 ++ libsanitizer/hwasan/hwasan_tag_mismatch_aarch64.S | 152 +++ libsanitizer/hwasan/hwasan_thread.cpp | 133 +++ libsanitizer/hwasan/hwasan_thread.h | 98 ++ libsanitizer/hwasan/hwasan_thread_list.cpp | 15 + libsanitizer/hwasan/hwasan_thread_list.h | 215 ++++ libsanitizer/hwasan/hwasan_type_test.cpp | 25 + libsanitizer/hwasan/libtool-version | 6 + libsanitizer/interception/Makefile.in | 1 + libsanitizer/libbacktrace/Makefile.in | 1 + libsanitizer/libsanitizer.spec.in | 2 + libsanitizer/lsan/Makefile.in | 1 + libsanitizer/merge.sh | 1 + libsanitizer/sanitizer_common/Makefile.in | 1 + libsanitizer/tsan/Makefile.in | 1 + libsanitizer/ubsan/Makefile.in | 1 + libstdc++-v3/ChangeLog | 102 ++ libstdc++-v3/acinclude.m4 | 18 +- libstdc++-v3/configure | 215 ++-- libstdc++-v3/doc/xml/manual/configure.xml | 3 +- libstdc++-v3/include/bits/atomic_timed_wait.h | 104 +- libstdc++-v3/include/bits/atomic_wait.h | 54 +- libstdc++-v3/include/bits/iterator_concepts.h | 17 +- libstdc++-v3/include/bits/std_mutex.h | 70 ++ libstdc++-v3/include/precompiled/stdc++.h | 2 + libstdc++-v3/include/std/condition_variable | 18 +- libstdc++-v3/include/std/stop_token | 4 +- libstdc++-v3/src/c++11/condition_variable.cc | 33 +- libstdc++-v3/src/c++11/thread.cc | 10 + libstdc++-v3/src/c++98/locale.cc | 4 +- libstdc++-v3/src/c++98/locale_init.cc | 2 +- libstdc++-v3/testsuite/17_intro/names.cc | 2 + libstdc++-v3/testsuite/18_support/96817.cc | 13 +- .../associated_types/iterator.traits.cc | 56 ++ .../regex_match/basic/string_range_01_03.cc | 3 +- .../algorithms/regex_match/cstring_bracket_01.cc | 1 + .../algorithms/regex_match/ecma/char/backref.cc | 1 + .../algorithms/regex_match/ecma/wchar_t/63199.cc | 1 + .../regex_match/ecma/wchar_t/anymatcher.cc | 1 + .../regex_match/ecma/wchar_t/cjk_match.cc | 1 + .../algorithms/regex_match/ecma/wchar_t/hex.cc | 1 + .../regex_match/extended/wstring_locale.cc | 1 + .../28_regex/algorithms/regex_search/61720.cc | 1 + .../algorithms/regex_search/ecma/assertion.cc | 1 + .../algorithms/regex_search/ecma/string_01.cc | 1 + .../28_regex/basic_regex/ctors/deduction.cc | 1 + .../29_atomics/atomic/wait_notify/bool.cc | 7 +- .../29_atomics/atomic/wait_notify/generic.cc | 1 - .../29_atomics/atomic/wait_notify/pointers.cc | 7 +- .../29_atomics/atomic_flag/wait_notify/1.cc | 7 +- .../29_atomics/atomic_float/wait_notify.cc | 1 - .../29_atomics/atomic_integral/wait_notify.cc | 4 +- .../testsuite/29_atomics/atomic_ref/wait_notify.cc | 6 +- .../testsuite/30_threads/call_once/66146.cc | 4 +- libstdc++-v3/testsuite/30_threads/jthread/95989.cc | 4 +- libstdc++-v3/testsuite/30_threads/latch/3.cc | 6 +- .../30_threads/semaphore/try_acquire_until.cc | 4 +- .../testsuite/ext/stdio_filebuf/char/79820.cc | 3 +- libstdc++-v3/testsuite/lib/libstdc++.exp | 37 +- .../testsuite/util/atomic/wait_notify_util.h | 24 +- lto-plugin/ChangeLog | 5 + lto-plugin/Makefile.am | 4 +- lto-plugin/Makefile.in | 4 +- 655 files changed, 20600 insertions(+), 5474 deletions(-) create mode 100644 config/bootstrap-hwasan.mk copy gcc/ada/libgnat/{s-fore.ads => a-decima__128.ads} (61%) copy gcc/ada/libgnat/{a-tideio.adb => a-tideio__128.adb} (60%) copy gcc/ada/libgnat/{a-tideio.adb => a-tifiau.adb} (51%) copy gcc/ada/libgnat/{a-tideau.ads => a-tifiau.ads} (56%) create mode 100644 gcc/ada/libgnat/a-tifiio__128.adb copy gcc/ada/libgnat/{a-wtdeio.adb => a-wtdeio__128.adb} (61%) copy gcc/ada/libgnat/{a-tideio.adb => a-wtfiau.adb} (51%) copy gcc/ada/libgnat/{a-tideau.ads => a-wtfiau.ads} (56%) create mode 100644 gcc/ada/libgnat/a-wtfiio__128.adb copy gcc/ada/libgnat/{a-ztdeio.adb => a-ztdeio__128.adb} (61%) copy gcc/ada/libgnat/{a-tideio.adb => a-ztfiau.adb} (50%) copy gcc/ada/libgnat/{a-tideau.ads => a-ztfiau.ads} (56%) create mode 100644 gcc/ada/libgnat/a-ztfiio__128.adb create mode 100644 gcc/ada/libgnat/s-arit32.adb copy gcc/ada/libgnat/{s-fore.ads => s-arit32.ads} (66%) copy gcc/ada/libgnat/{s-fore.ads => s-fode128.ads} (82%) copy gcc/ada/libgnat/{s-fore.ads => s-fode32.ads} (82%) copy gcc/ada/libgnat/{s-fore.ads => s-fode64.ads} (82%) copy gcc/ada/libgnat/{s-fore.ads => s-fofi128.ads} (80%) copy gcc/ada/libgnat/{s-fore.ads => s-fofi32.ads} (81%) copy gcc/ada/libgnat/{s-fore.ads => s-fofi64.ads} (81%) copy gcc/ada/libgnat/{s-fore.adb => s-fore_d.adb} (76%) copy gcc/ada/libgnat/{s-fore.ads => s-fore_d.ads} (80%) copy gcc/ada/libgnat/{s-fore.adb => s-fore_f.adb} (50%) copy gcc/ada/libgnat/{s-fore.ads => s-fore_f.ads} (76%) rename gcc/ada/libgnat/{s-fore.adb => s-forrea.adb} (88%) copy gcc/ada/libgnat/{s-fore.ads => s-forrea.ads} (83%) copy gcc/ada/libgnat/{s-imglld.adb => s-imaged.adb} (77%) rename gcc/ada/libgnat/{s-imglld.ads => s-imaged.ads} (75%) create mode 100644 gcc/ada/libgnat/s-imagef.adb rename gcc/ada/libgnat/{s-imgdec.ads => s-imagef.ads} (54%) copy gcc/ada/libgnat/{s-fore.ads => s-imde128.ads} (70%) copy gcc/ada/libgnat/{s-fore.ads => s-imde32.ads} (70%) copy gcc/ada/libgnat/{s-fore.ads => s-imde64.ads} (70%) copy gcc/ada/libgnat/{s-fore.ads => s-imfi128.ads} (68%) copy gcc/ada/libgnat/{s-fore.ads => s-imfi32.ads} (68%) copy gcc/ada/libgnat/{s-fore.ads => s-imfi64.ads} (68%) rename gcc/ada/libgnat/{s-imgdec.adb => s-imguti.adb} (89%) rename gcc/ada/libgnat/{s-imglld.adb => s-imguti.ads} (62%) rename gcc/ada/libgnat/{s-valdec.adb => s-vade128.ads} (66%) copy gcc/ada/libgnat/{s-fore.ads => s-vade32.ads} (68%) copy gcc/ada/libgnat/{s-fore.ads => s-vade64.ads} (68%) copy gcc/ada/libgnat/{s-fore.ads => s-vafi128.ads} (67%) copy gcc/ada/libgnat/{s-fore.ads => s-vafi32.ads} (68%) rename gcc/ada/libgnat/{s-fore.ads => s-vafi64.ads} (68%) delete mode 100644 gcc/ada/libgnat/s-vallld.adb create mode 100644 gcc/ada/libgnat/s-valued.adb rename gcc/ada/libgnat/{s-valdec.ads => s-valued.ads} (79%) create mode 100644 gcc/ada/libgnat/s-valuef.adb copy gcc/ada/libgnat/{s-vallld.ads => s-valuef.ads} (72%) copy gcc/ada/libgnat/{s-valrea.adb => s-valuer.adb} (60%) rename gcc/ada/libgnat/{s-vallld.ads => s-valuer.ads} (60%) create mode 100644 gcc/testsuite/c-c++-common/builtin-clear-padding-2.c create mode 100644 gcc/testsuite/c-c++-common/builtin-clear-padding-3.c create mode 100644 gcc/testsuite/c-c++-common/goacc/cache-3-1.c create mode 100644 gcc/testsuite/c-c++-common/goacc/cache-3-2.c create mode 100644 gcc/testsuite/c-c++-common/goacc/data-clause-1.c create mode 100644 gcc/testsuite/c-c++-common/goacc/data-clause-2.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/aligned-alloc.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/alloca-array-accessible.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/alloca-base-init.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/alloca-gets-different-tag.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/alloca-outside-caught.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/arguments-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/arguments-2.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/arguments-3.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/arguments.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/asan-pr63316.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/asan-pr70541.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/asan-pr78106.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/asan-pr79944.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/asan-rlimit-mmap-test-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/bitfield-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/bitfield-2.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/builtin-special-handling.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/check-interface.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/halt_on_error-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/handles-poly_int-marked-vars.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/heap-overflow.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/hwasan-poison-optimisation.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/hwasan-thread-access-parent.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/hwasan-thread-basic-failure.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/hwasan-thread-clears-stack.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/hwasan-thread-success.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/kernel-defaults.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-0.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-0.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-2.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-3.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-4.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-5.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-6.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-7.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/macro-definition.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/no-sanitize-attribute.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/param-instrument-mem-intrinsics.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/param-instrument-reads-and-writes.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/param-instrument-reads.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/param-instrument-writes.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/random-frame-tag.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/sanity-check-pure-c.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/setjmp-longjmp-0.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/setjmp-longjmp-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/stack-tagging-basic-0.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/stack-tagging-basic-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/stack-tagging-disable.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/unprotected-allocas-0.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/unprotected-allocas-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/use-after-free.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/vararray-outside-caught.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/vararray-stack-restore-correct.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/very-large-objects.c create mode 100644 gcc/testsuite/g++.dg/cpp0x/initlist-template3.C create mode 100644 gcc/testsuite/g++.dg/ext/builtin-clear-padding-1.C create mode 100644 gcc/testsuite/g++.dg/goacc/cache-1.C copy gcc/testsuite/{c-c++-common/goacc/cache-2.c => g++.dg/goacc/cache-2.C} (90%) create mode 100644 gcc/testsuite/g++.dg/goacc/cache-3-1.C create mode 100644 gcc/testsuite/g++.dg/goacc/cache-3-2.C create mode 100644 gcc/testsuite/g++.dg/goacc/data-clause-1.C create mode 100644 gcc/testsuite/g++.dg/goacc/data-clause-2.C copy gcc/testsuite/{c-c++-common/gomp/map-1.c => g++.dg/gomp/map-1.C} (93%) copy gcc/testsuite/{c-c++-common/gomp/map-2.c => g++.dg/gomp/map-2.C} (87%) create mode 100644 gcc/testsuite/g++.dg/hwasan/hwasan.exp create mode 100644 gcc/testsuite/g++.dg/hwasan/rvo-handled.C create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr97979.c create mode 100644 gcc/testsuite/gcc.dg/builtin-arith-overflow-5.c create mode 100644 gcc/testsuite/gcc.dg/builtin-clear-padding-2.c create mode 100644 gcc/testsuite/gcc.dg/hwasan/hwasan.exp create mode 100644 gcc/testsuite/gcc.dg/hwasan/nested-functions-0.c create mode 100644 gcc/testsuite/gcc.dg/hwasan/nested-functions-1.c create mode 100644 gcc/testsuite/gcc.dg/hwasan/nested-functions-2.c create mode 100644 gcc/testsuite/gcc.dg/lto/modref-3_0.c create mode 100644 gcc/testsuite/gcc.dg/lto/modref-3_1.c create mode 100644 gcc/testsuite/gcc.dg/lto/modref-4_0.c create mode 100644 gcc/testsuite/gcc.dg/lto/modref-4_1.c create mode 100644 gcc/testsuite/gcc.dg/memchr-3.c create mode 100644 gcc/testsuite/gcc.dg/pr97534.c create mode 100644 gcc/testsuite/gcc.dg/pr97579.c create mode 100644 gcc/testsuite/gcc.dg/pr97953.c create mode 100644 gcc/testsuite/gcc.dg/pr97955.c create mode 100644 gcc/testsuite/gcc.dg/pr97979.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/modref-5.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr97997-1.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr97997-2.c create mode 100644 gcc/testsuite/gcc.target/arm/pr91816.c create mode 100644 gcc/testsuite/gcc.target/i386/pr96906-1.c create mode 100644 gcc/testsuite/gcc.target/i386/pr97873-3.c create mode 100644 gcc/testsuite/gfortran.dg/pr85796.f90 create mode 100644 gcc/testsuite/lib/hwasan-dg.exp create mode 100644 libgomp/testsuite/libgomp.oacc-c++/cache-1.C create mode 100644 libsanitizer/hwasan/Makefile.am copy libsanitizer/{ubsan => hwasan}/Makefile.in (78%) create mode 100644 libsanitizer/hwasan/hwasan.cpp create mode 100644 libsanitizer/hwasan/hwasan.h create mode 100644 libsanitizer/hwasan/hwasan_allocator.cpp create mode 100644 libsanitizer/hwasan/hwasan_allocator.h create mode 100644 libsanitizer/hwasan/hwasan_checks.h create mode 100644 libsanitizer/hwasan/hwasan_dynamic_shadow.cpp create mode 100644 libsanitizer/hwasan/hwasan_dynamic_shadow.h create mode 100644 libsanitizer/hwasan/hwasan_exceptions.cpp create mode 100644 libsanitizer/hwasan/hwasan_flags.h create mode 100644 libsanitizer/hwasan/hwasan_flags.inc create mode 100644 libsanitizer/hwasan/hwasan_globals.cpp create mode 100644 libsanitizer/hwasan/hwasan_globals.h create mode 100644 libsanitizer/hwasan/hwasan_interceptors.cpp create mode 100644 libsanitizer/hwasan/hwasan_interceptors_vfork.S create mode 100644 libsanitizer/hwasan/hwasan_interface_internal.h create mode 100644 libsanitizer/hwasan/hwasan_linux.cpp create mode 100644 libsanitizer/hwasan/hwasan_malloc_bisect.h create mode 100644 libsanitizer/hwasan/hwasan_mapping.h create mode 100644 libsanitizer/hwasan/hwasan_memintrinsics.cpp create mode 100644 libsanitizer/hwasan/hwasan_new_delete.cpp create mode 100644 libsanitizer/hwasan/hwasan_poisoning.cpp create mode 100644 libsanitizer/hwasan/hwasan_poisoning.h create mode 100644 libsanitizer/hwasan/hwasan_report.cpp create mode 100644 libsanitizer/hwasan/hwasan_report.h create mode 100644 libsanitizer/hwasan/hwasan_setjmp.S create mode 100644 libsanitizer/hwasan/hwasan_tag_mismatch_aarch64.S create mode 100644 libsanitizer/hwasan/hwasan_thread.cpp create mode 100644 libsanitizer/hwasan/hwasan_thread.h create mode 100644 libsanitizer/hwasan/hwasan_thread_list.cpp create mode 100644 libsanitizer/hwasan/hwasan_thread_list.h create mode 100644 libsanitizer/hwasan/hwasan_type_test.cpp create mode 100644 libsanitizer/hwasan/libtool-version create mode 100644 libstdc++-v3/testsuite/24_iterators/associated_types/iterator.t [...]