This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch devel/c++-coroutines in repository gcc.
from d0b7c4b2605 Merge master r11-5322. 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 new 709f1a3a7c5 Merge master r11-5390.
The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: config/bootstrap-hwasan.mk | 12 + configure | 2 +- configure.ac | 2 +- contrib/ChangeLog | 5 + contrib/gcc-changelog/git_commit.py | 27 +- gcc/ChangeLog | 102 ++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 219 +++++ gcc/ada/adaint.c | 17 +- .../gnat_rm/implementation_defined_attributes.rst | 13 + gcc/ada/doc/gnat_rm/intrinsic_subprograms.rst | 4 +- gcc/ada/einfo.adb | 85 +- gcc/ada/exp_attr.adb | 83 +- gcc/ada/exp_ch11.adb | 6 +- gcc/ada/exp_ch2.adb | 44 +- gcc/ada/exp_ch7.adb | 34 +- gcc/ada/exp_ch8.adb | 12 +- gcc/ada/exp_prag.adb | 17 +- gcc/ada/exp_util.adb | 112 ++- gcc/ada/freeze.adb | 46 - gcc/ada/gnat_rm.texi | 977 +++++++++--------- gcc/ada/libgnat/g-rannum.adb | 16 +- gcc/ada/libgnat/g-rannum.ads | 2 + gcc/ada/libgnat/s-imagei.adb | 47 +- gcc/ada/libgnat/s-imageu.adb | 39 +- gcc/ada/libgnat/s-rannum.adb | 35 + gcc/ada/make.adb | 14 +- gcc/ada/sem_attr.adb | 27 +- gcc/ada/sem_ch12.adb | 21 +- gcc/ada/sem_ch13.adb | 220 ++--- gcc/ada/sem_ch3.adb | 4 +- gcc/ada/sem_eval.adb | 40 +- gcc/ada/sem_prag.adb | 10 +- gcc/ada/sem_res.adb | 5 +- gcc/ada/sem_util.adb | 4 +- gcc/ada/sem_util.ads | 4 +- gcc/asan.c | 1034 +++++++++++++++++++- gcc/asan.h | 45 +- gcc/builtin-types.def | 3 + gcc/builtins.def | 1 + gcc/c-family/ChangeLog | 4 + gcc/c-family/c-warn.c | 4 +- gcc/c/ChangeLog | 7 + 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/gnu-user.h | 8 +- gcc/cp/ChangeLog | 13 + gcc/cp/pt.c | 2 + gcc/cp/typeck2.c | 1 + gcc/cppbuiltin.c | 3 + gcc/doc/install.texi | 5 + gcc/doc/invoke.texi | 83 +- gcc/doc/tm.texi | 66 ++ gcc/doc/tm.texi.in | 16 + gcc/explow.c | 10 +- gcc/explow.h | 2 +- gcc/flag-types.h | 3 + gcc/fortran/resolve.c | 11 +- gcc/gcc.c | 25 + gcc/gimple-fold.c | 72 +- gcc/gimple-fold.h | 15 + gcc/gimple-isel.cc | 22 +- gcc/gimple-pretty-print.c | 1 + gcc/gimplify.c | 9 +- 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 | 6 +- gcc/opts.c | 98 +- gcc/params.opt | 24 + gcc/sanitizer.def | 61 ++ gcc/sanopt.c | 21 +- gcc/target.def | 80 ++ gcc/targhooks.c | 115 +++ gcc/targhooks.h | 9 + gcc/testsuite/ChangeLog | 96 ++ .../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/gomp/map-1.c | 5 +- gcc/testsuite/c-c++-common/gomp/map-2.c | 5 +- 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 + .../{asan/pr63316.c => hwasan/asan-pr63316.c} | 2 + gcc/testsuite/c-c++-common/hwasan/asan-pr70541.c | 36 + .../hwasan/asan-pr78106.c} | 6 +- .../{asan/pr79944.c => hwasan/asan-pr79944.c} | 1 + .../asan-rlimit-mmap-test-1.c} | 4 +- 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 + .../hwasan/very-large-objects.c} | 26 +- .../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 +- .../gomp/map-1.c => g++.dg/gomp/map-1.C} | 14 +- .../gomp/map-2.c => g++.dg/gomp/map-2.C} | 12 +- .../g++.dg/{asan/asan.exp => hwasan/hwasan.exp} | 12 +- gcc/testsuite/g++.dg/hwasan/rvo-handled.C | 46 + 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.dg/{asan/asan.exp => hwasan/hwasan.exp} | 12 +- 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/memchr-3.c | 25 + gcc/testsuite/gcc.dg/pr97579.c | 31 + gcc/testsuite/gcc.dg/pr97955.c | 7 + .../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/gfortran.dg/pr85796.f90 | 8 + gcc/testsuite/lib/asan-dg.exp | 31 +- gcc/testsuite/lib/hwasan-dg.exp | 150 +++ gcc/toplev.c | 12 + libcpp/ChangeLog | 26 + libgcc/libgcc2.c | 42 +- libgomp/ChangeLog | 11 + 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/configure | 1 + libiberty/configure.ac | 1 + 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/{lsan => hwasan}/Makefile.am | 65 +- 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 +++++++ .../hwasan_interceptors_vfork.S} | 8 +- 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 + .../hwasan_poisoning.h} | 20 +- 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/{lsan => hwasan}/libtool-version | 2 +- 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 | 28 + 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/std/condition_variable | 18 +- libstdc++-v3/src/c++11/condition_variable.cc | 33 +- libstdc++-v3/testsuite/17_intro/names.cc | 2 + .../iterator.traits.cc} | 48 +- .../29_atomics/atomic/wait_notify/bool.cc | 1 - .../29_atomics/atomic/wait_notify/generic.cc | 1 - .../29_atomics/atomic/wait_notify/pointers.cc | 1 - .../29_atomics/atomic_flag/wait_notify/1.cc | 1 - .../29_atomics/atomic_float/wait_notify.cc | 1 - .../29_atomics/atomic_integral/wait_notify.cc | 4 +- libstdc++-v3/testsuite/30_threads/jthread/95989.cc | 1 + libstdc++-v3/testsuite/30_threads/latch/3.cc | 6 +- .../30_threads/semaphore/try_acquire_until.cc | 4 +- .../testsuite/util/atomic/wait_notify_util.h | 24 +- lto-plugin/Makefile.am | 4 +- lto-plugin/Makefile.in | 4 +- 382 files changed, 11273 insertions(+), 1478 deletions(-) create mode 100644 config/bootstrap-hwasan.mk 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/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 copy gcc/testsuite/c-c++-common/{asan/pr63316.c => hwasan/asan-pr63316.c} (87%) create mode 100644 gcc/testsuite/c-c++-common/hwasan/asan-pr70541.c copy gcc/testsuite/{gcc.dg/asan/pr78106.c => c-c++-common/hwasan/asan-pr78106.c} (68%) copy gcc/testsuite/c-c++-common/{asan/pr79944.c => hwasan/asan-pr79944.c} (88%) copy gcc/testsuite/c-c++-common/{asan/rlimit-mmap-test-1.c => hwasan/asan-rlimit-m [...] 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 copy gcc/testsuite/{gcc.c-torture/compile/20031023-1.c => c-c++-common/hwasan/very [...] 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%) copy gcc/testsuite/{c-c++-common/gomp/map-1.c => g++.dg/gomp/map-1.C} (95%) copy gcc/testsuite/{c-c++-common/gomp/map-2.c => g++.dg/gomp/map-2.C} (91%) copy gcc/testsuite/g++.dg/{asan/asan.exp => hwasan/hwasan.exp} (80%) create mode 100644 gcc/testsuite/g++.dg/hwasan/rvo-handled.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 copy gcc/testsuite/gcc.dg/{asan/asan.exp => hwasan/hwasan.exp} (81%) 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/memchr-3.c create mode 100644 gcc/testsuite/gcc.dg/pr97579.c create mode 100644 gcc/testsuite/gcc.dg/pr97955.c create mode 100644 gcc/testsuite/gcc.target/arm/pr91816.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 copy libsanitizer/{lsan => hwasan}/Makefile.am (60%) 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 copy libsanitizer/{asan/asan_interceptors_vfork.S => hwasan/hwasan_interceptors_vf [...] 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 copy libsanitizer/{sanitizer_common/sanitizer_allocator_checks.cpp => hwasan/hwasa [...] 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 copy libsanitizer/{lsan => hwasan}/libtool-version (71%) copy libstdc++-v3/testsuite/24_iterators/{front_insert_iterator/constexpr.cc => as [...]