diff -Nrcpad gcc-9.4.0/ChangeLog gcc-9.5.0/ChangeLog
*** gcc-9.4.0/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/LAST_UPDATED gcc-9.5.0/LAST_UPDATED
*** gcc-9.4.0/LAST_UPDATED	Tue Jun  1 07:53:41 2021
--- gcc-9.5.0/LAST_UPDATED	Fri May 27 07:21:47 2022
***************
*** 1 ****
! Obtained from git: releases/gcc-9.4.0 revision 13c83c4cc679ad5383ed57f359e53e8d518b7842
--- 1 ----
! Obtained from git: releases/gcc-9.5.0 revision 7a15b5060a83ea8282323d92043c6152e6a3e22d
diff -Nrcpad gcc-9.4.0/MD5SUMS gcc-9.5.0/MD5SUMS
*** gcc-9.4.0/MD5SUMS	Tue Jun  1 08:07:27 2021
--- gcc-9.5.0/MD5SUMS	Fri May 27 07:35:38 2022
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the 
! # gcc-9.4.0.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the 
! # gcc-9.5.0.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** e399c6eed967a5699498feb798da61ee  .gitat
*** 17,23 ****
  fe60d87048567d4fe8c8a0ed2448bcc8  COPYING.RUNTIME
  d32239bcb673463ab874e80d47fae504  COPYING3
  6a6a8e020838b23406c81b19c1d46df6  COPYING3.LIB
! 023e566c3d8b89ec43ad0b841c211bec  ChangeLog
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
--- 17,23 ----
  fe60d87048567d4fe8c8a0ed2448bcc8  COPYING.RUNTIME
  d32239bcb673463ab874e80d47fae504  COPYING3
  6a6a8e020838b23406c81b19c1d46df6  COPYING3.LIB
! 71081cbfdc16cbc8055ad7f1018a4fe4  ChangeLog
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
*************** b54df9bfc2e7837cfdec727a84be4835  INSTAL
*** 32,43 ****
  cb11a407f704c0bfbef64d17128cadd0  INSTALL/prerequisites.html
  1c03c2c7732f60e49c9f4fc500ad3089  INSTALL/specific.html
  4f086007f929585b190278c5c2f7b43c  INSTALL/test.html
! ed7623935408c3a6b0b5400e16bff49e  LAST_UPDATED
  cd94bf363014d5234ce951236b2eff7e  MAINTAINERS
  babbf63ed4e6324c3ce3ec6ae4852ee2  Makefile.def
  1317b9514961375f717373570309ad98  Makefile.in
  1476c59b7fd3be8c21d1af1eb4ac036c  Makefile.tpl
! d5f910cfbfbc1e60530369385ead6d26  NEWS
  80d26bc3b1ad4f6969a96a24c9181bf5  README
  a657821f65bab77f4fbf3a75cdee6da9  ar-lib
  500b9244caa7a7ab23ece1db37efa76d  compile
--- 32,43 ----
  cb11a407f704c0bfbef64d17128cadd0  INSTALL/prerequisites.html
  1c03c2c7732f60e49c9f4fc500ad3089  INSTALL/specific.html
  4f086007f929585b190278c5c2f7b43c  INSTALL/test.html
! 6ec93d981cffc5706bbdb71fec1452b9  LAST_UPDATED
  cd94bf363014d5234ce951236b2eff7e  MAINTAINERS
  babbf63ed4e6324c3ce3ec6ae4852ee2  Makefile.def
  1317b9514961375f717373570309ad98  Makefile.in
  1476c59b7fd3be8c21d1af1eb4ac036c  Makefile.tpl
! 7e471e528fa8712fa8073df4fd0ec338  NEWS
  80d26bc3b1ad4f6969a96a24c9181bf5  README
  a657821f65bab77f4fbf3a75cdee6da9  ar-lib
  500b9244caa7a7ab23ece1db37efa76d  compile
*************** a657821f65bab77f4fbf3a75cdee6da9  ar-lib
*** 45,51 ****
  40b5681beb170241cdc60d00932a204f  config.guess
  040359150cf11493f973a46d8a25b06b  config.rpath
  028bb6041dfd0ac0e34915870eea93ec  config.sub
! a2eb5a8490660a04e34e7cb97838e66a  config/ChangeLog
  0fcd4badfe2a2191778bdf5ab94aa40c  config/acinclude.m4
  2ea0edfde0ce5ce69b49317a5650f048  config/acx.m4
  6b030f5cf640bdd401ea739f54a667f8  config/asmcfi.m4
--- 45,51 ----
  40b5681beb170241cdc60d00932a204f  config.guess
  040359150cf11493f973a46d8a25b06b  config.rpath
  028bb6041dfd0ac0e34915870eea93ec  config.sub
! f42791704e0ff1a77a6cd6d7abace45a  config/ChangeLog
  0fcd4badfe2a2191778bdf5ab94aa40c  config/acinclude.m4
  2ea0edfde0ce5ce69b49317a5650f048  config/acx.m4
  6b030f5cf640bdd401ea739f54a667f8  config/asmcfi.m4
*************** e10d31316e03a59577fb4ed90a670914  config
*** 102,108 ****
  3fe4a576c2a75736c8da3af1d0824217  config/mh-cygwin
  507b102116e2550175bb7f42ee3c2958  config/mh-darwin
  625bacc09b9992290d94831bd7506bd0  config/mh-djgpp
! a8801f3e491168787fe2624d07ad1b08  config/mh-mingw
  cd7034dccd04e50150b14c597dd545a5  config/mh-pa
  48d5107b991a0cdbe7eb7022b0dfecb2  config/mh-pa-hpux10
  76d638a67d840715b2de89afee8ef49a  config/mh-ppc-aix
--- 102,108 ----
  3fe4a576c2a75736c8da3af1d0824217  config/mh-cygwin
  507b102116e2550175bb7f42ee3c2958  config/mh-darwin
  625bacc09b9992290d94831bd7506bd0  config/mh-djgpp
! 8fe20cd58711408e779e723c7e4981ad  config/mh-mingw
  cd7034dccd04e50150b14c597dd545a5  config/mh-pa
  48d5107b991a0cdbe7eb7022b0dfecb2  config/mh-pa-hpux10
  76d638a67d840715b2de89afee8ef49a  config/mh-ppc-aix
*************** e2dc6b4fd62b77bff96b7951ef74f78f  config
*** 141,147 ****
  0163b672c888aaf1c8ad3e867a0ec9f1  config/zlib.m4
  ae823ffe6ae03fb261857d3d5e3cd207  configure
  bfad78585a389a3b6a09775361a5b869  configure.ac
! 5e786b078d6abe39b946c2446ccb0350  contrib/ChangeLog
  5fc435c7928f858246df931ea3f3ece7  contrib/ChangeLog.jit
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
  8498c0cdfe3f444ad6f540ec9e11cbec  contrib/analyze_brprob.py
--- 141,147 ----
  0163b672c888aaf1c8ad3e867a0ec9f1  config/zlib.m4
  ae823ffe6ae03fb261857d3d5e3cd207  configure
  bfad78585a389a3b6a09775361a5b869  configure.ac
! 8d10cf1f407810f3a4dc42c42bd2a54a  contrib/ChangeLog
  5fc435c7928f858246df931ea3f3ece7  contrib/ChangeLog.jit
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
  8498c0cdfe3f444ad6f540ec9e11cbec  contrib/analyze_brprob.py
*************** e371342ba74d3ab9de81814bd1c350ec  contri
*** 170,191 ****
  080dea8d6b4a4c8c6bf8ae7b8ecf15a6  contrib/filter_gcc_for_doxygen
  db03e57377f9eb202b7b783eb81fe40d  contrib/filter_knr2ansi.pl
  b038940be99369232106ef9e9b15bee3  contrib/filter_params.py
! fab64567a15634c339364ed40c013661  contrib/gcc-changelog/git_check_commit.py
! 808a559d842961c8b2d55e25b8b0b3fa  contrib/gcc-changelog/git_commit.py
! af86b9eda273862a124d39ead0789324  contrib/gcc-changelog/git_email.py
  a9d06dee58845e59874c5f7fc58e2824  contrib/gcc-changelog/git_repository.py
! 7c56712681d1b4044c357df49c22ef75  contrib/gcc-changelog/git_update_version.py
  1fcc4f18e9f9043eaea6c3c990d96d9b  contrib/gcc-changelog/setup.cfg
! 4a1757a0f2085f07139e5bf4eb75fe5d  contrib/gcc-changelog/test_email.py
! d7b72a8587b179340ffe7c91df42ca01  contrib/gcc-changelog/test_patches.txt
  dfceb883caf21f3071f7309ee0ac8a6b  contrib/gcc.doxy
  55236e85d8087042189b701cd05d84be  contrib/gcc_build
  6acca31bd8a0112676a3a260baa4bc29  contrib/gcc_update
  61ad7a180a7895f83d32ef7b15cb8386  contrib/gen_autofdo_event.py
  7c9fd4d662ccbf417ccfbe1999d8ad71  contrib/gennews
! a05c06173f9b6217a753767a1e28481c  contrib/git-backport.py
  59304fc08afa489baa6b920cc76dc625  contrib/gthr_supp_vxw_5x.c
! 4611663820f2e9b42278e9e64ecf31f4  contrib/header-tools/ChangeLog
  1ba821a1e480c2f8ac33b68ca1097770  contrib/header-tools/README
  05ef7fb87e90ba93ee04659be072a357  contrib/header-tools/count-headers
  ba0485a3c721bce9e32407ef996d2a9d  contrib/header-tools/gcc-order-headers
--- 170,193 ----
  080dea8d6b4a4c8c6bf8ae7b8ecf15a6  contrib/filter_gcc_for_doxygen
  db03e57377f9eb202b7b783eb81fe40d  contrib/filter_knr2ansi.pl
  b038940be99369232106ef9e9b15bee3  contrib/filter_params.py
! 65b703f51d9d7a7a56a649493e3c01b9  contrib/gcc-changelog/git_check_commit.py
! 2d072240bf6de5330608921ceb48bf43  contrib/gcc-changelog/git_commit.py
! 722c96f24ea159413d6e28c6b91a7a23  contrib/gcc-changelog/git_email.py
  a9d06dee58845e59874c5f7fc58e2824  contrib/gcc-changelog/git_repository.py
! b83d69417c5c5d4f873dd999bef094e1  contrib/gcc-changelog/git_update_version.py
  1fcc4f18e9f9043eaea6c3c990d96d9b  contrib/gcc-changelog/setup.cfg
! 7226a8eee0694eb4b73201404f06a8c2  contrib/gcc-changelog/test_email.py
! 0dce8095b39e54d03c1207f021756933  contrib/gcc-changelog/test_patches.txt
  dfceb883caf21f3071f7309ee0ac8a6b  contrib/gcc.doxy
  55236e85d8087042189b701cd05d84be  contrib/gcc_build
  6acca31bd8a0112676a3a260baa4bc29  contrib/gcc_update
  61ad7a180a7895f83d32ef7b15cb8386  contrib/gen_autofdo_event.py
  7c9fd4d662ccbf417ccfbe1999d8ad71  contrib/gennews
! db81d221a5a18e48788ee8984d453248  contrib/git-backport.py
! e9bac7c82bdb5f92b354d9da854d463b  contrib/git-commit-mklog.py
! e462c83bdf45bf6e9b434d18fa9f66e4  contrib/git-fix-changelog.py
  59304fc08afa489baa6b920cc76dc625  contrib/gthr_supp_vxw_5x.c
! fc59c145655b4da9c91c6499d8c8574d  contrib/header-tools/ChangeLog
  1ba821a1e480c2f8ac33b68ca1097770  contrib/header-tools/README
  05ef7fb87e90ba93ee04659be072a357  contrib/header-tools/count-headers
  ba0485a3c721bce9e32407ef996d2a9d  contrib/header-tools/gcc-order-headers
*************** a7318fa2f0580c3a0d5dd4b14e4d0e0d  contri
*** 204,215 ****
  bd49fb9eed9f0a5344158e834dd6f468  contrib/mark_spam.py
  56cec5d3703e9cfe5da318df3e5cd23b  contrib/mklog
  fc4965b52fd7de27941bf5183aa1ece9  contrib/mklog.pl
  0fb5c8c3cd465d8bd57b55b2548c683a  contrib/paranoia.cc
  a34668cfad9dec733354503fbc67fb24  contrib/patch_tester.sh
  87a19b40fbd220938cf6c23c42c255e2  contrib/prepare_patch.sh
  a6f2829359f65be5c182fd414e30fe8a  contrib/prerequisites.md5
  663d159a25cdcd62d1182f124f0dae82  contrib/prerequisites.sha512
! 9bd8a9003924bf150eba579f70eacdff  contrib/reghunt/ChangeLog
  cf247a580e49d212518de409793db0a8  contrib/reghunt/bin/gcc-build-full
  724e70ea3e80f87f2a201bbe2f1eef37  contrib/reghunt/bin/gcc-build-simple
  3f2318bae7562a4ad1639e686916a545  contrib/reghunt/bin/gcc-cleanup
--- 206,218 ----
  bd49fb9eed9f0a5344158e834dd6f468  contrib/mark_spam.py
  56cec5d3703e9cfe5da318df3e5cd23b  contrib/mklog
  fc4965b52fd7de27941bf5183aa1ece9  contrib/mklog.pl
+ 81f9fb8a95f10dbb07425dfd3fd50782  contrib/mklog.py
  0fb5c8c3cd465d8bd57b55b2548c683a  contrib/paranoia.cc
  a34668cfad9dec733354503fbc67fb24  contrib/patch_tester.sh
  87a19b40fbd220938cf6c23c42c255e2  contrib/prepare_patch.sh
  a6f2829359f65be5c182fd414e30fe8a  contrib/prerequisites.md5
  663d159a25cdcd62d1182f124f0dae82  contrib/prerequisites.sha512
! 037ef44037b3e43e71dff44d91fcf7c2  contrib/reghunt/ChangeLog
  cf247a580e49d212518de409793db0a8  contrib/reghunt/bin/gcc-build-full
  724e70ea3e80f87f2a201bbe2f1eef37  contrib/reghunt/bin/gcc-build-simple
  3f2318bae7562a4ad1639e686916a545  contrib/reghunt/bin/gcc-cleanup
*************** f251d49dd87647250fcd74dd50b7835f  contri
*** 268,274 ****
  e2829fc4af4f433a6a328a62d5ce8066  contrib/reghunt/examples/reg-watch
  afd863c2ec84c906e20f9b9787b1f0fe  contrib/reghunt/examples/reg-watch.awk
  8955535523d4b5f48006bcb851ba9b4b  contrib/reghunt/examples/testall
! 8a6a68146d998cbc2685664ee9244df7  contrib/regression/ChangeLog
  30553bfced1b2b46bf7ca01ef6ba69d1  contrib/regression/GCC_Regression_Tester.wdgt/Default.png
  ad38ddd771df222eb9d413e3c7f6a751  contrib/regression/GCC_Regression_Tester.wdgt/Icon.png
  777bd286c147cc02861811f66b9a4440  contrib/regression/GCC_Regression_Tester.wdgt/Info.plist
--- 271,277 ----
  e2829fc4af4f433a6a328a62d5ce8066  contrib/reghunt/examples/reg-watch
  afd863c2ec84c906e20f9b9787b1f0fe  contrib/reghunt/examples/reg-watch.awk
  8955535523d4b5f48006bcb851ba9b4b  contrib/reghunt/examples/testall
! ee6bb359eda4d51746bf9c3ee878b97b  contrib/regression/ChangeLog
  30553bfced1b2b46bf7ca01ef6ba69d1  contrib/regression/GCC_Regression_Tester.wdgt/Default.png
  ad38ddd771df222eb9d413e3c7f6a751  contrib/regression/GCC_Regression_Tester.wdgt/Icon.png
  777bd286c147cc02861811f66b9a4440  contrib/regression/GCC_Regression_Tester.wdgt/Info.plist
*************** fb1ff65a78c592489a09d18e42238a68  contri
*** 283,288 ****
--- 286,292 ----
  dc562ddb86567c65e82953825713dc4b  contrib/regression/site.exp
  7f6418948396f8250447e3e6182322d8  contrib/repro_fail
  39442479834f1c02d6ce11eab6889b6e  contrib/test_installed
+ 9cc97e47ccced46f47870847040e0d41  contrib/test_mklog.py
  2c2a06a23394c548bb4afba3c25aacce  contrib/test_recheck
  c650e776de65a2de80bbfb0033641805  contrib/test_summary
  45bd745cf293127fa6b729c7b58cf11f  contrib/testsuite-management/validate_failures.py
*************** a0d12be401961a2557883b7c09dc71eb  contri
*** 299,305 ****
  45d4839f2ac702761b88d502311d47ef  contrib/vimrc
  da7aeedeb5a86ee6f5982e559a2d6dcc  contrib/warn_summary
  8b59f0d0a2dcdced14765c514fbad719  depcomp
! 560cd748a193d59c0c3cd4041b4590ff  fixincludes/ChangeLog
  6de190723745dc3f75080144dfa2215e  fixincludes/Makefile.in
  b6e3f4950abc6e254b467063381f6473  fixincludes/README
  455903ad4ff71fa5c5340ef7ae41a0e6  fixincludes/README-fixinc
--- 303,309 ----
  45d4839f2ac702761b88d502311d47ef  contrib/vimrc
  da7aeedeb5a86ee6f5982e559a2d6dcc  contrib/warn_summary
  8b59f0d0a2dcdced14765c514fbad719  depcomp
! 1d6b0e62325dc7215a02885bd3c509a6  fixincludes/ChangeLog
  6de190723745dc3f75080144dfa2215e  fixincludes/Makefile.in
  b6e3f4950abc6e254b467063381f6473  fixincludes/README
  455903ad4ff71fa5c5340ef7ae41a0e6  fixincludes/README-fixinc
*************** a5e817d35ded04a0fb03999b50c0e89e  fixinc
*** 439,450 ****
  955462b555900ecd3934223c64e21fa7  fixincludes/tests/base/types/vxTypesBase.h
  8baab8698bb83c6b90ef4091c00ddc1e  fixincludes/tests/base/unistd.h
  3be7c8842fbf2eb29a7d358eff03f38e  gcc/ABOUT-GCC-NLS
! 944c468e90b607add7f1ea74849fe3df  gcc/BASE-VER
  59530bdf33659b29e73d4adb9f9f6552  gcc/COPYING
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 410224bf9e03dcbc9fb21955f48f44e3  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 443,454 ----
  955462b555900ecd3934223c64e21fa7  fixincludes/tests/base/types/vxTypesBase.h
  8baab8698bb83c6b90ef4091c00ddc1e  fixincludes/tests/base/unistd.h
  3be7c8842fbf2eb29a7d358eff03f38e  gcc/ABOUT-GCC-NLS
! c9bf85a34c00d2b4799dba2b531ebdd7  gcc/BASE-VER
  59530bdf33659b29e73d4adb9f9f6552  gcc/COPYING
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 4c66ca3f1301409502f752c4da79c42f  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 475,481 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! f310c5f93ca7df145c5f1ca7c5d23a6b  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 479,485 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! b79670775c2f244f3ff722e892655e8c  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 486,492 ****
  cdb4caed52ded231a4df6087fa0976bd  gcc/README.Portability
  69898786da1fa78de919ea62c6931b36  gcc/acinclude.m4
  6879fc308101ea4a52d17fb89e463ec2  gcc/aclocal.m4
! c29d82be6dc3c3e188257941a8f89461  gcc/ada/ChangeLog
  683be0b07dc4f64f118fd5e8ae9cb30d  gcc/ada/ChangeLog-2001
  7aff25efb203be4136b8776cdc812956  gcc/ada/ChangeLog-2002
  cd2379152000f40157d349018fb9364d  gcc/ada/ChangeLog-2003
--- 490,496 ----
  cdb4caed52ded231a4df6087fa0976bd  gcc/README.Portability
  69898786da1fa78de919ea62c6931b36  gcc/acinclude.m4
  6879fc308101ea4a52d17fb89e463ec2  gcc/aclocal.m4
! 1f56793fbfe45cfa36c248cfc83f4620  gcc/ada/ChangeLog
  683be0b07dc4f64f118fd5e8ae9cb30d  gcc/ada/ChangeLog-2001
  7aff25efb203be4136b8776cdc812956  gcc/ada/ChangeLog-2002
  cd2379152000f40157d349018fb9364d  gcc/ada/ChangeLog-2003
*************** ddfb37d91a2c83b4ddf4397a881f164c  gcc/ad
*** 713,719 ****
  51c95420b5900990141d2e5705582197  gcc/ada/gcc-interface/ada.h
  2962facaf5b9ac376e7335599112a520  gcc/ada/gcc-interface/config-lang.in
  786d39e3fbc38a2dc96917857f9a69ef  gcc/ada/gcc-interface/cuintp.c
! d960d86c1317eb71f6a8aef49cd94123  gcc/ada/gcc-interface/decl.c
  c413d4d50e9563859f4d751a4404b705  gcc/ada/gcc-interface/gadaint.h
  a97632613b5695725b0e3e72e2447f2e  gcc/ada/gcc-interface/gigi.h
  145be77c79143445142d7570f0853077  gcc/ada/gcc-interface/lang-specs.h
--- 717,723 ----
  51c95420b5900990141d2e5705582197  gcc/ada/gcc-interface/ada.h
  2962facaf5b9ac376e7335599112a520  gcc/ada/gcc-interface/config-lang.in
  786d39e3fbc38a2dc96917857f9a69ef  gcc/ada/gcc-interface/cuintp.c
! 6efbcd81d2d8fed2cfa512234758af92  gcc/ada/gcc-interface/decl.c
  c413d4d50e9563859f4d751a4404b705  gcc/ada/gcc-interface/gadaint.h
  a97632613b5695725b0e3e72e2447f2e  gcc/ada/gcc-interface/gigi.h
  145be77c79143445142d7570f0853077  gcc/ada/gcc-interface/lang-specs.h
*************** a97632613b5695725b0e3e72e2447f2e  gcc/ad
*** 721,727 ****
  6244b7a08ec0d28d060b8ad241b9ac8a  gcc/ada/gcc-interface/misc.c
  56f626f9ee32eba8c2d478af39425ad5  gcc/ada/gcc-interface/targtyps.c
  56c50baeda048510d3ae4b8aac161a9f  gcc/ada/gcc-interface/trans.c
! b7b4b80fe7b1753c8aa7ab3bdb930bb7  gcc/ada/gcc-interface/utils.c
  0e98c3f541bd20833a44c42d83ab1cc7  gcc/ada/gcc-interface/utils2.c
  fee4442db76b93565815e3b01fe99313  gcc/ada/get_scos.adb
  a4ff0a5a6a4e8da7ac489be6d5b23b00  gcc/ada/get_scos.ads
--- 725,731 ----
  6244b7a08ec0d28d060b8ad241b9ac8a  gcc/ada/gcc-interface/misc.c
  56f626f9ee32eba8c2d478af39425ad5  gcc/ada/gcc-interface/targtyps.c
  56c50baeda048510d3ae4b8aac161a9f  gcc/ada/gcc-interface/trans.c
! 661f04bea3c7bb4ae04afb6f354bb8a2  gcc/ada/gcc-interface/utils.c
  0e98c3f541bd20833a44c42d83ab1cc7  gcc/ada/gcc-interface/utils2.c
  fee4442db76b93565815e3b01fe99313  gcc/ada/get_scos.adb
  a4ff0a5a6a4e8da7ac489be6d5b23b00  gcc/ada/get_scos.ads
*************** af06312a4680a8f5516a66c65553d484  gcc/al
*** 2631,2637 ****
  97e1d797af1c39d9c32c92a073df5a18  gcc/align.h
  9c97bcef669ff02c38ee00291aa421ee  gcc/alloc-pool.c
  44afcda6f1081bcc7067febfe1d2fc68  gcc/alloc-pool.h
! 01284cf5930d07db1b6d176d0a5685c0  gcc/asan.c
  a1ee54d37fe1e32b95a116f33ad5f5b9  gcc/asan.h
  f65407113018573c1df9519857aa6539  gcc/attribs.c
  5382754ff2e57abbf37cfc42a8c1b9d2  gcc/attribs.h
--- 2635,2641 ----
  97e1d797af1c39d9c32c92a073df5a18  gcc/align.h
  9c97bcef669ff02c38ee00291aa421ee  gcc/alloc-pool.c
  44afcda6f1081bcc7067febfe1d2fc68  gcc/alloc-pool.h
! a2d30bab03b0e3fd87a9d88cc99c7995  gcc/asan.c
  a1ee54d37fe1e32b95a116f33ad5f5b9  gcc/asan.h
  f65407113018573c1df9519857aa6539  gcc/attribs.c
  5382754ff2e57abbf37cfc42a8c1b9d2  gcc/attribs.h
*************** b6512b8f9058087096a75a01c9231b24  gcc/ba
*** 2645,2651 ****
  431ffeecfc23fc1fd9d4b77938aaa312  gcc/bitmap.c
  8a72f59525595f4c2d176dcedacfc0fe  gcc/bitmap.h
  ac2bb9f75aabb5a7d1baacccdc6802f5  gcc/brig-builtins.def
! ee022b19e9156b52850269c937a3e4b2  gcc/brig/ChangeLog
  2799840acb52803753cc46e8eb539f02  gcc/brig/Make-lang.in
  df5d7cac8308be6fbc924b83e784c28d  gcc/brig/brig-builtins.h
  648c2cdf588c01a32dc637b2e1470b51  gcc/brig/brig-c.h
--- 2649,2655 ----
  431ffeecfc23fc1fd9d4b77938aaa312  gcc/bitmap.c
  8a72f59525595f4c2d176dcedacfc0fe  gcc/bitmap.h
  ac2bb9f75aabb5a7d1baacccdc6802f5  gcc/brig-builtins.def
! 13238cc3ede673aeaab380be9ff5b938  gcc/brig/ChangeLog
  2799840acb52803753cc46e8eb539f02  gcc/brig/Make-lang.in
  df5d7cac8308be6fbc924b83e784c28d  gcc/brig/brig-builtins.h
  648c2cdf588c01a32dc637b2e1470b51  gcc/brig/brig-c.h
*************** f156fc460a35ae6ee619d5361c188ad5  gcc/br
*** 2689,2703 ****
  885cb22e704808bec1c6f34bbb733ac3  gcc/bt-load.c
  ccb5e83fa9be6f84b76daed24fb54d20  gcc/builtin-attrs.def
  dab194419671867a024b4ce5bc4f218d  gcc/builtin-types.def
! 979757db5525550ffadbd1314d8fd54f  gcc/builtins.c
  9fbe28b28c50967744c1634709a3875f  gcc/builtins.def
  1f87ccbf352aa59dd341d464a2d1048d  gcc/builtins.h
! 62f973f5c20a403427a3c8c3cab32493  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  d03318328afefb1e63fa52b33e77fe41  gcc/c-family/c-ada-spec.c
  6e16aaf2dba3ab401dacab78a702fb68  gcc/c-family/c-ada-spec.h
  5f372cd48d63ea7876de0487f30cf552  gcc/c-family/c-attribs.c
! 8ba8092bf736bfcc760b60f28de5434f  gcc/c-family/c-common.c
  799db5073f5196fe7a62aaccceca374f  gcc/c-family/c-common.def
  e0faa972cc17549acc84c46d1e1f6c64  gcc/c-family/c-common.h
  536364844b73784722b7930e788d22f3  gcc/c-family/c-cppbuiltin.c
--- 2693,2707 ----
  885cb22e704808bec1c6f34bbb733ac3  gcc/bt-load.c
  ccb5e83fa9be6f84b76daed24fb54d20  gcc/builtin-attrs.def
  dab194419671867a024b4ce5bc4f218d  gcc/builtin-types.def
! 62ab5f6a5069a1f6ff09b4a86eea585d  gcc/builtins.c
  9fbe28b28c50967744c1634709a3875f  gcc/builtins.def
  1f87ccbf352aa59dd341d464a2d1048d  gcc/builtins.h
! 17a11ee88fcee19f686d932981442d85  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  d03318328afefb1e63fa52b33e77fe41  gcc/c-family/c-ada-spec.c
  6e16aaf2dba3ab401dacab78a702fb68  gcc/c-family/c-ada-spec.h
  5f372cd48d63ea7876de0487f30cf552  gcc/c-family/c-attribs.c
! 36a6a843c0da2d1a26b048d704888ca8  gcc/c-family/c-common.c
  799db5073f5196fe7a62aaccceca374f  gcc/c-family/c-common.def
  e0faa972cc17549acc84c46d1e1f6c64  gcc/c-family/c-common.h
  536364844b73784722b7930e788d22f3  gcc/c-family/c-cppbuiltin.c
*************** e0faa972cc17549acc84c46d1e1f6c64  gcc/c-
*** 2709,2716 ****
  9faa45d960f8aa84b4aeb5e45185f2bd  gcc/c-family/c-indentation.h
  b1c435278fe8846e626cdbea827004cc  gcc/c-family/c-lex.c
  7f146cedb1c97307754dd4bfcfe9478a  gcc/c-family/c-objc.h
! 230fa0b76cdfac85c6a4d7e112703dd6  gcc/c-family/c-omp.c
! d295e50a31823c9af918cdd3414489de  gcc/c-family/c-opts.c
  8a8c085479dcc5c4a071bac6363b632c  gcc/c-family/c-pch.c
  e9957bbe8ab82a16462be3363e6ea8d7  gcc/c-family/c-ppoutput.c
  6b5e5fb041e5f299b11cfad2dedff868  gcc/c-family/c-pragma.c
--- 2713,2720 ----
  9faa45d960f8aa84b4aeb5e45185f2bd  gcc/c-family/c-indentation.h
  b1c435278fe8846e626cdbea827004cc  gcc/c-family/c-lex.c
  7f146cedb1c97307754dd4bfcfe9478a  gcc/c-family/c-objc.h
! ac4b85c3ce784b7a3cf6732a06291b87  gcc/c-family/c-omp.c
! 94ae91a9972c52bcfb60b1748893b337  gcc/c-family/c-opts.c
  8a8c085479dcc5c4a071bac6363b632c  gcc/c-family/c-pch.c
  e9957bbe8ab82a16462be3363e6ea8d7  gcc/c-family/c-ppoutput.c
  6b5e5fb041e5f299b11cfad2dedff868  gcc/c-family/c-pragma.c
*************** f170232dc97ba3c67fb26a93d09e16de  gcc/c-
*** 2723,2752 ****
  b7b21859ce3d8cc930d96c02039426ef  gcc/c-family/c-target-def.h
  2837a195ea0a94f32477ed8e0dd1024d  gcc/c-family/c-target.def
  7bd5beb814c1acbd24a164bfd7b19e9b  gcc/c-family/c-target.h
! ad9da752fb4ea30cdf67bf066aff69d5  gcc/c-family/c-ubsan.c
  711d982d10f080c7045ecb3c2467adeb  gcc/c-family/c-ubsan.h
! 814c7390423e70cb866bacf8fe041dbe  gcc/c-family/c-warn.c
  3703fbdadc41ffb57a4ebab41b986168  gcc/c-family/c.opt
  17541db9119abf6fdbc75356872eb74d  gcc/c-family/cppspec.c
  aa8b8c0c92776ef568d28cc0be2c118b  gcc/c-family/known-headers.cc
  1d8729bfb5168940f094c5467d23d18a  gcc/c-family/known-headers.h
  95d7888b5c91642be153950ead0fe53f  gcc/c-family/name-hint.h
  486e4e0fe16c4735aa71549fe44e45a4  gcc/c-family/stub-objc.c
! 8ff5e292b57c179c723d8c5f6f9c80fe  gcc/c/ChangeLog
  e2986e827d75732d76f60a2f440aea90  gcc/c/Make-lang.in
  1052580fc1a5dcf61f5187778cce9e9e  gcc/c/c-aux-info.c
  a6e915d6595e5ce0c6e06196129c5675  gcc/c/c-convert.c
  0d782f5b9be087d24ccca38a5a49fc25  gcc/c/c-decl.c
  b95cf4e938fc7503cfcd938fde042586  gcc/c/c-errors.c
! 573795d93ab1c97cf49af46e3c6aa098  gcc/c/c-fold.c
  84e874f6c1c4c67f302338fd3e542121  gcc/c/c-lang.c
  a50b72cffed5275f6c6a1914bc7b7720  gcc/c/c-lang.h
  cbbffcf99ee522116b4b2fc498a9956d  gcc/c/c-objc-common.c
  60515079d4f1f61748b3bd5c040abcc8  gcc/c/c-objc-common.h
! e32d5985343aa8989eaf2d498c3f0e7f  gcc/c/c-parser.c
  de7fdf850c2558fedc7d6b64ecc3882c  gcc/c/c-parser.h
  fe31c74323a14c2211801c365a540226  gcc/c/c-tree.h
! 8c8cf6ac9f99593de22801241a74f365  gcc/c/c-typeck.c
  e0482ef46be955f4e64ba697cc2b8342  gcc/c/config-lang.in
  e43f502e14e5a147faaa60e6f382c67e  gcc/c/gccspec.c
  865df96f45f670f8daa2ed245fc8f64d  gcc/c/gimple-parser.c
--- 2727,2756 ----
  b7b21859ce3d8cc930d96c02039426ef  gcc/c-family/c-target-def.h
  2837a195ea0a94f32477ed8e0dd1024d  gcc/c-family/c-target.def
  7bd5beb814c1acbd24a164bfd7b19e9b  gcc/c-family/c-target.h
! 90198c7e840ef92ab05e7fc86e4d636d  gcc/c-family/c-ubsan.c
  711d982d10f080c7045ecb3c2467adeb  gcc/c-family/c-ubsan.h
! 3afb6902f7ee43acdf0a582ac128574d  gcc/c-family/c-warn.c
  3703fbdadc41ffb57a4ebab41b986168  gcc/c-family/c.opt
  17541db9119abf6fdbc75356872eb74d  gcc/c-family/cppspec.c
  aa8b8c0c92776ef568d28cc0be2c118b  gcc/c-family/known-headers.cc
  1d8729bfb5168940f094c5467d23d18a  gcc/c-family/known-headers.h
  95d7888b5c91642be153950ead0fe53f  gcc/c-family/name-hint.h
  486e4e0fe16c4735aa71549fe44e45a4  gcc/c-family/stub-objc.c
! 8d226cc8672cb6eeeb2399c672b8ff19  gcc/c/ChangeLog
  e2986e827d75732d76f60a2f440aea90  gcc/c/Make-lang.in
  1052580fc1a5dcf61f5187778cce9e9e  gcc/c/c-aux-info.c
  a6e915d6595e5ce0c6e06196129c5675  gcc/c/c-convert.c
  0d782f5b9be087d24ccca38a5a49fc25  gcc/c/c-decl.c
  b95cf4e938fc7503cfcd938fde042586  gcc/c/c-errors.c
! 7cadfd4785b8f3beedc95c27dc6bd40f  gcc/c/c-fold.c
  84e874f6c1c4c67f302338fd3e542121  gcc/c/c-lang.c
  a50b72cffed5275f6c6a1914bc7b7720  gcc/c/c-lang.h
  cbbffcf99ee522116b4b2fc498a9956d  gcc/c/c-objc-common.c
  60515079d4f1f61748b3bd5c040abcc8  gcc/c/c-objc-common.h
! b3afca6bb9e155fecae6546e2065bd06  gcc/c/c-parser.c
  de7fdf850c2558fedc7d6b64ecc3882c  gcc/c/c-parser.h
  fe31c74323a14c2211801c365a540226  gcc/c/c-tree.h
! 8d1ca685d3a286b97ede84ccb608d4a3  gcc/c/c-typeck.c
  e0482ef46be955f4e64ba697cc2b8342  gcc/c/config-lang.in
  e43f502e14e5a147faaa60e6f382c67e  gcc/c/gccspec.c
  865df96f45f670f8daa2ed245fc8f64d  gcc/c/gimple-parser.c
*************** aa10e07d52abf7bb54b9697cac124b24  gcc/cf
*** 2765,2771 ****
  e6f59cc79aa2c1bdb16a88e352b6886f  gcc/cfgbuild.h
  3290a4c8f95f2e80d355abba6e99c69c  gcc/cfgcleanup.c
  f4692b770621730591573a07c4d95fb3  gcc/cfgcleanup.h
! 3593301bde1fe909f60261ed1c62eaee  gcc/cfgexpand.c
  fe629b59c6e094d5d8a88ee7ba383257  gcc/cfgexpand.h
  36a955b935b85049e7cb1ebf5ac00ff5  gcc/cfghooks.c
  7141e4c662f2f15a842e2c7da123ed2c  gcc/cfghooks.h
--- 2769,2775 ----
  e6f59cc79aa2c1bdb16a88e352b6886f  gcc/cfgbuild.h
  3290a4c8f95f2e80d355abba6e99c69c  gcc/cfgcleanup.c
  f4692b770621730591573a07c4d95fb3  gcc/cfgcleanup.h
! ac3e92a2bc3f6b5170058f174116896e  gcc/cfgexpand.c
  fe629b59c6e094d5d8a88ee7ba383257  gcc/cfgexpand.h
  36a955b935b85049e7cb1ebf5ac00ff5  gcc/cfghooks.c
  7141e4c662f2f15a842e2c7da123ed2c  gcc/cfghooks.h
*************** d4e8edbe029cb4d56501e7b8ab5eafe2  gcc/co
*** 2790,2796 ****
  8a9ef178a4b6b91baf4fd905dd9e6fac  gcc/collect2.h
  a490aaf423f221389948b97149327357  gcc/color-macros.h
  01d6047755a03366f991859a1f29ef14  gcc/combine-stack-adj.c
! 1d79416606baadd07d3d3d0dc2a39ed2  gcc/combine.c
  0c8753864413a0970cf0c9bedb15e1eb  gcc/common.md
  5d06f57a508758d3aa5dcede294fca38  gcc/common.opt
  a8117752467eeae4763990eebb20a666  gcc/common/common-target-def.h
--- 2794,2800 ----
  8a9ef178a4b6b91baf4fd905dd9e6fac  gcc/collect2.h
  a490aaf423f221389948b97149327357  gcc/color-macros.h
  01d6047755a03366f991859a1f29ef14  gcc/combine-stack-adj.c
! 18f695d548aefae32918ad8f5f771902  gcc/combine.c
  0c8753864413a0970cf0c9bedb15e1eb  gcc/common.md
  5d06f57a508758d3aa5dcede294fca38  gcc/common.opt
  a8117752467eeae4763990eebb20a666  gcc/common/common-target-def.h
*************** c4271efdeb41a6270bd654eb23d2e339  gcc/co
*** 2858,2864 ****
  145ef43a41fbcfcb4d36198ad4875f5b  gcc/config/aarch64/aarch64-bti-insert.c
  96184c1c9d29a45d21c380c806dac284  gcc/config/aarch64/aarch64-builtins.c
  1f0fbd206c8e2ad763488cb6ffe10855  gcc/config/aarch64/aarch64-c.c
! f9eee6b5dce05702e53755c5fc19796a  gcc/config/aarch64/aarch64-cores.def
  6ef5c432d52d0360208a33c4c37f3e57  gcc/config/aarch64/aarch64-cost-tables.h
  504b0f046169e4e164c6fb536b9f6db4  gcc/config/aarch64/aarch64-d.c
  2316927cac32a0a0a7ba33d38d195075  gcc/config/aarch64/aarch64-elf-raw.h
--- 2862,2868 ----
  145ef43a41fbcfcb4d36198ad4875f5b  gcc/config/aarch64/aarch64-bti-insert.c
  96184c1c9d29a45d21c380c806dac284  gcc/config/aarch64/aarch64-builtins.c
  1f0fbd206c8e2ad763488cb6ffe10855  gcc/config/aarch64/aarch64-c.c
! 2a1910194724a82f97a2562865df70ab  gcc/config/aarch64/aarch64-cores.def
  6ef5c432d52d0360208a33c4c37f3e57  gcc/config/aarch64/aarch64-cost-tables.h
  504b0f046169e4e164c6fb536b9f6db4  gcc/config/aarch64/aarch64-d.c
  2316927cac32a0a0a7ba33d38d195075  gcc/config/aarch64/aarch64-elf-raw.h
*************** c4084b7bbc66f67ef62d37961e022fff  gcc/co
*** 2871,2889 ****
  8514c091ad15ab63df11916c856f9778  gcc/config/aarch64/aarch64-option-extensions.def
  838f1517af2ca6f144fbeb195607045f  gcc/config/aarch64/aarch64-opts.h
  23b2873f94be769558c521835e53008d  gcc/config/aarch64/aarch64-passes.def
! 8dac8c50d868798e3a4ff9a4009bd7f9  gcc/config/aarch64/aarch64-protos.h
  a26908792e566ebf4f2479f2ff030739  gcc/config/aarch64/aarch64-simd-builtin-types.def
  90dabda2325e3b6bed53685154b7c2c8  gcc/config/aarch64/aarch64-simd-builtins.def
  0331ee26469342302ea6a89a398796b7  gcc/config/aarch64/aarch64-simd.md
  911f9e398e7439e5fb96856826cd6a2d  gcc/config/aarch64/aarch64-speculation.cc
  4136e56280157ea13020fd8e26eb6a25  gcc/config/aarch64/aarch64-sve.md
! 7d67ae03c56a05f1829bd459f6279dce  gcc/config/aarch64/aarch64-tune.md
  98b52570420efe9fa8acefbd95af9e95  gcc/config/aarch64/aarch64-tuning-flags.def
! b0bbec48304daea0bbef94922c1aae12  gcc/config/aarch64/aarch64.c
  69dd357082588f1671b59a44e1bd1820  gcc/config/aarch64/aarch64.h
  187f8f95baeb99bac41ef66291b7b48d  gcc/config/aarch64/aarch64.md
  04a6a853b8a946b5f5a8379e8fd86c86  gcc/config/aarch64/aarch64.opt
! 591bf7c3e8656a8915a7d9c803294a79  gcc/config/aarch64/arm_acle.h
  0013b27a5b56f740cec7a9699f584a24  gcc/config/aarch64/arm_fp16.h
  3096cdc4766fafd5a27b1ec2bbcadadc  gcc/config/aarch64/arm_neon.h
  878aa1d87d242aaafeef442c13a5fa78  gcc/config/aarch64/atomics.md
--- 2875,2893 ----
  8514c091ad15ab63df11916c856f9778  gcc/config/aarch64/aarch64-option-extensions.def
  838f1517af2ca6f144fbeb195607045f  gcc/config/aarch64/aarch64-opts.h
  23b2873f94be769558c521835e53008d  gcc/config/aarch64/aarch64-passes.def
! 698d5dd4a2adedfb8fff32fe79ef4373  gcc/config/aarch64/aarch64-protos.h
  a26908792e566ebf4f2479f2ff030739  gcc/config/aarch64/aarch64-simd-builtin-types.def
  90dabda2325e3b6bed53685154b7c2c8  gcc/config/aarch64/aarch64-simd-builtins.def
  0331ee26469342302ea6a89a398796b7  gcc/config/aarch64/aarch64-simd.md
  911f9e398e7439e5fb96856826cd6a2d  gcc/config/aarch64/aarch64-speculation.cc
  4136e56280157ea13020fd8e26eb6a25  gcc/config/aarch64/aarch64-sve.md
! c31182a2c06e7ff02b5ee7078f022f82  gcc/config/aarch64/aarch64-tune.md
  98b52570420efe9fa8acefbd95af9e95  gcc/config/aarch64/aarch64-tuning-flags.def
! 5fa904a357c8826395ca26b7703a0fd7  gcc/config/aarch64/aarch64.c
  69dd357082588f1671b59a44e1bd1820  gcc/config/aarch64/aarch64.h
  187f8f95baeb99bac41ef66291b7b48d  gcc/config/aarch64/aarch64.md
  04a6a853b8a946b5f5a8379e8fd86c86  gcc/config/aarch64/aarch64.opt
! 065b47b729f4e5276868832598fbe7d1  gcc/config/aarch64/arm_acle.h
  0013b27a5b56f740cec7a9699f584a24  gcc/config/aarch64/arm_fp16.h
  3096cdc4766fafd5a27b1ec2bbcadadc  gcc/config/aarch64/arm_neon.h
  878aa1d87d242aaafeef442c13a5fa78  gcc/config/aarch64/atomics.md
*************** f4f4c1e825fd8550109bcd9e9d6031f1  gcc/co
*** 2974,2981 ****
  df34a1d4424a4314ed017eb80f6231f1  gcc/config/arm/aarch-cost-tables.h
  d89746094bfdffba0078bf383b492444  gcc/config/arm/aout.h
  d5fa0c26d4009345581488cda3b1cfd0  gcc/config/arm/arm-builtins.c
! 79b7d2fa65d2a4132bd739f07e35fb7f  gcc/config/arm/arm-c.c
! 4c5ba8c6314d684ccd9c481b34d0aef4  gcc/config/arm/arm-cpus.in
  9e4cca883ad18d67f5aef76b6546204e  gcc/config/arm/arm-d.c
  2abb717feb10fc401046e99dabb48364  gcc/config/arm/arm-fixed.md
  de5def37f28bbb179fec0bd32e6c33b1  gcc/config/arm/arm-flags.h
--- 2978,2985 ----
  df34a1d4424a4314ed017eb80f6231f1  gcc/config/arm/aarch-cost-tables.h
  d89746094bfdffba0078bf383b492444  gcc/config/arm/aout.h
  d5fa0c26d4009345581488cda3b1cfd0  gcc/config/arm/arm-builtins.c
! c3551214e6bac294b6f377f8ea346b44  gcc/config/arm/arm-c.c
! 3ec1525c70873ebc16e28b54889a566c  gcc/config/arm/arm-cpus.in
  9e4cca883ad18d67f5aef76b6546204e  gcc/config/arm/arm-d.c
  2abb717feb10fc401046e99dabb48364  gcc/config/arm/arm-fixed.md
  de5def37f28bbb179fec0bd32e6c33b1  gcc/config/arm/arm-flags.h
*************** de5def37f28bbb179fec0bd32e6c33b1  gcc/co
*** 2983,2993 ****
  66fb074d47d486e3953c4de2b1b555dc  gcc/config/arm/arm-ldmstm.ml
  263cc60e9131bac221e70e5d6dc547cd  gcc/config/arm/arm-modes.def
  e78009a8d13764d219ebfc56144bf0ac  gcc/config/arm/arm-opts.h
! b4c793e95b0ed8b59f796053ec7f6acb  gcc/config/arm/arm-protos.h
  8e97c44a8af72486a4c5dbf52ec2f910  gcc/config/arm/arm-simd-builtin-types.def
  2bc3e6a63b7c1f0abf9beb2000a7e799  gcc/config/arm/arm-tables.opt
  53d1ff027e6f5d8acc9deae3ed7d4761  gcc/config/arm/arm-tune.md
! 1e74149a3bef1aa30f9264953a0eb5d4  gcc/config/arm/arm.c
  30d086f1ea2f74e10dc923df0a5a618b  gcc/config/arm/arm.h
  4f1831a7d6d86c71fe4eca7a2fd11c99  gcc/config/arm/arm.md
  4ccba5fde3d84bab8c82ba954f689e96  gcc/config/arm/arm.opt
--- 2987,2997 ----
  66fb074d47d486e3953c4de2b1b555dc  gcc/config/arm/arm-ldmstm.ml
  263cc60e9131bac221e70e5d6dc547cd  gcc/config/arm/arm-modes.def
  e78009a8d13764d219ebfc56144bf0ac  gcc/config/arm/arm-opts.h
! 6c3fdf839314f3fa907f906a892b432c  gcc/config/arm/arm-protos.h
  8e97c44a8af72486a4c5dbf52ec2f910  gcc/config/arm/arm-simd-builtin-types.def
  2bc3e6a63b7c1f0abf9beb2000a7e799  gcc/config/arm/arm-tables.opt
  53d1ff027e6f5d8acc9deae3ed7d4761  gcc/config/arm/arm-tune.md
! a8f1289bb276131804221c09c36ed515  gcc/config/arm/arm.c
  30d086f1ea2f74e10dc923df0a5a618b  gcc/config/arm/arm.h
  4f1831a7d6d86c71fe4eca7a2fd11c99  gcc/config/arm/arm.md
  4ccba5fde3d84bab8c82ba954f689e96  gcc/config/arm/arm.opt
*************** d47afa13477045fe8008b0584e46d4e7  gcc/co
*** 3051,3057 ****
  c2be33e26eb8292a27bb21a6c92b78ef  gcc/config/arm/rtems.h
  8c07356b17ea44561571c21c6c253935  gcc/config/arm/semi.h
  32340f243e64a90a7534264fd436d9ab  gcc/config/arm/symbian.h
! bac2d4bb0074daf06320eeb62b250d11  gcc/config/arm/sync.md
  dc007b1dbf75597ac2a62d4681e273a0  gcc/config/arm/t-aprofile
  6b88c5f39f1bd86d128a7ca99f68d542  gcc/config/arm/t-arm
  8c2770253e332343c2e93e669e2c49eb  gcc/config/arm/t-arm-elf
--- 3055,3061 ----
  c2be33e26eb8292a27bb21a6c92b78ef  gcc/config/arm/rtems.h
  8c07356b17ea44561571c21c6c253935  gcc/config/arm/semi.h
  32340f243e64a90a7534264fd436d9ab  gcc/config/arm/symbian.h
! 3dac6fa13bab608f2c9ced14848cccd0  gcc/config/arm/sync.md
  dc007b1dbf75597ac2a62d4681e273a0  gcc/config/arm/t-aprofile
  6b88c5f39f1bd86d128a7ca99f68d542  gcc/config/arm/t-arm
  8c2770253e332343c2e93e669e2c49eb  gcc/config/arm/t-arm-elf
*************** d424f0660f469d6c13a6f84e6b2858cf  gcc/co
*** 3065,3071 ****
  6219db2eb3bceea962a45e9f1400f370  gcc/config/arm/t-rtems
  0ea5b4f92221a7bd097fa437a0048d3e  gcc/config/arm/t-symbian
  b5539c5e14f1eed60835983547d2b721  gcc/config/arm/t-vxworks
! e3630e720367efb2541680a7d3a719ca  gcc/config/arm/thumb1.md
  f669257064afc30d581080fb012cfddf  gcc/config/arm/thumb2.md
  d9951f54357bbd37880fd67d7fcc1be7  gcc/config/arm/types.md
  802ce3cab15454d7b6ed350fc2188fc9  gcc/config/arm/uclinux-eabi.h
--- 3069,3075 ----
  6219db2eb3bceea962a45e9f1400f370  gcc/config/arm/t-rtems
  0ea5b4f92221a7bd097fa437a0048d3e  gcc/config/arm/t-symbian
  b5539c5e14f1eed60835983547d2b721  gcc/config/arm/t-vxworks
! 977a7925eee8ae6138a16af9dd6e2758  gcc/config/arm/thumb1.md
  f669257064afc30d581080fb012cfddf  gcc/config/arm/thumb2.md
  d9951f54357bbd37880fd67d7fcc1be7  gcc/config/arm/types.md
  802ce3cab15454d7b6ed350fc2188fc9  gcc/config/arm/uclinux-eabi.h
*************** dac0941e87c210a03bffaca2a100dd66  gcc/co
*** 3328,3336 ****
  4879afffa62e4ce6f8bcc1e9934948d1  gcc/config/i386/avx512bitalgintrin.h
  788fe28a1d9fdb3e6edb53b8a0e970c1  gcc/config/i386/avx512bwintrin.h
  30236a3956365ca84d335348fe116faf  gcc/config/i386/avx512cdintrin.h
! c29821db0471b45eadd7ab6ec71f4873  gcc/config/i386/avx512dqintrin.h
  22679dcef7173c443978b0ca9a17437e  gcc/config/i386/avx512erintrin.h
! 023892c09edaf643818e24c34443d3d2  gcc/config/i386/avx512fintrin.h
  e8268cb64005fed6a678cfbc4642288a  gcc/config/i386/avx512ifmaintrin.h
  ef0a9a8caf7f653ee9a94b583ea058a6  gcc/config/i386/avx512ifmavlintrin.h
  88ca35aaa9c86d3fc2d7551541db0057  gcc/config/i386/avx512pfintrin.h
--- 3332,3340 ----
  4879afffa62e4ce6f8bcc1e9934948d1  gcc/config/i386/avx512bitalgintrin.h
  788fe28a1d9fdb3e6edb53b8a0e970c1  gcc/config/i386/avx512bwintrin.h
  30236a3956365ca84d335348fe116faf  gcc/config/i386/avx512cdintrin.h
! d35401bc40cff67605d4362264b65d3c  gcc/config/i386/avx512dqintrin.h
  22679dcef7173c443978b0ca9a17437e  gcc/config/i386/avx512erintrin.h
! 212b51348140cb66f7f260224d60ff04  gcc/config/i386/avx512fintrin.h
  e8268cb64005fed6a678cfbc4642288a  gcc/config/i386/avx512ifmaintrin.h
  ef0a9a8caf7f653ee9a94b583ea058a6  gcc/config/i386/avx512ifmavlintrin.h
  88ca35aaa9c86d3fc2d7551541db0057  gcc/config/i386/avx512pfintrin.h
*************** b3e3a26baaa00d042200fb7171d2ad0b  gcc/co
*** 3414,3422 ****
  ebd361a54224f0abb09743cd7d7c87cd  gcc/config/i386/i386-opts.h
  480131ba2044127fc48ecef37f6b74e8  gcc/config/i386/i386-passes.def
  e115f008106b73eff935b485b13cc766  gcc/config/i386/i386-protos.h
! eaaecb0a36f151a82043fc0429bc3a0f  gcc/config/i386/i386.c
  b55f4f0bdd1dbfe310dd9a005b207f89  gcc/config/i386/i386.h
! da01678f26793413d4c39d4059341e0a  gcc/config/i386/i386.md
  e1a477f88e849a4c3c9d66ce3d04471d  gcc/config/i386/i386.opt
  cf4401814fee167918ada91933e2cc9e  gcc/config/i386/i386elf.h
  5768f331267273ad14615e7256f365f6  gcc/config/i386/ia32intrin.h
--- 3418,3426 ----
  ebd361a54224f0abb09743cd7d7c87cd  gcc/config/i386/i386-opts.h
  480131ba2044127fc48ecef37f6b74e8  gcc/config/i386/i386-passes.def
  e115f008106b73eff935b485b13cc766  gcc/config/i386/i386-protos.h
! a6c3e0055bdb6733adaa320f3159297b  gcc/config/i386/i386.c
  b55f4f0bdd1dbfe310dd9a005b207f89  gcc/config/i386/i386.h
! d94370205830a6cdc6516388ec6161f6  gcc/config/i386/i386.md
  e1a477f88e849a4c3c9d66ce3d04471d  gcc/config/i386/i386.opt
  cf4401814fee167918ada91933e2cc9e  gcc/config/i386/i386elf.h
  5768f331267273ad14615e7256f365f6  gcc/config/i386/ia32intrin.h
*************** dc0286265c686c3ef0b832758390d99f  gcc/co
*** 3471,3481 ****
  98f0c61a3452035fd54874836a63d639  gcc/config/i386/slm.md
  6b483574d3f8c038362370f678dc3352  gcc/config/i386/smmintrin.h
  eef3bf1c23a71ddebdef079e46139a3f  gcc/config/i386/sol2.h
! 0ab1c9b927a0d49a1213995f0a73f4b4  gcc/config/i386/sse.md
  e701af944d5f18cad99e23d7d5ba21c2  gcc/config/i386/ssemath.h
  7a75a57a5da77d44a32094f37fe5e855  gcc/config/i386/stringop.def
  f001f25cc3598b7ef8e3caf37dd64d90  gcc/config/i386/subst.md
! 3cd36475dca703b316477e7e39a9ca16  gcc/config/i386/sync.md
  b9708069c1e7a8774135804668c0747e  gcc/config/i386/sysv4.h
  07010720a71483ae90330f605213906d  gcc/config/i386/t-cet
  b47b47527b9244424064bb19980e397a  gcc/config/i386/t-cygming
--- 3475,3485 ----
  98f0c61a3452035fd54874836a63d639  gcc/config/i386/slm.md
  6b483574d3f8c038362370f678dc3352  gcc/config/i386/smmintrin.h
  eef3bf1c23a71ddebdef079e46139a3f  gcc/config/i386/sol2.h
! 5c26df3cc02a4cda853dbe7447be8d05  gcc/config/i386/sse.md
  e701af944d5f18cad99e23d7d5ba21c2  gcc/config/i386/ssemath.h
  7a75a57a5da77d44a32094f37fe5e855  gcc/config/i386/stringop.def
  f001f25cc3598b7ef8e3caf37dd64d90  gcc/config/i386/subst.md
! 6782c4534f96ff8efdea88bfcb743535  gcc/config/i386/sync.md
  b9708069c1e7a8774135804668c0747e  gcc/config/i386/sysv4.h
  07010720a71483ae90330f605213906d  gcc/config/i386/t-cet
  b47b47527b9244424064bb19980e397a  gcc/config/i386/t-cygming
*************** aecd930f5e2726f5bec1fb426197545b  gcc/co
*** 3738,3744 ****
  764226fe1b4f917a978a90e372c0f60a  gcc/config/mips/mips-protos.h
  8001d509158827dddae86a1ef107a36a  gcc/config/mips/mips-ps-3d.md
  477dc18cac140a9950d9d880bfab331c  gcc/config/mips/mips-tables.opt
! 9c76523537789bded96533945720f361  gcc/config/mips/mips.c
  ec9d3cae94023262f118d4d58cc16bae  gcc/config/mips/mips.h
  ef8331ba20d805a0d756da3eb5122b0e  gcc/config/mips/mips.md
  58a1deebbe708f1c924bc88f260e4a43  gcc/config/mips/mips.opt
--- 3742,3748 ----
  764226fe1b4f917a978a90e372c0f60a  gcc/config/mips/mips-protos.h
  8001d509158827dddae86a1ef107a36a  gcc/config/mips/mips-ps-3d.md
  477dc18cac140a9950d9d880bfab331c  gcc/config/mips/mips-tables.opt
! d280ec067f7b5f21c91d834d12099baf  gcc/config/mips/mips.c
  ec9d3cae94023262f118d4d58cc16bae  gcc/config/mips/mips.h
  ef8331ba20d805a0d756da3eb5122b0e  gcc/config/mips/mips.md
  58a1deebbe708f1c924bc88f260e4a43  gcc/config/mips/mips.opt
*************** d5563ed37efabc4113c6d2d52ae069f0  gcc/co
*** 3949,3955 ****
  b61d90d50654c7416ffbc50abb8b19f1  gcc/config/pa/pa-protos.h
  be15a05318d9b51303e0eb3114a4a439  gcc/config/pa/pa.c
  3baefb615e4ea3ff4f015c311f7893f4  gcc/config/pa/pa.h
! f214cdd0a0af71d8a9c464d72dd09146  gcc/config/pa/pa.md
  bf462e8a5710a6aafdf81ccefa55fd56  gcc/config/pa/pa.opt
  720abbdc4cfa6947475c60b33316e8cb  gcc/config/pa/pa32-linux.h
  383d3a99e9a7d8e4a4acc6a9321613a4  gcc/config/pa/pa32-openbsd.h
--- 3953,3959 ----
  b61d90d50654c7416ffbc50abb8b19f1  gcc/config/pa/pa-protos.h
  be15a05318d9b51303e0eb3114a4a439  gcc/config/pa/pa.c
  3baefb615e4ea3ff4f015c311f7893f4  gcc/config/pa/pa.h
! b9de98a1e2839d233161fd75d61520e1  gcc/config/pa/pa.md
  bf462e8a5710a6aafdf81ccefa55fd56  gcc/config/pa/pa.opt
  720abbdc4cfa6947475c60b33316e8cb  gcc/config/pa/pa32-linux.h
  383d3a99e9a7d8e4a4acc6a9321613a4  gcc/config/pa/pa32-openbsd.h
*************** cfa104f3ddbcd8026f9cdbb59fc5a3f8  gcc/co
*** 4037,4043 ****
  4f5f42efd636f048467ba47dd2981428  gcc/config/rs6000/aix64.opt
  a2a826870e6047bd5ebfd7307f5267cf  gcc/config/rs6000/aix71.h
  885a4a6f9f89a904cbf4b2ef2e2c3279  gcc/config/rs6000/aix72.h
! d9c4d74bf9f6b5d23d7bc0a3c6aaff47  gcc/config/rs6000/altivec.h
  7c7a413491a2d93601e8e8b5c0065065  gcc/config/rs6000/altivec.md
  f8a755a4ac201e92796b8d6135392b4a  gcc/config/rs6000/amo.h
  957423610c96144855faff9547a793e1  gcc/config/rs6000/biarch64.h
--- 4041,4047 ----
  4f5f42efd636f048467ba47dd2981428  gcc/config/rs6000/aix64.opt
  a2a826870e6047bd5ebfd7307f5267cf  gcc/config/rs6000/aix71.h
  885a4a6f9f89a904cbf4b2ef2e2c3279  gcc/config/rs6000/aix72.h
! ebd885e1b6dd273c9fafc9f8dddfc424  gcc/config/rs6000/altivec.h
  7c7a413491a2d93601e8e8b5c0065065  gcc/config/rs6000/altivec.md
  f8a755a4ac201e92796b8d6135392b4a  gcc/config/rs6000/amo.h
  957423610c96144855faff9547a793e1  gcc/config/rs6000/biarch64.h
*************** c67f18c015c106b14dacb2ba51479ff7  gcc/co
*** 4103,4114 ****
  4c247e7d5a6ce74cf83a3fe8aab4f654  gcc/config/rs6000/rs6000-modes.def
  15ae2f98aaf815d75cf6c901ae237246  gcc/config/rs6000/rs6000-modes.h
  07e2821d2d84428d1d1b6556421c64bc  gcc/config/rs6000/rs6000-opts.h
! 7bed5a5c20fd6da84667ef7d4fb1c246  gcc/config/rs6000/rs6000-p8swap.c
  e05d5c8a047de2d8fdd1f7ee6af44deb  gcc/config/rs6000/rs6000-passes.def
  f168035749ab2d165f81b6bb536c11f9  gcc/config/rs6000/rs6000-protos.h
  3a8f1ad11a0dba7ead152579f7b3da5b  gcc/config/rs6000/rs6000-string.c
  02c1e43342566e1b7fa224f7a0cf807c  gcc/config/rs6000/rs6000-tables.opt
! d45e612e21c391bbd8770fe683081861  gcc/config/rs6000/rs6000.c
  76927b1dd36d76ab689025e8f53db229  gcc/config/rs6000/rs6000.h
  e4c7c75f3daf669a30471416a64bac67  gcc/config/rs6000/rs6000.md
  f42f20695669f67fccd35baa16ab0310  gcc/config/rs6000/rs6000.opt
--- 4107,4118 ----
  4c247e7d5a6ce74cf83a3fe8aab4f654  gcc/config/rs6000/rs6000-modes.def
  15ae2f98aaf815d75cf6c901ae237246  gcc/config/rs6000/rs6000-modes.h
  07e2821d2d84428d1d1b6556421c64bc  gcc/config/rs6000/rs6000-opts.h
! 8f4408b847892c73dae742a87a5f817e  gcc/config/rs6000/rs6000-p8swap.c
  e05d5c8a047de2d8fdd1f7ee6af44deb  gcc/config/rs6000/rs6000-passes.def
  f168035749ab2d165f81b6bb536c11f9  gcc/config/rs6000/rs6000-protos.h
  3a8f1ad11a0dba7ead152579f7b3da5b  gcc/config/rs6000/rs6000-string.c
  02c1e43342566e1b7fa224f7a0cf807c  gcc/config/rs6000/rs6000-tables.opt
! 4fdcfc45e654b7507c5f25f25d347837  gcc/config/rs6000/rs6000.c
  76927b1dd36d76ab689025e8f53db229  gcc/config/rs6000/rs6000.h
  e4c7c75f3daf669a30471416a64bac67  gcc/config/rs6000/rs6000.md
  f42f20695669f67fccd35baa16ab0310  gcc/config/rs6000/rs6000.opt
*************** f11925c88524d2fd457bf77944da1302  gcc/co
*** 4146,4152 ****
  c3054f6c3f5da02827e7daaede36f96c  gcc/config/rs6000/titan.md
  fcd8864ddc626c0896bf07db7cb4b10f  gcc/config/rs6000/tmmintrin.h
  e7c6abe3e4c1f795aea38db6f87100ef  gcc/config/rs6000/vec_types.h
! 04adaf408f8567bdc8965444af6f7dc9  gcc/config/rs6000/vector.md
  101c91e5ed01f7254aabb1a094bfe19a  gcc/config/rs6000/vsx.md
  d88c24ce567bf733e4984b96f051df6e  gcc/config/rs6000/vxworks.h
  1c95cf789023980c7f19ce5c4df89871  gcc/config/rs6000/vxworksae.h
--- 4150,4156 ----
  c3054f6c3f5da02827e7daaede36f96c  gcc/config/rs6000/titan.md
  fcd8864ddc626c0896bf07db7cb4b10f  gcc/config/rs6000/tmmintrin.h
  e7c6abe3e4c1f795aea38db6f87100ef  gcc/config/rs6000/vec_types.h
! d44ce341c7a0b17594c7f8a1fd958fbc  gcc/config/rs6000/vector.md
  101c91e5ed01f7254aabb1a094bfe19a  gcc/config/rs6000/vsx.md
  d88c24ce567bf733e4984b96f051df6e  gcc/config/rs6000/vxworks.h
  1c95cf789023980c7f19ce5c4df89871  gcc/config/rs6000/vxworksae.h
*************** ca961517247358a5ffc34d0c59247348  gcc/co
*** 4196,4202 ****
  6e21265ae0a20bcc8f3e7ecee4ded227  gcc/config/s390/s390-protos.h
  2f9f4990bb918036fe4bd529cad6322a  gcc/config/s390/s390.c
  68a8348dde8c9c7cc897b4e476b27e2c  gcc/config/s390/s390.h
! a3a97382432237c66f55a60df5bd1bc4  gcc/config/s390/s390.md
  bdbd5866cc1cf0030217b3d42f505a09  gcc/config/s390/s390.opt
  3a7d4589eccec5ca0c1509ad826a7645  gcc/config/s390/s390intrin.h
  38978838a5b1948ea8a22c90711f0ea8  gcc/config/s390/s390x.h
--- 4200,4206 ----
  6e21265ae0a20bcc8f3e7ecee4ded227  gcc/config/s390/s390-protos.h
  2f9f4990bb918036fe4bd529cad6322a  gcc/config/s390/s390.c
  68a8348dde8c9c7cc897b4e476b27e2c  gcc/config/s390/s390.h
! 0903605d34d7c593bcbdea27f22aed31  gcc/config/s390/s390.md
  bdbd5866cc1cf0030217b3d42f505a09  gcc/config/s390/s390.opt
  3a7d4589eccec5ca0c1509ad826a7645  gcc/config/s390/s390intrin.h
  38978838a5b1948ea8a22c90711f0ea8  gcc/config/s390/s390x.h
*************** cbd40463e3ea483403791298453fd71e  gcc/co
*** 4206,4212 ****
  c9bbda48804d4713ec85f78f9d2d6e6d  gcc/config/s390/tpf.h
  62076dd49a73c59d5edaf7d215d1c780  gcc/config/s390/tpf.md
  c07c00818fb5b099d66aaebda265bdbb  gcc/config/s390/tpf.opt
! 06cbca71ea2c038bad06205526781457  gcc/config/s390/vecintrin.h
  0c35ad72f6b7005171521343f9b3e618  gcc/config/s390/vector.md
  ceb954a21d8fa44b81a3481071f39c46  gcc/config/s390/vx-builtins.md
  19876f77a242921272972ac5b8bd32d0  gcc/config/s390/x-native
--- 4210,4216 ----
  c9bbda48804d4713ec85f78f9d2d6e6d  gcc/config/s390/tpf.h
  62076dd49a73c59d5edaf7d215d1c780  gcc/config/s390/tpf.md
  c07c00818fb5b099d66aaebda265bdbb  gcc/config/s390/tpf.opt
! bef535cb43a88c8dfe9d15ece242829f  gcc/config/s390/vecintrin.h
  0c35ad72f6b7005171521343f9b3e618  gcc/config/s390/vector.md
  ceb954a21d8fa44b81a3481071f39c46  gcc/config/s390/vx-builtins.md
  19876f77a242921272972ac5b8bd32d0  gcc/config/s390/x-native
*************** aa427cfe3d4647ac44c278f45436ba49  gcc/co
*** 4287,4293 ****
  4d82caaf475b262387af725b2a52e701  gcc/config/sparc/sparc-opts.h
  1ca073b706c09a8ae55d2d0ee31091a0  gcc/config/sparc/sparc-passes.def
  102dce7b6e083d1ec7665a7c3eabb7cd  gcc/config/sparc/sparc-protos.h
! 97bbea38b178b1caa8bb8ba835d94daa  gcc/config/sparc/sparc.c
  a2ede8e59ead9a217e540e45df14d1d0  gcc/config/sparc/sparc.h
  c078d1049419ce814362e89518d7083a  gcc/config/sparc/sparc.md
  050d31a7b1dbcd95852a707f8ebe3664  gcc/config/sparc/sparc.opt
--- 4291,4297 ----
  4d82caaf475b262387af725b2a52e701  gcc/config/sparc/sparc-opts.h
  1ca073b706c09a8ae55d2d0ee31091a0  gcc/config/sparc/sparc-passes.def
  102dce7b6e083d1ec7665a7c3eabb7cd  gcc/config/sparc/sparc-protos.h
! b0d9c0e2e02465291e532167c0986c9e  gcc/config/sparc/sparc.c
  a2ede8e59ead9a217e540e45df14d1d0  gcc/config/sparc/sparc.h
  c078d1049419ce814362e89518d7083a  gcc/config/sparc/sparc.md
  050d31a7b1dbcd95852a707f8ebe3664  gcc/config/sparc/sparc.opt
*************** d73cc091da52a5651b62e5dd210dff71  gcc/co
*** 4479,4494 ****
  9435e37ec4d9b10632cb0274c23733dd  gcc/config/xtensa/xtensa.h
  0d53d0e769a8ee2bebabd03baeca1442  gcc/config/xtensa/xtensa.md
  4d2567221429e8ff6bdf03bddaf11294  gcc/config/xtensa/xtensa.opt
! 257a044115219f9a2b1396bdfd93136c  gcc/configure
! fd4275d1777f960c918deb4db5175239  gcc/configure.ac
  a172c20ab64d456534d82432f8645b86  gcc/context.c
  efedd3c44c8cd7fc59f7eda74f6fd29d  gcc/context.h
  37a26a95e18d4e6618aff970a29ca502  gcc/convert.c
  d1a041b82500893b285a0062712d277b  gcc/convert.h
! f36fa6387bfd9a1849583a199f1bbb8b  gcc/coretypes.h
  c14136eb30d31580686e09cef147f026  gcc/coverage.c
  57a63860b2bca8fd7a62d7386a3a92f7  gcc/coverage.h
! 92801c4806248532823191da1fadcfb0  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
--- 4483,4498 ----
  9435e37ec4d9b10632cb0274c23733dd  gcc/config/xtensa/xtensa.h
  0d53d0e769a8ee2bebabd03baeca1442  gcc/config/xtensa/xtensa.md
  4d2567221429e8ff6bdf03bddaf11294  gcc/config/xtensa/xtensa.opt
! 76775f0bee5fa8cabf3f64c08cce9c98  gcc/configure
! cac384b540f2ad0c6b6b612a39c51da8  gcc/configure.ac
  a172c20ab64d456534d82432f8645b86  gcc/context.c
  efedd3c44c8cd7fc59f7eda74f6fd29d  gcc/context.h
  37a26a95e18d4e6618aff970a29ca502  gcc/convert.c
  d1a041b82500893b285a0062712d277b  gcc/convert.h
! 894520e9c3074311ced108a314a3f4e9  gcc/coretypes.h
  c14136eb30d31580686e09cef147f026  gcc/coverage.c
  57a63860b2bca8fd7a62d7386a3a92f7  gcc/coverage.h
! 2dc7d9ab78df19d6eecef49338a72a8a  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
*************** c1c7801b9b0f379e702a4f6cb83972e7  gcc/cp
*** 4519,4532 ****
  9aa3cd9f75c785de9f51446e3f295515  gcc/cp/ChangeLog.tree-ssa
  927c956157fea028964c8aec368e5ed2  gcc/cp/Make-lang.in
  a278dbf0995f78e9c037b3c4f1558d27  gcc/cp/NEWS
! 7bbcaa2e1211b911d2ed9d0f4329cbe3  gcc/cp/call.c
  bd7a7016228b634d3bb60519ffbdcde6  gcc/cp/cfns.gperf
  e1aef57a57197c4db859e6bafa97cbfb  gcc/cp/cfns.h
! 6295d24ecb062b6829ba869c2717261d  gcc/cp/class.c
  5bb396c6ffef5b425dc65c47c112fed6  gcc/cp/config-lang.in
! 9f88a30c703941d3f739700ec034c04d  gcc/cp/constexpr.c
  0a465881de25f2f3086e995915c8e33a  gcc/cp/constraint.cc
! 84aa49947f501978d294fcb65087f292  gcc/cp/cp-gimplify.c
  8d003f7c56f3b655d27aededf2e31606  gcc/cp/cp-lang.c
  cc48600f1ca0be9a19049072dd42b85e  gcc/cp/cp-name-hint.h
  9b1647c60e17bf71d36685f45bd35790  gcc/cp/cp-objcp-common.c
--- 4523,4536 ----
  9aa3cd9f75c785de9f51446e3f295515  gcc/cp/ChangeLog.tree-ssa
  927c956157fea028964c8aec368e5ed2  gcc/cp/Make-lang.in
  a278dbf0995f78e9c037b3c4f1558d27  gcc/cp/NEWS
! 43dc9a94648c63e6be0957af95ccdcae  gcc/cp/call.c
  bd7a7016228b634d3bb60519ffbdcde6  gcc/cp/cfns.gperf
  e1aef57a57197c4db859e6bafa97cbfb  gcc/cp/cfns.h
! ed953585aba37167dd71b501331c4547  gcc/cp/class.c
  5bb396c6ffef5b425dc65c47c112fed6  gcc/cp/config-lang.in
! a14920ba595884c5af30929bac48fa65  gcc/cp/constexpr.c
  0a465881de25f2f3086e995915c8e33a  gcc/cp/constraint.cc
! 4a6c889e316023e9c821acf7670ec2b0  gcc/cp/cp-gimplify.c
  8d003f7c56f3b655d27aededf2e31606  gcc/cp/cp-lang.c
  cc48600f1ca0be9a19049072dd42b85e  gcc/cp/cp-name-hint.h
  9b1647c60e17bf71d36685f45bd35790  gcc/cp/cp-objcp-common.c
*************** c8b9da9c09a506504b0c54beff127041  gcc/cp
*** 4534,4574 ****
  6ea954ee3f925c4785d3d5857da37472  gcc/cp/cp-tree.def
  735e5f89b92dd23850236e8afda3eea4  gcc/cp/cp-tree.h
  0783a755e68a2794f241b524e94f3353  gcc/cp/cp-ubsan.c
! daadab04ea47474c93c89ea05140ebbd  gcc/cp/cvt.c
  01b7c558a0ac024db7c60c6be62c6182  gcc/cp/cxx-pretty-print.c
  7678a47a8d93312c8398e268ffc5f308  gcc/cp/cxx-pretty-print.h
! bd4a1f86a150537b040585d5ff15119b  gcc/cp/decl.c
  76de9595bf45ff8c300bb78f7b6e3c45  gcc/cp/decl.h
! bfd52cecb79617ce0dfe56009af504e4  gcc/cp/decl2.c
  d68784ba349655ce2b051133db1fa676  gcc/cp/dump.c
  8cfe3d7f84da7499e66a2551e0e3ee76  gcc/cp/error.c
  80a9b2f4c389366bb1f4c40386761718  gcc/cp/except.c
  1fe3d8f1c89d432c5993ad8d1f520d2c  gcc/cp/expr.c
  50e91fd6211f17a456f074a8d8327f2d  gcc/cp/friend.c
  924d92243a92c5fe453452023675f96d  gcc/cp/g++spec.c
! 0955dff21b4d5137990e5962ea21b8c6  gcc/cp/init.c
! 510226a0414695072f6c228729fb37ee  gcc/cp/lambda.c
  e7f47fb180b2ce4ccd8d330e3fc7e0fb  gcc/cp/lang-specs.h
  f1a6231ae470a1750e57819b2f004be9  gcc/cp/lex.c
  656a41f03fcd123732899b8be272be88  gcc/cp/logic.cc
  dd3b848f12c5bb1b3751b8039dcdb23f  gcc/cp/mangle.c
! c35b9e09bf86e979189e4b4ff320ed81  gcc/cp/method.c
  e2c6982d1781b9eea42edcd27f3fa39e  gcc/cp/name-lookup.c
  415a1e03948c0a97410e0c8df020777c  gcc/cp/name-lookup.h
  779f6c0c5ade6968723ca62c0849ab82  gcc/cp/operators.def
  b9f1b1883295d945297dfce4b04adc55  gcc/cp/optimize.c
! 0ceb46837451e7996f5425a1b87f6a7b  gcc/cp/parser.c
  61fc5d88549647fbe68ceb0f175b1a6f  gcc/cp/parser.h
! b8e19a07c86c91b71a62c8c085023c79  gcc/cp/pt.c
  dc36180a1e0205c61709a1dcb3da2bc1  gcc/cp/ptree.c
  c191067abf9a5a2693dbbe01025ed1e2  gcc/cp/repo.c
  37d68656370c1e59494aec59f81a7334  gcc/cp/rtti.c
! 19996ebc786c9b84189e3750bee1dec1  gcc/cp/search.c
! 64de92d0e6413e67dcea9e43e2a28b0d  gcc/cp/semantics.c
! 9955723f016847b5d12053c4cb7852cb  gcc/cp/tree.c
  839663aeac0fb479ddbc961c92afb34d  gcc/cp/type-utils.h
! 6339e53bde45e957b26c6999f0857dc6  gcc/cp/typeck.c
! 4abe3006a9aaa5fb979a445bbdc3041a  gcc/cp/typeck2.c
  b11f9a133d5862c4062de877470cbc63  gcc/cp/vtable-class-hierarchy.c
  c7b05adeb502c9e885483461d1e59f99  gcc/cppbuiltin.c
  fd364bcfc8956c1e8e97417e3d79206a  gcc/cppbuiltin.h
--- 4538,4578 ----
  6ea954ee3f925c4785d3d5857da37472  gcc/cp/cp-tree.def
  735e5f89b92dd23850236e8afda3eea4  gcc/cp/cp-tree.h
  0783a755e68a2794f241b524e94f3353  gcc/cp/cp-ubsan.c
! 01ebdc3f988a82c30a37a8acd37dc4d7  gcc/cp/cvt.c
  01b7c558a0ac024db7c60c6be62c6182  gcc/cp/cxx-pretty-print.c
  7678a47a8d93312c8398e268ffc5f308  gcc/cp/cxx-pretty-print.h
! 85445ae78f5565aa9108c6ba52e1837e  gcc/cp/decl.c
  76de9595bf45ff8c300bb78f7b6e3c45  gcc/cp/decl.h
! 0fa39c0b1c59b2b42764d74b020b3ba1  gcc/cp/decl2.c
  d68784ba349655ce2b051133db1fa676  gcc/cp/dump.c
  8cfe3d7f84da7499e66a2551e0e3ee76  gcc/cp/error.c
  80a9b2f4c389366bb1f4c40386761718  gcc/cp/except.c
  1fe3d8f1c89d432c5993ad8d1f520d2c  gcc/cp/expr.c
  50e91fd6211f17a456f074a8d8327f2d  gcc/cp/friend.c
  924d92243a92c5fe453452023675f96d  gcc/cp/g++spec.c
! 0ab9280e92ab2b1e3c2b27f6e0c6cc88  gcc/cp/init.c
! b7459620dbf25324456f436d29e25c81  gcc/cp/lambda.c
  e7f47fb180b2ce4ccd8d330e3fc7e0fb  gcc/cp/lang-specs.h
  f1a6231ae470a1750e57819b2f004be9  gcc/cp/lex.c
  656a41f03fcd123732899b8be272be88  gcc/cp/logic.cc
  dd3b848f12c5bb1b3751b8039dcdb23f  gcc/cp/mangle.c
! 7c65707dd52a77ae34ed77e99294b94b  gcc/cp/method.c
  e2c6982d1781b9eea42edcd27f3fa39e  gcc/cp/name-lookup.c
  415a1e03948c0a97410e0c8df020777c  gcc/cp/name-lookup.h
  779f6c0c5ade6968723ca62c0849ab82  gcc/cp/operators.def
  b9f1b1883295d945297dfce4b04adc55  gcc/cp/optimize.c
! 682e9fd91c82a1b0bade653610b0e940  gcc/cp/parser.c
  61fc5d88549647fbe68ceb0f175b1a6f  gcc/cp/parser.h
! af4de88a33b86d2965e7a7929b856d66  gcc/cp/pt.c
  dc36180a1e0205c61709a1dcb3da2bc1  gcc/cp/ptree.c
  c191067abf9a5a2693dbbe01025ed1e2  gcc/cp/repo.c
  37d68656370c1e59494aec59f81a7334  gcc/cp/rtti.c
! 07a3d6370f1913de109380cd30e81c83  gcc/cp/search.c
! 0a97894d66b320d20353554cbdd7abfc  gcc/cp/semantics.c
! a31369f3e1a2ce7621b3a00459e928d4  gcc/cp/tree.c
  839663aeac0fb479ddbc961c92afb34d  gcc/cp/type-utils.h
! 2460ec4f974df178969ad4c289a9cd26  gcc/cp/typeck.c
! 2843d9302e01a304f1f5bbd088f55fd0  gcc/cp/typeck2.c
  b11f9a133d5862c4062de877470cbc63  gcc/cp/vtable-class-hierarchy.c
  c7b05adeb502c9e885483461d1e59f99  gcc/cppbuiltin.c
  fd364bcfc8956c1e8e97417e3d79206a  gcc/cppbuiltin.h
*************** ffc565b160c589448866aecb0be58b85  gcc/cp
*** 4579,4585 ****
  521c763deb893206d18e8951f5d82a87  gcc/cselib.c
  063a252b68c316f24dc59a07f97e1d2b  gcc/cselib.h
  1ded054093de910d9786c62bc4fe8cc6  gcc/cstamp-h.in
! b6586f51006d4d88e4d1ce2ec515e9ff  gcc/d/ChangeLog
  86f687c485111eedca2eb048294f957e  gcc/d/ChangeLog-2006
  70ed1c47fd9b3f5dd95055642ed79265  gcc/d/ChangeLog-2007
  a7090ab2dd83aa4f44823c17566b83ef  gcc/d/ChangeLog-2008
--- 4583,4589 ----
  521c763deb893206d18e8951f5d82a87  gcc/cselib.c
  063a252b68c316f24dc59a07f97e1d2b  gcc/cselib.h
  1ded054093de910d9786c62bc4fe8cc6  gcc/cstamp-h.in
! 00c6e1e05f7fe6f433f3520c950a7a6a  gcc/d/ChangeLog
  86f687c485111eedca2eb048294f957e  gcc/d/ChangeLog-2006
  70ed1c47fd9b3f5dd95055642ed79265  gcc/d/ChangeLog-2007
  a7090ab2dd83aa4f44823c17566b83ef  gcc/d/ChangeLog-2008
*************** d46228dde1a38d9a1d640d737074c7c6  gcc/d/
*** 4597,4619 ****
  426254b45d40584d0597c63f3fd1f889  gcc/d/README.gcc
  3889f613443f83466de11879583c7c56  gcc/d/config-lang.in
  ab1805e6fbeca12694e48ad5647cf75f  gcc/d/d-attribs.cc
! 19d5d0090070aca754fb5c69daf9f575  gcc/d/d-builtins.cc
! 147c5cffb4b08f3331ffc7c3cbe7f46b  gcc/d/d-codegen.cc
! 54821d0af588a195886517c11d8bd56e  gcc/d/d-convert.cc
  d28fabe5b976c23bdf1cb17b87873b24  gcc/d/d-diagnostic.cc
! 1eb3a388d0b763c5eec695e32c52f880  gcc/d/d-frontend.cc
  92d620d19499c3fea1af9338880ec5e1  gcc/d/d-incpath.cc
! 2cfceac12d5663b336b81da6633d727f  gcc/d/d-lang.cc
  6b120c503825b655d9315eec8f551cf4  gcc/d/d-longdouble.cc
! e90ea3893ec2da1ded77a73b6a54523a  gcc/d/d-spec.cc
  05979a29d8188b2d12dcf7361c3860d5  gcc/d/d-system.h
  c9c75df86a1921452fb7c3eb350db276  gcc/d/d-target-def.h
  d0a0c2bc7c06459b08cd025c803e144c  gcc/d/d-target.cc
  9e30c52dece5da61a2b4dfe26592cc76  gcc/d/d-target.def
  1fd2383d1f8225d05edf96130962589a  gcc/d/d-target.h
  8742f99d0b7e9cec2d3d8f3d76586d03  gcc/d/d-tree.def
! c5de05279f80ac9d5d57a6f5f6504ae9  gcc/d/d-tree.h
! bb36302de3c82cb186cb972fe09318f7  gcc/d/decl.cc
  7b8a15b57af82e7b2d9f7e22541816b8  gcc/d/dmd/MERGE
  094ef829e65f40de6ff4b765b3ca0aba  gcc/d/dmd/access.c
  b937792954f9b87f37b759945c1b548d  gcc/d/dmd/aggregate.h
--- 4601,4623 ----
  426254b45d40584d0597c63f3fd1f889  gcc/d/README.gcc
  3889f613443f83466de11879583c7c56  gcc/d/config-lang.in
  ab1805e6fbeca12694e48ad5647cf75f  gcc/d/d-attribs.cc
! 7204ee4680c9705922b2b4991e37507d  gcc/d/d-builtins.cc
! 96a8446ad503827555e74bf2802eb1f5  gcc/d/d-codegen.cc
! 7c3db9a1a90f7346ae276dfecb531b15  gcc/d/d-convert.cc
  d28fabe5b976c23bdf1cb17b87873b24  gcc/d/d-diagnostic.cc
! cf87c440d46f746c93b1cb83b0a8c67d  gcc/d/d-frontend.cc
  92d620d19499c3fea1af9338880ec5e1  gcc/d/d-incpath.cc
! 958036593810b2a0a1e5f477bda43215  gcc/d/d-lang.cc
  6b120c503825b655d9315eec8f551cf4  gcc/d/d-longdouble.cc
! f8aece8c3f98bfab7d559134cbc7e5f2  gcc/d/d-spec.cc
  05979a29d8188b2d12dcf7361c3860d5  gcc/d/d-system.h
  c9c75df86a1921452fb7c3eb350db276  gcc/d/d-target-def.h
  d0a0c2bc7c06459b08cd025c803e144c  gcc/d/d-target.cc
  9e30c52dece5da61a2b4dfe26592cc76  gcc/d/d-target.def
  1fd2383d1f8225d05edf96130962589a  gcc/d/d-target.h
  8742f99d0b7e9cec2d3d8f3d76586d03  gcc/d/d-tree.def
! 1dc3965f78929e8f6073bb2ca562075a  gcc/d/d-tree.h
! a440aefb5f9a90c39ca529c670dcdb79  gcc/d/decl.cc
  7b8a15b57af82e7b2d9f7e22541816b8  gcc/d/dmd/MERGE
  094ef829e65f40de6ff4b765b3ca0aba  gcc/d/dmd/access.c
  b937792954f9b87f37b759945c1b548d  gcc/d/dmd/aggregate.h
*************** b3601d5b994054853b715fff03bad6ce  gcc/d/
*** 4637,4643 ****
  0aad426af143096c5c7c1982288ec1c1  gcc/d/dmd/cppmangle.c
  d6532d0f561d63f9672705445e9dde50  gcc/d/dmd/ctfe.h
  c62fa9f184ac63731400621fbd22151f  gcc/d/dmd/ctfeexpr.c
! b0076f51e79d7b18fff3eefe2add9c4f  gcc/d/dmd/dcast.c
  b7b59b8b92be756ab8ba36cc2763024b  gcc/d/dmd/dclass.c
  15816f2a13a336a8423ff965cbd9e629  gcc/d/dmd/declaration.c
  3c5de70c957e27a2489506027caa67f7  gcc/d/dmd/declaration.h
--- 4641,4647 ----
  0aad426af143096c5c7c1982288ec1c1  gcc/d/dmd/cppmangle.c
  d6532d0f561d63f9672705445e9dde50  gcc/d/dmd/ctfe.h
  c62fa9f184ac63731400621fbd22151f  gcc/d/dmd/ctfeexpr.c
! 2bb61ba407e66eff2580e0d5668d5580  gcc/d/dmd/dcast.c
  b7b59b8b92be756ab8ba36cc2763024b  gcc/d/dmd/dclass.c
  15816f2a13a336a8423ff965cbd9e629  gcc/d/dmd/declaration.c
  3c5de70c957e27a2489506027caa67f7  gcc/d/dmd/declaration.h
*************** f69a19e34a9f63afd02b76eb1b84cc68  gcc/d/
*** 4660,4669 ****
  c6f02113251e440cbb35240ec47dbb6f  gcc/d/dmd/enum.h
  b51bf064e22dde0a02049ba02cfc1c3b  gcc/d/dmd/errors.h
  8966a99836d97acba39cd471926927c6  gcc/d/dmd/escape.c
! d77d52763aecd377905269f2bd7c2182  gcc/d/dmd/expression.c
  a9a79d7a78bb0fdf043a429b21cd4d87  gcc/d/dmd/expression.h
! 78e240c472a4bae5ca22ab06f0cb1615  gcc/d/dmd/expressionsem.c
! 948782708694753b9fa5597c9fccc644  gcc/d/dmd/func.c
  cde112db136fdefee83d87dd156d9c87  gcc/d/dmd/globals.h
  b4daf38366e52619e9ff08ce1afd82f0  gcc/d/dmd/hdrgen.c
  2a9c3a3fc7a48af7f0e406c439488e76  gcc/d/dmd/hdrgen.h
--- 4664,4673 ----
  c6f02113251e440cbb35240ec47dbb6f  gcc/d/dmd/enum.h
  b51bf064e22dde0a02049ba02cfc1c3b  gcc/d/dmd/errors.h
  8966a99836d97acba39cd471926927c6  gcc/d/dmd/escape.c
! b568cf1cc445d47a99348e0a1c37ecd0  gcc/d/dmd/expression.c
  a9a79d7a78bb0fdf043a429b21cd4d87  gcc/d/dmd/expression.h
! 374ab14926758ac9e2450a7d09128b08  gcc/d/dmd/expressionsem.c
! 46d9f39de123b3ddc6ccb1df6d980a98  gcc/d/dmd/func.c
  cde112db136fdefee83d87dd156d9c87  gcc/d/dmd/globals.h
  b4daf38366e52619e9ff08ce1afd82f0  gcc/d/dmd/hdrgen.c
  2a9c3a3fc7a48af7f0e406c439488e76  gcc/d/dmd/hdrgen.h
*************** aa27fa9fcab046604292cc23e32920aa  gcc/d/
*** 4688,4694 ****
  3a5e02b34a70c25dca7c038ede27c96f  gcc/d/dmd/mangle.h
  24d743d1eec9c6f5c9f25e00ee87737e  gcc/d/dmd/mars.h
  a6d66a9f48c681f23e87401f58bf7639  gcc/d/dmd/module.h
! 0bc1f74bd3d9b1d6e335786bb254969b  gcc/d/dmd/mtype.c
  9ede8dec31c412ffce09bf3bd6f6a34b  gcc/d/dmd/mtype.h
  cb8d9d9bfab84ac59a0b018752f2f899  gcc/d/dmd/nogc.c
  885902ace75746551ea90ae607e0ddf7  gcc/d/dmd/nspace.c
--- 4692,4698 ----
  3a5e02b34a70c25dca7c038ede27c96f  gcc/d/dmd/mangle.h
  24d743d1eec9c6f5c9f25e00ee87737e  gcc/d/dmd/mars.h
  a6d66a9f48c681f23e87401f58bf7639  gcc/d/dmd/module.h
! 3f9387a47f1d725c0f2c6dfc64967938  gcc/d/dmd/mtype.c
  9ede8dec31c412ffce09bf3bd6f6a34b  gcc/d/dmd/mtype.h
  cb8d9d9bfab84ac59a0b018752f2f899  gcc/d/dmd/nogc.c
  885902ace75746551ea90ae607e0ddf7  gcc/d/dmd/nspace.c
*************** b6b97848ff841c2ba786e35a155e7969  gcc/d/
*** 4746,4752 ****
  892df329899d0581aea17c5742a9652a  gcc/d/dmd/utils.c
  a8f7c4f694d68924d68d98d7d2c17d09  gcc/d/dmd/version.h
  eb8cc8d6ae9048b5633808e6015aa7fc  gcc/d/dmd/visitor.h
! b4439e3821f021ed3d3cb6fd899c654b  gcc/d/expr.cc
  01b1cb421cd94409f091da7563b64a84  gcc/d/gdc.texi
  fd0c735ed74be69fb3d5386c8979fc76  gcc/d/imports.cc
  7b8e910764002fc09929920495466648  gcc/d/intrinsics.cc
--- 4750,4756 ----
  892df329899d0581aea17c5742a9652a  gcc/d/dmd/utils.c
  a8f7c4f694d68924d68d98d7d2c17d09  gcc/d/dmd/version.h
  eb8cc8d6ae9048b5633808e6015aa7fc  gcc/d/dmd/visitor.h
! 65c53264dfcaabef38e7ded8b151a7f3  gcc/d/expr.cc
  01b1cb421cd94409f091da7563b64a84  gcc/d/gdc.texi
  fd0c735ed74be69fb3d5386c8979fc76  gcc/d/imports.cc
  7b8e910764002fc09929920495466648  gcc/d/intrinsics.cc
*************** fd0c735ed74be69fb3d5386c8979fc76  gcc/d/
*** 4758,4764 ****
  8e37c551277e43140b32e55184ade1cb  gcc/d/runtime.cc
  beee6605ebcd87c9e5d21533727dc99b  gcc/d/runtime.def
  b0ae361e15a3935005ce7693a750c0d9  gcc/d/toir.cc
! ca7302c4530954c9b1fe2a624dc7b052  gcc/d/typeinfo.cc
  bc669363a46031847ec11f9917d0f791  gcc/d/types.cc
  ffe6cb4083340e61aa80419c3ac2f84a  gcc/d/verstr.h
  f255eec311a31715362516286c3c0d1e  gcc/data-streamer-in.c
--- 4762,4768 ----
  8e37c551277e43140b32e55184ade1cb  gcc/d/runtime.cc
  beee6605ebcd87c9e5d21533727dc99b  gcc/d/runtime.def
  b0ae361e15a3935005ce7693a750c0d9  gcc/d/toir.cc
! 0492c2b137d3da5147cfdc02418f5b85  gcc/d/typeinfo.cc
  bc669363a46031847ec11f9917d0f791  gcc/d/types.cc
  ffe6cb4083340e61aa80419c3ac2f84a  gcc/d/verstr.h
  f255eec311a31715362516286c3c0d1e  gcc/data-streamer-in.c
*************** f61fe8bd99c6a1ee739116e65817e9d4  gcc/do
*** 4800,4806 ****
  7b7190fbddc8b4e564f4ae2123abd2a8  gcc/doc/configterms.texi
  60795d196c8261eb7d710f4bbdf5b015  gcc/doc/contrib.texi
  c6b2e96df83a0ae7111453ccafa54bd5  gcc/doc/contribute.texi
! 37ddcd0322cdfcc3484325b3a62d35fc  gcc/doc/cpp.1
  4851bbb23c3348de1de4987f269ef888  gcc/doc/cpp.info
  154157aaad20b7dd5dc93e07aaa69dde  gcc/doc/cpp.texi
  b5148df3818448706f2b184a97174cad  gcc/doc/cppdiropts.texi
--- 4804,4810 ----
  7b7190fbddc8b4e564f4ae2123abd2a8  gcc/doc/configterms.texi
  60795d196c8261eb7d710f4bbdf5b015  gcc/doc/contrib.texi
  c6b2e96df83a0ae7111453ccafa54bd5  gcc/doc/contribute.texi
! 240f3c76fe1b1f7c77ce5f905cd204c7  gcc/doc/cpp.1
  4851bbb23c3348de1de4987f269ef888  gcc/doc/cpp.info
  154157aaad20b7dd5dc93e07aaa69dde  gcc/doc/cpp.texi
  b5148df3818448706f2b184a97174cad  gcc/doc/cppdiropts.texi
*************** f7bb9ac1b5dae60734555eca90a141ca  gcc/do
*** 4812,4837 ****
  5ddf7c316ac36a168376638128450af1  gcc/doc/extend.texi
  9847a0b4ecac8bf01bc1390013fa25f1  gcc/doc/fragments.texi
  c6bd1ed9265f37784faebba05d829a4f  gcc/doc/frontends.texi
! 7fc64ee768900f57ce0be6c8e6619d8b  gcc/doc/fsf-funding.7
! 295b4a989e615c9210f44b52b881a2a8  gcc/doc/g++.1
! 295b4a989e615c9210f44b52b881a2a8  gcc/doc/gcc.1
! 77446cb197e8e32dd5c0d9f6a99541e0  gcc/doc/gcc.info
  e49f40ab3091f625cf3ed09bbd005483  gcc/doc/gcc.texi
  b41fcdcd779f4ddd344db2bcb161e191  gcc/doc/gccinstall.info
! cb4bec6e4a402db960a3ef6c1e304a5c  gcc/doc/gccint.info
  b71c697ca91f3744177b1504dd26599c  gcc/doc/gccint.texi
! 3e344e02c5eb8ca85b4e6c7b38333886  gcc/doc/gcov-dump.1
  8a2e1271edd73ce818e66d7603a38736  gcc/doc/gcov-dump.texi
! 13217ff4acf964f3bdcb9fe678067a73  gcc/doc/gcov-tool.1
  c8c5612b4f78f5bbbb9094c3ce76017f  gcc/doc/gcov-tool.texi
! 199b07d99c1cc70557854d4c1b8aea44  gcc/doc/gcov.1
  4b1362331fe06b615478dd02a6a38525  gcc/doc/gcov.texi
  a3b1af463ddc14719f053f2825afcd86  gcc/doc/generic.texi
! d36126d51b4b151c58d2211d04b1f14a  gcc/doc/gfdl.7
! 76ca9617144830be5d5c11f2538c8744  gcc/doc/gfortran.1
  0162e7820af2a1b1c5ded204215ac77b  gcc/doc/gimple.texi
  290370669f02bef1502ada9273e5261f  gcc/doc/gnu.texi
! c9d589069f2400d282960c1ec96634cb  gcc/doc/gpl.7
  dd066b0630411d8431ab6142fd30bbaf  gcc/doc/gty.texi
  706dcee8b5b7d645197a197c3ef0764d  gcc/doc/headerdirs.texi
  11553023c3bbd45ec05788fcb50553d0  gcc/doc/hostconfig.texi
--- 4816,4841 ----
  5ddf7c316ac36a168376638128450af1  gcc/doc/extend.texi
  9847a0b4ecac8bf01bc1390013fa25f1  gcc/doc/fragments.texi
  c6bd1ed9265f37784faebba05d829a4f  gcc/doc/frontends.texi
! 30f7a1b94e554e79bc804a66b0bec0d2  gcc/doc/fsf-funding.7
! d228d7f00f3e0b959d1bc8be77cab8d9  gcc/doc/g++.1
! d228d7f00f3e0b959d1bc8be77cab8d9  gcc/doc/gcc.1
! 1d6f825e341dbbffd3b4d096ee919e1d  gcc/doc/gcc.info
  e49f40ab3091f625cf3ed09bbd005483  gcc/doc/gcc.texi
  b41fcdcd779f4ddd344db2bcb161e191  gcc/doc/gccinstall.info
! b74e61f2882531df4b242303925c77eb  gcc/doc/gccint.info
  b71c697ca91f3744177b1504dd26599c  gcc/doc/gccint.texi
! 204a6b3621c2d371e88cabddf298006e  gcc/doc/gcov-dump.1
  8a2e1271edd73ce818e66d7603a38736  gcc/doc/gcov-dump.texi
! a301996aba6fa56986fc0d9196e86ceb  gcc/doc/gcov-tool.1
  c8c5612b4f78f5bbbb9094c3ce76017f  gcc/doc/gcov-tool.texi
! 3d2a7156a7942ee3d59ee985232e27a9  gcc/doc/gcov.1
  4b1362331fe06b615478dd02a6a38525  gcc/doc/gcov.texi
  a3b1af463ddc14719f053f2825afcd86  gcc/doc/generic.texi
! 99eaed4f70411bf32431b7047b09a2ec  gcc/doc/gfdl.7
! b6622288128874c94da600ee41a7775d  gcc/doc/gfortran.1
  0162e7820af2a1b1c5ded204215ac77b  gcc/doc/gimple.texi
  290370669f02bef1502ada9273e5261f  gcc/doc/gnu.texi
! 148ea0348da57d58a4e8f1c49fbf1494  gcc/doc/gpl.7
  dd066b0630411d8431ab6142fd30bbaf  gcc/doc/gty.texi
  706dcee8b5b7d645197a197c3ef0764d  gcc/doc/headerdirs.texi
  11553023c3bbd45ec05788fcb50553d0  gcc/doc/hostconfig.texi
*************** f525208b1949ff445fb4a894794e8e05  gcc/do
*** 4846,4852 ****
  2ca7887a1423e623be92b018be89ea50  gcc/doc/install.texi
  0f558b94d69d2b1452bc739b3d8712de  gcc/doc/install.texi2html
  ba0abad9116562664f5e8ea17d3cec7e  gcc/doc/interface.texi
! d4dc54e4c718a9bcc2a66b5f506f78b7  gcc/doc/invoke.texi
  096755dfefc05752e3fd09c84b9632a8  gcc/doc/languages.texi
  7ca1cfbc8d0459fc45e1a53008bd1259  gcc/doc/libgcc.texi
  d690c5f97dbd9a2c12aed96a27abfdc2  gcc/doc/loop.texi
--- 4850,4856 ----
  2ca7887a1423e623be92b018be89ea50  gcc/doc/install.texi
  0f558b94d69d2b1452bc739b3d8712de  gcc/doc/install.texi2html
  ba0abad9116562664f5e8ea17d3cec7e  gcc/doc/interface.texi
! 8df12933d3fc3dc21e626455f825250a  gcc/doc/invoke.texi
  096755dfefc05752e3fd09c84b9632a8  gcc/doc/languages.texi
  7ca1cfbc8d0459fc45e1a53008bd1259  gcc/doc/libgcc.texi
  d690c5f97dbd9a2c12aed96a27abfdc2  gcc/doc/loop.texi
*************** d4270ca62e1fd1bc375d642b6778aac9  gcc/do
*** 4868,4874 ****
  9feb632829443d31779f25ba8b4e7a10  gcc/doc/tm.texi
  9e38175d09d245fafa478e93e572c758  gcc/doc/tm.texi.in
  e6ec84f0b2ef9864fb6a5f7c4237676e  gcc/doc/tree-ssa.texi
! 4baeee2a1d4a38edb2074402a1eb8f54  gcc/doc/trouble.texi
  1d02ff36adff241a5a2b156424bae7ac  gcc/doc/ux.texi
  6c97372a81a4be1d1b6b66ebe199e32e  gcc/dojump.c
  4c299b4e4171fe13330d9f38323e1466  gcc/dojump.h
--- 4872,4878 ----
  9feb632829443d31779f25ba8b4e7a10  gcc/doc/tm.texi
  9e38175d09d245fafa478e93e572c758  gcc/doc/tm.texi.in
  e6ec84f0b2ef9864fb6a5f7c4237676e  gcc/doc/tree-ssa.texi
! 745087f55e5bcdda3ee437c56757fe83  gcc/doc/trouble.texi
  1d02ff36adff241a5a2b156424bae7ac  gcc/doc/ux.texi
  6c97372a81a4be1d1b6b66ebe199e32e  gcc/dojump.c
  4c299b4e4171fe13330d9f38323e1466  gcc/dojump.h
*************** ac8212e5149b4a43b5514799717c12e8  gcc/du
*** 4885,4891 ****
  b427cf7950620d2efb54a542b24a040a  gcc/dwarf2asm.c
  3a904ab05dda79aabc42b47af11cd1d7  gcc/dwarf2asm.h
  a9f35cced7de4e4644ff031b2c628a51  gcc/dwarf2cfi.c
! c022e3f70f328b1554000540d0372854  gcc/dwarf2out.c
  6c3040feb62413d91fa5af20e6be80b6  gcc/dwarf2out.h
  1cffa50733686702bdc12a1523e57464  gcc/early-remat.c
  084ecabdaf2905b82436533aaaf0b94b  gcc/edit-context.c
--- 4889,4895 ----
  b427cf7950620d2efb54a542b24a040a  gcc/dwarf2asm.c
  3a904ab05dda79aabc42b47af11cd1d7  gcc/dwarf2asm.h
  a9f35cced7de4e4644ff031b2c628a51  gcc/dwarf2cfi.c
! 7186d835f3aac4d5f512e33356b59e8e  gcc/dwarf2out.c
  6c3040feb62413d91fa5af20e6be80b6  gcc/dwarf2out.h
  1cffa50733686702bdc12a1523e57464  gcc/early-remat.c
  084ecabdaf2905b82436533aaaf0b94b  gcc/edit-context.c
*************** e3dbcca9faf05cdec97b81b92a0193e0  gcc/ex
*** 4901,4909 ****
  c57c11af41129f87aaf9a8eec7c5b614  gcc/exec-tool.in
  433c0a7e4b3b6fe4be1bffe126a6746f  gcc/explow.c
  d445c1bb97b86f76c7530964bc3ac62e  gcc/explow.h
! 9e42368c6ef6e6190741d4abeb9367ca  gcc/expmed.c
  9ff2927efa2e1a0e55558021c26390b5  gcc/expmed.h
! 6d3231d98a69b222d37d5bb759ac4da4  gcc/expr.c
  22a1b040a029cec71713c858072c2d14  gcc/expr.h
  2af4795d4868f3b0a341a1b9899dfafd  gcc/fibonacci_heap.c
  8ffbe05bee20e34a768cf6eaec0d5901  gcc/fibonacci_heap.h
--- 4905,4913 ----
  c57c11af41129f87aaf9a8eec7c5b614  gcc/exec-tool.in
  433c0a7e4b3b6fe4be1bffe126a6746f  gcc/explow.c
  d445c1bb97b86f76c7530964bc3ac62e  gcc/explow.h
! ca9f4b7f66bd47fbb2ccd4be159e6803  gcc/expmed.c
  9ff2927efa2e1a0e55558021c26390b5  gcc/expmed.h
! c73eb775825644d54c6c38a56b03e456  gcc/expr.c
  22a1b040a029cec71713c858072c2d14  gcc/expr.h
  2af4795d4868f3b0a341a1b9899dfafd  gcc/fibonacci_heap.c
  8ffbe05bee20e34a768cf6eaec0d5901  gcc/fibonacci_heap.h
*************** e4b447e1be275c2eb7ef7a53fff39820  gcc/fi
*** 4918,4926 ****
  2245c6ff80a16a793e9b5348de6e91f8  gcc/flags.h
  62ab96e4969839c0d49207c84e167bdb  gcc/fold-const-call.c
  6d7b5c94cd6a5d83f71696406018c0a3  gcc/fold-const-call.h
! afd7978173bbcee689518c68d7eb5087  gcc/fold-const.c
  a1a5b70d2d5210db75df2a17bc70430e  gcc/fold-const.h
! 336b6a02b76affde67f01c0268a83e88  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
--- 4922,4930 ----
  2245c6ff80a16a793e9b5348de6e91f8  gcc/flags.h
  62ab96e4969839c0d49207c84e167bdb  gcc/fold-const-call.c
  6d7b5c94cd6a5d83f71696406018c0a3  gcc/fold-const-call.h
! cc614b3c15b781bcb0942f61832c2e01  gcc/fold-const.c
  a1a5b70d2d5210db75df2a17bc70430e  gcc/fold-const.h
! 0b3b662ef11fad33a2a245c6946c9815  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
*************** a71efd3e199a80ee07c7f350cc8fcf91  gcc/fo
*** 4942,4951 ****
  f93ce4ff63aa482acfbf5a258406caf4  gcc/fortran/Make-lang.in
  88530577751506e8debcf03819287351  gcc/fortran/arith.c
  6690836eb720015b7835e95cd989703d  gcc/fortran/arith.h
! eb8b022ff1980d33a6f9e0593f6ff632  gcc/fortran/array.c
  05d16522c697cac97b84b91201171e02  gcc/fortran/bbt.c
! acd084a3cffd2ca6c5626009e9ca0893  gcc/fortran/check.c
! 7f6b70584c3de7f0bb181eea8953f11b  gcc/fortran/class.c
  0e917b3713317f87e6dc15b1ad750f62  gcc/fortran/config-lang.in
  2eee8a4a70686c5631dc61c35a89d41c  gcc/fortran/constructor.c
  654703401f8709ab9f4aaa9a8268c9b3  gcc/fortran/constructor.h
--- 4946,4955 ----
  f93ce4ff63aa482acfbf5a258406caf4  gcc/fortran/Make-lang.in
  88530577751506e8debcf03819287351  gcc/fortran/arith.c
  6690836eb720015b7835e95cd989703d  gcc/fortran/arith.h
! 58e0f1716c23d7431e5ab271e092c988  gcc/fortran/array.c
  05d16522c697cac97b84b91201171e02  gcc/fortran/bbt.c
! 218a0c422f4f59084052cfd5d8f1e338  gcc/fortran/check.c
! e8d79ba6e87cc9830201057db9db5997  gcc/fortran/class.c
  0e917b3713317f87e6dc15b1ad750f62  gcc/fortran/config-lang.in
  2eee8a4a70686c5631dc61c35a89d41c  gcc/fortran/constructor.c
  654703401f8709ab9f4aaa9a8268c9b3  gcc/fortran/constructor.h
*************** b59fb0736f3f4578927b040ae8f77938  gcc/fo
*** 4954,4967 ****
  c53510898175a735499a6d352eb16ebb  gcc/fortran/cpp.h
  b0ee88872ed75aabd353d76f0ac45f7e  gcc/fortran/data.c
  713d22369c1f1fcefd7a1679e3fb3b64  gcc/fortran/data.h
! 903f3a85635de85d1c964641c00b523a  gcc/fortran/decl.c
  55c0619e60ea4f3e4f6e7151b4b26ea7  gcc/fortran/dependency.c
  e447ed1c3ad604ee5016b65f79ed4c02  gcc/fortran/dependency.h
  42f3695702ab65892a5c71ad2ba2f725  gcc/fortran/dump-parse-tree.c
  ede6895c89e02d2d9e7349452194899a  gcc/fortran/error.c
! f99bd5cbd7d343fb67b82525802a8ba4  gcc/fortran/expr.c
  4e03cda963b3169c1fbda02df38964e9  gcc/fortran/f95-lang.c
! d9cbd00b50e8e2fe37b41477844274c2  gcc/fortran/frontend-passes.c
  3fd259abb59ef9e6976c0454605afc0e  gcc/fortran/gfc-diagnostic.def
  656bf644425fd5feb9342279fbf284c2  gcc/fortran/gfc-internals.texi
  f6f914dde4fdc4c3c4edeecc034f67ac  gcc/fortran/gfortran.h
--- 4958,4971 ----
  c53510898175a735499a6d352eb16ebb  gcc/fortran/cpp.h
  b0ee88872ed75aabd353d76f0ac45f7e  gcc/fortran/data.c
  713d22369c1f1fcefd7a1679e3fb3b64  gcc/fortran/data.h
! 751dbc052818d56f11fe18b1b608ebec  gcc/fortran/decl.c
  55c0619e60ea4f3e4f6e7151b4b26ea7  gcc/fortran/dependency.c
  e447ed1c3ad604ee5016b65f79ed4c02  gcc/fortran/dependency.h
  42f3695702ab65892a5c71ad2ba2f725  gcc/fortran/dump-parse-tree.c
  ede6895c89e02d2d9e7349452194899a  gcc/fortran/error.c
! dc57e10e6f44d496900da9247263072f  gcc/fortran/expr.c
  4e03cda963b3169c1fbda02df38964e9  gcc/fortran/f95-lang.c
! bc17a9a7efd4bba02a80ae59713dfe4f  gcc/fortran/frontend-passes.c
  3fd259abb59ef9e6976c0454605afc0e  gcc/fortran/gfc-diagnostic.def
  656bf644425fd5feb9342279fbf284c2  gcc/fortran/gfc-internals.texi
  f6f914dde4fdc4c3c4edeecc034f67ac  gcc/fortran/gfortran.h
*************** ff1a6a30a0064bec3ee8d70ee3ff1c2d  gcc/fo
*** 4969,4975 ****
  148c0054609b07ed97a421cdba7fe6e7  gcc/fortran/gfortran.texi
  22e71554f803f8d2e62849b4737c3981  gcc/fortran/gfortranspec.c
  f2f83712b8ba62f5c06e692bcee0fcb0  gcc/fortran/interface.c
! 99914103a79faa3c92ae7dedd56a5f38  gcc/fortran/intrinsic.c
  74c19897e7db71beea588034368e2433  gcc/fortran/intrinsic.h
  10362718ebff50de271d962bdd90ddba  gcc/fortran/intrinsic.texi
  b697f4eb995ff9d18d91f0ac5f265202  gcc/fortran/invoke.texi
--- 4973,4979 ----
  148c0054609b07ed97a421cdba7fe6e7  gcc/fortran/gfortran.texi
  22e71554f803f8d2e62849b4737c3981  gcc/fortran/gfortranspec.c
  f2f83712b8ba62f5c06e692bcee0fcb0  gcc/fortran/interface.c
! 2c9666d1866da891c2a4e073db08dcfa  gcc/fortran/intrinsic.c
  74c19897e7db71beea588034368e2433  gcc/fortran/intrinsic.h
  10362718ebff50de271d962bdd90ddba  gcc/fortran/intrinsic.texi
  b697f4eb995ff9d18d91f0ac5f265202  gcc/fortran/invoke.texi
*************** b963693d98b80d4cfea882998d563e9a  gcc/fo
*** 4989,5018 ****
  9cb0c241e5dd82f5096c2d2f0d7286fc  gcc/fortran/module.c
  8f3165aef2cc1d1f54301fc5dec4e0a3  gcc/fortran/openmp.c
  f095631319d07a3a3936b639e3e1accc  gcc/fortran/options.c
! beb21d7de2d02fb33b13294dc14618e4  gcc/fortran/parse.c
  d1adfddb8878d4805a7fc236b3c20889  gcc/fortran/parse.h
! 84702a60fc8423c4ac2015586bfcc075  gcc/fortran/primary.c
! 28aeddbfa59ee7017b764a75c2b2d77b  gcc/fortran/resolve.c
  9a58a2d73bc89b881362fc2febd07aa8  gcc/fortran/scanner.c
  9dcd63b70743079da9fc354873d59439  gcc/fortran/scanner.h
! 5c93b69b315b45cab78a9c048b34e101  gcc/fortran/simplify.c
  a1f4b55a0b9b527024a4ee138311b639  gcc/fortran/st.c
  284eea56b293637d1d3ad2a60d383bf5  gcc/fortran/symbol.c
  b8dc81d2bb586c45cad96700dac806ac  gcc/fortran/target-memory.c
  cc4a189ff7003dc03b49eeb76a83af99  gcc/fortran/target-memory.h
! a599207ad6c870a4a0e27f982fb6fd2a  gcc/fortran/trans-array.c
  e733e4cead324cb4cde3b4f4fc8d7524  gcc/fortran/trans-array.h
  451a0e174d17bb4b912aa89cb13250ee  gcc/fortran/trans-common.c
  41a1229f5f63123bd9ead09467d00a34  gcc/fortran/trans-const.c
  077cb8eeab5058daa9568ef0fc4a2e14  gcc/fortran/trans-const.h
! 28c6e48c4676fecf9f73f697d9896d3f  gcc/fortran/trans-decl.c
! 2a486b050f1c573198d6c1b9cac7952d  gcc/fortran/trans-expr.c
! 6cf4f62059ca47eda0ca36af99534bed  gcc/fortran/trans-intrinsic.c
  2d979e269fb210ca986be1d64ec08a99  gcc/fortran/trans-io.c
  4fbacc437435c7e0fb558b2d508b69ba  gcc/fortran/trans-openmp.c
! 1e2a8b90cbfedc523c8aa3fb0ed53fb9  gcc/fortran/trans-stmt.c
  10db947b29d97f98aa8af08ddb4b5689  gcc/fortran/trans-stmt.h
! 8f85db9554ba79b3732fd418a08774d7  gcc/fortran/trans-types.c
  c22006170686ea7e7f2a7dd8a4ac0a98  gcc/fortran/trans-types.h
  af26a330b7f6e8e28455ada1fb45c9c8  gcc/fortran/trans.c
  d44407639161acdb2d8873146c1082ae  gcc/fortran/trans.h
--- 4993,5022 ----
  9cb0c241e5dd82f5096c2d2f0d7286fc  gcc/fortran/module.c
  8f3165aef2cc1d1f54301fc5dec4e0a3  gcc/fortran/openmp.c
  f095631319d07a3a3936b639e3e1accc  gcc/fortran/options.c
! e1ab95229794d30843057acffeb0ac14  gcc/fortran/parse.c
  d1adfddb8878d4805a7fc236b3c20889  gcc/fortran/parse.h
! 230f80379ef7a2cf95e61cbd1539942a  gcc/fortran/primary.c
! a512a01c5fd6ec3feb1cbf71e32adfcc  gcc/fortran/resolve.c
  9a58a2d73bc89b881362fc2febd07aa8  gcc/fortran/scanner.c
  9dcd63b70743079da9fc354873d59439  gcc/fortran/scanner.h
! aff0b4f1624d246544670f38965965a3  gcc/fortran/simplify.c
  a1f4b55a0b9b527024a4ee138311b639  gcc/fortran/st.c
  284eea56b293637d1d3ad2a60d383bf5  gcc/fortran/symbol.c
  b8dc81d2bb586c45cad96700dac806ac  gcc/fortran/target-memory.c
  cc4a189ff7003dc03b49eeb76a83af99  gcc/fortran/target-memory.h
! 60deb7f55db67c76be53ad27d1cbb215  gcc/fortran/trans-array.c
  e733e4cead324cb4cde3b4f4fc8d7524  gcc/fortran/trans-array.h
  451a0e174d17bb4b912aa89cb13250ee  gcc/fortran/trans-common.c
  41a1229f5f63123bd9ead09467d00a34  gcc/fortran/trans-const.c
  077cb8eeab5058daa9568ef0fc4a2e14  gcc/fortran/trans-const.h
! 598b413712f5af3a25c314b388e1dc2e  gcc/fortran/trans-decl.c
! 9dd359f9b5096d323419b8894331dbac  gcc/fortran/trans-expr.c
! e0c29d389d6cd18fb881b87abe920b78  gcc/fortran/trans-intrinsic.c
  2d979e269fb210ca986be1d64ec08a99  gcc/fortran/trans-io.c
  4fbacc437435c7e0fb558b2d508b69ba  gcc/fortran/trans-openmp.c
! 10407d29fc56c7033e07fc124fdb1d1f  gcc/fortran/trans-stmt.c
  10db947b29d97f98aa8af08ddb4b5689  gcc/fortran/trans-stmt.h
! 1c1c10fc1fe83e7f283554bfb91b588a  gcc/fortran/trans-types.c
  c22006170686ea7e7f2a7dd8a4ac0a98  gcc/fortran/trans-types.h
  af26a330b7f6e8e28455ada1fb45c9c8  gcc/fortran/trans.c
  d44407639161acdb2d8873146c1082ae  gcc/fortran/trans.h
*************** cda4b49528909fb1792335767f849280  gcc/ge
*** 5063,5069 ****
  84f9f809e1190b730831dbc5dfb85e21  gcc/genextract.c
  74d89bef10f452419493538163fcba6e  gcc/genflags.c
  3f6aa70123bbc2cd7943d1af1bb1c7e6  gcc/gengenrtl.c
! 24e3d661a8d7fa27ebbb18aadc028ab9  gcc/gengtype-lex.c
  d6a5c2c81b9e7185f5cb40d1c5a3387f  gcc/gengtype-lex.l
  ef8a85e16c49cc975ea80e6e4401f6ad  gcc/gengtype-parse.c
  24e7c2757ffbf7927773c712f6788c40  gcc/gengtype-state.c
--- 5067,5073 ----
  84f9f809e1190b730831dbc5dfb85e21  gcc/genextract.c
  74d89bef10f452419493538163fcba6e  gcc/genflags.c
  3f6aa70123bbc2cd7943d1af1bb1c7e6  gcc/gengenrtl.c
! c67466a1d12344b54de8623e925e839f  gcc/gengtype-lex.c
  d6a5c2c81b9e7185f5cb40d1c5a3387f  gcc/gengtype-lex.l
  ef8a85e16c49cc975ea80e6e4401f6ad  gcc/gengtype-parse.c
  24e7c2757ffbf7927773c712f6788c40  gcc/gengtype-state.c
*************** cf7571696e624a579917e310b027f022  gcc/ge
*** 5093,5105 ****
  fe776463982ded0d56be76536ca458ab  gcc/gimple-builder.h
  33cda24a0e46cc4177b621760f46ce2d  gcc/gimple-expr.c
  a026330f3f8e5ac33622b51cdbdf0617  gcc/gimple-expr.h
! 53fa8a03ef6244068bc7b308037f6b92  gcc/gimple-fold.c
  6ca763486e28e598342728afde8faf3d  gcc/gimple-fold.h
  cd8563c27ad3db4bc7c4ea623b39732a  gcc/gimple-iterator.c
  ace1a0d92d6cdd622d3c7bd19303781c  gcc/gimple-iterator.h
  35c24fecb621723d3515631ac4d34547  gcc/gimple-laddress.c
! b3fe8f3f4dc718d48211bbda066c6060  gcc/gimple-loop-interchange.cc
! b62f2be3c07988cd994f1dd2a17300cd  gcc/gimple-loop-jam.c
  0be3abb400bc287133905dc6d8017f05  gcc/gimple-loop-versioning.cc
  73229265187e7cfa0d2e677f837a2566  gcc/gimple-low.c
  5dbc7b9651cef8ed681c4b5d29fc99ce  gcc/gimple-low.h
--- 5097,5109 ----
  fe776463982ded0d56be76536ca458ab  gcc/gimple-builder.h
  33cda24a0e46cc4177b621760f46ce2d  gcc/gimple-expr.c
  a026330f3f8e5ac33622b51cdbdf0617  gcc/gimple-expr.h
! 48daefced1059cbb721f609234bb3f1b  gcc/gimple-fold.c
  6ca763486e28e598342728afde8faf3d  gcc/gimple-fold.h
  cd8563c27ad3db4bc7c4ea623b39732a  gcc/gimple-iterator.c
  ace1a0d92d6cdd622d3c7bd19303781c  gcc/gimple-iterator.h
  35c24fecb621723d3515631ac4d34547  gcc/gimple-laddress.c
! 874a31be7817d0e971c953e4f0fdacb2  gcc/gimple-loop-interchange.cc
! 83aaeb84c5df94bc996f3b53a9aeb385  gcc/gimple-loop-jam.c
  0be3abb400bc287133905dc6d8017f05  gcc/gimple-loop-versioning.cc
  73229265187e7cfa0d2e677f837a2566  gcc/gimple-low.c
  5dbc7b9651cef8ed681c4b5d29fc99ce  gcc/gimple-low.h
*************** fbc9c2b7facb284738bc629308f03977  gcc/gi
*** 5109,5122 ****
  92a8e41ff978aab760401bf3ca4750d0  gcc/gimple-pretty-print.c
  ac273988375794e4c74c31b6b7708221  gcc/gimple-pretty-print.h
  1efbc58ae5a07d02cd36f745a82ac28f  gcc/gimple-ssa-backprop.c
! ec48323c7e1ca800d4ec509f45ad7877  gcc/gimple-ssa-evrp-analyze.c
  cb280fc50fdfd0553959dbd58ae4855b  gcc/gimple-ssa-evrp-analyze.h
  f394080b854aa7af57231ab0644a2654  gcc/gimple-ssa-evrp.c
  b2ca5aefc1483eac5180b94247ab87f4  gcc/gimple-ssa-isolate-paths.c
  8f9800879105df9af7d2e9a0ff7c54af  gcc/gimple-ssa-nonnull-compare.c
  693f943c67f155aa5b93be1928d0670b  gcc/gimple-ssa-split-paths.c
  8df73dc6abf181e8b2177e62880750ff  gcc/gimple-ssa-sprintf.c
! 9954c9dda6d9a5166cdd2eb915d5234e  gcc/gimple-ssa-store-merging.c
  8cb08b09a37b794a52d31195a2d7e325  gcc/gimple-ssa-strength-reduction.c
  4cc96ae538fa8489e02efccf68c3e316  gcc/gimple-ssa-warn-alloca.c
  89f060b6731dca618debd6520665e51a  gcc/gimple-ssa-warn-restrict.c
--- 5113,5126 ----
  92a8e41ff978aab760401bf3ca4750d0  gcc/gimple-pretty-print.c
  ac273988375794e4c74c31b6b7708221  gcc/gimple-pretty-print.h
  1efbc58ae5a07d02cd36f745a82ac28f  gcc/gimple-ssa-backprop.c
! 2b087c52f7a10605a8b3f5330d3810a9  gcc/gimple-ssa-evrp-analyze.c
  cb280fc50fdfd0553959dbd58ae4855b  gcc/gimple-ssa-evrp-analyze.h
  f394080b854aa7af57231ab0644a2654  gcc/gimple-ssa-evrp.c
  b2ca5aefc1483eac5180b94247ab87f4  gcc/gimple-ssa-isolate-paths.c
  8f9800879105df9af7d2e9a0ff7c54af  gcc/gimple-ssa-nonnull-compare.c
  693f943c67f155aa5b93be1928d0670b  gcc/gimple-ssa-split-paths.c
  8df73dc6abf181e8b2177e62880750ff  gcc/gimple-ssa-sprintf.c
! f4636300d84d73d96c3a3f89de7f2d17  gcc/gimple-ssa-store-merging.c
  8cb08b09a37b794a52d31195a2d7e325  gcc/gimple-ssa-strength-reduction.c
  4cc96ae538fa8489e02efccf68c3e316  gcc/gimple-ssa-warn-alloca.c
  89f060b6731dca618debd6520665e51a  gcc/gimple-ssa-warn-restrict.c
*************** efba4f60d77659f0b4e126b3894344af  gcc/gi
*** 5132,5138 ****
  398d13e61baf9570b3ccb3318454180c  gcc/gimple.h
  49c11f744d31cc41069cc45dbba1bc25  gcc/gimplify-me.c
  43fa6e5094c93aad8036a14d8ac60e20  gcc/gimplify-me.h
! be0b0609714fe07145e47ba88217b940  gcc/gimplify.c
  c6c0510b3e23b740d9a289269fda55b9  gcc/gimplify.h
  87ed659d26854a1857ea25b6233dd522  gcc/ginclude/float.h
  8840798a3cd9f1606a7a0d1ef178904d  gcc/ginclude/iso646.h
--- 5136,5142 ----
  398d13e61baf9570b3ccb3318454180c  gcc/gimple.h
  49c11f744d31cc41069cc45dbba1bc25  gcc/gimplify-me.c
  43fa6e5094c93aad8036a14d8ac60e20  gcc/gimplify-me.h
! c2dfa0473ab67654d0ca9e78b5a3a0fa  gcc/gimplify.c
  c6c0510b3e23b740d9a289269fda55b9  gcc/gimplify.h
  87ed659d26854a1857ea25b6233dd522  gcc/ginclude/float.h
  8840798a3cd9f1606a7a0d1ef178904d  gcc/ginclude/iso646.h
*************** ad51c6dce046c56b6a8e5d6ac922150b  gcc/gi
*** 5149,5155 ****
  e7c24451311a3e2059da9b3e5233e549  gcc/ginclude/unwind-arm-common.h
  8d9ecf0d6ef93c79623ce1d27a32a2cb  gcc/ginclude/varargs.h
  d1d7a18eab357274c98cfeb68fb7577f  gcc/glimits.h
! 9ca02c8452dc59c982a659baf4bb1c35  gcc/go/ChangeLog
  5dd2a0d1adf4b7075e03ae31c64bfc47  gcc/go/Make-lang.in
  60ea054548c83c7f66170073f9f3e74c  gcc/go/README.gcc
  4ce687ab1f7ff58da47bb2be300ecad5  gcc/go/config-lang.in
--- 5153,5159 ----
  e7c24451311a3e2059da9b3e5233e549  gcc/ginclude/unwind-arm-common.h
  8d9ecf0d6ef93c79623ce1d27a32a2cb  gcc/ginclude/varargs.h
  d1d7a18eab357274c98cfeb68fb7577f  gcc/glimits.h
! ccd813cbeba3ee44fbb98dbce2ca303e  gcc/go/ChangeLog
  5dd2a0d1adf4b7075e03ae31c64bfc47  gcc/go/Make-lang.in
  60ea054548c83c7f66170073f9f3e74c  gcc/go/README.gcc
  4ce687ab1f7ff58da47bb2be300ecad5  gcc/go/config-lang.in
*************** ed53ca6bc3a0a838c57fc17993eb8af2  gcc/go
*** 5212,5218 ****
  c002bbe4869c7b9f5d21cf0b80661ed2  gcc/go/gospec.c
  cc8e4ac44a4de29ab7c0c5cd5ac14ad6  gcc/go/lang-specs.h
  89a0dd56d751c67530f868ed41a2dbff  gcc/go/lang.opt
! 4577e978d5767139b583d816f6c2e628  gcc/godump.c
  c90b0f7c7777b60ef91b68f48966089c  gcc/graph.c
  a47ca772697121d45ad30003353f2032  gcc/graph.h
  0a5dab60b08349bb46fd5038da337878  gcc/graphds.c
--- 5216,5222 ----
  c002bbe4869c7b9f5d21cf0b80661ed2  gcc/go/gospec.c
  cc8e4ac44a4de29ab7c0c5cd5ac14ad6  gcc/go/lang-specs.h
  89a0dd56d751c67530f868ed41a2dbff  gcc/go/lang.opt
! 5b682ee6f7179c24312d1f52829498f3  gcc/godump.c
  c90b0f7c7777b60ef91b68f48966089c  gcc/graph.c
  a47ca772697121d45ad30003353f2032  gcc/graph.h
  0a5dab60b08349bb46fd5038da337878  gcc/graphds.c
*************** ca68a25a64c559f7a41e3525eca09b6c  gcc/hs
*** 5258,5264 ****
  36e846e182394495f94f883cf72cfcbe  gcc/hw-doloop.h
  e1769f5a4a468c7cfe22f78e573e45cb  gcc/hwint.c
  6460d7e3864468adcae22abc91ed4cdf  gcc/hwint.h
! 19e24ff7bfa51d98730583f0fa8c056b  gcc/ifcvt.c
  9a9e1c3da1f366dc16b8b8e5818e14f1  gcc/ifcvt.h
  533dfd905c4894e5f16acfb8845cfbd3  gcc/inchash.c
  ce434b387c488566f9ebd9e0fae8de7d  gcc/inchash.h
--- 5262,5268 ----
  36e846e182394495f94f883cf72cfcbe  gcc/hw-doloop.h
  e1769f5a4a468c7cfe22f78e573e45cb  gcc/hwint.c
  6460d7e3864468adcae22abc91ed4cdf  gcc/hwint.h
! 93ecb2d59b40f779a77aacb384016d70  gcc/ifcvt.c
  9a9e1c3da1f366dc16b8b8e5818e14f1  gcc/ifcvt.h
  533dfd905c4894e5f16acfb8845cfbd3  gcc/inchash.c
  ce434b387c488566f9ebd9e0fae8de7d  gcc/inchash.h
*************** b830ed3141b82cd7d738c9e1625d3877  gcc/in
*** 5278,5284 ****
  0343fae56569bff7d0a1987df3ef21de  gcc/ipa-comdats.c
  2884e52eff1df01dd5f09b2dfa19e12a  gcc/ipa-cp.c
  7a7d98ba684c181322e5a4b8f25c8a90  gcc/ipa-devirt.c
! 707034fa2339aa0a74196f27400ed261  gcc/ipa-fnsummary.c
  b231d101383c784df13b08fb9d507308  gcc/ipa-fnsummary.h
  fb40952a6ce3b62999d6ce91032348fd  gcc/ipa-hsa.c
  7c489ca8cae37ce214f15f55e27d0593  gcc/ipa-icf-gimple.c
--- 5282,5288 ----
  0343fae56569bff7d0a1987df3ef21de  gcc/ipa-comdats.c
  2884e52eff1df01dd5f09b2dfa19e12a  gcc/ipa-cp.c
  7a7d98ba684c181322e5a4b8f25c8a90  gcc/ipa-devirt.c
! ea3c36ad447b881f8d2d70536e3109ef  gcc/ipa-fnsummary.c
  b231d101383c784df13b08fb9d507308  gcc/ipa-fnsummary.h
  fb40952a6ce3b62999d6ce91032348fd  gcc/ipa-hsa.c
  7c489ca8cae37ce214f15f55e27d0593  gcc/ipa-icf-gimple.c
*************** d9d77a7cd2abda1024391d72afc05523  gcc/ip
*** 5297,5303 ****
  58244d38b306c53757b03fda86970d4c  gcc/ipa-profile.c
  5919f23ec7e8220718bd140684417aa0  gcc/ipa-prop.c
  c3613620c90b32afce8736fa308aaddf  gcc/ipa-prop.h
! 08c163fa101969c638b8529a27b9e3aa  gcc/ipa-pure-const.c
  06f8bbdeab3c11c5d2d7790841b3dbbd  gcc/ipa-ref.c
  6df3ba98ea16de671956223d72a85acf  gcc/ipa-ref.h
  f28dfd8f7308648578d13498523932ca  gcc/ipa-reference.c
--- 5301,5307 ----
  58244d38b306c53757b03fda86970d4c  gcc/ipa-profile.c
  5919f23ec7e8220718bd140684417aa0  gcc/ipa-prop.c
  c3613620c90b32afce8736fa308aaddf  gcc/ipa-prop.h
! bea530223085ff820dee2f9e13c6d796  gcc/ipa-pure-const.c
  06f8bbdeab3c11c5d2d7790841b3dbbd  gcc/ipa-ref.c
  6df3ba98ea16de671956223d72a85acf  gcc/ipa-ref.h
  f28dfd8f7308648578d13498523932ca  gcc/ipa-reference.c
*************** ed8837fcbbe053c18350910f4576cc35  gcc/ir
*** 5317,5323 ****
  f3b2cd197795cb4eded5edb7473fd30f  gcc/ira.c
  21568d492259d37083295ba429e5a425  gcc/ira.h
  0a247958e75cc3f70045797573fbaccb  gcc/is-a.h
! 5d2992e7e35222d989252783fb5ba6dc  gcc/jit/ChangeLog
  6071bdf04fb356c5ac99a99ec00c9a12  gcc/jit/ChangeLog.jit
  1679b6e3887d20d9a2efb258aacbd1e3  gcc/jit/Make-lang.in
  fd0d76b6467c987f813d430a35d4760a  gcc/jit/TODO.rst
--- 5321,5327 ----
  f3b2cd197795cb4eded5edb7473fd30f  gcc/ira.c
  21568d492259d37083295ba429e5a425  gcc/ira.h
  0a247958e75cc3f70045797573fbaccb  gcc/is-a.h
! f2203e84115adc964618584d57412674  gcc/jit/ChangeLog
  6071bdf04fb356c5ac99a99ec00c9a12  gcc/jit/ChangeLog.jit
  1679b6e3887d20d9a2efb258aacbd1e3  gcc/jit/Make-lang.in
  fd0d76b6467c987f813d430a35d4760a  gcc/jit/TODO.rst
*************** d9c04fa3bf5c0ca30e9d33a4a8e4b1ca  gcc/ji
*** 5385,5391 ****
  18da562095be6239287b43e74f66c7d9  gcc/jit/jit-common.h
  1e4be092d0c7bdb354d7ed50a65f6da8  gcc/jit/jit-logging.c
  09a516e8611a3001ce84c8e2c37a3d5d  gcc/jit/jit-logging.h
! 97bcec442b4530d051b11d37901997f1  gcc/jit/jit-playback.c
  b0e6d1bbb09db276debdd989189eba76  gcc/jit/jit-playback.h
  2451361122198b894c2c03c56fddac45  gcc/jit/jit-recording.c
  1ca58d30e190934df92b8f569048cc70  gcc/jit/jit-recording.h
--- 5389,5395 ----
  18da562095be6239287b43e74f66c7d9  gcc/jit/jit-common.h
  1e4be092d0c7bdb354d7ed50a65f6da8  gcc/jit/jit-logging.c
  09a516e8611a3001ce84c8e2c37a3d5d  gcc/jit/jit-logging.h
! b8f2b7538882998301719af1dc3a670b  gcc/jit/jit-playback.c
  b0e6d1bbb09db276debdd989189eba76  gcc/jit/jit-playback.h
  2451361122198b894c2c03c56fddac45  gcc/jit/jit-recording.c
  1ca58d30e190934df92b8f569048cc70  gcc/jit/jit-recording.h
*************** c5ff1afd8ef8c06eabd2c53cf38eab60  gcc/li
*** 5414,5420 ****
  16086d64468975aa4ba54f78d2a7b542  gcc/lock-and-run.sh
  72abe9b3dd40d4d259761d3bf8216b72  gcc/loop-doloop.c
  2c9c1a0c05e2f76a888ece7f4840f586  gcc/loop-init.c
! fb8c8db615bb18ab2e5f20e258f2bd93  gcc/loop-invariant.c
  0a6cf297e218d147312cb0f5260fc382  gcc/loop-iv.c
  d724737212c2ad2b43eccdae2ba8f977  gcc/loop-unroll.c
  a28e34c069154ac89879de0c398e9b52  gcc/loop-unroll.h
--- 5418,5424 ----
  16086d64468975aa4ba54f78d2a7b542  gcc/lock-and-run.sh
  72abe9b3dd40d4d259761d3bf8216b72  gcc/loop-doloop.c
  2c9c1a0c05e2f76a888ece7f4840f586  gcc/loop-init.c
! c2e27b2ad4fcc2c2b3c39668ef7d712a  gcc/loop-invariant.c
  0a6cf297e218d147312cb0f5260fc382  gcc/loop-iv.c
  d724737212c2ad2b43eccdae2ba8f977  gcc/loop-unroll.c
  a28e34c069154ac89879de0c398e9b52  gcc/loop-unroll.h
*************** edd2591e77259d4572bc5fa52c01965c  gcc/lt
*** 5442,5448 ****
  ea9a63d9999a8189268e9406236adac4  gcc/lto-streamer.c
  4d3cfd5139b6d308c5cfbf0fdedcd99d  gcc/lto-streamer.h
  ab210af1df336947f86765ae940e74e5  gcc/lto-wrapper.c
! 5a85180fb8b4abc17d55d641e57f656d  gcc/lto/ChangeLog
  0a760452464b48ac5e71eae9a072c5be  gcc/lto/Make-lang.in
  042176bc09ee78dc5382c75e0e6986dd  gcc/lto/common.c
  610aacfb6af9f3888f48ce742b264326  gcc/lto/common.h
--- 5446,5452 ----
  ea9a63d9999a8189268e9406236adac4  gcc/lto-streamer.c
  4d3cfd5139b6d308c5cfbf0fdedcd99d  gcc/lto-streamer.h
  ab210af1df336947f86765ae940e74e5  gcc/lto-wrapper.c
! 4d35aaa98fc376b52565de2db12cbee0  gcc/lto/ChangeLog
  0a760452464b48ac5e71eae9a072c5be  gcc/lto/Make-lang.in
  042176bc09ee78dc5382c75e0e6986dd  gcc/lto/common.c
  610aacfb6af9f3888f48ce742b264326  gcc/lto/common.h
*************** b77621f7e33a6f67145e9fcb27739ca3  gcc/lt
*** 5461,5467 ****
  cdfc68fbdc83281ea11a0a17fc5fbcd2  gcc/machmode.def
  42f23ead782de538c88f82ea71ff3bcb  gcc/machmode.h
  83dea027e67504ea7b51b60a2bde9d96  gcc/main.c
! fc2cd3b6de8bc2e9c208425da63eaa0f  gcc/match.pd
  5f6448efeb306cf4b441915ac49b6780  gcc/mcf.c
  a02e0e109980581b862198eb814afe94  gcc/mem-stats-traits.h
  7731938c5855f3d8c75ae87b9f92bd3b  gcc/mem-stats.h
--- 5465,5471 ----
  cdfc68fbdc83281ea11a0a17fc5fbcd2  gcc/machmode.def
  42f23ead782de538c88f82ea71ff3bcb  gcc/machmode.h
  83dea027e67504ea7b51b60a2bde9d96  gcc/main.c
! bb19c08320a991535bd8b1cd60c477dd  gcc/match.pd
  5f6448efeb306cf4b441915ac49b6780  gcc/mcf.c
  a02e0e109980581b862198eb814afe94  gcc/mem-stats-traits.h
  7731938c5855f3d8c75ae87b9f92bd3b  gcc/mem-stats.h
*************** b430985133bbb2d1156515bc5d847196  gcc/mo
*** 5473,5479 ****
  350e71f020af88666db17c55c0e66deb  gcc/mode-switching.c
  6b9326ed50f48e429b5d5fd014dca2ed  gcc/modulo-sched.c
  18252d174482fac7521ebbc9f6298f98  gcc/multiple_target.c
! 0e8032a3daee30fd1b27173ffcc721b7  gcc/objc/ChangeLog
  b957c220c88ba0f2c8f46365b3df098b  gcc/objc/Make-lang.in
  4aa09aa70d19e60b57528c684006bc78  gcc/objc/config-lang.in
  ad9e39ae0889f63088c011098dccdae7  gcc/objc/lang-specs.h
--- 5477,5483 ----
  350e71f020af88666db17c55c0e66deb  gcc/mode-switching.c
  6b9326ed50f48e429b5d5fd014dca2ed  gcc/modulo-sched.c
  18252d174482fac7521ebbc9f6298f98  gcc/multiple_target.c
! 983638300a6817a30dd37d4429542aa2  gcc/objc/ChangeLog
  b957c220c88ba0f2c8f46365b3df098b  gcc/objc/Make-lang.in
  4aa09aa70d19e60b57528c684006bc78  gcc/objc/config-lang.in
  ad9e39ae0889f63088c011098dccdae7  gcc/objc/lang-specs.h
*************** da293cad39af11e22641c3c20e98185d  gcc/ob
*** 5492,5498 ****
  7637bb49949015bd1a96412472d6ad33  gcc/objc/objc-runtime-shared-support.c
  b88d8dbb459057d08e2bfc6795c2b9d6  gcc/objc/objc-runtime-shared-support.h
  42012b7a1bcce69478d76aba894ea6df  gcc/objc/objc-tree.def
! 60d0a230a9a04da0af2e754c14a67489  gcc/objcp/ChangeLog
  002dccc4b6cd904aa07783ad3dd26389  gcc/objcp/Make-lang.in
  db38d8ce3bed5cb418fb15b88c359f1c  gcc/objcp/config-lang.in
  e9142f765d98bd6847a7b01f531db273  gcc/objcp/lang-specs.h
--- 5496,5502 ----
  7637bb49949015bd1a96412472d6ad33  gcc/objc/objc-runtime-shared-support.c
  b88d8dbb459057d08e2bfc6795c2b9d6  gcc/objc/objc-runtime-shared-support.h
  42012b7a1bcce69478d76aba894ea6df  gcc/objc/objc-tree.def
! 2488cd74befd6ddede2a246ec2283d16  gcc/objcp/ChangeLog
  002dccc4b6cd904aa07783ad3dd26389  gcc/objcp/Make-lang.in
  db38d8ce3bed5cb418fb15b88c359f1c  gcc/objcp/config-lang.in
  e9142f765d98bd6847a7b01f531db273  gcc/objcp/lang-specs.h
*************** b65ed3137a00381ad36ae192973acb35  gcc/om
*** 5506,5512 ****
  9285a8a3012098d97afbd4fd2fc0b5fc  gcc/omp-general.h
  e7005cd6099db0d8379847938d5a9e89  gcc/omp-grid.c
  88e0dbc1543f1cc02dd20c216f6c5c31  gcc/omp-grid.h
! d3fcd0d0d6b3027924ce58daa2209759  gcc/omp-low.c
  4f601bdff79f47d83afecc62c35cd8f8  gcc/omp-low.h
  54d52698b257f43dc3f27efdd506978d  gcc/omp-offload.c
  2ff7e715ed89e1f7eb89bf9b4c9ca0a8  gcc/omp-offload.h
--- 5510,5516 ----
  9285a8a3012098d97afbd4fd2fc0b5fc  gcc/omp-general.h
  e7005cd6099db0d8379847938d5a9e89  gcc/omp-grid.c
  88e0dbc1543f1cc02dd20c216f6c5c31  gcc/omp-grid.h
! cb205295c6ac068249d809089a629087  gcc/omp-low.c
  4f601bdff79f47d83afecc62c35cd8f8  gcc/omp-low.h
  54d52698b257f43dc3f27efdd506978d  gcc/omp-offload.c
  2ff7e715ed89e1f7eb89bf9b4c9ca0a8  gcc/omp-offload.h
*************** d2a35515483a4a86a9ffcb339e556746  gcc/op
*** 5524,5532 ****
  c39af9e8d83f818c266a53b8b6751630  gcc/optabs-libfuncs.h
  f3e5c1cb5ee8a02c7e2e8209fc88ea85  gcc/optabs-query.c
  bdbea9e383b4076066877aa71c0d2366  gcc/optabs-query.h
! 8fa4dc0fa0f578eb4ffc2bb60627e398  gcc/optabs-tree.c
  30ee144bf56333a1b32b9b029f482a17  gcc/optabs-tree.h
! 5d46d227b87f76723ac5be4f262806e8  gcc/optabs.c
  94f76f231bdbccb14b8cf51635f911e5  gcc/optabs.def
  9f4c21163802095802ef777001a49154  gcc/optabs.h
  614293f5f23a24a7e0343e82abb193b6  gcc/optc-gen.awk
--- 5528,5536 ----
  c39af9e8d83f818c266a53b8b6751630  gcc/optabs-libfuncs.h
  f3e5c1cb5ee8a02c7e2e8209fc88ea85  gcc/optabs-query.c
  bdbea9e383b4076066877aa71c0d2366  gcc/optabs-query.h
! 0e5948908a636992f4c85aac3de2b59e  gcc/optabs-tree.c
  30ee144bf56333a1b32b9b029f482a17  gcc/optabs-tree.h
! 86c8b44ffec6846f8d09d278dba97acb  gcc/optabs.c
  94f76f231bdbccb14b8cf51635f911e5  gcc/optabs.def
  9f4c21163802095802ef777001a49154  gcc/optabs.h
  614293f5f23a24a7e0343e82abb193b6  gcc/optc-gen.awk
*************** f879f40369fe5cc37da2c38955f4c6fd  gcc/pa
*** 5554,5560 ****
  fd818d3d720bafdfaa7770d5fac2d3a0  gcc/plugin.c
  1fa9106368c8f95cc930e11b6a3ce4b6  gcc/plugin.def
  50ec79e5308c5537ef9876bdb3e3e9bb  gcc/plugin.h
! c4b92ca4b971df7f9ae1697a6dbd07f1  gcc/po/ChangeLog
  39305724bd042920259dbe00350f65c4  gcc/po/EXCLUDES
  df8eb609dbb028d033b7d05185cc0715  gcc/po/be.gmo
  f2d4ebc53db42a57d238129bb7b17720  gcc/po/be.po
--- 5558,5564 ----
  fd818d3d720bafdfaa7770d5fac2d3a0  gcc/plugin.c
  1fa9106368c8f95cc930e11b6a3ce4b6  gcc/plugin.def
  50ec79e5308c5537ef9876bdb3e3e9bb  gcc/plugin.h
! 3514ee2acf9e32ea3435a2be79314709  gcc/po/ChangeLog
  39305724bd042920259dbe00350f65c4  gcc/po/EXCLUDES
  df8eb609dbb028d033b7d05185cc0715  gcc/po/be.gmo
  f2d4ebc53db42a57d238129bb7b17720  gcc/po/be.po
*************** d825a21933c1853d88a071327098d0f2  gcc/ru
*** 5662,5668 ****
  e1d2af9464c17f7bcf896aa0e45fd34b  gcc/run-rtl-passes.h
  449ccadd4fd1ac277ce3202af1490859  gcc/sancov.c
  df98f11d34f35725432f5dd6eed11474  gcc/sanitizer.def
! a26b81c8f94625f2c1501a97cfa89f31  gcc/sanopt.c
  3b1e37c7f404aa4485cce61004524ede  gcc/sbitmap.c
  9e44430c2ddfd5729d692cb6068a7051  gcc/sbitmap.h
  e3a879745a5769167f35ae991123e645  gcc/sched-deps.c
--- 5666,5672 ----
  e1d2af9464c17f7bcf896aa0e45fd34b  gcc/run-rtl-passes.h
  449ccadd4fd1ac277ce3202af1490859  gcc/sancov.c
  df98f11d34f35725432f5dd6eed11474  gcc/sanitizer.def
! 24ee232a766e0cef3e6736da02995f85  gcc/sanopt.c
  3b1e37c7f404aa4485cce61004524ede  gcc/sbitmap.c
  9e44430c2ddfd5729d692cb6068a7051  gcc/sbitmap.h
  e3a879745a5769167f35ae991123e645  gcc/sched-deps.c
*************** a58a5d80a08569ec11761230bc9929d8  gcc/se
*** 5684,5690 ****
  29a043a006278f79aa6fd0a4f55466c3  gcc/selftest.h
  d9b5de9e30b15fdbd08609cf2e39209a  gcc/sese.c
  846a42671aa66d14349f70d83a8f1043  gcc/sese.h
! 88df3f18741b5fdf93aaa86a13befaa2  gcc/shrink-wrap.c
  b2a402431491d372c33413979b082d77  gcc/shrink-wrap.h
  8d948238415629a6f139ae806b313f57  gcc/signop.h
  138fbd29d6f79a6f3cd98acb15f99a50  gcc/simplify-rtx.c
--- 5688,5694 ----
  29a043a006278f79aa6fd0a4f55466c3  gcc/selftest.h
  d9b5de9e30b15fdbd08609cf2e39209a  gcc/sese.c
  846a42671aa66d14349f70d83a8f1043  gcc/sese.h
! 4f99208c4bd78995c7f8f9602c3ce760  gcc/shrink-wrap.c
  b2a402431491d372c33413979b082d77  gcc/shrink-wrap.h
  8d948238415629a6f139ae806b313f57  gcc/signop.h
  138fbd29d6f79a6f3cd98acb15f99a50  gcc/simplify-rtx.c
*************** c5c6eac55d4d9d9a521d364746cfc25d  gcc/sp
*** 5705,5711 ****
  ec4147bc458b275f4e0c8fd2e73671af  gcc/statistics.h
  8314b3c1a05bedbbfe5b8b7df9d2d731  gcc/stmt.c
  297416c2b59749bab8fb8ea0780206b5  gcc/stmt.h
! 7be209d74741ca8e9c8345c2e0f68848  gcc/stor-layout.c
  f1e04893c935a76ec07554e544445c5b  gcc/stor-layout.h
  cc98e61c5ca6c6857a1949ac7731ff8f  gcc/store-motion.c
  ab281e8cabe47ab394d518441d92b48f  gcc/streamer-hooks.c
--- 5709,5715 ----
  ec4147bc458b275f4e0c8fd2e73671af  gcc/statistics.h
  8314b3c1a05bedbbfe5b8b7df9d2d731  gcc/stmt.c
  297416c2b59749bab8fb8ea0780206b5  gcc/stmt.h
! 0d5aa688913b5e50d6dd17f9a92b85be  gcc/stor-layout.c
  f1e04893c935a76ec07554e544445c5b  gcc/stor-layout.h
  cc98e61c5ca6c6857a1949ac7731ff8f  gcc/store-motion.c
  ab281e8cabe47ab394d518441d92b48f  gcc/streamer-hooks.c
*************** b4c473a1ecc1bdecb2b76701e7db2735  gcc/ta
*** 5728,5734 ****
  a1af69db4365630ea2e0d96f5e440141  gcc/targhooks.c
  4ceeff51ef3de31e77e7a727a0363a37  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 21f1bef9a3065f38ec6d728aabb1b2a2  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 5732,5738 ----
  a1af69db4365630ea2e0d96f5e440141  gcc/targhooks.c
  4ceeff51ef3de31e77e7a727a0363a37  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! dd595e05b1b7a0d0c930283197332559  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** fc393bd66715c29dc1e10b0c545a89de  gcc/te
*** 8493,8511 ****
  30f55184465e5031498ef7eb0d2b75e4  gcc/testsuite/c-c++-common/Wshift-count-negative-2.c
  289a216514c6f7948e7c944ac1ff49e0  gcc/testsuite/c-c++-common/Wshift-count-overflow-1.c
  7f7dfe9827844964aa5913a0df77bfda  gcc/testsuite/c-c++-common/Wshift-count-overflow-2.c
! 615b9696cc389bf238ee92d8aa94732a  gcc/testsuite/c-c++-common/Wshift-negative-value-1.c
! df797fee4aa298224d59315abfc9a9f7  gcc/testsuite/c-c++-common/Wshift-negative-value-2.c
! 9cde469967b17467bf200952edf9872c  gcc/testsuite/c-c++-common/Wshift-negative-value-3.c
! 26642fe2d9af413debdae5db59b1f3ff  gcc/testsuite/c-c++-common/Wshift-negative-value-4.c
  bce3d116ad042543d8deca59891335d8  gcc/testsuite/c-c++-common/Wshift-negative-value-5.c
  2ec4a0079f61044cd2556d10f9086c01  gcc/testsuite/c-c++-common/Wshift-negative-value-6.c
! 23215ac7f9da39dedf899636af7edacc  gcc/testsuite/c-c++-common/Wshift-overflow-1.c
! 83d4f8080bdfbd062809fe67c5263ebe  gcc/testsuite/c-c++-common/Wshift-overflow-2.c
  9c03a6a952358fcf4ea17c9f5770eb36  gcc/testsuite/c-c++-common/Wshift-overflow-3.c
  ccf9803376f18fed70c0b2b90633ddb4  gcc/testsuite/c-c++-common/Wshift-overflow-4.c
! ba76c2340f7c7f9d54120447cf44b260  gcc/testsuite/c-c++-common/Wshift-overflow-5.c
! f8b8dcb9f64cd4f1158a36e44cdf76b7  gcc/testsuite/c-c++-common/Wshift-overflow-6.c
! d2ebf4f8689ab32e5be23f1ebf97667f  gcc/testsuite/c-c++-common/Wshift-overflow-7.c
  2095424b6b86a7ddbae9c94c16fa2157  gcc/testsuite/c-c++-common/Wsign-compare-1.c
  de15cabafc30a00e81c083c9a9428ac8  gcc/testsuite/c-c++-common/Wsizeof-pointer-div.c
  32df34b1472bcfdea6e41e9ce2f31d7c  gcc/testsuite/c-c++-common/Wsizeof-pointer-memaccess1.c
--- 8497,8524 ----
  30f55184465e5031498ef7eb0d2b75e4  gcc/testsuite/c-c++-common/Wshift-count-negative-2.c
  289a216514c6f7948e7c944ac1ff49e0  gcc/testsuite/c-c++-common/Wshift-count-overflow-1.c
  7f7dfe9827844964aa5913a0df77bfda  gcc/testsuite/c-c++-common/Wshift-count-overflow-2.c
! 244838f9cb86e525358ee78a73fa38e3  gcc/testsuite/c-c++-common/Wshift-negative-value-1.c
! 6fba445c92b9950ed629192d310c29ed  gcc/testsuite/c-c++-common/Wshift-negative-value-10.c
! db8123326921115262c8ff743bebdcc8  gcc/testsuite/c-c++-common/Wshift-negative-value-2.c
! 0c83b576964ab3c215f3c28cb4359f26  gcc/testsuite/c-c++-common/Wshift-negative-value-3.c
! 722f2c0b564c7e4340515aed7f9269b7  gcc/testsuite/c-c++-common/Wshift-negative-value-4.c
  bce3d116ad042543d8deca59891335d8  gcc/testsuite/c-c++-common/Wshift-negative-value-5.c
  2ec4a0079f61044cd2556d10f9086c01  gcc/testsuite/c-c++-common/Wshift-negative-value-6.c
! 44b521dad3ee71efc0d8c21a07ee8c28  gcc/testsuite/c-c++-common/Wshift-negative-value-7.c
! 94692676348c71ef48c996365643e2ff  gcc/testsuite/c-c++-common/Wshift-negative-value-8.c
! 1ea3b563c1990488520fc81142859f02  gcc/testsuite/c-c++-common/Wshift-negative-value-9.c
! 3d7f806b54f140ba9abdd8a91a1729b7  gcc/testsuite/c-c++-common/Wshift-overflow-1.c
! 2bbd07737f36ce91f8f3968f72e2708a  gcc/testsuite/c-c++-common/Wshift-overflow-10.c
! ea144bfe8a7745b09fb88195a3210b6b  gcc/testsuite/c-c++-common/Wshift-overflow-11.c
! b7da970f89748d7c226b2e0c03b1e33a  gcc/testsuite/c-c++-common/Wshift-overflow-12.c
! c3095c3809f4520acbde79af92e6af17  gcc/testsuite/c-c++-common/Wshift-overflow-2.c
  9c03a6a952358fcf4ea17c9f5770eb36  gcc/testsuite/c-c++-common/Wshift-overflow-3.c
  ccf9803376f18fed70c0b2b90633ddb4  gcc/testsuite/c-c++-common/Wshift-overflow-4.c
! 19df8fb7876aad60a36e478ee70c2d1a  gcc/testsuite/c-c++-common/Wshift-overflow-5.c
! 3bc93d6eade41fcab2b83bfa4a5b2588  gcc/testsuite/c-c++-common/Wshift-overflow-6.c
! e68c59b3c604b0f464d1f4c02629a7a5  gcc/testsuite/c-c++-common/Wshift-overflow-7.c
! fc40f165305f408a7e0fc682ac4e4e21  gcc/testsuite/c-c++-common/Wshift-overflow-8.c
! f6687e96d1a359321b94d5babcf73720  gcc/testsuite/c-c++-common/Wshift-overflow-9.c
  2095424b6b86a7ddbae9c94c16fa2157  gcc/testsuite/c-c++-common/Wsign-compare-1.c
  de15cabafc30a00e81c083c9a9428ac8  gcc/testsuite/c-c++-common/Wsizeof-pointer-div.c
  32df34b1472bcfdea6e41e9ce2f31d7c  gcc/testsuite/c-c++-common/Wsizeof-pointer-memaccess1.c
*************** e1214c78ebce01448d71917e783e66f3  gcc/te
*** 8697,8702 ****
--- 8710,8716 ----
  563de839d84e990d18f755b18712b764  gcc/testsuite/c-c++-common/builtin-arith-overflow-2.c
  9db04682d9ed26e120c150f32a81c167  gcc/testsuite/c-c++-common/builtin-convertvector-1.c
  86e09291e64c6f0da9f5f640b3c8b994  gcc/testsuite/c-c++-common/builtin-convertvector-2.c
+ 4f93f0d47fecc8e0bc7299754ffe6180  gcc/testsuite/c-c++-common/builtin-convertvector-3.c
  2b8aa91fb8f2e3743b68c66f3224582b  gcc/testsuite/c-c++-common/builtin-has-attribute-2.c
  ccfd13cce4ab8791afda954376d1c8cf  gcc/testsuite/c-c++-common/builtin-has-attribute-3.c
  2a8d5fdd1a6ca18c1fc68875e9c194c4  gcc/testsuite/c-c++-common/builtin-has-attribute-4.c
*************** c9229fff2e95406401ff0e77f9e25e9b  gcc/te
*** 8735,8740 ****
--- 8749,8755 ----
  23d2256fdd9c03d95361e499c9aa5d11  gcc/testsuite/c-c++-common/cpp/openmp-define-1.c
  1ba0ade791f40edbd80fddddb700282b  gcc/testsuite/c-c++-common/cpp/openmp-define-2.c
  88fdfa7ad0dd8169a90963238ee1847e  gcc/testsuite/c-c++-common/cpp/openmp-define-3.c
+ fb93693065e3e66c29a51aa146b3d3fa  gcc/testsuite/c-c++-common/cpp/pr104147.c
  c85025f0def783f70f9bb6a4ea9a23f3  gcc/testsuite/c-c++-common/cpp/pr45457.c
  50c40c5b8912ad75a2e46fd06778339d  gcc/testsuite/c-c++-common/cpp/pr57580.c
  6b93142f33f13f29aa948ea5e779f1a0  gcc/testsuite/c-c++-common/cpp/pr58844-1.c
*************** ef86bb29dfbea0543e8ca02ce440c823  gcc/te
*** 9112,9117 ****
--- 9127,9134 ----
  c8eb196146424dae7866984b548de18b  gcc/testsuite/c-c++-common/gomp/ordered-3.c
  5e682cf26c41baf2449ab35ba5792ab9  gcc/testsuite/c-c++-common/gomp/ordered-4.c
  7c7abae5700e726f7de5bd56574429f5  gcc/testsuite/c-c++-common/gomp/pr100450.c
+ 345ac275dfe65e2e8ba683d2c389ebc3  gcc/testsuite/c-c++-common/gomp/pr101535-1.c
+ b3c3fe5a4ecc31231711cb240274d62c  gcc/testsuite/c-c++-common/gomp/pr101535-2.c
  e16ef156ad193ef1f3cba60ad16e57ab  gcc/testsuite/c-c++-common/gomp/pr51360.c
  84c977571aeb43c0224137efe7f5b213  gcc/testsuite/c-c++-common/gomp/pr53580.c
  28bfd873981083756a16f70fdb0b86db  gcc/testsuite/c-c++-common/gomp/pr54017.c
*************** a7f92f1077c23eb293a388ad0c9418d7  gcc/te
*** 9236,9241 ****
--- 9253,9260 ----
  8ae15f4cc1a3d855f57b363a617c368f  gcc/testsuite/c-c++-common/patchable_function_entry-decl.c
  2e25fd811978da14fc47e4213d8f03a3  gcc/testsuite/c-c++-common/patchable_function_entry-default.c
  6105dd94f96458c48bb2721645afb78c  gcc/testsuite/c-c++-common/patchable_function_entry-definition.c
+ e03868d19bf135b480b09ffcf5216b0f  gcc/testsuite/c-c++-common/pr100785.c
+ 61883882d71d7a47e16ed32f05de5249  gcc/testsuite/c-c++-common/pr105186.c
  f5dce8e27cfb8a6bfffe57596fecb796  gcc/testsuite/c-c++-common/pr19807-1.c
  325d7c32f3748e10d55ba2faba3f1ce2  gcc/testsuite/c-c++-common/pr19807-2.c
  fb902cfe5a28251e99c554d18fb797e4  gcc/testsuite/c-c++-common/pr19807-3.c
*************** ad0210bfe2c0bf78466fbeb232c7f222  gcc/te
*** 9687,9692 ****
--- 9706,9712 ----
  a6690a3246008f2c5cea6ca866063155  gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-9.c
  2474ecce86d8ab1d663e5a060e9ae5ee  gcc/testsuite/c-c++-common/ubsan/float-cast.h
  edf61d9eda5f13ef6802aeed6ada88f8  gcc/testsuite/c-c++-common/ubsan/float-div-by-zero-1.c
+ 4b4093a47a88d4ed45fadb509277b422  gcc/testsuite/c-c++-common/ubsan/float-div-by-zero-2.c
  ff2685208629414a89fbb3161f228476  gcc/testsuite/c-c++-common/ubsan/load-bool-enum.c
  3c0ae577713ec4c85f5ad514bc7596aa  gcc/testsuite/c-c++-common/ubsan/nonnull-1.c
  5c4f1ab5d64a7368a8615e6b97b39494  gcc/testsuite/c-c++-common/ubsan/nonnull-2.c
*************** a0b5d18df0a804f16c6267ecf5a122ca  gcc/te
*** 9764,9769 ****
--- 9784,9790 ----
  ebe1e969e1fcbcccd3267df96d65b76a  gcc/testsuite/c-c++-common/ubsan/pr64289.c
  fed93d1bb6b1957637e7b365b237b897  gcc/testsuite/c-c++-common/ubsan/pr64344-1.c
  306c6efeca8e1593474ff905ab8ffa61  gcc/testsuite/c-c++-common/ubsan/pr64344-2.c
+ 2e2938d0c22b01cf1410cf980af98484  gcc/testsuite/c-c++-common/ubsan/pr64888.c
  b61c8d67fc16a4a400c244d8171acbc1  gcc/testsuite/c-c++-common/ubsan/pr64906.c
  0278447631e1e7661d0dc1c45df16b8a  gcc/testsuite/c-c++-common/ubsan/pr65081.c
  84e6340179dbdb8d0683b92ea0ba82db  gcc/testsuite/c-c++-common/ubsan/pr65367.c
*************** b12b848862ca9a5a126f8b4e8792dc16  gcc/te
*** 10224,10229 ****
--- 10245,10251 ----
  c109f79c447a9f4bd35cac5dbc643adb  gcc/testsuite/g++.dg/asan/interception-malloc-test-1.C
  5ec947b9e800038195a332828bd0637b  gcc/testsuite/g++.dg/asan/interception-test-1.C
  280404310b225d80bc4ec71addcc10a9  gcc/testsuite/g++.dg/asan/large-func-test-1.C
+ b03be3a03970717959df65ccdcbebe88  gcc/testsuite/g++.dg/asan/pr104449.C
  e472f2ce37f2b55b1358ec08717d9f08  gcc/testsuite/g++.dg/asan/pr55617.C
  74a04a20e12a8acd0fd7d05742cf8d63  gcc/testsuite/g++.dg/asan/pr62017.C
  505943436d80a41b5e95bf0b67db97cd  gcc/testsuite/g++.dg/asan/pr64937.C
*************** e2071d46036912555df15661828c4105  gcc/te
*** 10855,10860 ****
--- 10877,10883 ----
  ef369c9d8dbd4b3ba5c764f92fc53a46  gcc/testsuite/g++.dg/cpp0x/alias-decl-dr1286b.C
  4579dafea4a6c084d33527587a75c260  gcc/testsuite/g++.dg/cpp0x/alias-decl-dr1558.C
  830a80101d211b99c4fce4c743aa6771  gcc/testsuite/g++.dg/cpp0x/alias-decl-enum-1.C
+ 0b019bac5dcafdd642abe83896a7483d  gcc/testsuite/g++.dg/cpp0x/alias-decl-equiv1.C
  42802675fdf183e36c26b59ce2188fbd  gcc/testsuite/g++.dg/cpp0x/alias-decl-pmf1.C
  3160c52a8ac131b03192a1bc86ef7a35  gcc/testsuite/g++.dg/cpp0x/alignas1.C
  4866e3b93b878ee0244a039b009071ca  gcc/testsuite/g++.dg/cpp0x/alignas10.C
*************** c11fb9d024f89aea2e027172cee4bda2  gcc/te
*** 10949,10954 ****
--- 10972,10978 ----
  00e99c6cae64f722f78b0f72a5209b78  gcc/testsuite/g++.dg/cpp0x/collapse.C
  5337801b3f3b1399a7748f6f77351f43  gcc/testsuite/g++.dg/cpp0x/cond1.C
  82b611352fd26c7db573eb5226ef4366  gcc/testsuite/g++.dg/cpp0x/cond2.C
+ eeac975a1b841cef4d5a4c468314ed8c  gcc/testsuite/g++.dg/cpp0x/constexpr-104472.C
  3e4cac522763806230540d3da6cc5ee1  gcc/testsuite/g++.dg/cpp0x/constexpr-46336.C
  d079e67f3b2be485ac7aed93b70984d2  gcc/testsuite/g++.dg/cpp0x/constexpr-46420.C
  329a82a822423273c0c0256fd27a6d52  gcc/testsuite/g++.dg/cpp0x/constexpr-47570.C
*************** a3fe89999694d5e28c05f50283b43674  gcc/te
*** 11047,11053 ****
  8b3cdd4f7cd1165cdb6c78c54ac301a5  gcc/testsuite/g++.dg/cpp0x/constexpr-array18.C
  326904e2b7feccc3245b271683c77260  gcc/testsuite/g++.dg/cpp0x/constexpr-array19.C
  687c6e77d4af3cd918c0ff421773a66c  gcc/testsuite/g++.dg/cpp0x/constexpr-array2.C
! f15a074b6c2f23374821380fa691e3fd  gcc/testsuite/g++.dg/cpp0x/constexpr-array23.C
  3ac9c1d9fb2c907fc817b194d0e9d585  gcc/testsuite/g++.dg/cpp0x/constexpr-array24.C
  0a27a7a45bdad25c5a48b1f4e3bfcb8b  gcc/testsuite/g++.dg/cpp0x/constexpr-array26.C
  3100c3b4b2ec90a6762a56edc16076a1  gcc/testsuite/g++.dg/cpp0x/constexpr-array27.C
--- 11071,11077 ----
  8b3cdd4f7cd1165cdb6c78c54ac301a5  gcc/testsuite/g++.dg/cpp0x/constexpr-array18.C
  326904e2b7feccc3245b271683c77260  gcc/testsuite/g++.dg/cpp0x/constexpr-array19.C
  687c6e77d4af3cd918c0ff421773a66c  gcc/testsuite/g++.dg/cpp0x/constexpr-array2.C
! 19b48de9f63b0c75b96c600b8f96da97  gcc/testsuite/g++.dg/cpp0x/constexpr-array23.C
  3ac9c1d9fb2c907fc817b194d0e9d585  gcc/testsuite/g++.dg/cpp0x/constexpr-array24.C
  0a27a7a45bdad25c5a48b1f4e3bfcb8b  gcc/testsuite/g++.dg/cpp0x/constexpr-array26.C
  3100c3b4b2ec90a6762a56edc16076a1  gcc/testsuite/g++.dg/cpp0x/constexpr-array27.C
*************** f6676b44835c5329c16a5bb57f317adc  gcc/te
*** 11069,11074 ****
--- 11093,11099 ----
  5698e51a559a43ae4c1e9bb2dcc0f8b5  gcc/testsuite/g++.dg/cpp0x/constexpr-base5.C
  4be3d6eef956cee1b5ae2edcf04a605b  gcc/testsuite/g++.dg/cpp0x/constexpr-base6.C
  096985eadd4b3ef7a0521407d61d2085  gcc/testsuite/g++.dg/cpp0x/constexpr-base6b.C
+ cc4e6caab0fb0ed4c0220072c544d36f  gcc/testsuite/g++.dg/cpp0x/constexpr-base7.C
  e4e15e959aaae288fa7a722d7abb7509  gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield.C
  18b0f5c8eeb4a3196bc623c2fd1205ee  gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield2.C
  271aba96fb8bf37bed15d4848cc13f01  gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield3.C
*************** e6644795e323db4ec4f3b171e831e2f6  gcc/te
*** 11155,11160 ****
--- 11180,11186 ----
  ce75146a9a51521a3b4ff82cc14225c3  gcc/testsuite/g++.dg/cpp0x/constexpr-ex4.C
  19eb610e0af0918f7473197af97c60d4  gcc/testsuite/g++.dg/cpp0x/constexpr-expinst.C
  54953d2c31360e2eeefa3305044bd360  gcc/testsuite/g++.dg/cpp0x/constexpr-explicit-inst.C
+ 98f85ca947a471fd37217a8fc9e771fb  gcc/testsuite/g++.dg/cpp0x/constexpr-fno-elide-ctors1.C
  aa1967267d5d21b22c4d54dfa617fcfc  gcc/testsuite/g++.dg/cpp0x/constexpr-fnptr.C
  928d1a775ac6fb68d34dd89fdd936ada  gcc/testsuite/g++.dg/cpp0x/constexpr-fold1.C
  216c6548cc77db922bab7f78e595ac97  gcc/testsuite/g++.dg/cpp0x/constexpr-fold2.C
*************** be032bb4361dd11f064d960f788b56ae  gcc/te
*** 11618,11623 ****
--- 11644,11650 ----
  a90d02344ce471556a85a9970c53f219  gcc/testsuite/g++.dg/cpp0x/extern_template-3.C
  e69d01a320a7471c0585ac2d75efcac2  gcc/testsuite/g++.dg/cpp0x/extern_template-4.C
  b25800bcf52ab901ab8ddbc9ea153561  gcc/testsuite/g++.dg/cpp0x/extern_template-5.C
+ b44ed86d19fab7414d28d1f3fd36a7f9  gcc/testsuite/g++.dg/cpp0x/extern_template-6.C
  592cc710524d5d21c28b065dd6c6de7c  gcc/testsuite/g++.dg/cpp0x/fallthrough1.C
  c2982fdb85366105719171be7bb04eb0  gcc/testsuite/g++.dg/cpp0x/fallthrough2.C
  bcba4e18395ca9e8f9917788775bc3c1  gcc/testsuite/g++.dg/cpp0x/fntmp-equiv1.C
*************** f8949630a7a02f66d0ceb796b5525cb8  gcc/te
*** 11811,11816 ****
--- 11838,11846 ----
  797ec13acacd7b94b604de1651b198db  gcc/testsuite/g++.dg/cpp0x/initlist-n3922.C
  75fe6dcf44e6fa0a35cfaa871faa2b15  gcc/testsuite/g++.dg/cpp0x/initlist-new1.C
  7bddf9c6b842f5be4f0dcb028b72f5d6  gcc/testsuite/g++.dg/cpp0x/initlist-new2.C
+ 0eb8216638573813eaf1d41d50899505  gcc/testsuite/g++.dg/cpp0x/initlist-new5.C
+ eb8899f6095da627d668fbc099e59316  gcc/testsuite/g++.dg/cpp0x/initlist-new6.C
+ 99344f656bc7edb059f04cde31dcaa17  gcc/testsuite/g++.dg/cpp0x/initlist-nrv1.C
  bcbe398391cda8139c8462f46935b7e2  gcc/testsuite/g++.dg/cpp0x/initlist-opt.C
  a054a7d4e96233b7a3a6591843a8d33f  gcc/testsuite/g++.dg/cpp0x/initlist-pmf1.C
  e3ec7ab89d20e6ccf50aa92954896f07  gcc/testsuite/g++.dg/cpp0x/initlist-postfix-open-square.C
*************** b4ee4e860077c15b5f446a344ee80eb1  gcc/te
*** 12114,12119 ****
--- 12144,12150 ----
  fc0cbc487d6a1b6d02de8cbeb0f06f70  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nop.C
  45c8811455b2ff67d0b834d61c336d54  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ns-scope.C
  a50b2f4594cb996e8a25dfe3e8da9a93  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi1.C
+ b8cb4ea322362f9ce500dbe9e1e567dd  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi10.C
  771626fe4c5491ce91092c43744cb02c  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi2.C
  6a7d73b6c513d33dae55973e8fe4ad1d  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi3.C
  c8026e051502bc9cfe9092dd262c02cc  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi4.C
*************** e754c2eb76d7ab2dff572da57c588a4d  gcc/te
*** 12303,12308 ****
--- 12334,12341 ----
  0b3784303bce9e43936f535a111b1d8f  gcc/testsuite/g++.dg/cpp0x/nsdmi-template19.C
  d83133afa9fe5d533ed8b6cecc90cc44  gcc/testsuite/g++.dg/cpp0x/nsdmi-template2.C
  f900a961724b234dbae2b1dd5e2b9ae6  gcc/testsuite/g++.dg/cpp0x/nsdmi-template20.C
+ 55e1dee2146a8988ec9a59e858dadc99  gcc/testsuite/g++.dg/cpp0x/nsdmi-template21.C
+ 93773e99f41e047cdb20c1fb229d81d2  gcc/testsuite/g++.dg/cpp0x/nsdmi-template21a.C
  a4838f227c782d1dc8cc894a19deb0d1  gcc/testsuite/g++.dg/cpp0x/nsdmi-template3.C
  ecc55c2acf604366d5eab66ebf6a29dd  gcc/testsuite/g++.dg/cpp0x/nsdmi-template4.C
  2df81a05f5de27f3cb083ad4a290512a  gcc/testsuite/g++.dg/cpp0x/nsdmi-template5.C
*************** d31a397b7e49ac715bfc08852a1710f3  gcc/te
*** 12376,12381 ****
--- 12409,12415 ----
  cce8d7efe84ba47b6a9a649b7e96db1d  gcc/testsuite/g++.dg/cpp0x/nullptr41.C
  563e6aa07672f33e94fe0e1d80404a0e  gcc/testsuite/g++.dg/cpp0x/nullptr42.C
  afdfafb40dd063d062a20c67e4309ae4  gcc/testsuite/g++.dg/cpp0x/nullptr45.C
+ fd97d08f3976a4a83f1c49415efc3eca  gcc/testsuite/g++.dg/cpp0x/nullptr46.C
  9ac544c85b4718bef7e0acbc03dd004f  gcc/testsuite/g++.dg/cpp0x/overflow1.C
  fb7661df85ad6b415b31574c67fa4ee0  gcc/testsuite/g++.dg/cpp0x/overload-conv-1.C
  5ca00ae02aa7919e0b3d9730fa9f9ac5  gcc/testsuite/g++.dg/cpp0x/overload-conv-2.C
*************** d2a1963e44488193e2d5ae183c548b2d  gcc/te
*** 12391,12396 ****
--- 12425,12432 ----
  ec3fccada021f17376f5255d71d5545b  gcc/testsuite/g++.dg/cpp0x/override4.C
  63a98616cfbc7aecbf849404acae0e55  gcc/testsuite/g++.dg/cpp0x/parse1.C
  a174690fe306aaf345b02df91c3ddebe  gcc/testsuite/g++.dg/cpp0x/parse2.C
+ 6802ea11c1f5811ef4a3d0490040dcc1  gcc/testsuite/g++.dg/cpp0x/pr102305.C
+ 0f5046ead85037afdaba1b501accc894  gcc/testsuite/g++.dg/cpp0x/pr105256.C
  26dea799d49ce223a0c4130a3c955271  gcc/testsuite/g++.dg/cpp0x/pr31431-2.C
  4d1da29b669bf3178b3987abce4d58b1  gcc/testsuite/g++.dg/cpp0x/pr31431.C
  d65e06a3830e2b511cc25692b94615a1  gcc/testsuite/g++.dg/cpp0x/pr31432.C
*************** f3e3d98fcbe616df26f26eb779c66c1f  gcc/te
*** 13304,13309 ****
--- 13340,13346 ----
  99847692cf2ccd072e419199625ee070  gcc/testsuite/g++.dg/cpp1y/complex_literals1a.C
  5f47973cdaddb1d27f6ea767e7275723  gcc/testsuite/g++.dg/cpp1y/complex_literals2.C
  a1995c633dded5a3445bad4fcc3b55cf  gcc/testsuite/g++.dg/cpp1y/complex_literals2a.C
+ 6193cad472a1684eae83fead9fc5d0d7  gcc/testsuite/g++.dg/cpp1y/constexpr-104513.C
  2d72668eefa5659edd32ef8dabc1c48e  gcc/testsuite/g++.dg/cpp1y/constexpr-50060.C
  d3ca7557e59bd6b82fae38b637088145  gcc/testsuite/g++.dg/cpp1y/constexpr-66093.C
  9ecc58eab147adafbf3780c51ed706fc  gcc/testsuite/g++.dg/cpp1y/constexpr-70265-1.C
*************** c158c48cdc574a61e06922b17254f0d7  gcc/te
*** 13437,13442 ****
--- 13474,13480 ----
  3d83ad628fa7a413326bf23651c5bb6e  gcc/testsuite/g++.dg/cpp1y/lambda-generic-90548.C
  e5ec20a7dc7d9414a0113b4d2f182408  gcc/testsuite/g++.dg/cpp1y/lambda-generic-90842.C
  195b05ddf7063d0ac4ebe911f6d5bcdb  gcc/testsuite/g++.dg/cpp1y/lambda-generic-95451.C
+ b3b113da61831ee64e68c118f850ec29  gcc/testsuite/g++.dg/cpp1y/lambda-generic-Wunused.C
  87f3d5397981cf431912aae6490ea63a  gcc/testsuite/g++.dg/cpp1y/lambda-generic-auto1.C
  18a2431f49a5d003b8c4af0ee1ee26fb  gcc/testsuite/g++.dg/cpp1y/lambda-generic-cfun.C
  043e19917f87f2b2acd754fc6d7db469  gcc/testsuite/g++.dg/cpp1y/lambda-generic-const1.C
*************** d91a981f54ab2a15c0e9427ccb338f24  gcc/te
*** 13479,13484 ****
--- 13517,13523 ----
  714b0ec0672f03bb83435eb7e8946993  gcc/testsuite/g++.dg/cpp1y/lambda-generic-this1a.C
  5d6aac41102fa948ecd5b469abc35503  gcc/testsuite/g++.dg/cpp1y/lambda-generic-this2.C
  5272ec327005dde6e5a2aaffb7102e42  gcc/testsuite/g++.dg/cpp1y/lambda-generic-this3.C
+ 85be199d2e0d4a7142fba0bb5f749ab7  gcc/testsuite/g++.dg/cpp1y/lambda-generic-this4.C
  06ba6684e3759115ec5098f38667687b  gcc/testsuite/g++.dg/cpp1y/lambda-generic-trailing1.C
  e947551033232c5abe95cce5adfd22aa  gcc/testsuite/g++.dg/cpp1y/lambda-generic-udt.C
  7515a5372d247dd5a94ef0626c25c2ae  gcc/testsuite/g++.dg/cpp1y/lambda-generic-uneval1.C
*************** bedfe39f995dd913a1715072975f6a1c  gcc/te
*** 13541,13546 ****
--- 13580,13586 ----
  4707396951c53026c3f457ecd9db5312  gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr1.C
  5326d1798f69e0f75031ab294cf8dd21  gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr10.C
  c9dde900e1dd03846724a7195332d8ea  gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr11.C
+ 620462324dd7279425148f8c5c72821a  gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr13.C
  6181386fced4d11038690bcc0729a80d  gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr2.C
  379f3d0c83382658777fb1c2f47ed88a  gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr3.C
  d986a2e035160bd06d7fd81798876e53  gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr4.C
*************** eed72e4e3c9aec24d904cb1baa5f2711  gcc/te
*** 13646,13651 ****
--- 13686,13692 ----
  9c7ee77059363808e261d90cf939ce59  gcc/testsuite/g++.dg/cpp1y/pr84942.C
  11abcca649e7c260d96b20dd2bb71bc7  gcc/testsuite/g++.dg/cpp1y/pr85076.C
  e4968a83309cb7b0ed242d3d6971a6a3  gcc/testsuite/g++.dg/cpp1y/pr87322.C
+ c25e5ab56f549206e3abcdde00c1515e  gcc/testsuite/g++.dg/cpp1y/pr88872.C
  76d3c8355d513d753398e1184e4c4ece  gcc/testsuite/g++.dg/cpp1y/pr89767.C
  ac3a3cc471361b1fc9f3e55ad12dd7a8  gcc/testsuite/g++.dg/cpp1y/regress1.C
  9a759de4b7ac375d3c274acdf73c4fbe  gcc/testsuite/g++.dg/cpp1y/sized-dealloc1.C
*************** e2a156ae37a7cc2e6e931224eb20400d  gcc/te
*** 13830,13835 ****
--- 13871,13877 ----
  b880b797e64a3be4339be5f3b8f87a90  gcc/testsuite/g++.dg/cpp1z/class-deduction71.C
  5bd09760c3c40512c7e433c6714430ac  gcc/testsuite/g++.dg/cpp1z/class-deduction75.C
  923f9361e61894453314ebd0b52faf9a  gcc/testsuite/g++.dg/cpp1z/class-deduction8.C
+ 533990a3a8f21fecb63572f9aaf57a51  gcc/testsuite/g++.dg/cpp1z/class-deduction85.C
  3920e918276476b088679b893b9cde19  gcc/testsuite/g++.dg/cpp1z/class-deduction9.C
  d09105e6c1f377543e5514e34d2837cd  gcc/testsuite/g++.dg/cpp1z/constexpr-83692.C
  6962bfa121a4383ee0b7a8f045abde3f  gcc/testsuite/g++.dg/cpp1z/constexpr-84684.C
*************** bb80552b47c4d46b3400512a6ca45bad  gcc/te
*** 13953,13958 ****
--- 13995,14001 ----
  6b57844cae97efac146accbaaa00449b  gcc/testsuite/g++.dg/cpp1z/elide2.C
  bafa3ed0da0c14fc9337428032934f0f  gcc/testsuite/g++.dg/cpp1z/elide3.C
  63be3b6d75aa3c2c8088552683d5245e  gcc/testsuite/g++.dg/cpp1z/eval-order10.C
+ 3abc6084e572264410718d38beb290bb  gcc/testsuite/g++.dg/cpp1z/eval-order11.C
  bb194d9ce590c9e5e69935ebac0f25e4  gcc/testsuite/g++.dg/cpp1z/eval-order2.C
  89fdd37f4580457e23eeb34adcf4d4e0  gcc/testsuite/g++.dg/cpp1z/eval-order3.C
  6d8d378fedaf65b4cb89952060799280  gcc/testsuite/g++.dg/cpp1z/eval-order4.C
*************** d02bac8866e9a3e5c4f19da65dda7c9a  gcc/te
*** 14015,14020 ****
--- 14058,14064 ----
  884f46ba9cab5bc751e958318fe14a2d  gcc/testsuite/g++.dg/cpp1z/inline-var4.C
  eb09374f9955af523e3f7767c4ef9b75  gcc/testsuite/g++.dg/cpp1z/inline-var5.C
  30ea7a0df040d49da61f977af41d7ab6  gcc/testsuite/g++.dg/cpp1z/inline-var6.C
+ eb93f179b897016fd2cc051e599339bd  gcc/testsuite/g++.dg/cpp1z/inline-var9.C
  2eb7c8c6899f0df45df9a494fae11bac  gcc/testsuite/g++.dg/cpp1z/lambda-__func__.C
  7a8a15c87abf5409fafc54402d33a274  gcc/testsuite/g++.dg/cpp1z/lambda-inherit1.C
  015fa9d631289b4abe8bd2e5a5af64bf  gcc/testsuite/g++.dg/cpp1z/lambda-this1.C
*************** db6d80bc5f29d89b66dc0f6ca5cdfd89  gcc/te
*** 14043,14048 ****
--- 14087,14094 ----
  38db595fd6ee6c6498e94ad8412fa322  gcc/testsuite/g++.dg/cpp1z/nodiscard3.C
  83dfccee6bbfeb66341cd2d47be20334  gcc/testsuite/g++.dg/cpp1z/nodiscard4.C
  549516884facf6ccae16b7de38b2931d  gcc/testsuite/g++.dg/cpp1z/nodiscard5.C
+ bdc4e080d73975936a3bc317d74422db  gcc/testsuite/g++.dg/cpp1z/nodiscard8.C
+ 13e9ff1ca7b52bb081f83facc411e366  gcc/testsuite/g++.dg/cpp1z/nodiscard9.C
  ccacb58d42aa6d504b3629fce8ef518f  gcc/testsuite/g++.dg/cpp1z/noexcept-type1.C
  8fbb465fc69c13a4894d2eb47d00e941  gcc/testsuite/g++.dg/cpp1z/noexcept-type11.C
  1caccdf4e16515c79981341c1b7a9d86  gcc/testsuite/g++.dg/cpp1z/noexcept-type11a.C
*************** e2d27f023f98f0f6d5bbc4b4af73820d  gcc/te
*** 14059,14064 ****
--- 14105,14111 ----
  b844f1c10ac36bdb44fcc5f47c7ed338  gcc/testsuite/g++.dg/cpp1z/noexcept-type20.C
  bedc458500693b5518d2b34bdc4de5cb  gcc/testsuite/g++.dg/cpp1z/noexcept-type21.C
  67c6b023262a15cbea344311656cb28f  gcc/testsuite/g++.dg/cpp1z/noexcept-type22.C
+ 8a677f921d635efea7480743417cad8f  gcc/testsuite/g++.dg/cpp1z/noexcept-type24.C
  a07bd6eee0bbce4f76caa1372e66c614  gcc/testsuite/g++.dg/cpp1z/noexcept-type3.C
  a1507d2a44a55f27a0e7109b7c2a2c43  gcc/testsuite/g++.dg/cpp1z/noexcept-type4.C
  2cbc6352072676c50982358370c66f1e  gcc/testsuite/g++.dg/cpp1z/noexcept-type5.C
*************** dbb38d79b4b755c3350566626fdf9bd8  gcc/te
*** 14138,14143 ****
--- 14185,14191 ----
  2a52f543924b11d7fbba0d5b92cdf169  gcc/testsuite/g++.dg/cpp2a/char8_t1.C
  6af0af64f6a4543707d9245ae3e3cb2c  gcc/testsuite/g++.dg/cpp2a/char8_t2.C
  8cdbce536f6ecfcbdb0c5b905216c240  gcc/testsuite/g++.dg/cpp2a/constexpr-inst1.C
+ e8f7bd0576728e974495935283ad4f39  gcc/testsuite/g++.dg/cpp2a/constexpr-nonlit7.C
  fe2e298a3cf2e9094a79a25a4ffd8fc2  gcc/testsuite/g++.dg/cpp2a/constexpr-shift1.C
  1d1e610556de3295af12cf17177f42b7  gcc/testsuite/g++.dg/cpp2a/constexpr-try1.C
  27ac7e1957f04ea6ee6160a7f7c14ecc  gcc/testsuite/g++.dg/cpp2a/constexpr-try2.C
*************** d74e93a21b21eb22ce0742e9b6bbb923  gcc/te
*** 14151,14156 ****
--- 14199,14205 ----
  49f57461d06a171699e46760a6897b2a  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual13.C
  402840205084f07ec2c6bb566171ea8e  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual14.C
  951c8b64153a58a8121e2123efa1bf4a  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual15.C
+ b05a9734ab05265b30f7f8aafe9cbe9b  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual19.C
  8356345162577a74b103ae82b69fde6d  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual2.C
  387607aa06c3438be11d475781b728ae  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual3.C
  4d58f9556b7091659bbc5730f1a2697b  gcc/testsuite/g++.dg/cpp2a/constexpr-virtual4.C
*************** f3183e909b7fd601906b1f284b8514e9  gcc/te
*** 14227,14233 ****
  4aeeac8ebcb51044cd9c82d45ee9a511  gcc/testsuite/g++.dg/cpp2a/lambda-generic5.C
  3ab1babdc49679a44f405e45f0d73567  gcc/testsuite/g++.dg/cpp2a/lambda-pack-init1.C
  00668662ccb6f2bfdc76911b02c45eca  gcc/testsuite/g++.dg/cpp2a/lambda-pack-init2.C
- 7ebac77114179acb85002a5acb28b11c  gcc/testsuite/g++.dg/cpp2a/lambda-pack-init6.C
  22ec10632b049637a7cbf82f46eda177  gcc/testsuite/g++.dg/cpp2a/lambda-this1.C
  c09b3406a6984eced941c654f03df8b6  gcc/testsuite/g++.dg/cpp2a/lambda-this2.C
  a10b478d00c08a3b0686eea62d1bb5db  gcc/testsuite/g++.dg/cpp2a/lambda-this3.C
--- 14276,14281 ----
*************** e64fec6e11d681323560675ce433a296  gcc/te
*** 14410,14415 ****
--- 14458,14464 ----
  c7ffd1dd0ae40378732be3ac8729a37c  gcc/testsuite/g++.dg/debug/dwarf2/non-virtual-thunk.C
  804b19b7b58e86e4e92d0018c08cf7b7  gcc/testsuite/g++.dg/debug/dwarf2/noreturn-function.C
  b3cbbd79d5ff077a6732280d76b2284e  gcc/testsuite/g++.dg/debug/dwarf2/omp-fesdr.C
+ b117227269644a100a7a06bf2bc9bf6f  gcc/testsuite/g++.dg/debug/dwarf2/pr101378.C
  7054dc65c88179389afb9e79cad0df38  gcc/testsuite/g++.dg/debug/dwarf2/pr41063.C
  e9f4d52036740c7a6fa51c597a6dd04b  gcc/testsuite/g++.dg/debug/dwarf2/pr44641.C
  90028c65be83718cb8e154df1b502d99  gcc/testsuite/g++.dg/debug/dwarf2/pr45997-1.C
*************** f66f889c43e1cd491c7d66ecdd645529  gcc/te
*** 15282,15288 ****
--- 15331,15339 ----
  b2c60991d5b6f21b7202a6d5a7c81412  gcc/testsuite/g++.dg/ext/flexary34.C
  da96fc262f063d29280b10e42245318e  gcc/testsuite/g++.dg/ext/flexary36.C
  bdc1e53895229e84f994524314021292  gcc/testsuite/g++.dg/ext/flexary38.C
+ e3abdb563edb7ccc89af09138c07030d  gcc/testsuite/g++.dg/ext/flexary39.C
  7c5aa9e0bd6655b7c3b04f320d67e736  gcc/testsuite/g++.dg/ext/flexary4.C
+ 7b20dd05a975dd9f5eda50838835ac7c  gcc/testsuite/g++.dg/ext/flexary40.C
  0cdb8ed93bc6d926326dda41fc92d614  gcc/testsuite/g++.dg/ext/flexary5.C
  57643e50a930f6d1e7ea68411e707a26  gcc/testsuite/g++.dg/ext/flexary6.C
  df64a969f76ad8dba013343925441866  gcc/testsuite/g++.dg/ext/flexary7.C
*************** b9405f9e69ba93125655233ee721769d  gcc/te
*** 15575,15580 ****
--- 15626,15632 ----
  27a347cfacadc4e979313b40db534f31  gcc/testsuite/g++.dg/ext/utf8-2.C
  33d19c269a9e9108be7e58ebb9f5dba4  gcc/testsuite/g++.dg/ext/va-arg-pack-1.C
  95df36aad68d70ccb06176f4d6386b01  gcc/testsuite/g++.dg/ext/va-arg-pack-2.C
+ a8b70fba535d4caa23d14f33faaaca4d  gcc/testsuite/g++.dg/ext/va-arg-pack-3.C
  5767d28306995682901a8025cc09bcf5  gcc/testsuite/g++.dg/ext/va-arg-pack-len-1.C
  3da578ea7fb89ed9d7d870cd2355c8a1  gcc/testsuite/g++.dg/ext/va-arg-pack-len-2.C
  be5f35b51bfbfb360923dc0be613c0d6  gcc/testsuite/g++.dg/ext/va-arg1.C
*************** a734cd9ac4c7933b7e53991e05b0aed5  gcc/te
*** 15794,15800 ****
  4d9ae441343c49335159712e6d78736c  gcc/testsuite/g++.dg/gomp/cancel-3.C
  229a4e7a48a56c0cf19c162f2a33f7f1  gcc/testsuite/g++.dg/gomp/clause-1.C
  58ada034a21b7734739e966345d25fac  gcc/testsuite/g++.dg/gomp/clause-2.C
! e183953e6fde368f2c7dba36fc31364f  gcc/testsuite/g++.dg/gomp/clause-3.C
  2f0edfb42c07ca8f104959d595305979  gcc/testsuite/g++.dg/gomp/clause-4.C
  fe6047f5ca7e2eac34792a3acc1193c2  gcc/testsuite/g++.dg/gomp/copyin-1.C
  73dc4c4897395dc7c307860e0c371fe1  gcc/testsuite/g++.dg/gomp/critical-1.C
--- 15846,15852 ----
  4d9ae441343c49335159712e6d78736c  gcc/testsuite/g++.dg/gomp/cancel-3.C
  229a4e7a48a56c0cf19c162f2a33f7f1  gcc/testsuite/g++.dg/gomp/clause-1.C
  58ada034a21b7734739e966345d25fac  gcc/testsuite/g++.dg/gomp/clause-2.C
! 1f4bc230caef2b86cebd77a5c13b474e  gcc/testsuite/g++.dg/gomp/clause-3.C
  2f0edfb42c07ca8f104959d595305979  gcc/testsuite/g++.dg/gomp/clause-4.C
  fe6047f5ca7e2eac34792a3acc1193c2  gcc/testsuite/g++.dg/gomp/copyin-1.C
  73dc4c4897395dc7c307860e0c371fe1  gcc/testsuite/g++.dg/gomp/critical-1.C
*************** ad83350cdd58e73fddf0b7bacdf348a8  gcc/te
*** 15870,15875 ****
--- 15922,15928 ----
  f711435274df71049aa71808a78fc7a5  gcc/testsuite/g++.dg/gomp/parallel-3.C
  5d09e3c0e650269fbab3a248edade585  gcc/testsuite/g++.dg/gomp/parallel-4.C
  d9a1f43ca6ac2a073e22bbbf243f300b  gcc/testsuite/g++.dg/gomp/parallel-5.C
+ 9950e1331756ada98404843c3491b239  gcc/testsuite/g++.dg/gomp/pr101516.C
  539bba6df5330b7a6631eca5665a0899  gcc/testsuite/g++.dg/gomp/pr24849.C
  78ea34fd7a1a2767f61a703271e7070a  gcc/testsuite/g++.dg/gomp/pr25874.C
  93a85a09acfdf011a86ff95fc9184a94  gcc/testsuite/g++.dg/gomp/pr25996.C
*************** e7a4920eaa905e671e74b6482c654721  gcc/te
*** 16248,16253 ****
--- 16301,16307 ----
  4ab5bb9dc38b78d749ba584adefbdc33  gcc/testsuite/g++.dg/init/array8.C
  b1c2a3438d19ab4734ef026ce6aba7fa  gcc/testsuite/g++.dg/init/array9.C
  590b4fffc5e2d0c7af7852413ab82a9e  gcc/testsuite/g++.dg/init/assign1.C
+ c683e74a06917192a3b9ed9e2ec6aa08  gcc/testsuite/g++.dg/init/assign2.C
  3eee77105967418a88d56f0c30243408  gcc/testsuite/g++.dg/init/attrib1.C
  77338e30d92da64b5b8a53b656838268  gcc/testsuite/g++.dg/init/base1.C
  f3383f08918eed93161c080f618e55e8  gcc/testsuite/g++.dg/init/bitfield1.C
*************** ece146914185349992892b6c7e289bb0  gcc/te
*** 16397,16402 ****
--- 16451,16457 ----
  9e9ce794649ccc9a4507b42cb8c4c0d0  gcc/testsuite/g++.dg/init/new8.C
  d9b779b618b81e9ea527baf5e2af4c4e  gcc/testsuite/g++.dg/init/new9.C
  ad6fea2e4a044bf966634965459eed1f  gcc/testsuite/g++.dg/init/no-elide1.C
+ 2524b7f075542480f2a1e27b01b7f04d  gcc/testsuite/g++.dg/init/no-elide2.C
  6e78c514e0d930771bc8bc83b1d03c3f  gcc/testsuite/g++.dg/init/null1.C
  ef95eb29955e54a2310be36a0828b0cb  gcc/testsuite/g++.dg/init/placement1.C
  9c2843f3878e7468a19ecfaa90c8bf5f  gcc/testsuite/g++.dg/init/placement2.C
*************** f58299de078b35494d60ed1ce04894ba  gcc/te
*** 16870,16875 ****
--- 16925,16931 ----
  fd517010ca215fc30ad0d3a32a3ed3f3  gcc/testsuite/g++.dg/lookup/nested2.C
  f73a831dbfcd6430b723ed4198037c98  gcc/testsuite/g++.dg/lookup/new1.C
  7a4d3b1fa46512441a7977635cc69fe9  gcc/testsuite/g++.dg/lookup/new2.C
+ 452e1ff799da032536237dfb649f6d8d  gcc/testsuite/g++.dg/lookup/new3.C
  72c3a9b17a32af0585fa3bf9d370c39d  gcc/testsuite/g++.dg/lookup/ns1.C
  8fad00e146fe0525b4a78080a95a7ca8  gcc/testsuite/g++.dg/lookup/ns2.C
  326caa0ef916da51fec348c662a91f18  gcc/testsuite/g++.dg/lookup/ns3.C
*************** e94377182a1dedb230f53db874897364  gcc/te
*** 17423,17428 ****
--- 17479,17485 ----
  3a570f71e0d06b55d991f8cab4b017d2  gcc/testsuite/g++.dg/opt/nrv18.C
  b5ea3678b95f88606bb0d37ee1f58a68  gcc/testsuite/g++.dg/opt/nrv19.C
  360692bdb55de35cb68717ceb6c51fd7  gcc/testsuite/g++.dg/opt/nrv2.C
+ b95995f2a1b93421818fb349cdf03d17  gcc/testsuite/g++.dg/opt/nrv20.C
  42adcc800d5d2029a2b831e1453e8f32  gcc/testsuite/g++.dg/opt/nrv3.C
  b2773b15109a2fc43572a97edf29b236  gcc/testsuite/g++.dg/opt/nrv4.C
  13481653ab41a707cb4c4eed2199c57f  gcc/testsuite/g++.dg/opt/nrv5.C
*************** b16ae5b90244df2461a7c023c7f3c88e  gcc/te
*** 17435,17440 ****
--- 17492,17498 ----
  cf9e1c6c02a4aee1d10b86325166de66  gcc/testsuite/g++.dg/opt/pmf1.C
  b7d92853a5faa70c9b8f4e124609991d  gcc/testsuite/g++.dg/opt/pr100148.C
  b599b75470b905e959a7172363b13d69  gcc/testsuite/g++.dg/opt/pr100254.C
+ 4821bda808ec2c117c297e4f155752e3  gcc/testsuite/g++.dg/opt/pr104681.C
  2896f5b1a96dd9fabb1dbb65cb4c5921  gcc/testsuite/g++.dg/opt/pr13066-1.C
  4f87f86b9f018cae74888e97468b2fe0  gcc/testsuite/g++.dg/opt/pr14029.C
  8fb7e68e9e9b5eb02628e03f5333e645  gcc/testsuite/g++.dg/opt/pr14888.C
*************** b71aeb26aa9311659d87b7de1be00dcc  gcc/te
*** 18083,18088 ****
--- 18141,18147 ----
  e549b742987ea4bf15156f2ff8b335da  gcc/testsuite/g++.dg/overload/builtin1.C
  3a79826fd499e94593a88f2c06436f3d  gcc/testsuite/g++.dg/overload/builtin2.C
  a0b8fd80bfd82adaa23c61a98df112fb  gcc/testsuite/g++.dg/overload/builtin3.C
+ 1b69f2219f6792ae40411265e591182d  gcc/testsuite/g++.dg/overload/builtin6.C
  2808df88b455ae0dd789dc64c1e34b25  gcc/testsuite/g++.dg/overload/cond1.C
  5067a4c6731aae0336243d6867599e99  gcc/testsuite/g++.dg/overload/cond2.C
  6a731890845f26e24f289431fa9741d7  gcc/testsuite/g++.dg/overload/conv-op1.C
*************** b57591402d64bc0218597be33d025525  gcc/te
*** 19015,19020 ****
--- 19074,19080 ----
  c0c20230f9ca78ee531a757fe9c20cdc  gcc/testsuite/g++.dg/spellcheck-macro-ordering-2.C
  c7d19bcfd6293dcc2e1b62c71b24d14e  gcc/testsuite/g++.dg/spellcheck-macro-ordering.C
  138b26dd96477d5ca37e93e1baad9a7f  gcc/testsuite/g++.dg/spellcheck-ns.C
+ dea81150700765a4bf726fcbf91fe264  gcc/testsuite/g++.dg/spellcheck-pr104806.C
  bec792904e3254c1f1b123d9654da558  gcc/testsuite/g++.dg/spellcheck-pr77829.C
  8917eaf0965b3d85de7008f1d17dee06  gcc/testsuite/g++.dg/spellcheck-pr78313.C
  c58af17755be032fd83d41b6fc234488  gcc/testsuite/g++.dg/spellcheck-pr78656.C
*************** c7c275427c1f23da1f5270746886e61d  gcc/te
*** 19088,19093 ****
--- 19148,19154 ----
  f1f5a04f41640e7625de6d557491ab7d  gcc/testsuite/g++.dg/template/access28.C
  3d00ae17a8a2fd7c7d604f91e69dd892  gcc/testsuite/g++.dg/template/access29.C
  4568008afd0d9ae5ca44f4521d3e1151  gcc/testsuite/g++.dg/template/access3.C
+ d1ab3a2909d9d576c5dfa94f007a2714  gcc/testsuite/g++.dg/template/access39.C
  7ea6af968e54287945d17d2352e36fd6  gcc/testsuite/g++.dg/template/access4.C
  043c53bbc7cad60a3c72bfa79987f011  gcc/testsuite/g++.dg/template/access5.C
  3f2e5ae210f767c1589637afbcf45353  gcc/testsuite/g++.dg/template/access6.C
*************** d75b945d8bfffb304a8d55dc4a97d457  gcc/te
*** 19216,19221 ****
--- 19277,19283 ----
  c31c403acbaa655ae0413e1d4350ae4b  gcc/testsuite/g++.dg/template/conv13.C
  c28b6679b01f4bbe8403c045289d2aef  gcc/testsuite/g++.dg/template/conv14.C
  d03295ed120e37ef2651d9c57aa0b774  gcc/testsuite/g++.dg/template/conv15.C
+ bd99141c68d90e04855763e3f2bfa63a  gcc/testsuite/g++.dg/template/conv19.C
  383f6618c1ccaddea23b36ff23d6d35e  gcc/testsuite/g++.dg/template/conv2.C
  be5017725e9889a47d07ba0d3a3464ff  gcc/testsuite/g++.dg/template/conv3.C
  53aab59e272fd22ef1ad191d0f31e01d  gcc/testsuite/g++.dg/template/conv4.C
*************** c7309345696ac164222361961daab266  gcc/te
*** 20025,20030 ****
--- 20087,20093 ----
  2fc8ecaf6e21a27a95a25b7e1641c675  gcc/testsuite/g++.dg/template/redecl4.C
  c6c126721707d148ce66066de06c754b  gcc/testsuite/g++.dg/template/ref1.C
  e5547a0a17e476f40de83fdf6f7b297f  gcc/testsuite/g++.dg/template/ref10.C
+ 55ce57535ea4f812b4b3a2be7cafa6c4  gcc/testsuite/g++.dg/template/ref11.C
  a02f5612e9219b8cd807bc11c6baa86d  gcc/testsuite/g++.dg/template/ref2.C
  03590f95ff079c31de0f7962f9d2850e  gcc/testsuite/g++.dg/template/ref3.C
  c3bbc6f642a26de6b3238750b8f9c01f  gcc/testsuite/g++.dg/template/ref4.C
*************** ce4f8106ed96ef070bead8ca0df02eea  gcc/te
*** 20543,20548 ****
--- 20606,20613 ----
  fab1470d87fc879a4a285622c057b736  gcc/testsuite/g++.dg/torture/init-list1.C
  4054dd6c177ca7971902e3ac60e34695  gcc/testsuite/g++.dg/torture/ipa-cp-1.C
  37b54578dbb493ce1238308444c1008c  gcc/testsuite/g++.dg/torture/ppc-ldst-array.C
+ 674377855743be77a442d6fe11fc86e1  gcc/testsuite/g++.dg/torture/pr103361.C
+ 55421b614773ff9e900b6ad17ffe7df3  gcc/testsuite/g++.dg/torture/pr105189.C
  161154ed9f6193a2a7da119e068c3f3f  gcc/testsuite/g++.dg/torture/pr27218.C
  a84e9fff95df4801f8e582fbc33303b8  gcc/testsuite/g++.dg/torture/pr30252.C
  e980bf95890544d46879b89f7aa98df6  gcc/testsuite/g++.dg/torture/pr30567.C
*************** ebc4dd8d7b9c346d612ab748d0d8bda0  gcc/te
*** 21247,21252 ****
--- 21312,21319 ----
  9a6263b0a0fc24a8d910d2b11d215637  gcc/testsuite/g++.dg/ubsan/null-7.C
  238c69e48fef47908a681867b7f50817  gcc/testsuite/g++.dg/ubsan/null-8.C
  684067ddb47560c655180c085c6980e8  gcc/testsuite/g++.dg/ubsan/object-size-1.C
+ 80dcb1a17f65b63cbfe2e3509439563c  gcc/testsuite/g++.dg/ubsan/pr101210.C
+ ad6c0b4132032f21f64bfdd4836d3313  gcc/testsuite/g++.dg/ubsan/pr105093.C
  a654df71119821a4303cc9fe0501191b  gcc/testsuite/g++.dg/ubsan/pr59250.C
  420a6623146bb014dc1310134356d81f  gcc/testsuite/g++.dg/ubsan/pr59306.C
  79755a51c3cbb97ff48bd411272f6b08  gcc/testsuite/g++.dg/ubsan/pr59331.C
*************** c2d5d87b3488ab338dcccb9091181331  gcc/te
*** 25339,25344 ****
--- 25406,25413 ----
  cc57ca4fd9c378f13126f05fd23d44f9  gcc/testsuite/g++.target/i386/mvc2.C
  5770edbad8bcf6303a34e5d14d63a98d  gcc/testsuite/g++.target/i386/mvc3.C
  4b58a8b362895e2d3227500db9f7df3f  gcc/testsuite/g++.target/i386/mvc4.C
+ 186a4f48c778c8bfd308076ed5277d77  gcc/testsuite/g++.target/i386/pr102295.C
+ 6d6c399b53fe1c3078aa132a559fe2ab  gcc/testsuite/g++.target/i386/pr102548.C
  1c706f97b6d93c0124dc4a203c98f6d2  gcc/testsuite/g++.target/i386/pr57362.C
  db3c3a9d9f798eff6348f0813dccc376  gcc/testsuite/g++.target/i386/pr57548.C
  e8a006e5050e191010d1a6ecff4873a3  gcc/testsuite/g++.target/i386/pr58372.C
*************** ae2a93d8f19ffa52e3299875575fb012  gcc/te
*** 25364,25369 ****
--- 25433,25439 ----
  a621b799eff193996043d9d5462e5c27  gcc/testsuite/g++.target/i386/sse4_1-check.h
  821d1f6cc7812ffc5220fc45c484c00f  gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C
  05e47f652ea4bc7c8df9bae20aaaa2b4  gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C
+ 6d0d9132ecd5c558bd1ec20dcee32d5d  gcc/testsuite/g++.target/i386/vec-tmpl1.C
  84541f8edc35b61b62256dbd71b731b8  gcc/testsuite/g++.target/riscv/call-with-empty-struct-float.C
  0224a15f72de72af47e3eeb572c2d4eb  gcc/testsuite/g++.target/riscv/call-with-empty-struct-int.C
  13fbd035f1483c414ba4dab326db8f4e  gcc/testsuite/g++.target/riscv/call-with-empty-struct.H
*************** e89355b99660c53d3dac89eba0ac8986  gcc/te
*** 26354,26359 ****
--- 26424,26430 ----
  6a87e81aa60353be798e48130f2c4ca2  gcc/testsuite/gcc.c-torture/compile/pmt.c
  8af85cd35080f497c5a1f16cfb95b5ef  gcc/testsuite/gcc.c-torture/compile/poor.c
  a64b267bb6b0f352ffc634f61410f7ca  gcc/testsuite/gcc.c-torture/compile/pp.c
+ 9c461bedf4ba5d689841294e9c5464f6  gcc/testsuite/gcc.c-torture/compile/pr101562.c
  33c7141fcf5b1add3ddd2be0100f1f0d  gcc/testsuite/gcc.c-torture/compile/pr12517.c
  ec16b12ab11c499bf321be18ea59da33  gcc/testsuite/gcc.c-torture/compile/pr12578.c
  86f3d5cf87d24e97aa663b79f2d0ac5d  gcc/testsuite/gcc.c-torture/compile/pr12899.c
*************** cf491abd2df5513193c96d9605cc5bc8  gcc/te
*** 27959,27964 ****
--- 28030,28036 ----
  7e81dc4cdd5c62169f611e513538c801  gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c
  57a7c08d79c2c2f2e65b96c5d353aad5  gcc/testsuite/gcc.c-torture/execute/bf64-1.c
  98152a763419b41838c8c9d841ad29a6  gcc/testsuite/gcc.c-torture/execute/bitfld-1.c
+ f07696fa0951cfa132406e3311f1250c  gcc/testsuite/gcc.c-torture/execute/bitfld-10.c
  005d6505de633a2ed0991ac8a94c4b8e  gcc/testsuite/gcc.c-torture/execute/bitfld-2.c
  99a449c3b4f58a78e441a461df3f513f  gcc/testsuite/gcc.c-torture/execute/bitfld-3.c
  f60b71cba62f24c87aeeb52ca18cf75c  gcc/testsuite/gcc.c-torture/execute/bitfld-4.c
*************** e854bc80f793329b6c96d31e3f80a012  gcc/te
*** 28336,28341 ****
--- 28408,28414 ----
  9c9024650c8b4b1672ea993228511949  gcc/testsuite/gcc.c-torture/execute/packed-aligned.c
  12785ab6e086a50cd8ab9f5bdb9a9bc5  gcc/testsuite/gcc.c-torture/execute/pending-4.c
  5ad23d6cafc55e78896b90e3669a14b8  gcc/testsuite/gcc.c-torture/execute/postmod-1.c
+ 6f562291c92a478431678da451525a90  gcc/testsuite/gcc.c-torture/execute/pr103052.c
  7758cb727d75f4fc1c0e483d503de146  gcc/testsuite/gcc.c-torture/execute/pr15262-1.c
  58dc249612dbc918d7fc4010e94deb8d  gcc/testsuite/gcc.c-torture/execute/pr15262-2.c
  d9c36fc850771445c5e4b6ce6dae1a12  gcc/testsuite/gcc.c-torture/execute/pr15262.c
*************** f1924cd169cc9af518b51afd9f11da82  gcc/te
*** 29682,29687 ****
--- 29755,29763 ----
  889ad8871787262fb9533d339c717e6a  gcc/testsuite/gcc.dg/aru-2.c
  2ed4a0b74656ba8104da4527c123648b  gcc/testsuite/gcc.dg/asan/asan.exp
  738544a74dbe22f6a41201227dfe9cd9  gcc/testsuite/gcc.dg/asan/nosanitize-and-inline.c
+ 62ddd0ab49b2d8a39773ae7568d8aa74  gcc/testsuite/gcc.dg/asan/pr104449.c
+ 3424b712fda248acb67afe3bbb5dbc46  gcc/testsuite/gcc.dg/asan/pr105214.c
+ 695fe49bfb0b0c5cd4e60ba1a0f27cf6  gcc/testsuite/gcc.dg/asan/pr105396.c
  a5e988481cd66b8acf6c610b847cb713  gcc/testsuite/gcc.dg/asan/pr56417.c
  0c13e4008bb665f05b030eb42e43183f  gcc/testsuite/gcc.dg/asan/pr63845.c
  9a45b4bebab3901180dbe2a44efcd070  gcc/testsuite/gcc.dg/asan/pr64170.c
*************** dadf3ffd264a8aa4075042e754d622a2  gcc/te
*** 31633,31638 ****
--- 31709,31716 ----
  9d75f75471d15ad9eab797c65fe24337  gcc/testsuite/gcc.dg/dfp/keywords-pedantic.c
  5f9dce48038ce1ba660b96e948792422  gcc/testsuite/gcc.dg/dfp/keywords-reserved.c
  440b3f562b43525babe2c96be973d1be  gcc/testsuite/gcc.dg/dfp/operator-bitwise.c
+ b6f9108cd4878577de83d43be75185ce  gcc/testsuite/gcc.dg/dfp/pr104510.c
+ 440b561ad1d9037d4559c7011d636b7a  gcc/testsuite/gcc.dg/dfp/pr104557.c
  d8629eb8e0c765b5a7daa583cb8eedad  gcc/testsuite/gcc.dg/dfp/pr31344.c
  b59fd600db434af135f39c38e21e2d74  gcc/testsuite/gcc.dg/dfp/pr37435.c
  17353eaf91a4f3959fa168324f86f6f5  gcc/testsuite/gcc.dg/dfp/pr41049.c
*************** c810b7347465014e305c14700d42a85b  gcc/te
*** 32294,32300 ****
  9d8e30eba0019473bc7e43fcdc6b48c1  gcc/testsuite/gcc.dg/gomp/block-8.c
  79682352a0c94e668e3de0e2a7fa1c22  gcc/testsuite/gcc.dg/gomp/block-9.c
  4910624b952a49e6626cc2f12abebbbf  gcc/testsuite/gcc.dg/gomp/cancel-1.c
! ffe487f15a2e6e6f4080fe782d3094d4  gcc/testsuite/gcc.dg/gomp/clause-1.c
  69b3c6d02d10bc53d283c974ed1e7ec6  gcc/testsuite/gcc.dg/gomp/clause-2.c
  5ac08c2b4cafd06b9d0ecc5295b58bc9  gcc/testsuite/gcc.dg/gomp/collapse-1.c
  d41d8cd98f00b204e9800998ecf8427e  gcc/testsuite/gcc.dg/gomp/combined-1.c
--- 32372,32378 ----
  9d8e30eba0019473bc7e43fcdc6b48c1  gcc/testsuite/gcc.dg/gomp/block-8.c
  79682352a0c94e668e3de0e2a7fa1c22  gcc/testsuite/gcc.dg/gomp/block-9.c
  4910624b952a49e6626cc2f12abebbbf  gcc/testsuite/gcc.dg/gomp/cancel-1.c
! 5c863da63bc2a44607b745b56d4373e8  gcc/testsuite/gcc.dg/gomp/clause-1.c
  69b3c6d02d10bc53d283c974ed1e7ec6  gcc/testsuite/gcc.dg/gomp/clause-2.c
  5ac08c2b4cafd06b9d0ecc5295b58bc9  gcc/testsuite/gcc.dg/gomp/collapse-1.c
  d41d8cd98f00b204e9800998ecf8427e  gcc/testsuite/gcc.dg/gomp/combined-1.c
*************** d7769c446568c18d557180c850cf3b4a  gcc/te
*** 32365,32370 ****
--- 32443,32449 ----
  37cd70c6dfa42e4ca92a22cf9bd83ad8  gcc/testsuite/gcc.dg/gomp/parallel-2.c
  f711435274df71049aa71808a78fc7a5  gcc/testsuite/gcc.dg/gomp/parallel-3.c
  d9a1f43ca6ac2a073e22bbbf243f300b  gcc/testsuite/gcc.dg/gomp/parallel-4.c
+ 0f7ac2e81ae2d400d52c34aa1c0b379a  gcc/testsuite/gcc.dg/gomp/pr100508.c
  7a163e65fe52b23fc85f2daa18c442ee  gcc/testsuite/gcc.dg/gomp/pr25874.c
  597de3ed24e1bc1c650af918589d83c3  gcc/testsuite/gcc.dg/gomp/pr25989.c
  0bd3e8dc860de61dd8e09229c090e1f5  gcc/testsuite/gcc.dg/gomp/pr25990.c
*************** bc96d3d7a369ee1d75a9841b80312226  gcc/te
*** 32864,32869 ****
--- 32943,32949 ----
  4f7560385c9b3bd900cc1de342ed58bc  gcc/testsuite/gcc.dg/guality/param-3.c
  74ce6c60795531920ab0a680e346e657  gcc/testsuite/gcc.dg/guality/param-4.c
  f932e4faa7d538859c699e070447bc01  gcc/testsuite/gcc.dg/guality/param-5.c
+ b0deaf43b4029cf429b4a541937eefd0  gcc/testsuite/gcc.dg/guality/pr101905.c
  91c528fa3ca63dee1e35b7c6d02cd258  gcc/testsuite/gcc.dg/guality/pr25967-1.c
  fa9ed629eec13dc2cd77fec24ea82b3c  gcc/testsuite/gcc.dg/guality/pr25967-2.c
  19bacc1e91869a8697eb548fb674e517  gcc/testsuite/gcc.dg/guality/pr36728-1.c
*************** cabac91cdba3842d40cf8ea00a992973  gcc/te
*** 32890,32896 ****
  ad22498cf8ec23e7130f00c09013af31  gcc/testsuite/gcc.dg/guality/pr45882.c
  f59890b50dc747afab9803faad83af78  gcc/testsuite/gcc.dg/guality/pr48437.c
  0a8f326039eacf3795df083d59d270e1  gcc/testsuite/gcc.dg/guality/pr48466.c
! 8729e084bbf812c07dc80e3002bd7c77  gcc/testsuite/gcc.dg/guality/pr49888.c
  f5d23d5daf139140e3f74b9521e69847  gcc/testsuite/gcc.dg/guality/pr54200.c
  df8d9a90eef54cc78285c05d55378c38  gcc/testsuite/gcc.dg/guality/pr54519-1.c
  eaa0797d9234eb2c7c77adc2b6f86a78  gcc/testsuite/gcc.dg/guality/pr54519-2.c
--- 32970,32976 ----
  ad22498cf8ec23e7130f00c09013af31  gcc/testsuite/gcc.dg/guality/pr45882.c
  f59890b50dc747afab9803faad83af78  gcc/testsuite/gcc.dg/guality/pr48437.c
  0a8f326039eacf3795df083d59d270e1  gcc/testsuite/gcc.dg/guality/pr48466.c
! 67820d262d95458ec0b89cffe57437ec  gcc/testsuite/gcc.dg/guality/pr49888.c
  f5d23d5daf139140e3f74b9521e69847  gcc/testsuite/gcc.dg/guality/pr54200.c
  df8d9a90eef54cc78285c05d55378c38  gcc/testsuite/gcc.dg/guality/pr54519-1.c
  eaa0797d9234eb2c7c77adc2b6f86a78  gcc/testsuite/gcc.dg/guality/pr54519-2.c
*************** b9cc7cb6d7d65f984ee0a8985b8e0e6e  gcc/te
*** 33498,33503 ****
--- 33578,33587 ----
  4c9f4a6440d7bd9fa3f564ee6b91b50c  gcc/testsuite/gcc.dg/lto/materialize-1_1.c
  e1bd2be5006d2bb7a3b670af0868ffeb  gcc/testsuite/gcc.dg/lto/noreturn-1_0.c
  2472b5bc8466fe62188232d9fbcd9de6  gcc/testsuite/gcc.dg/lto/noreturn-1_1.c
+ b277b193b2a7ff104d28fbf8e50407e8  gcc/testsuite/gcc.dg/lto/pr101868_0.c
+ ca741859e8754c149e68fc40892d50b1  gcc/testsuite/gcc.dg/lto/pr101868_1.c
+ e4aec3391bc7aed1a5d886edeb277407  gcc/testsuite/gcc.dg/lto/pr101868_2.c
+ 02d829cec4d5ff9723124841f79edca9  gcc/testsuite/gcc.dg/lto/pr101868_3.c
  5192817b2492ca93ffadce3b4a5e4794  gcc/testsuite/gcc.dg/lto/pr27898_0.c
  c5f48897247dfaec60df4e32beffcd8e  gcc/testsuite/gcc.dg/lto/pr27898_1.c
  2ad724786bc4b555a7f31e8b3bf164b6  gcc/testsuite/gcc.dg/lto/pr28706_0.c
*************** f5883b8a2323e7318237e3750e037d52  gcc/te
*** 34083,34090 ****
--- 34167,34192 ----
  b9bdf8358b02d555adf76b44050cc156  gcc/testsuite/gcc.dg/pow-sqrt-synth-1.c
  e037582257371f62a3a039df4321225d  gcc/testsuite/gcc.dg/pow-sqrt.x
  2ed4c7917cf2d830a0bb5f0d9d65e592  gcc/testsuite/gcc.dg/pr100225.c
+ eefdc14893bfe7e4dd2a89202733fa86  gcc/testsuite/gcc.dg/pr100509.c
+ b20e922d857d70fc849642b04d8aef50  gcc/testsuite/gcc.dg/pr101062.c
+ f7653fb72f02585ca98c4cb008a53e32  gcc/testsuite/gcc.dg/pr101171.c
+ 2eebdeb5aef44432de1498de14cbf4e6  gcc/testsuite/gcc.dg/pr101266.c
+ 70303171ed7f5b2cba05e6b98daad2ab  gcc/testsuite/gcc.dg/pr101384.c
+ 9437d2977418eec9749f3a9d06040a59  gcc/testsuite/gcc.dg/pr102140.c
+ afb36cfd0415d59db229d4058c30853f  gcc/testsuite/gcc.dg/pr102224.c
+ 91844853e35a7b41b30a3460cc946f81  gcc/testsuite/gcc.dg/pr102478.c
+ d2b6c61457f02b40823ad6f31b29f47c  gcc/testsuite/gcc.dg/pr102798.c
+ 403235552bc51decc6aaf0f2f60e8721  gcc/testsuite/gcc.dg/pr103248.c
+ 220dde695d4a28e6fb719f38a397ed0e  gcc/testsuite/gcc.dg/pr103837.c
+ a4874d44c0ba05d6340ed06bc5958e53  gcc/testsuite/gcc.dg/pr103860.c
  8226e377d45ef0ffeb7badfb04740ab9  gcc/testsuite/gcc.dg/pr10392-1.c
+ c04efe12f2d4a15f1ea2cae1889ba4cf  gcc/testsuite/gcc.dg/pr104675-1.c
+ c5ab940cf751b86591b1f61af3cfdade  gcc/testsuite/gcc.dg/pr104675-2.c
+ 3134bf3d7e786de762b2b02ad55f4dcd  gcc/testsuite/gcc.dg/pr104675-3.c
  d8ac6e8cccf7bcb1070140ae44ef117a  gcc/testsuite/gcc.dg/pr10474.c
+ 2968ba86ec9be073192c7975ec531fb3  gcc/testsuite/gcc.dg/pr104786.c
+ b01f707de15442a63cdb3e32148021fd  gcc/testsuite/gcc.dg/pr105211.c
+ cc6ac8d68c79338a580a123141221e8b  gcc/testsuite/gcc.dg/pr105257.c
  860f163dcd0b252ea3f85323bc959a7d  gcc/testsuite/gcc.dg/pr11459-1.c
  e164a736918661d669864e3645da290c  gcc/testsuite/gcc.dg/pr11492.c
  3b83403729a3686d25552352bf0c4577  gcc/testsuite/gcc.dg/pr11864-1.c
*************** a45d8a7ea58bf6c772c8fa0d9d6f1ca5  gcc/te
*** 35441,35447 ****
  a777a206da2c1bfe3ba53d32fb8b2e9c  gcc/testsuite/gcc.dg/pr78138.c
  427e79810052c59fa2a8c9b43fbdfa29  gcc/testsuite/gcc.dg/pr78148.c
  036b89fa8e150cf11fc1400568acc2d2  gcc/testsuite/gcc.dg/pr78185.c
! 5bb4c02b2f251c26191de89ac03e564b  gcc/testsuite/gcc.dg/pr78213.c
  aa86169902d2471ece373c0dddd5232b  gcc/testsuite/gcc.dg/pr78241.c
  7bfaca350ee545dbe10363c435dfa736  gcc/testsuite/gcc.dg/pr78333.c
  21d56f799d53b50dacd02048a1b73756  gcc/testsuite/gcc.dg/pr78384.c
--- 35543,35549 ----
  a777a206da2c1bfe3ba53d32fb8b2e9c  gcc/testsuite/gcc.dg/pr78138.c
  427e79810052c59fa2a8c9b43fbdfa29  gcc/testsuite/gcc.dg/pr78148.c
  036b89fa8e150cf11fc1400568acc2d2  gcc/testsuite/gcc.dg/pr78185.c
! aecacbb64d3497c484426d338ffae43d  gcc/testsuite/gcc.dg/pr78213.c
  aa86169902d2471ece373c0dddd5232b  gcc/testsuite/gcc.dg/pr78241.c
  7bfaca350ee545dbe10363c435dfa736  gcc/testsuite/gcc.dg/pr78333.c
  21d56f799d53b50dacd02048a1b73756  gcc/testsuite/gcc.dg/pr78384.c
*************** f6dbe508409f3fdef69bb18356571537  gcc/te
*** 35846,35851 ****
--- 35948,35954 ----
  06ae27dde8da22331e1e8dcd059d4d03  gcc/testsuite/gcc.dg/pr96579.c
  427918230a8f9d519334c7bbc79f902a  gcc/testsuite/gcc.dg/pr97487-1.c
  b5fa0cd5917ab8447128f90c9aa66d86  gcc/testsuite/gcc.dg/pr97487-2.c
+ dd83a8b867ef8c886adacb097f55bc6b  gcc/testsuite/gcc.dg/pr97953.c
  ec1830becced622760bda688ca2bb126  gcc/testsuite/gcc.dg/pr9814-1.c
  2232cd10c89412a750db8fa0a772b747  gcc/testsuite/gcc.dg/pr98331.c
  2eea8fc255e64207bc4e80b2eb33a6f0  gcc/testsuite/gcc.dg/pr99136.c
*************** ba222bffc08c28a180298a0d4c6d6aea  gcc/te
*** 36746,36751 ****
--- 36849,36862 ----
  4ac07881b7842f59c3aeffe74b35a881  gcc/testsuite/gcc.dg/torture/parm-coalesce.c
  9d76608a6d99fb21a235151928a24b22  gcc/testsuite/gcc.dg/torture/pr100053.c
  6335c9430427e1e94a7a58bb8b0b5255  gcc/testsuite/gcc.dg/torture/pr100566.c
+ 5f5809ecbd695f122244007bc7702241  gcc/testsuite/gcc.dg/torture/pr100672.c
+ 4b5d071569dd623054d8ee1f648c1cfe  gcc/testsuite/gcc.dg/torture/pr100786.c
+ de1ad14692100748f699bc7db768a51d  gcc/testsuite/gcc.dg/torture/pr100934.c
+ 26df74aa3790822d5269438121e02a5d  gcc/testsuite/gcc.dg/torture/pr101105.c
+ ad6242e66d3dccabe71dd1502730f6d6  gcc/testsuite/gcc.dg/torture/pr101173.c
+ 556a928be1d2de2f0390088de1d6e46f  gcc/testsuite/gcc.dg/torture/pr101394.c
+ 98aa192f1dd77816cc201b3a0ee72edb  gcc/testsuite/gcc.dg/torture/pr103181.c
+ 190d413f3b81d5e1b395090ae83703be  gcc/testsuite/gcc.dg/torture/pr103237.c
  ded4330fd1cd52783bd9b1761db038ef  gcc/testsuite/gcc.dg/torture/pr16104-1.c
  fc265ee05da2f29f0e92804661cd1f28  gcc/testsuite/gcc.dg/torture/pr17526.c
  01c583edb41b632b835aa892b9c1cb14  gcc/testsuite/gcc.dg/torture/pr17933-1.c
*************** c01fa386702975a48153d49c7102f94e  gcc/te
*** 37672,37677 ****
--- 37783,37789 ----
  ae0f145265dd4960c43e14aeb325fd0e  gcc/testsuite/gcc.dg/torture/pr94947-2.c
  a5d39ec2048b8f4f3145b829fa56bec1  gcc/testsuite/gcc.dg/torture/pr95049.c
  62030ce11318324c6a00eed2b2eebee1  gcc/testsuite/gcc.dg/torture/pr96513.c
+ b6ac3fe74c736f29c622c9f00307a596  gcc/testsuite/gcc.dg/torture/pr96522.c
  264df8564ef9bf89c28b5918f88bada3  gcc/testsuite/gcc.dg/torture/pr97812.c
  bea94dc5b4f440a3a09008e23a97d794  gcc/testsuite/gcc.dg/torture/pr98117.c
  e04ec27dc5469da4d5b29038bf9a9865  gcc/testsuite/gcc.dg/torture/pr98601.c
*************** b785e1a2b2d1f8899bb42aef2aebb7a8  gcc/te
*** 38425,38430 ****
--- 38537,38543 ----
  68ea1e33b73e2699fe3e0888ae6721b1  gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-13.c
  fe84a4129539ca0baa6a9d7402d4d376  gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-14.c
  b1188ae63556e140acddb61c169ee3c5  gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-15.c
+ 5d4cdc6bd818734c048b194c28a11deb  gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
  b12d1ab254d179b32ea5f184c4240c23  gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1b.c
  195d9617ba34c560d8e9caab1c13ad0e  gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-2.c
  4f2173acb80928f0b6a87daf5033149e  gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-3.c
*************** dec7e9a594d55bb6427abfb7ee0ae7b3  gcc/te
*** 38481,38486 ****
--- 38594,38600 ----
  db4f86a4f8ff0fc9653954f4e21c1f3f  gcc/testsuite/gcc.dg/tree-ssa/popcount.c
  1e2db2ea55f8eb96805a4dc045b119c5  gcc/testsuite/gcc.dg/tree-ssa/popcount2.c
  39af726ca8012f85160b6180dd60017f  gcc/testsuite/gcc.dg/tree-ssa/popcount3.c
+ d5dace55f72aa8ccb51636dff79f5ccc  gcc/testsuite/gcc.dg/tree-ssa/pr101824.c
  78e6c5fe63f7305009c8a79840fe20dc  gcc/testsuite/gcc.dg/tree-ssa/pr13146.c
  eab19e0c04884cd782c9879cbe292109  gcc/testsuite/gcc.dg/tree-ssa/pr14341.c
  9945ed7002a5f7d4918e8ff5eb4cb647  gcc/testsuite/gcc.dg/tree-ssa/pr14490-1.c
*************** bbbf863dee2a824829c30c4d90e56d15  gcc/te
*** 38895,38900 ****
--- 39009,39015 ----
  53e20037498a94809dbeff091a2e7fb5  gcc/testsuite/gcc.dg/tree-ssa/pr94969.c
  a43f5375ab3cccb18ca71f3f0527e303  gcc/testsuite/gcc.dg/tree-ssa/pr95804.c
  6b92322818b0a3b87de6cd676b752a9d  gcc/testsuite/gcc.dg/tree-ssa/pr97009.c
+ 5186613269719acf7830ca244a7cf28a  gcc/testsuite/gcc.dg/tree-ssa/pr97456.c
  e6c9f2dd9d7405dee4bfd5d6d0fc455f  gcc/testsuite/gcc.dg/tree-ssa/pred-1.c
  90c3c1a872e4566cc043c50e818ef036  gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c
  ec45787b9b781da6181e7960a8cb76f0  gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c
*************** e13b38f2990120fb563c7e3296667346  gcc/te
*** 43309,43318 ****
--- 43424,43436 ----
  c5724f6767410c7983d266d6febb0f89  gcc/testsuite/gcc.target/aarch64/sve/zip2_1.c
  c1ccdcf1821a2a9f689561bfc74f48dc  gcc/testsuite/gcc.target/aarch64/symbol-range-tiny.c
  b4127affc5c8c177d402c917c2b81097  gcc/testsuite/gcc.target/aarch64/symbol-range.c
+ d707fbbaf0d37436be7ea3b6ac3b81d7  gcc/testsuite/gcc.target/aarch64/sync-comp-swap-ool.c
  c210c6b6344e5119de7869315aefba48  gcc/testsuite/gcc.target/aarch64/sync-comp-swap.c
  322a3d828a7a9ead661b7d17a7aeceea  gcc/testsuite/gcc.target/aarch64/sync-comp-swap.x
+ 2687cc48cb064e67e3949a43386961bf  gcc/testsuite/gcc.target/aarch64/sync-op-acquire-ool.c
  002f159c83e5462862ec82620c2630ae  gcc/testsuite/gcc.target/aarch64/sync-op-acquire.c
  1e1c36a3eb9a0bd45a0e250e1d2b1ce5  gcc/testsuite/gcc.target/aarch64/sync-op-acquire.x
+ 14c3e5537db0cba1ee1aa29279f1d44a  gcc/testsuite/gcc.target/aarch64/sync-op-full-ool.c
  34216778cb9e5a4611eb55ae4ccfaf4b  gcc/testsuite/gcc.target/aarch64/sync-op-full.c
  17abd80a4e460d31237f3ece87c85558  gcc/testsuite/gcc.target/aarch64/sync-op-full.x
  f87f898044cd78f2ebf530577d3cf7bb  gcc/testsuite/gcc.target/aarch64/sync-op-release.c
*************** c850677a06284224d4f4c40ffd5e4d78  gcc/te
*** 43329,43336 ****
  639032a9f80bce937ccbcf962600a338  gcc/testsuite/gcc.target/aarch64/target_attr_17.c
  c58ba3dda55aafe8c837f58d3ba9dc9d  gcc/testsuite/gcc.target/aarch64/target_attr_18.c
  93145ff3e03510c58daa08e45866f6ba  gcc/testsuite/gcc.target/aarch64/target_attr_2.c
! bda8eed00f321b4cfe8fffd7a2a549d1  gcc/testsuite/gcc.target/aarch64/target_attr_20.c
! 9ea0cd1c37488478ebbda0afaf90eb5a  gcc/testsuite/gcc.target/aarch64/target_attr_21.c
  a4a6eccdba213faef4196f8ebe4152a3  gcc/testsuite/gcc.target/aarch64/target_attr_3.c
  c17cb964233b0aa7dd1ec0085d5a8fe2  gcc/testsuite/gcc.target/aarch64/target_attr_4.c
  77ed3e7c559e6c7bb67620fa37d32e76  gcc/testsuite/gcc.target/aarch64/target_attr_5.c
--- 43447,43454 ----
  639032a9f80bce937ccbcf962600a338  gcc/testsuite/gcc.target/aarch64/target_attr_17.c
  c58ba3dda55aafe8c837f58d3ba9dc9d  gcc/testsuite/gcc.target/aarch64/target_attr_18.c
  93145ff3e03510c58daa08e45866f6ba  gcc/testsuite/gcc.target/aarch64/target_attr_2.c
! 8b44261d4e827e2d0e48c50c109f35b5  gcc/testsuite/gcc.target/aarch64/target_attr_20.c
! 6fc49b0d1c0f511ac3f21e291184cb00  gcc/testsuite/gcc.target/aarch64/target_attr_21.c
  a4a6eccdba213faef4196f8ebe4152a3  gcc/testsuite/gcc.target/aarch64/target_attr_3.c
  c17cb964233b0aa7dd1ec0085d5a8fe2  gcc/testsuite/gcc.target/aarch64/target_attr_4.c
  77ed3e7c559e6c7bb67620fa37d32e76  gcc/testsuite/gcc.target/aarch64/target_attr_5.c
*************** cf7c684a14b2daa8b876c512e3599582  gcc/te
*** 43875,43883 ****
  2473ab47d386f3db161016126b9fac27  gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail.c
  d9303a4e750c06e8eedb1784278141fd  gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c
  eefaa7efcbf94aefad0419e7e0888e33  gcc/testsuite/gcc.target/arm/attr-neon-fp16.c
! e45d18a6bd453ee0583a14f1ec577ca6  gcc/testsuite/gcc.target/arm/attr-neon.c
! 0ffb1bd2df426c7f4e30d62c784338b3  gcc/testsuite/gcc.target/arm/attr-neon2.c
! d6e6da3a36344077e01b8966604337d8  gcc/testsuite/gcc.target/arm/attr-neon3.c
  4dcf9134178aa5b2772358c0b2cd9366  gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
  0eca8ecf2f4a2c46b29c992bd8b38f5d  gcc/testsuite/gcc.target/arm/attr_arm-err.c
  8ab2ce7d24547f03640f6087eb2b9be4  gcc/testsuite/gcc.target/arm/attr_arm.c
--- 43993,44001 ----
  2473ab47d386f3db161016126b9fac27  gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail.c
  d9303a4e750c06e8eedb1784278141fd  gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c
  eefaa7efcbf94aefad0419e7e0888e33  gcc/testsuite/gcc.target/arm/attr-neon-fp16.c
! 4a4bc58114ce671d72a5c4665876477b  gcc/testsuite/gcc.target/arm/attr-neon.c
! 816b2817c0472874bbb4b578bba8b349  gcc/testsuite/gcc.target/arm/attr-neon2.c
! 6ada2727df65386b0a3f5b94197dea29  gcc/testsuite/gcc.target/arm/attr-neon3.c
  4dcf9134178aa5b2772358c0b2cd9366  gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
  0eca8ecf2f4a2c46b29c992bd8b38f5d  gcc/testsuite/gcc.target/arm/attr_arm-err.c
  8ab2ce7d24547f03640f6087eb2b9be4  gcc/testsuite/gcc.target/arm/attr_arm.c
*************** ef7228203e3de2362184e00a8c156132  gcc/te
*** 44380,44386 ****
  038b3bb27d1430e5bcaacffe8348eb14  gcc/testsuite/gcc.target/arm/pr69180.c
  51f46e9158ad549a6f9079f849c4c10d  gcc/testsuite/gcc.target/arm/pr69187.c
  b1f1919dcfa1287f837de2b937769050  gcc/testsuite/gcc.target/arm/pr69194.c
! ea51ac3985ec65a675e98d7486d1c3fc  gcc/testsuite/gcc.target/arm/pr69245.c
  ecd06975766e392b211a369c6a9a3273  gcc/testsuite/gcc.target/arm/pr69307.c
  e5aafcaef63ec87ca861c2c3df04f753  gcc/testsuite/gcc.target/arm/pr69614.c
  32fee62df6d98765a5508d0d96c9eb65  gcc/testsuite/gcc.target/arm/pr69904.c
--- 44498,44504 ----
  038b3bb27d1430e5bcaacffe8348eb14  gcc/testsuite/gcc.target/arm/pr69180.c
  51f46e9158ad549a6f9079f849c4c10d  gcc/testsuite/gcc.target/arm/pr69187.c
  b1f1919dcfa1287f837de2b937769050  gcc/testsuite/gcc.target/arm/pr69194.c
! 05e46560368a7df97a4f31249ffebcc7  gcc/testsuite/gcc.target/arm/pr69245.c
  ecd06975766e392b211a369c6a9a3273  gcc/testsuite/gcc.target/arm/pr69307.c
  e5aafcaef63ec87ca861c2c3df04f753  gcc/testsuite/gcc.target/arm/pr69614.c
  32fee62df6d98765a5508d0d96c9eb65  gcc/testsuite/gcc.target/arm/pr69904.c
*************** eb13a55564e5e8fb2982994c3b17a08c  gcc/te
*** 44426,44439 ****
  7e118390a8f6adc60508c71323d3a526  gcc/testsuite/gcc.target/arm/pr89222.c
  e176eff84ec1966606dbac1ac50fc431  gcc/testsuite/gcc.target/arm/pr91816.c
  fe5e1dadd9ea1e8cccb81773046e8da9  gcc/testsuite/gcc.target/arm/pr97528.c
  a57b4669de94641d7fba5928bf1f8ca0  gcc/testsuite/gcc.target/arm/pragma_arch_attribute.c
  d1fa915a7ba92f09b7cb8676f62a0974  gcc/testsuite/gcc.target/arm/pragma_arch_attribute_2.c
  5184d53e7d6c028c1c22ef106f053ed7  gcc/testsuite/gcc.target/arm/pragma_arch_attribute_3.c
  324cc300468bdbebd55d7555577596bf  gcc/testsuite/gcc.target/arm/pragma_arch_switch_2.c
  321232597c3b16471c510b972ad557b4  gcc/testsuite/gcc.target/arm/pragma_attribute.c
  cdf14fd079c2cd544c152c39ceb8ac66  gcc/testsuite/gcc.target/arm/pragma_cpp_fma.c
! c9e6771b67edbcdcd59fc69d96f76bd0  gcc/testsuite/gcc.target/arm/pragma_fpu_attribute.c
! 3a06abeb34fdbba108fe536aeccde735  gcc/testsuite/gcc.target/arm/pragma_fpu_attribute_2.c
  5b1a9414b404b74eb5cf36760730cf83  gcc/testsuite/gcc.target/arm/pure-code/ffunction-sections.c
  77b405f3713bb420ee5af292f1a977dc  gcc/testsuite/gcc.target/arm/pure-code/no-casesi.c
  7b8330d6a4b33ec1ebe3d2b0ac6a7d6a  gcc/testsuite/gcc.target/arm/pure-code/no-literal-pool.c
--- 44544,44558 ----
  7e118390a8f6adc60508c71323d3a526  gcc/testsuite/gcc.target/arm/pr89222.c
  e176eff84ec1966606dbac1ac50fc431  gcc/testsuite/gcc.target/arm/pr91816.c
  fe5e1dadd9ea1e8cccb81773046e8da9  gcc/testsuite/gcc.target/arm/pr97528.c
+ ec5230c6f63b4a45740b6ae0d8e7b39c  gcc/testsuite/gcc.target/arm/pr99977.c
  a57b4669de94641d7fba5928bf1f8ca0  gcc/testsuite/gcc.target/arm/pragma_arch_attribute.c
  d1fa915a7ba92f09b7cb8676f62a0974  gcc/testsuite/gcc.target/arm/pragma_arch_attribute_2.c
  5184d53e7d6c028c1c22ef106f053ed7  gcc/testsuite/gcc.target/arm/pragma_arch_attribute_3.c
  324cc300468bdbebd55d7555577596bf  gcc/testsuite/gcc.target/arm/pragma_arch_switch_2.c
  321232597c3b16471c510b972ad557b4  gcc/testsuite/gcc.target/arm/pragma_attribute.c
  cdf14fd079c2cd544c152c39ceb8ac66  gcc/testsuite/gcc.target/arm/pragma_cpp_fma.c
! 90392e1b8e06b6f5c00c86ecf249fd69  gcc/testsuite/gcc.target/arm/pragma_fpu_attribute.c
! a13d496741ee33ca9436673eb16995cf  gcc/testsuite/gcc.target/arm/pragma_fpu_attribute_2.c
  5b1a9414b404b74eb5cf36760730cf83  gcc/testsuite/gcc.target/arm/pure-code/ffunction-sections.c
  77b405f3713bb420ee5af292f1a977dc  gcc/testsuite/gcc.target/arm/pure-code/no-casesi.c
  7b8330d6a4b33ec1ebe3d2b0ac6a7d6a  gcc/testsuite/gcc.target/arm/pure-code/no-literal-pool.c
*************** b4dd71d52783b89846a0cf7abe6be930  gcc/te
*** 45386,45391 ****
--- 45505,45511 ----
  3391c9dd1dd0dbbac597a660fd5fb010  gcc/testsuite/gcc.target/i386/avx-lrintf-vec.c
  b4097136b326678c552cf24792f79fe8  gcc/testsuite/gcc.target/i386/avx-mul-1.c
  46322bf9b32fe645dd973a6bc8e8b128  gcc/testsuite/gcc.target/i386/avx-os-support.h
+ 649073dcb552cc5ef8392806cbe23d1c  gcc/testsuite/gcc.target/i386/avx-pr102224.c
  62aa13560c827f799be1941a2e6da500  gcc/testsuite/gcc.target/i386/avx-pr51581-1.c
  c437ae63e2540199d8c765547fc407d6  gcc/testsuite/gcc.target/i386/avx-pr51581-2.c
  b6e744a5c521873cc8be2dbb5f25790d  gcc/testsuite/gcc.target/i386/avx-pr57233.c
*************** c0dd86eaa0095c2b38908928d5034cf3  gcc/te
*** 47009,47014 ****
--- 47129,47135 ----
  d787a0a2840b56339d3621983623b18d  gcc/testsuite/gcc.target/i386/avx512f-or-si-zmm-5.c
  d35963959d5b010c3b26b967f48d3608  gcc/testsuite/gcc.target/i386/avx512f-or-si-zmm-6.c
  17acbefd47a510ed96d83a23e3e4b8c3  gcc/testsuite/gcc.target/i386/avx512f-os-support.h
+ 7371abf8df649ac78965cd397d5f5a42  gcc/testsuite/gcc.target/i386/avx512f-pr101471.c
  88877c518076ecdec1dba128743ad627  gcc/testsuite/gcc.target/i386/avx512f-pr57233.c
  0272e0fc54cb34ee03db4b0027dbec3d  gcc/testsuite/gcc.target/i386/avx512f-pr63594-1.c
  381f53de01f1e9893e6903d9fac40b87  gcc/testsuite/gcc.target/i386/avx512f-pr63594-2.c
*************** b1d366c21cfdcfacf9854ed6cbfd7bc3  gcc/te
*** 49360,49365 ****
--- 49481,49497 ----
  36b813a940b2c87070255be03db22966  gcc/testsuite/gcc.target/i386/pieces-strcpy-2.c
  13d06bee88f2ccd2a16effe0c243e61e  gcc/testsuite/gcc.target/i386/pow-1.c
  f6d11dafd312969f2c744769fa5060e7  gcc/testsuite/gcc.target/i386/pr100182.c
+ f8c6587e64861b8f769159de826acd76  gcc/testsuite/gcc.target/i386/pr101175.c
+ 4f610ba3f94dc4f52aa642107694f970  gcc/testsuite/gcc.target/i386/pr102498.c
+ bcf207e15c0d5b9e3168e3c570bc4999  gcc/testsuite/gcc.target/i386/pr103205.c
+ 5fbee8826b1f4da8d9dd6a2f09f18e0e  gcc/testsuite/gcc.target/i386/pr103908.c
+ 9db2b13a34fc86475d27728a925461c5  gcc/testsuite/gcc.target/i386/pr104446.c
+ 9afbd8cbff177a7e555fe32de7558c2e  gcc/testsuite/gcc.target/i386/pr104451.c
+ f34a56063b53daa2722dd66e280f5aab  gcc/testsuite/gcc.target/i386/pr104453.c
+ a92681d4c2c5095462e23684946fe9fd  gcc/testsuite/gcc.target/i386/pr104469.c
+ 6f32caf69432ac867dd42051bcfa22a8  gcc/testsuite/gcc.target/i386/pr104502.c
+ a64b8516e04de39ddebcd66dc046d450  gcc/testsuite/gcc.target/i386/pr104971.c
+ 3de9ba59994fd09bad053a28eecbc68d  gcc/testsuite/gcc.target/i386/pr105123.c
  304b7d185da41754f69656f5bfa7d508  gcc/testsuite/gcc.target/i386/pr11001-memcpy-1.c
  7dbe55f1460795545dd744807466a430  gcc/testsuite/gcc.target/i386/pr11001-memcpy-2.c
  cbe58ae1efc3b97c1019a430e1fedfcb  gcc/testsuite/gcc.target/i386/pr11001-memcpy-3.c
*************** f353395bccf918949658ea5606b5bc6e  gcc/te
*** 50229,50236 ****
  2969e0a99ac5696cdf2b676f9bebb301  gcc/testsuite/gcc.target/i386/pr70955.c
  b041f793f29c8dbb81f30cc6cff59540  gcc/testsuite/gcc.target/i386/pr71016.c
  cdf785a2bc0d7b4e9128691fc978d25e  gcc/testsuite/gcc.target/i386/pr71077.c
- d97dabadf3451f45363f5cae9c36cea4  gcc/testsuite/gcc.target/i386/pr71245-1.c
- c61fd9362197e2e0ce7dd1debaa73ccc  gcc/testsuite/gcc.target/i386/pr71245-2.c
  2fb9329d1a1eba91cf629cd69a0a2945  gcc/testsuite/gcc.target/i386/pr71321.c
  d0bd03c535d9acf1fa5c53d9fab89cef  gcc/testsuite/gcc.target/i386/pr71346.c
  1c394993c347ba5c842359a75dc15aa5  gcc/testsuite/gcc.target/i386/pr71374.c
--- 50361,50366 ----
*************** cc8a162617784a2e883a5e726d28ebde  gcc/te
*** 50800,50806 ****
  49bde97b271274cb2bc26697ce2b19be  gcc/testsuite/gcc.target/i386/sse-11.c
  0fda9371039ad1a80f11530a4dcd4d85  gcc/testsuite/gcc.target/i386/sse-12.c
  4b4e74dd76fb8c69ffdc4bfe13ee62fd  gcc/testsuite/gcc.target/i386/sse-13.c
! 71ab93066487879f46e3ab206d911e61  gcc/testsuite/gcc.target/i386/sse-14.c
  92ad37b5ad7426d489b1b6f1ba0f41ea  gcc/testsuite/gcc.target/i386/sse-15.c
  2e7b115c4bd7984925f1a8d17a5faf67  gcc/testsuite/gcc.target/i386/sse-16.c
  f660e67b22cb44e6a6b38a247b1d78c3  gcc/testsuite/gcc.target/i386/sse-17.c
--- 50930,50936 ----
  49bde97b271274cb2bc26697ce2b19be  gcc/testsuite/gcc.target/i386/sse-11.c
  0fda9371039ad1a80f11530a4dcd4d85  gcc/testsuite/gcc.target/i386/sse-12.c
  4b4e74dd76fb8c69ffdc4bfe13ee62fd  gcc/testsuite/gcc.target/i386/sse-13.c
! 89fde32bcbf5e87515f2730be614716f  gcc/testsuite/gcc.target/i386/sse-14.c
  92ad37b5ad7426d489b1b6f1ba0f41ea  gcc/testsuite/gcc.target/i386/sse-15.c
  2e7b115c4bd7984925f1a8d17a5faf67  gcc/testsuite/gcc.target/i386/sse-16.c
  f660e67b22cb44e6a6b38a247b1d78c3  gcc/testsuite/gcc.target/i386/sse-17.c
*************** e644ef57e549ba6b46da5cb2d302203f  gcc/te
*** 53362,53367 ****
--- 53492,53501 ----
  8d1bb8d348bbbd1468a4518fcfc930da  gcc/testsuite/gcc.target/powerpc/ppc64-double-1.c
  322275a6e18c464401bb8e7d050b7539  gcc/testsuite/gcc.target/powerpc/ppc64-toc.c
  a64bd4e47397af3253bc9e8dc2c56780  gcc/testsuite/gcc.target/powerpc/ppu-intrinsics.c
+ 93530f0352e114499a2243d7a2a63830  gcc/testsuite/gcc.target/powerpc/pr101129.c
+ fef209ac364aa52b3c1bab51422d611c  gcc/testsuite/gcc.target/powerpc/pr101985-1.c
+ bbe41009113780dbcd6527cbec5f943c  gcc/testsuite/gcc.target/powerpc/pr101985-2.c
+ 63f64f982d463b17c737686aae6460c3  gcc/testsuite/gcc.target/powerpc/pr102347.c
  c2f6d6cf82ef4931619d09e10a0a72aa  gcc/testsuite/gcc.target/powerpc/pr16155.c
  396ae287e72ecdda51bb3157818030a9  gcc/testsuite/gcc.target/powerpc/pr16286.c
  198d8a69d2887e8fadcb050d90e21aa6  gcc/testsuite/gcc.target/powerpc/pr16458-1.c
*************** f657a587777cadd240d90267c42183a8  gcc/te
*** 54391,54396 ****
--- 54525,54531 ----
  b496b43e01188107d0277ab22fe7faa6  gcc/testsuite/gcc.target/s390/20140327-1.c
  f9efcac72c7632def29469b0cbef14cb  gcc/testsuite/gcc.target/s390/20150826-1.c
  4a96580e145f1c61cef78ba991ab4066  gcc/testsuite/gcc.target/s390/20181024-1.c
+ 1dabce41016ae8d4d1de9989a3307a73  gcc/testsuite/gcc.target/s390/20211119.c
  2a2e7cf581c0ea913bb0cd940e096c96  gcc/testsuite/gcc.target/s390/TI-constants-lra.c
  79300a376a7a8fbc10ec913d6f99a928  gcc/testsuite/gcc.target/s390/TI-constants-nolra.c
  d69a98eeb9d370fcef146a6f7778c59d  gcc/testsuite/gcc.target/s390/addr-constraints-1.c
*************** dfee7fa2ec55ccfb935c28226ca15fe3  gcc/te
*** 54546,54551 ****
--- 54681,54687 ----
  d5b2bba665576dc0538f9d0bd2142e62  gcc/testsuite/gcc.target/s390/nomemloopunroll-1.c
  eb96a92710915622b3f65dba4a30955d  gcc/testsuite/gcc.target/s390/oscbreak-1.c
  25c3bd00fd3d097e42ac8cfc215fd0c4  gcc/testsuite/gcc.target/s390/pfpo.c
+ 182ebf3677a29bf9b1dbb033505f78dd  gcc/testsuite/gcc.target/s390/pr104775.c
  765307a040de72f2f4376b7068d68018  gcc/testsuite/gcc.target/s390/pr20927.c
  85f31fb9b4b15529205376d3f6fa385c  gcc/testsuite/gcc.target/s390/pr24624.c
  7adacbd67601dc0845e556e5632cd718  gcc/testsuite/gcc.target/s390/pr27661.c
*************** a67458660c2ef2010f128fdaa4faaa86  gcc/te
*** 55021,55026 ****
--- 55157,55164 ----
  e470b0a0d1a056b60c3915a6dfcfd4ae  gcc/testsuite/gcc.target/sparc/20170228-1.c
  bf95d536cbad4db92f264aa740abbbbc  gcc/testsuite/gcc.target/sparc/20181129-1.c
  3b3205cedf38a33c506ea5c4414d489f  gcc/testsuite/gcc.target/sparc/20181129-2.c
+ 3f593e1ef43ebce309fa2b2033f8be77  gcc/testsuite/gcc.target/sparc/20210917-1.c
+ 0c6705acc2a655d06368478b465dca00  gcc/testsuite/gcc.target/sparc/20220510-1.c
  44373c57181608413fc07f3ec0e2ad6e  gcc/testsuite/gcc.target/sparc/align.c
  667a877a2fb02d919c4eaaea6fbccbad  gcc/testsuite/gcc.target/sparc/array.c
  941bd8aa096c3c20415035d9d17cca6e  gcc/testsuite/gcc.target/sparc/attr-aligned.c
*************** aeec8ff75316a52def72f86d4bc1708c  gcc/te
*** 55608,55613 ****
--- 55746,55760 ----
  cd68bcb7d503735e2e8f425f2240753c  gcc/testsuite/gdc.dg/lto/lto.exp
  5697b1648a6eb2b43bdfc4a745518da0  gcc/testsuite/gdc.dg/lto/ltotests_0.d
  bcf14abbb66e47644086ee0018354420  gcc/testsuite/gdc.dg/lto/ltotests_1.d
+ 1ae8edb9b2cd9747efb9868621aec4e8  gcc/testsuite/gdc.dg/pr100882a.d
+ 7d27bb4ae013be8b6cb21a42a730353d  gcc/testsuite/gdc.dg/pr100882b.d
+ 167004b1d3ea4a1c36668f029fbe4290  gcc/testsuite/gdc.dg/pr100882c.d
+ c0f2db1fcb83cbb41fda8295889368ff  gcc/testsuite/gdc.dg/pr100882d.d
+ 16bbee694aa77823539b7b517bad4c50  gcc/testsuite/gdc.dg/pr100967.d
+ 740e20f8b4aa9d31c7412fbd3b58d4fb  gcc/testsuite/gdc.dg/pr101127a.d
+ 1913e638608dc57b978438a45ade3c4f  gcc/testsuite/gdc.dg/pr101127b.d
+ 874906b0c6afe60dafbbc739053ac4eb  gcc/testsuite/gdc.dg/pr101490.d
+ 13e2f7b1a821d0fa1089525b3df15479  gcc/testsuite/gdc.dg/pr101640.d
  d32aa8ed5ea10931be4ddb5bb9e863d8  gcc/testsuite/gdc.dg/pr89017.d
  53fa8db94d4ca3fc9ba83769733dc0e7  gcc/testsuite/gdc.dg/pr89041.d
  6c316b13f71ea31fcada56b58a41ebd1  gcc/testsuite/gdc.dg/pr89042a.d
*************** cf624d769a9b5200926d4c132fe75e3c  gcc/te
*** 55617,55622 ****
--- 55764,55770 ----
  fa256bce282d1c30c6edf903ca1c1b3c  gcc/testsuite/gdc.dg/pr95173.d
  be038d26745b623aa5734e73550773e6  gcc/testsuite/gdc.dg/pr95250.d
  53343eb0d4463417361dc00a68627e98  gcc/testsuite/gdc.dg/pr96140.d
+ 91aeadb49207b8ef8bedd4c016c1b443  gcc/testsuite/gdc.dg/pr96435.d
  474f1f2b9c5476fcfd2ee0ed2db833f0  gcc/testsuite/gdc.dg/pr98277.d
  cbe01bd2f79e7ab3310ed946deebeec0  gcc/testsuite/gdc.dg/pr98457.d
  cdd5d26945e61c6b7bbf0b4cf68898d8  gcc/testsuite/gdc.dg/runnable.d
*************** a00468337993d6f98ddcfebbdc09486c  gcc/te
*** 55626,55632 ****
  310f79be9999b0b9e22f7cfbfe79f71d  gcc/testsuite/gdc.test/README.gcc
  ab3d1adc569f350b1ab3f64a690fa774  gcc/testsuite/gdc.test/compilable/99bottles.d
  7e650360bd1bc425bba2aa151bb9ee13  gcc/testsuite/gdc.test/compilable/a3682.d
! 2c636da3a34286fce3c2dedd8eebae3d  gcc/testsuite/gdc.test/compilable/aggr_alignment.d
  beddbf81ccc1e52ee7fa201b22781d91  gcc/testsuite/gdc.test/compilable/aliasdecl.d
  c830eb21b0dd96c9b8d314d8bbdf13b3  gcc/testsuite/gdc.test/compilable/alignment.d
  013ddc04571e4401d097e303967ae442  gcc/testsuite/gdc.test/compilable/art4769.d
--- 55774,55780 ----
  310f79be9999b0b9e22f7cfbfe79f71d  gcc/testsuite/gdc.test/README.gcc
  ab3d1adc569f350b1ab3f64a690fa774  gcc/testsuite/gdc.test/compilable/99bottles.d
  7e650360bd1bc425bba2aa151bb9ee13  gcc/testsuite/gdc.test/compilable/a3682.d
! 0642d01e85efbeadba1b7735f0c5cdde  gcc/testsuite/gdc.test/compilable/aggr_alignment.d
  beddbf81ccc1e52ee7fa201b22781d91  gcc/testsuite/gdc.test/compilable/aliasdecl.d
  c830eb21b0dd96c9b8d314d8bbdf13b3  gcc/testsuite/gdc.test/compilable/alignment.d
  013ddc04571e4401d097e303967ae442  gcc/testsuite/gdc.test/compilable/art4769.d
*************** c5c7e97bc1737359df54f060aaec7469  gcc/te
*** 55642,55652 ****
  ef649aba680526d48bc3e69760b621f2  gcc/testsuite/gdc.test/compilable/b16697.d
  1a88a6c51e44c3714508bdee2b346151  gcc/testsuite/gdc.test/compilable/b16967.d
  57d4e74913d1d58f85619152627c9d6d  gcc/testsuite/gdc.test/compilable/b17111.d
  1def44638ab23277ee8a3cbef121f28b  gcc/testsuite/gdc.test/compilable/b33.d
  286e654567f89de0a3605032db35f623  gcc/testsuite/gdc.test/compilable/b6227.d
  6a76da8b7b49ec37b8f02315a9b5bdd9  gcc/testsuite/gdc.test/compilable/b6395.d
  91312b385ab5eae660ff874edde30f1b  gcc/testsuite/gdc.test/compilable/b6400.d
! dee0f822a13e4056b5394870a7c74761  gcc/testsuite/gdc.test/compilable/betterCarray.d
  7021d1651fabe6e446f09a6e5c53962f  gcc/testsuite/gdc.test/compilable/betterCswitch.d
  0aa7e577ae4c165086acff2ed3c6759e  gcc/testsuite/gdc.test/compilable/bug11735.d
  fbecccee350c9b5a8815a306c8c7a540  gcc/testsuite/gdc.test/compilable/bug6963.d
--- 55790,55801 ----
  ef649aba680526d48bc3e69760b621f2  gcc/testsuite/gdc.test/compilable/b16697.d
  1a88a6c51e44c3714508bdee2b346151  gcc/testsuite/gdc.test/compilable/b16967.d
  57d4e74913d1d58f85619152627c9d6d  gcc/testsuite/gdc.test/compilable/b17111.d
+ 985cbf872a2f9249c9e9c78338b0f501  gcc/testsuite/gdc.test/compilable/b19002.d
  1def44638ab23277ee8a3cbef121f28b  gcc/testsuite/gdc.test/compilable/b33.d
  286e654567f89de0a3605032db35f623  gcc/testsuite/gdc.test/compilable/b6227.d
  6a76da8b7b49ec37b8f02315a9b5bdd9  gcc/testsuite/gdc.test/compilable/b6395.d
  91312b385ab5eae660ff874edde30f1b  gcc/testsuite/gdc.test/compilable/b6400.d
! 05bd563df07dd7a5cae7c595d94d80de  gcc/testsuite/gdc.test/compilable/betterCarray.d
  7021d1651fabe6e446f09a6e5c53962f  gcc/testsuite/gdc.test/compilable/betterCswitch.d
  0aa7e577ae4c165086acff2ed3c6759e  gcc/testsuite/gdc.test/compilable/bug11735.d
  fbecccee350c9b5a8815a306c8c7a540  gcc/testsuite/gdc.test/compilable/bug6963.d
*************** b9a2e48a61e57647b438f17a3416d327  gcc/te
*** 56418,56423 ****
--- 56567,56573 ----
  91827475c22bb655e1204f7d9f6ec260  gcc/testsuite/gdc.test/fail_compilation/extra-files/a14446.d
  f76cf9db0833afa5687645d4c74a9897  gcc/testsuite/gdc.test/fail_compilation/extra-files/bar11453.d
  99acc5a7305edac00837d2641c2f1bb9  gcc/testsuite/gdc.test/fail_compilation/extra-files/foo11453.d
+ 84bebd871a01f556191f22e1fa9eace9  gcc/testsuite/gdc.test/fail_compilation/extra-files/minimal/object.d
  989822bfa536330726e052ee3bf32a19  gcc/testsuite/gdc.test/fail_compilation/fail10.d
  0eee2561c3e30f08c66c6e2609b66f76  gcc/testsuite/gdc.test/fail_compilation/fail100.d
  aed89b6b064d4ac8872e40f1af311262  gcc/testsuite/gdc.test/fail_compilation/fail10082.d
*************** ac4b371d96f5ba3e37dfd65011f1b81a  gcc/te
*** 56608,56613 ****
--- 56758,56768 ----
  3ad99c4ff25fed0b9151dea855acebba  gcc/testsuite/gdc.test/fail_compilation/fail19609.d
  0ef63361f290a9b73dc28f4feebb03d8  gcc/testsuite/gdc.test/fail_compilation/fail198.d
  f01d30c0a49b46065de39a95f911fd41  gcc/testsuite/gdc.test/fail_compilation/fail199.d
+ 20732ebad089aa6fc8fd4b82c40d461a  gcc/testsuite/gdc.test/fail_compilation/fail19911a.d
+ 7235fcff769c5fc74a7df55b3ee9a0ef  gcc/testsuite/gdc.test/fail_compilation/fail19911b.d
+ 4a9f549603e62a9f74791f0e261c8603  gcc/testsuite/gdc.test/fail_compilation/fail19911c.d
+ bcc364c7146bd5c9cab057ce77ed7026  gcc/testsuite/gdc.test/fail_compilation/fail19922.d
+ 7ee50deff46db565fe3d4bd0c3470287  gcc/testsuite/gdc.test/fail_compilation/fail19923.d
  eae23c0332e3168bbb03940c3f6c7dd7  gcc/testsuite/gdc.test/fail_compilation/fail20.d
  f69d72e7a0d4cb79a9c52eb77fd58b63  gcc/testsuite/gdc.test/fail_compilation/fail200.d
  e4df3abafbf56629fa7853c4bc1fc0ff  gcc/testsuite/gdc.test/fail_compilation/fail201.d
*************** fb44509087d96cafd81f6b3914fa210d  gcc/te
*** 56629,56634 ****
--- 56784,56790 ----
  25aa1006320654cdd4ef271b53a76a69  gcc/testsuite/gdc.test/fail_compilation/fail22.d
  4fb4e3729bce12b1c71a831a963af935  gcc/testsuite/gdc.test/fail_compilation/fail220.d
  cbf4cc7e1f96260b11e9acc29bd9dc12  gcc/testsuite/gdc.test/fail_compilation/fail221.d
+ 905e47894d7c0d03a0db65423e4e8848  gcc/testsuite/gdc.test/fail_compilation/fail22144.d
  7f7a0dac0afcfc920bdff662146ff101  gcc/testsuite/gdc.test/fail_compilation/fail222.d
  0b9ee853ad7e4570d30a13257081f9bd  gcc/testsuite/gdc.test/fail_compilation/fail223.d
  2dc7de709a4a362b91e462b2499243bc  gcc/testsuite/gdc.test/fail_compilation/fail224.d
*************** fbf6eb41453bed2d7b01d6d3ecd3b075  gcc/te
*** 57983,57988 ****
--- 58139,58145 ----
  39525fca12dae051a4414dad3ab2cb02  gcc/testsuite/gfortran.dg/alloc_comp_scalar_1.f90
  243cbfa77a9448c9019b236137e7803d  gcc/testsuite/gfortran.dg/alloc_comp_std.f90
  909cf7d56a64fc559ec64c2bb71d1197  gcc/testsuite/gfortran.dg/alloc_comp_transformational_1.f90
+ 6ad12324ccb5fbf1f5f93c86d22f4ca4  gcc/testsuite/gfortran.dg/alloc_deferred_comp_1.f90
  c59ad781dee7ec8e48a5f7ca04827100  gcc/testsuite/gfortran.dg/allocatable_dummy_1.f90
  56cdd5c6ada96e8035ed20712fda44d5  gcc/testsuite/gfortran.dg/allocatable_dummy_2.f90
  b44c3949481c974b2c6896675c16886c  gcc/testsuite/gfortran.dg/allocatable_dummy_3.f90
*************** ca5ed9b7a4b086d732df1a505d87813b  gcc/te
*** 58276,58281 ****
--- 58433,58440 ----
  d6fad859ae9f254219fe0b62c52472a0  gcc/testsuite/gfortran.dg/arrayio_9.f90
  a7a4d71734bf9559e09017fe4616e065  gcc/testsuite/gfortran.dg/arrayio_derived_1.f90
  2b2c726e08ba1c26507c7392e63e1029  gcc/testsuite/gfortran.dg/arrayio_derived_2.f90
+ 3b8425a2f59699b47aac6da29c11aba9  gcc/testsuite/gfortran.dg/asan_associate_58.f90
+ e9f58df1de071d2b106b16b3af8f6764  gcc/testsuite/gfortran.dg/asan_associate_59.f90
  28bbca8fc062ad301c676d4eb94d000d  gcc/testsuite/gfortran.dg/assign-debug.f90
  7ad5faf60f3a1cebebfbb2c9e52516d7  gcc/testsuite/gfortran.dg/assign.f90
  4fd44d78ecb3264e1dd3d6bbb0ca8ea6  gcc/testsuite/gfortran.dg/assign_1.f90
*************** bf4b33b033f4afc9c22972f4a83b0173  gcc/te
*** 58338,58343 ****
--- 58497,58506 ----
  47ae1500d4b97d431462d23e9c5895d0  gcc/testsuite/gfortran.dg/associate_48.f90
  c73b6100086b4db74c5f70aa2b7a9af6  gcc/testsuite/gfortran.dg/associate_49.f90
  5dfaf5e9c3d8b8b8f835046ca42ccbf4  gcc/testsuite/gfortran.dg/associate_5.f03
+ 13a1be9babd60d4e08197194fd394d19  gcc/testsuite/gfortran.dg/associate_54.f90
+ a33adc54f6651cbed7e49f420e779c05  gcc/testsuite/gfortran.dg/associate_55.f90
+ e266ed6fc3d13470e97d022451deea4e  gcc/testsuite/gfortran.dg/associate_56.f90
+ 65dc8227452a184626d85e599ab1382d  gcc/testsuite/gfortran.dg/associate_58.f90
  fe80c25bfc4d1e630472420bac3dc836  gcc/testsuite/gfortran.dg/associate_6.f03
  ac2154aefe0a4ce981b3fa252235e2dd  gcc/testsuite/gfortran.dg/associate_7.f03
  3c2206420bb8717914aa447789b5f079  gcc/testsuite/gfortran.dg/associate_8.f03
*************** ed08ee0bcaabca9d5a128ae929308739  gcc/te
*** 58355,58360 ****
--- 58518,58524 ----
  408f82dd557d8d77f4652347ea5412e4  gcc/testsuite/gfortran.dg/associated_target_4.f90
  c8dcd0248b062389c3ebfd88d9473a64  gcc/testsuite/gfortran.dg/associated_target_5.f03
  f7cfdbf4de38d945e0085b02ebb99e8d  gcc/testsuite/gfortran.dg/associated_target_6.f03
+ 3cceb452e20c2755392cd5294bebb9d0  gcc/testsuite/gfortran.dg/associated_target_7.f90
  6376d7ef6f137372a501dd7c8547864d  gcc/testsuite/gfortran.dg/associative_1.f90
  04280cc7719e51d18a6ad4510745c528  gcc/testsuite/gfortran.dg/assumed_charlen_arg_1.f90
  e41613f37c052bf20cb9d34a7bb40da1  gcc/testsuite/gfortran.dg/assumed_charlen_arg_2.f90
*************** ff9c91471b4ce5ab6577afccb4c338c3  gcc/te
*** 58621,58626 ****
--- 58785,58791 ----
  f163a929162b84c921c534094a61ee6d  gcc/testsuite/gfortran.dg/bound_simplification_4.f90
  8da00332161b12f533a48f6f4b133c93  gcc/testsuite/gfortran.dg/bound_simplification_5.f90
  89ef43a5db63dead844540416ec15fe0  gcc/testsuite/gfortran.dg/bound_simplification_6.f90
+ e0f32fc19dadb57e546c6f6e72bab8aa  gcc/testsuite/gfortran.dg/bound_simplification_7.f90
  0c37f25c0a329b1f8023a969afa947bc  gcc/testsuite/gfortran.dg/bounds_check_1.f90
  224affc6eb571605f5b1d1c7af58536c  gcc/testsuite/gfortran.dg/bounds_check_10.f90
  cded3f5f45f16c3f0117b2deb934a3be  gcc/testsuite/gfortran.dg/bounds_check_11.f90
*************** a0645f58d7ace0f67d18f1c73fdfe406  gcc/te
*** 58634,58639 ****
--- 58799,58805 ----
  f77d86492e84d13e004ea59f1da3d69d  gcc/testsuite/gfortran.dg/bounds_check_19.f90
  b890668874e1bc07a00cd706581c6fd1  gcc/testsuite/gfortran.dg/bounds_check_2.f
  66c33189a3444b13a4ae1439933ebc8b  gcc/testsuite/gfortran.dg/bounds_check_20.f90
+ c255cbccd21b3a2d3ab21d32d680086e  gcc/testsuite/gfortran.dg/bounds_check_23.f90
  1ff91e96da26ef6e7839e53e2b71499d  gcc/testsuite/gfortran.dg/bounds_check_3.f90
  a9119407c225c716d99c309178d77952  gcc/testsuite/gfortran.dg/bounds_check_4.f90
  167a95fa41d2abf20f66591e1389d059  gcc/testsuite/gfortran.dg/bounds_check_5.f90
*************** bffd58c6eb392174540e5effb5007d27  gcc/te
*** 59045,59050 ****
--- 59211,59218 ----
  dbc20d52e3c86639db916ad3c6392de8  gcc/testsuite/gfortran.dg/class_dummy_3.f03
  3c084c9f366d687c0a674b8d42c2ea01  gcc/testsuite/gfortran.dg/class_dummy_4.f03
  198585d6f5262127fa1756b228e70921  gcc/testsuite/gfortran.dg/class_dummy_5.f90
+ 89120e26e4ec5fd1d963a1d03f515cb6  gcc/testsuite/gfortran.dg/class_dummy_6.f90
+ b0d798ee6d75aec23f3be5fd748a1cc6  gcc/testsuite/gfortran.dg/class_dummy_7.f90
  2f2b6b89c03eb0121abcd60df79d27ee  gcc/testsuite/gfortran.dg/class_is_1.f90
  84f9ccdf2ee8c8cfe397a0c82a7730af  gcc/testsuite/gfortran.dg/class_nameclash.f90
  9602d01ce3a47f3e2255aba5f234d1ae  gcc/testsuite/gfortran.dg/class_optional_1.f90
*************** cad42db351ade11e383560c34e3e978b  gcc/te
*** 59526,59531 ****
--- 59694,59700 ----
  8336562dd939d9f2e4d7fa9f352ebdd5  gcc/testsuite/gfortran.dg/dec_union_1.f90
  54fa8897424354fe36b1147275b1b014  gcc/testsuite/gfortran.dg/dec_union_10.f90
  10c14f289f146d801c8860e6ec73a8f8  gcc/testsuite/gfortran.dg/dec_union_11.f90
+ 436b819785ec03fd97943e5f6729ee25  gcc/testsuite/gfortran.dg/dec_union_12.f90
  ff04d1928f316f16787d0be012e0d169  gcc/testsuite/gfortran.dg/dec_union_2.f90
  85cd1980dadce1ec2db721b54e8725bf  gcc/testsuite/gfortran.dg/dec_union_3.f90
  a4db5df7b9375240006aa16fab80e2c0  gcc/testsuite/gfortran.dg/dec_union_4.f90
*************** f405c538ee221b34e2094a843f78c12a  gcc/te
*** 59577,59582 ****
--- 59746,59752 ----
  5f82ae5d302549ef737253722a910e61  gcc/testsuite/gfortran.dg/deferred_character_33.f90
  c8ca7a67e0b9c502e7883c6187a3b1f3  gcc/testsuite/gfortran.dg/deferred_character_33a.f90
  78fa09124fe9b69cd259177c36a08282  gcc/testsuite/gfortran.dg/deferred_character_34.f90
+ 90f06c61f4e28e5c0cd42eea0caba538  gcc/testsuite/gfortran.dg/deferred_character_35.f90
  f69f56fb4872918c466c7554afc79da9  gcc/testsuite/gfortran.dg/deferred_character_36.f90
  5eede6c791f6d272034f9b84850ac6af  gcc/testsuite/gfortran.dg/deferred_character_4.f90
  981b809300de368e8fac65be4b40099c  gcc/testsuite/gfortran.dg/deferred_character_5.f90
*************** cdbdebe9161bcc4a79df17d5f5732b28  gcc/te
*** 59752,59757 ****
--- 59922,59928 ----
  96e2135b923f812fcee419619693640d  gcc/testsuite/gfortran.dg/do_check_10.f90
  c321dd94759ede7664827657793cf07e  gcc/testsuite/gfortran.dg/do_check_11.f90
  2eb7ae71fe0e15822f2c551473a52a7c  gcc/testsuite/gfortran.dg/do_check_12.f90
+ b439dee45498b38c2c1c8750cf86c793  gcc/testsuite/gfortran.dg/do_check_19.f90
  18a2fbef89d7cf46f122e07d5fbef517  gcc/testsuite/gfortran.dg/do_check_2.f90
  fdb990ec0ab32e124633d2dae596183b  gcc/testsuite/gfortran.dg/do_check_3.f90
  ffb5a682b1c8bb98feb925db34c42db2  gcc/testsuite/gfortran.dg/do_check_4.f90
*************** da4a7c798f0408437da738727e347788  gcc/te
*** 59878,59883 ****
--- 60049,60055 ----
  2d23e66cae12f606c517f27ced38c44c  gcc/testsuite/gfortran.dg/elemental_function_2.f90
  af300e66cd2debe8da426f435e478ede  gcc/testsuite/gfortran.dg/elemental_function_3.f90
  65a443bacf190674f49529d758625e54  gcc/testsuite/gfortran.dg/elemental_function_4.f90
+ d5a800e56880e12efa6f176c1bdaab6c  gcc/testsuite/gfortran.dg/elemental_function_5.f90
  e228c219820da6c0d4d312bd5bd2165a  gcc/testsuite/gfortran.dg/elemental_initializer_1.f90
  bb58a11f51652cefd566851a1485c6f0  gcc/testsuite/gfortran.dg/elemental_intrinsic_1.f03
  4c1ec6aea32b30a4a1edeb92c4abb5d3  gcc/testsuite/gfortran.dg/elemental_non_intrinsic_dummy_1.f90
*************** b75cb93f87f099ad715aceb9cb7b1bf2  gcc/te
*** 61042,61047 ****
--- 61214,61220 ----
  9042c8fc68be853afcc846869e788bd5  gcc/testsuite/gfortran.dg/implied_do_io_4.f90
  156dc7e9c954310ba5c74c0fbcaa4f42  gcc/testsuite/gfortran.dg/implied_do_io_5.f90
  1f7a9307002a1f0f2a5f8eb76998dcda  gcc/testsuite/gfortran.dg/implied_do_io_6.f90
+ 2b548a8a46da28ac4ce23e2509a886fc  gcc/testsuite/gfortran.dg/implied_do_io_7.f90
  a8761a2aaffb7680e80dcad5eceada12  gcc/testsuite/gfortran.dg/implied_shape_1.f08
  f9528d7042bf84bf037d6e2b109272ec  gcc/testsuite/gfortran.dg/implied_shape_2.f90
  1b2b68c816459c1a9395771e9851de87  gcc/testsuite/gfortran.dg/implied_shape_3.f08
*************** dee6ff6cec856fe1f42312c1d4fd4807  gcc/te
*** 61152,61157 ****
--- 61325,61331 ----
  e5a418513e079e50ea576e021cf5ad8e  gcc/testsuite/gfortran.dg/inline_matmul_22.f90
  1545bc137f7bcb397e7986a3324b63be  gcc/testsuite/gfortran.dg/inline_matmul_23.f90
  89a35f94060b171becdc54771a02040b  gcc/testsuite/gfortran.dg/inline_matmul_24.f90
+ d5dddad98efc37928795b446cb8d6501  gcc/testsuite/gfortran.dg/inline_matmul_25.f90
  ffdb4ca68f61f3bd618415335c9c7c21  gcc/testsuite/gfortran.dg/inline_matmul_3.f90
  f95e5fd479c839cfa9cb3ac127ee7584  gcc/testsuite/gfortran.dg/inline_matmul_4.f90
  6cb787ca0dac6ea814c8af4ac7cb8022  gcc/testsuite/gfortran.dg/inline_matmul_5.f90
*************** ba93579108c80828d584884c6d1a3d2a  gcc/te
*** 61219,61224 ****
--- 61393,61399 ----
  7fb312ab28cce81b97498d8f3f4e4685  gcc/testsuite/gfortran.dg/intent_out_11.f90
  844229c9eb8a37075774f7aa5ffaec68  gcc/testsuite/gfortran.dg/intent_out_12.f90
  eaa197e83969427d3078aff95445bee7  gcc/testsuite/gfortran.dg/intent_out_13.f90
+ 43d0dd409d7c93807035f978a18ed5c5  gcc/testsuite/gfortran.dg/intent_out_14.f90
  633b564832f11b231ba2e100650127bb  gcc/testsuite/gfortran.dg/intent_out_2.f90
  88fc721c29050bdf0a2d0d7c4e316336  gcc/testsuite/gfortran.dg/intent_out_3.f90
  a4fb1377a7e3fd7d6f3a448f1c020623  gcc/testsuite/gfortran.dg/intent_out_4.f90
*************** f8c7e022d2cfc56df6b55d414dce657a  gcc/te
*** 61348,61353 ****
--- 61523,61529 ----
  02e405fa02b5f4208a935814170c08d1  gcc/testsuite/gfortran.dg/intrinsic_pack_3.f90
  46c6f0a832541ad6ca2cbb32c01ab20d  gcc/testsuite/gfortran.dg/intrinsic_pack_4.f90
  68e85a91fdebd8186e987268b78d2812  gcc/testsuite/gfortran.dg/intrinsic_pack_5.f90
+ 7a9982798705db4f1e587901e180224f  gcc/testsuite/gfortran.dg/intrinsic_pack_6.f90
  709c1a0557c6130d855211d157dc235b  gcc/testsuite/gfortran.dg/intrinsic_param_1.f90
  83483a96e8562d98a9a895352987cf66  gcc/testsuite/gfortran.dg/intrinsic_product_1.f90
  66b3fac50616e3319e3fd00fcd93d9be  gcc/testsuite/gfortran.dg/intrinsic_shadow_1.f03
*************** d14391d3ef215e7090f2482b1fb51242  gcc/te
*** 62031,62036 ****
--- 62207,62213 ----
  967b958bce8187f291f4a772e4548afe  gcc/testsuite/gfortran.dg/overload_1.f90
  97e6af3887a4b07dce47c09a1d987e61  gcc/testsuite/gfortran.dg/overload_2.f90
  bea7aebc5e916cdafeb1ba5550fca119  gcc/testsuite/gfortran.dg/overload_3.f90
+ 239885761f5919c3b068bc250b0548c2  gcc/testsuite/gfortran.dg/overload_4.f90
  ce01df6835a25865cf1b057eedd850d3  gcc/testsuite/gfortran.dg/overwrite_1.f
  0513597d3f649ecf246ba3da77d0e486  gcc/testsuite/gfortran.dg/pack_assign_1.f90
  804957c95450f8f92e8046cdde8da1fe  gcc/testsuite/gfortran.dg/pack_bounds_1.f90
*************** be693b3847d0256fa77c5e6d96396c97  gcc/te
*** 62096,62107 ****
  d17e376a8cc641dbedaeffcce81d5297  gcc/testsuite/gfortran.dg/pdt_23.f03
  74618f98f612c4722b0e366283ec8ca8  gcc/testsuite/gfortran.dg/pdt_24.f03
  7c4f6f585a57e25f1c6f31ac89e87d40  gcc/testsuite/gfortran.dg/pdt_25.f03
! d3869facbd48cd5e82791bacd1d3302e  gcc/testsuite/gfortran.dg/pdt_26.f03
  f67cfd0ae4d38f1ca5dc8d7f6e954087  gcc/testsuite/gfortran.dg/pdt_27.f03
  7efa911fe665f45456e6943844302ac0  gcc/testsuite/gfortran.dg/pdt_28.f03
  68b10a194ff6797eee8ecb042129b08f  gcc/testsuite/gfortran.dg/pdt_29.f03
  467e7b0f7ffea3a05b9ac591c2ac05ee  gcc/testsuite/gfortran.dg/pdt_3.f03
  1f42496cb72089bef450a6df6a13c299  gcc/testsuite/gfortran.dg/pdt_30.f90
  17fa57111f7b9c176c9f9fdf95c974cf  gcc/testsuite/gfortran.dg/pdt_4.f03
  c5c92af1413fa2462f388d2ff5077773  gcc/testsuite/gfortran.dg/pdt_5.f03
  65d2ad728417ad3174fc1ce2b51a458d  gcc/testsuite/gfortran.dg/pdt_6.f03
--- 62273,62285 ----
  d17e376a8cc641dbedaeffcce81d5297  gcc/testsuite/gfortran.dg/pdt_23.f03
  74618f98f612c4722b0e366283ec8ca8  gcc/testsuite/gfortran.dg/pdt_24.f03
  7c4f6f585a57e25f1c6f31ac89e87d40  gcc/testsuite/gfortran.dg/pdt_25.f03
! 7182317a2e9d6c03d247c9fb2b50ab74  gcc/testsuite/gfortran.dg/pdt_26.f03
  f67cfd0ae4d38f1ca5dc8d7f6e954087  gcc/testsuite/gfortran.dg/pdt_27.f03
  7efa911fe665f45456e6943844302ac0  gcc/testsuite/gfortran.dg/pdt_28.f03
  68b10a194ff6797eee8ecb042129b08f  gcc/testsuite/gfortran.dg/pdt_29.f03
  467e7b0f7ffea3a05b9ac591c2ac05ee  gcc/testsuite/gfortran.dg/pdt_3.f03
  1f42496cb72089bef450a6df6a13c299  gcc/testsuite/gfortran.dg/pdt_30.f90
+ d586eb557b29a67b9fa981d71d443c8b  gcc/testsuite/gfortran.dg/pdt_31.f03
  17fa57111f7b9c176c9f9fdf95c974cf  gcc/testsuite/gfortran.dg/pdt_4.f03
  c5c92af1413fa2462f388d2ff5077773  gcc/testsuite/gfortran.dg/pdt_5.f03
  65d2ad728417ad3174fc1ce2b51a458d  gcc/testsuite/gfortran.dg/pdt_6.f03
*************** a3ab8fbef738997039cfd45f350461a3  gcc/te
*** 62200,62205 ****
--- 62378,62391 ----
  77eca811eac1f80edb0f33c68ac0c4d3  gcc/testsuite/gfortran.dg/power_7.f90
  457d6bb30d331f4d3250628bdae53dc3  gcc/testsuite/gfortran.dg/power_8.f90
  e13b5dd50c332ea865cb6fabb5f79f29  gcc/testsuite/gfortran.dg/pr100154.f90
+ 17f130e627232745d6279696b6984514  gcc/testsuite/gfortran.dg/pr100949.f90
+ 515f43ee1c3a7f37818b2b4bd6abedd7  gcc/testsuite/gfortran.dg/pr101327.f90
+ 1847c71c8b9e5b166029846dfe5506c5  gcc/testsuite/gfortran.dg/pr102860.f90
+ dc7a57f897711dfb7a3fba377198c10c  gcc/testsuite/gfortran.dg/pr103588.f90
+ a27b232d198fc2463c04af17903b1b4c  gcc/testsuite/gfortran.dg/pr103606.f90
+ ea7b00fcccc1df091b8087b16e502d92  gcc/testsuite/gfortran.dg/pr103607.f90
+ 7a5b7a18d621b5e1b9d04b73e259ddd4  gcc/testsuite/gfortran.dg/pr104849.f90
+ 22283af469347d85bd1fe4dae42939a3  gcc/testsuite/gfortran.dg/pr105230.f90
  984f8307f36d56a0b48b5acce2dd5eb5  gcc/testsuite/gfortran.dg/pr12884.f
  64075248b9d1bffd6f380bb4e2a6eae0  gcc/testsuite/gfortran.dg/pr15129.f90
  e9cbd51db4e16292fc5dd1fead2e5a49  gcc/testsuite/gfortran.dg/pr15140.f90
*************** d1aef01880835db4a541fe2fb5d9b4b4  gcc/te
*** 62628,62633 ****
--- 62814,62820 ----
  58ba9db10feed5572dd1e17134e5d88c  gcc/testsuite/gfortran.dg/pr81889.f90
  e338cfba2f466abedf9af92b52cd6fb3  gcc/testsuite/gfortran.dg/pr82004.f90
  b6ff04901e3aee18765a74bf65804e38  gcc/testsuite/gfortran.dg/pr82253.f90
+ 344be7c0602202457870166d368441e0  gcc/testsuite/gfortran.dg/pr82314.f90
  7f04eca318ca64e1442ceabc31fab9fb  gcc/testsuite/gfortran.dg/pr82397.f
  616772c135ee9b14c410dcd23fdbc3e4  gcc/testsuite/gfortran.dg/pr82973.f90
  3efdf6eef62b5bb55c7bd5d6342e1943  gcc/testsuite/gfortran.dg/pr83149.f90
*************** a50ed014f3fd628f8e8e8e09f44f8c0f  gcc/te
*** 62934,62939 ****
--- 63121,63127 ----
  10c589d311b0a73db8c553ec42336631  gcc/testsuite/gfortran.dg/proc_ptr_5.f90
  43ca301c170d61a34b8db85b8fcd1d84  gcc/testsuite/gfortran.dg/proc_ptr_50.f90
  2bdbfb5616cc946bcc711233f9deb135  gcc/testsuite/gfortran.dg/proc_ptr_51.f90
+ a2ab49b1f709afa3cf1c9284d4576fa9  gcc/testsuite/gfortran.dg/proc_ptr_52.f90
  aa07bccd48fbde93e47db111bac1ce8c  gcc/testsuite/gfortran.dg/proc_ptr_6.f90
  3648c097522ae5858550c7d7776afd28  gcc/testsuite/gfortran.dg/proc_ptr_7.c
  fe310c69dfb181cb04f271dad6a3f1d5  gcc/testsuite/gfortran.dg/proc_ptr_7.f90
*************** d8a9f1260e74e0077151d976c7d10349  gcc/te
*** 63197,63202 ****
--- 63385,63391 ----
  2e7d5fec04c2c7f37db35971e145eb94  gcc/testsuite/gfortran.dg/recursive_parameter_1.f90
  83a0ac39bfc50ad3e26215503647388b  gcc/testsuite/gfortran.dg/recursive_reference_1.f90
  1d1c7d54db9ad825f6d03ee25b705983  gcc/testsuite/gfortran.dg/recursive_reference_2.f90
+ ef770cfdc6b95e1ae9b92510ab8715be  gcc/testsuite/gfortran.dg/recursive_reference_3.f90
  a7003da5c2f301959c7f21193538e7eb  gcc/testsuite/gfortran.dg/recursive_stack.f90
  367c718b77a74a1255ad2e38adeacfb7  gcc/testsuite/gfortran.dg/recursive_statement_functions.f90
  04deba654b2206894b96a6288761847b  gcc/testsuite/gfortran.dg/redefined_intrinsic_assignment.f90
*************** c137ead9ed9a3cbd4ca5f75d50965b1c  gcc/te
*** 63354,63359 ****
--- 63543,63549 ----
  e5ae2b5b89173ed8361161ef10e352e2  gcc/testsuite/gfortran.dg/sequence_types_1.f90
  cd908f2e51ce36e1d1deeca7c6ee72f6  gcc/testsuite/gfortran.dg/set_vm_limit.c
  8c21b488e7773e67f9472b6a064868b9  gcc/testsuite/gfortran.dg/shape_1.f90
+ 052a4b2bd7fe6fdc1737283f758ffaec  gcc/testsuite/gfortran.dg/shape_11.f90
  83165f49617d33a60724f58032240b93  gcc/testsuite/gfortran.dg/shape_2.f90
  3c6dfb31a52f344f631d36f369e069bf  gcc/testsuite/gfortran.dg/shape_3.f90
  3a839d4a8d0dfd6f0b50c08763804e26  gcc/testsuite/gfortran.dg/shape_4.f90
*************** caa7da29771aad612f545bdeb544b4c9  gcc/te
*** 63510,63515 ****
--- 63700,63706 ----
  5cdebe330092a8119284be48c532d8d9  gcc/testsuite/gfortran.dg/structure_constructor_14.f90
  a8c69bca898ff29ba3a6ae2924078fa7  gcc/testsuite/gfortran.dg/structure_constructor_15.f90
  25b14e6e8851bd84a6960c3b9ce1be37  gcc/testsuite/gfortran.dg/structure_constructor_16.f90
+ 3dbdb30cf91d1bfe2aefcf7e2101376b  gcc/testsuite/gfortran.dg/structure_constructor_17.f90
  34b1847b506e1397548db8e0aa2a5dee  gcc/testsuite/gfortran.dg/structure_constructor_2.f03
  b4cea5ac2c6cc89ab88ca3d7673f1483  gcc/testsuite/gfortran.dg/structure_constructor_3.f03
  cf05250e492fd4f294f0298ffb5c8bdb  gcc/testsuite/gfortran.dg/structure_constructor_4.f03
*************** b48b0b0bccb7566825a45154da80da66  gcc/te
*** 63562,63568 ****
  dccf53db514265c48f2c92d1e6aa8319  gcc/testsuite/gfortran.dg/substr_3.f
  6d054e85164109252d8cb0e433ff57ad  gcc/testsuite/gfortran.dg/substr_4.f
  9cbfabac96be8748ebd2e7c0bed4bb91  gcc/testsuite/gfortran.dg/substr_5.f90
! 6fc9f98159d986738e731d5b07a7109b  gcc/testsuite/gfortran.dg/substr_6.f90
  5aacec7f3b63a41c71f1f83e8d5bcdb0  gcc/testsuite/gfortran.dg/substr_7.f90
  3149d14be2bfd57fd4b2dbd5c1c8ebaa  gcc/testsuite/gfortran.dg/substr_8.f90
  acc5d5ef0b41f88cee2142a7f82c4fe1  gcc/testsuite/gfortran.dg/substr_alloc_string_comp_1.f90
--- 63753,63759 ----
  dccf53db514265c48f2c92d1e6aa8319  gcc/testsuite/gfortran.dg/substr_3.f
  6d054e85164109252d8cb0e433ff57ad  gcc/testsuite/gfortran.dg/substr_4.f
  9cbfabac96be8748ebd2e7c0bed4bb91  gcc/testsuite/gfortran.dg/substr_5.f90
! 4d48cdf844980a4533d1ed67dbb2a0a4  gcc/testsuite/gfortran.dg/substr_6.f90
  5aacec7f3b63a41c71f1f83e8d5bcdb0  gcc/testsuite/gfortran.dg/substr_7.f90
  3149d14be2bfd57fd4b2dbd5c1c8ebaa  gcc/testsuite/gfortran.dg/substr_8.f90
  acc5d5ef0b41f88cee2142a7f82c4fe1  gcc/testsuite/gfortran.dg/substr_alloc_string_comp_1.f90
*************** fdabd8c65dcb8fb1bfe06c29c937c219  gcc/te
*** 63607,63612 ****
--- 63798,63804 ----
  b16324a7bb85ab60eb71418a0761e565  gcc/testsuite/gfortran.dg/transfer_check_3.f90
  1374d10203871ed68c005e2af626fbeb  gcc/testsuite/gfortran.dg/transfer_check_4.f90
  ad625f0340741a09e4be8d42e070139e  gcc/testsuite/gfortran.dg/transfer_check_5.f90
+ 769481a8d23349d31daa8c1c4bdda73b  gcc/testsuite/gfortran.dg/transfer_check_6.f90
  76406e3436f42466e7735ed9f5762bd7  gcc/testsuite/gfortran.dg/transfer_class_1.f90
  7f1199fe5fa90085dcbb4f81cbcf7062  gcc/testsuite/gfortran.dg/transfer_class_2.f90
  4003da30901edcfc6adf19924dc746a2  gcc/testsuite/gfortran.dg/transfer_class_3.f90
*************** fca7571238596b88ba0b767cd69041d7  gcc/te
*** 63624,63631 ****
  61dc845871f386f900b0ac50b8a1ed35  gcc/testsuite/gfortran.dg/transfer_resolve_4.f90
  30d8f168d50a2e4c7035918791efd17a  gcc/testsuite/gfortran.dg/transfer_simplify_1.f90
  0e37859572cdbc7ec9804e5e5f50a0d9  gcc/testsuite/gfortran.dg/transfer_simplify_10.f90
! 28072dd7f3eef057672f7c38728a4ba6  gcc/testsuite/gfortran.dg/transfer_simplify_11.f90
  7a9020fc2f84bc7f31ff4cf8822de2ce  gcc/testsuite/gfortran.dg/transfer_simplify_12.f90
  37010897279c0577b0975bdcac554324  gcc/testsuite/gfortran.dg/transfer_simplify_2.f90
  dde58017dce31b9f86dea653194c266e  gcc/testsuite/gfortran.dg/transfer_simplify_3.f90
  f969144a4ccabad799704e5ecdde6afc  gcc/testsuite/gfortran.dg/transfer_simplify_4.f90
--- 63816,63825 ----
  61dc845871f386f900b0ac50b8a1ed35  gcc/testsuite/gfortran.dg/transfer_resolve_4.f90
  30d8f168d50a2e4c7035918791efd17a  gcc/testsuite/gfortran.dg/transfer_simplify_1.f90
  0e37859572cdbc7ec9804e5e5f50a0d9  gcc/testsuite/gfortran.dg/transfer_simplify_10.f90
! 7dbbad160b2cec1a34861ec259ef8f69  gcc/testsuite/gfortran.dg/transfer_simplify_11.f90
  7a9020fc2f84bc7f31ff4cf8822de2ce  gcc/testsuite/gfortran.dg/transfer_simplify_12.f90
+ 66c784020c277542528a30173f125c2e  gcc/testsuite/gfortran.dg/transfer_simplify_13.f90
+ 033fcf43c73ba63f468dc3499e3bdfb2  gcc/testsuite/gfortran.dg/transfer_simplify_15.f90
  37010897279c0577b0975bdcac554324  gcc/testsuite/gfortran.dg/transfer_simplify_2.f90
  dde58017dce31b9f86dea653194c266e  gcc/testsuite/gfortran.dg/transfer_simplify_3.f90
  f969144a4ccabad799704e5ecdde6afc  gcc/testsuite/gfortran.dg/transfer_simplify_4.f90
*************** a7d68db5c429562164ea47edc8677d14  gcc/te
*** 63784,63789 ****
--- 63978,63985 ----
  962d5f34907dcd3b3af69061c53ace28  gcc/testsuite/gfortran.dg/typebound_proc_8.f03
  b432d7fb6a6aa41a4117f93a3fb4acb3  gcc/testsuite/gfortran.dg/typebound_proc_9.f03
  a9c38f145300eee1aaca2ccee4d418fd  gcc/testsuite/gfortran.dg/typed_subroutine_1.f90
+ ddea8e97d88b939147b22730616832d2  gcc/testsuite/gfortran.dg/ubsan/pr101624.f90
+ ebbb3b8f806e83076bdf2e11cf9dc359  gcc/testsuite/gfortran.dg/ubsan/ubsan.exp
  1623cb39a42976237e7817a8a94f1a4a  gcc/testsuite/gfortran.dg/unary_operator.f90
  0e692a977ecc4ab86f2eddee444794b4  gcc/testsuite/gfortran.dg/uncommon_block_data_1.f90
  a3fe3d5aed286d45e58533ee6cd37dd9  gcc/testsuite/gfortran.dg/unconstrained_commons.f
*************** cf3fa5a439726d0e73d0651b14a2dd1b  gcc/tr
*** 68902,68910 ****
  ee6db89124dff9b0bf2e76468c03eb0e  gcc/tree-cfgcleanup.h
  64ba3ee03d1c5a6f1958fdad7c8ee694  gcc/tree-chrec.c
  7b55d46f115ac2eed2a43554095765e3  gcc/tree-chrec.h
! d6d3619e6d0d28721a9c5c6a368ee52c  gcc/tree-complex.c
  c8a0e0c5adae771c3832e3adedf1983b  gcc/tree-core.h
! 63e6c9a12380390edf13918c9fc1eb7e  gcc/tree-data-ref.c
  ef7aefae53ef39fa14071dd236e0a6c1  gcc/tree-data-ref.h
  e1479e97dde82bebaa8dd0dc3ae45384  gcc/tree-dfa.c
  57a776e8da826c3b6ae7f8881a3627da  gcc/tree-dfa.h
--- 69098,69106 ----
  ee6db89124dff9b0bf2e76468c03eb0e  gcc/tree-cfgcleanup.h
  64ba3ee03d1c5a6f1958fdad7c8ee694  gcc/tree-chrec.c
  7b55d46f115ac2eed2a43554095765e3  gcc/tree-chrec.h
! 65b4345c1c1370e7ec347ea3c26acdca  gcc/tree-complex.c
  c8a0e0c5adae771c3832e3adedf1983b  gcc/tree-core.h
! c839f993a7d29a1da6afa9bb9ccc8ec4  gcc/tree-data-ref.c
  ef7aefae53ef39fa14071dd236e0a6c1  gcc/tree-data-ref.h
  e1479e97dde82bebaa8dd0dc3ae45384  gcc/tree-dfa.c
  57a776e8da826c3b6ae7f8881a3627da  gcc/tree-dfa.h
*************** e1479e97dde82bebaa8dd0dc3ae45384  gcc/tr
*** 68912,68932 ****
  3668b829319a65e04fa31624410d9b09  gcc/tree-diagnostic.h
  de5324d205f3d8e4436fad862c4e8cbf  gcc/tree-dump.c
  78547b119f85981a1c0db03f5f9001db  gcc/tree-dump.h
! fe808efaf9aac899825967ecd2e21b7d  gcc/tree-eh.c
  b79825083a3ebc55626e8b11536c4ba6  gcc/tree-eh.h
  c90ef32eec85331cdb4b4cfb851b1e5f  gcc/tree-emutls.c
  6a6624d33802dfaf68612c39969d7e4c  gcc/tree-hash-traits.h
  b5f8cac4e95ce5662b8305facd72053e  gcc/tree-hasher.h
  07d684f25cce5ad624e7e8080364f64e  gcc/tree-if-conv.c
  f1194f3c38cd8ea80b953e27866fc331  gcc/tree-if-conv.h
! f30d0c4f683de92622e62220a25399fb  gcc/tree-inline.c
  6715df3b6c3d1a52e89ee84312bb82a4  gcc/tree-inline.h
  66872f4ce13076066c8deaa72f57d82b  gcc/tree-into-ssa.c
  d8db8f29a72806d9ef9a7ce2abf423f6  gcc/tree-into-ssa.h
  9ee363e4b6a8128a19c2bb041c40ac81  gcc/tree-iterator.c
  6eaf3d762fa714f8bdd387112f9040d3  gcc/tree-iterator.h
  85097c7be407e98a894037ae4add4725  gcc/tree-loop-distribution.c
! de2ef5b60ce7bb9b56a84bc97c2fbaa8  gcc/tree-nested.c
  bdf67051c7eed96122b29fed2a234557  gcc/tree-nested.h
  e328fa27681700c371368b06726b6240  gcc/tree-nrv.c
  54555574a1bd6255be4bf6a22e2c1f7c  gcc/tree-object-size.c
--- 69108,69128 ----
  3668b829319a65e04fa31624410d9b09  gcc/tree-diagnostic.h
  de5324d205f3d8e4436fad862c4e8cbf  gcc/tree-dump.c
  78547b119f85981a1c0db03f5f9001db  gcc/tree-dump.h
! 7702b36a751c8e419dbd95e1da5fb7c9  gcc/tree-eh.c
  b79825083a3ebc55626e8b11536c4ba6  gcc/tree-eh.h
  c90ef32eec85331cdb4b4cfb851b1e5f  gcc/tree-emutls.c
  6a6624d33802dfaf68612c39969d7e4c  gcc/tree-hash-traits.h
  b5f8cac4e95ce5662b8305facd72053e  gcc/tree-hasher.h
  07d684f25cce5ad624e7e8080364f64e  gcc/tree-if-conv.c
  f1194f3c38cd8ea80b953e27866fc331  gcc/tree-if-conv.h
! edbf7f375d113a9d950182f57f2c6252  gcc/tree-inline.c
  6715df3b6c3d1a52e89ee84312bb82a4  gcc/tree-inline.h
  66872f4ce13076066c8deaa72f57d82b  gcc/tree-into-ssa.c
  d8db8f29a72806d9ef9a7ce2abf423f6  gcc/tree-into-ssa.h
  9ee363e4b6a8128a19c2bb041c40ac81  gcc/tree-iterator.c
  6eaf3d762fa714f8bdd387112f9040d3  gcc/tree-iterator.h
  85097c7be407e98a894037ae4add4725  gcc/tree-loop-distribution.c
! 6c1b6740accf3e45cbb311faa8de166f  gcc/tree-nested.c
  bdf67051c7eed96122b29fed2a234557  gcc/tree-nested.h
  e328fa27681700c371368b06726b6240  gcc/tree-nrv.c
  54555574a1bd6255be4bf6a22e2c1f7c  gcc/tree-object-size.c
*************** f45af467d45759e3cf70b50a0f4a9bc7  gcc/tr
*** 68944,68951 ****
  7191536639bfd276bc3527da15ebb458  gcc/tree-profile.c
  a972ba059faad340bcbe01fd547285d7  gcc/tree-scalar-evolution.c
  422e453797567c8827d57ca1a918085b  gcc/tree-scalar-evolution.h
! 21d24972644f8c75e683e94faf475171  gcc/tree-sra.c
! cd2c5878ad9e5f4f953ca0876727446e  gcc/tree-ssa-address.c
  26a031bfc9047f95d93c2ae4b3863c6a  gcc/tree-ssa-address.h
  4e284dc982ebb3a4a9c144728f660031  gcc/tree-ssa-alias.c
  de080bbdbf508c58b6645a26dd5f8cbd  gcc/tree-ssa-alias.h
--- 69140,69147 ----
  7191536639bfd276bc3527da15ebb458  gcc/tree-profile.c
  a972ba059faad340bcbe01fd547285d7  gcc/tree-scalar-evolution.c
  422e453797567c8827d57ca1a918085b  gcc/tree-scalar-evolution.h
! eeb997bae7af0c6606ebdf14c509c18e  gcc/tree-sra.c
! c32f19064bb4a923ebc468a634c67210  gcc/tree-ssa-address.c
  26a031bfc9047f95d93c2ae4b3863c6a  gcc/tree-ssa-address.h
  4e284dc982ebb3a4a9c144728f660031  gcc/tree-ssa-alias.c
  de080bbdbf508c58b6645a26dd5f8cbd  gcc/tree-ssa-alias.h
*************** bd73e3b6a1d6459aba559373e7d25550  gcc/tr
*** 68956,68962 ****
  2548a159b7f9be6c7710e991380601fe  gcc/tree-ssa-copy.c
  c44c82bb6bd01c015ca39ae8b7017287  gcc/tree-ssa-dce.c
  33554b70ccf1bbc32aa7f228515de7a7  gcc/tree-ssa-dce.h
! 62ca87da3ddb8c15dabc78a46376040c  gcc/tree-ssa-dom.c
  d4d7445af3374048e91bdee947d748a5  gcc/tree-ssa-dom.h
  394d5401ebcbce56626cfa25ed6b8067  gcc/tree-ssa-dse.c
  8d7e24f447a3d0263ecc607e4758d29d  gcc/tree-ssa-forwprop.c
--- 69152,69158 ----
  2548a159b7f9be6c7710e991380601fe  gcc/tree-ssa-copy.c
  c44c82bb6bd01c015ca39ae8b7017287  gcc/tree-ssa-dce.c
  33554b70ccf1bbc32aa7f228515de7a7  gcc/tree-ssa-dce.h
! 3813fc529690a01d4218cf6c87a2c0ed  gcc/tree-ssa-dom.c
  d4d7445af3374048e91bdee947d748a5  gcc/tree-ssa-dom.h
  394d5401ebcbce56626cfa25ed6b8067  gcc/tree-ssa-dse.c
  8d7e24f447a3d0263ecc607e4758d29d  gcc/tree-ssa-forwprop.c
*************** d4d7445af3374048e91bdee947d748a5  gcc/tr
*** 68964,68970 ****
  882535983e77f5bb4aa55d36cbbb7a2e  gcc/tree-ssa-live.c
  c621d600df58fcb07ad10ec2c2f606c8  gcc/tree-ssa-live.h
  a96c558ff8a92678d2bbef6991794e0f  gcc/tree-ssa-loop-ch.c
! e8ef6a22fb0610281c8ce491aa42e235  gcc/tree-ssa-loop-im.c
  a3d4f1965d8cb78c3506adbb8cf28893  gcc/tree-ssa-loop-ivcanon.c
  05ad8643e4bb822819fc6316063884f4  gcc/tree-ssa-loop-ivopts.c
  90f1da9f2fe88cdb144b9290639bc866  gcc/tree-ssa-loop-ivopts.h
--- 69160,69166 ----
  882535983e77f5bb4aa55d36cbbb7a2e  gcc/tree-ssa-live.c
  c621d600df58fcb07ad10ec2c2f606c8  gcc/tree-ssa-live.h
  a96c558ff8a92678d2bbef6991794e0f  gcc/tree-ssa-loop-ch.c
! 7c7dd06ef93e8c7b8615979fd3c96b9a  gcc/tree-ssa-loop-im.c
  a3d4f1965d8cb78c3506adbb8cf28893  gcc/tree-ssa-loop-ivcanon.c
  05ad8643e4bb822819fc6316063884f4  gcc/tree-ssa-loop-ivopts.c
  90f1da9f2fe88cdb144b9290639bc866  gcc/tree-ssa-loop-ivopts.h
*************** e57adf6c93783e7a9a4c5329e7f70aab  gcc/tr
*** 68980,68992 ****
  ad83f46c9cbf76e7985e83df5506fcee  gcc/tree-ssa-math-opts.c
  c6e348e48bc6da0fd54bd84f1400c2ac  gcc/tree-ssa-operands.c
  2e5e0d5c35227d27366a9f075289807d  gcc/tree-ssa-operands.h
! 9a3c756805df9e22319735bd59b037f0  gcc/tree-ssa-phiopt.c
  acb6aa7ce143ae91fbebf78c1b01c517  gcc/tree-ssa-phiprop.c
! 58302e6d35a3644f1488a0fb669cc3c7  gcc/tree-ssa-pre.c
  3f48463407f52911b59898c513e362a6  gcc/tree-ssa-propagate.c
  e2457942a23f91d5a287e162b3911839  gcc/tree-ssa-propagate.h
  a42c5fe1979660de86f1c19f7c5fb29d  gcc/tree-ssa-reassoc.c
! 54f32c58cb70f483f14016deca33c669  gcc/tree-ssa-sccvn.c
  bcbcfa1be005b29d59df5bcf6488433f  gcc/tree-ssa-sccvn.h
  e8f7441e16b235f14ac6ab9c4c743152  gcc/tree-ssa-scopedtables.c
  56680b87422628c7a0a7bd4beafc7e6a  gcc/tree-ssa-scopedtables.h
--- 69176,69188 ----
  ad83f46c9cbf76e7985e83df5506fcee  gcc/tree-ssa-math-opts.c
  c6e348e48bc6da0fd54bd84f1400c2ac  gcc/tree-ssa-operands.c
  2e5e0d5c35227d27366a9f075289807d  gcc/tree-ssa-operands.h
! 2eecb349e50b38fc12af2268d9bb1eed  gcc/tree-ssa-phiopt.c
  acb6aa7ce143ae91fbebf78c1b01c517  gcc/tree-ssa-phiprop.c
! c81af835f71d3f5e8d4c97fbf0b3a31e  gcc/tree-ssa-pre.c
  3f48463407f52911b59898c513e362a6  gcc/tree-ssa-propagate.c
  e2457942a23f91d5a287e162b3911839  gcc/tree-ssa-propagate.h
  a42c5fe1979660de86f1c19f7c5fb29d  gcc/tree-ssa-reassoc.c
! 72ff452cafc46f0dd0f8e5d31efcc7c0  gcc/tree-ssa-sccvn.c
  bcbcfa1be005b29d59df5bcf6488433f  gcc/tree-ssa-sccvn.h
  e8f7441e16b235f14ac6ab9c4c743152  gcc/tree-ssa-scopedtables.c
  56680b87422628c7a0a7bd4beafc7e6a  gcc/tree-ssa-scopedtables.h
*************** c17b4939dff5f391c4735dbc3d69c1ad  gcc/tr
*** 69014,69028 ****
  d60db07cf0bd16c97faf0fd226ba5980  gcc/tree-streamer-out.c
  98d3d8c48a9b3efe58dfdde689f7c408  gcc/tree-streamer.c
  b054506e5b8d5ed1b8605d943ac31d12  gcc/tree-streamer.h
! e955d60cc69cccd30e1126c8f011e391  gcc/tree-switch-conversion.c
! 979b0fbb38ab0a16518112580711689b  gcc/tree-switch-conversion.h
  0e5c06e7c700550800e54a795cd0dc70  gcc/tree-tailcall.c
! 4c1a9c0d7a5a08f12928fcb63abdaae2  gcc/tree-vect-data-refs.c
  4d8641260bf61f878bf11202f67decb6  gcc/tree-vect-generic.c
! d18f8c22abe252f42c302f3814d971d2  gcc/tree-vect-loop-manip.c
! 06acb1f8e5444f011b7bed7974690f0d  gcc/tree-vect-loop.c
  5d233e93322619c7c5cf16dd3fb07cf5  gcc/tree-vect-patterns.c
! 8eef8ce968c52dc61d9fc7e7b407127d  gcc/tree-vect-slp.c
  a717083cc22a36f1f272a0ae84c73208  gcc/tree-vect-stmts.c
  923de3f5927009f9e3576e15ae880ab0  gcc/tree-vector-builder.c
  c7ac3c11f53390dce6cc710eaaac6a52  gcc/tree-vector-builder.h
--- 69210,69224 ----
  d60db07cf0bd16c97faf0fd226ba5980  gcc/tree-streamer-out.c
  98d3d8c48a9b3efe58dfdde689f7c408  gcc/tree-streamer.c
  b054506e5b8d5ed1b8605d943ac31d12  gcc/tree-streamer.h
! 106b1b493300e6e132c1d6d7e4ae5ef6  gcc/tree-switch-conversion.c
! 8871272d8c826cfe8c7eb95defdb5324  gcc/tree-switch-conversion.h
  0e5c06e7c700550800e54a795cd0dc70  gcc/tree-tailcall.c
! 00931cc1ed0d8cb5e87f75a0710db4b9  gcc/tree-vect-data-refs.c
  4d8641260bf61f878bf11202f67decb6  gcc/tree-vect-generic.c
! 2a6f7fdbc16b187412e033231a86817f  gcc/tree-vect-loop-manip.c
! 46b0f118ec6eda9d2c3d66e3cc547f2f  gcc/tree-vect-loop.c
  5d233e93322619c7c5cf16dd3fb07cf5  gcc/tree-vect-patterns.c
! bdcba7fce5b8460cdac40d74a07b0e2d  gcc/tree-vect-slp.c
  a717083cc22a36f1f272a0ae84c73208  gcc/tree-vect-stmts.c
  923de3f5927009f9e3576e15ae880ab0  gcc/tree-vector-builder.c
  c7ac3c11f53390dce6cc710eaaac6a52  gcc/tree-vector-builder.h
*************** c7ac3c11f53390dce6cc710eaaac6a52  gcc/tr
*** 69030,69036 ****
  56ef90d227aaa781ba75e175b65cfa4d  gcc/tree-vectorizer.h
  7ca031fd7f70528a48f00daf4d1c90b5  gcc/tree-vrp.c
  11bb365df114008a6fda07f3787ffb2a  gcc/tree-vrp.h
! f3fa1c9c62ec60705abafab9c8f9dfc9  gcc/tree.c
  1e417842f4d580fc7ca0b19e337e2a8f  gcc/tree.def
  6958370d7d8cae1957f60fb39f141717  gcc/tree.h
  a632adf0707e5662b38f91c502ebcd9c  gcc/treestruct.def
--- 69226,69232 ----
  56ef90d227aaa781ba75e175b65cfa4d  gcc/tree-vectorizer.h
  7ca031fd7f70528a48f00daf4d1c90b5  gcc/tree-vrp.c
  11bb365df114008a6fda07f3787ffb2a  gcc/tree-vrp.h
! 7c6fbc1c9966432579a02b2ff95c9104  gcc/tree.c
  1e417842f4d580fc7ca0b19e337e2a8f  gcc/tree.def
  6958370d7d8cae1957f60fb39f141717  gcc/tree.h
  a632adf0707e5662b38f91c502ebcd9c  gcc/treestruct.def
*************** a6a52bec0dfb28a5226ce305047dd070  gcc/ts
*** 69040,69054 ****
  1b0da44572a806dd2a6edd6225e9d649  gcc/typeclass.h
  cde87ad44f09ec0e37f6764bc5ff918f  gcc/typed-splay-tree.c
  44ea2b87ca8a60a9ac0940cd5dfea729  gcc/typed-splay-tree.h
! 553683728747b3464a2b1e3d8d88fd3f  gcc/ubsan.c
  3770be849f3331764bb6463d76d15a92  gcc/ubsan.h
  4b65f402299fd5c5fb8c8f2dff94dedc  gcc/unique-ptr-tests.cc
! 4136df7c6f8785f698f41299a027ecb9  gcc/valtrack.c
  fdfe19949e8ebfe5f14b613f0f65cd6e  gcc/valtrack.h
  1ba3612847a0992a25f680cf7ce62f4d  gcc/value-prof.c
  6850a2f89c3044494307d034303972cc  gcc/value-prof.h
  81d2fc2f16729073ea312642708b81ee  gcc/var-tracking.c
! b86a971f3ce8d6dac2932a12b29c2ca8  gcc/varasm.c
  6f964e619afc01dea8b02e5c9e30b044  gcc/varasm.h
  618cd72aea132c3e97c596aee2d00ed6  gcc/varpool.c
  9639142b99476bc7eaeb8460331b0566  gcc/vec-perm-indices.c
--- 69236,69250 ----
  1b0da44572a806dd2a6edd6225e9d649  gcc/typeclass.h
  cde87ad44f09ec0e37f6764bc5ff918f  gcc/typed-splay-tree.c
  44ea2b87ca8a60a9ac0940cd5dfea729  gcc/typed-splay-tree.h
! b81137ac7ce61226a5727f6111e274e4  gcc/ubsan.c
  3770be849f3331764bb6463d76d15a92  gcc/ubsan.h
  4b65f402299fd5c5fb8c8f2dff94dedc  gcc/unique-ptr-tests.cc
! 3c5739c892ec59ad993563e405c982ce  gcc/valtrack.c
  fdfe19949e8ebfe5f14b613f0f65cd6e  gcc/valtrack.h
  1ba3612847a0992a25f680cf7ce62f4d  gcc/value-prof.c
  6850a2f89c3044494307d034303972cc  gcc/value-prof.h
  81d2fc2f16729073ea312642708b81ee  gcc/var-tracking.c
! 17c835f6ea27bbe76d7cba19640b9583  gcc/varasm.c
  6f964e619afc01dea8b02e5c9e30b044  gcc/varasm.h
  618cd72aea132c3e97c596aee2d00ed6  gcc/varpool.c
  9639142b99476bc7eaeb8460331b0566  gcc/vec-perm-indices.c
*************** ed35c9dc4d0b16c41b99ebe0eed61dff  gcc/wi
*** 69075,69085 ****
  f9f7c952be9b58fa5e9fc7a89cbd0c6e  gcc/xcoff.h
  2f034ec50b36619b6f38d5c224cb9a42  gcc/xcoffout.c
  b3d9467b5da1c3d00d28147a04c86dbf  gcc/xcoffout.h
! 91062d6e73c04d406fa471614664f8d7  gnattools/ChangeLog
  aaa671ca98fa9f94bfedd0ab395c5505  gnattools/Makefile.in
  8385a4d775aa1b9949c1f88488491c86  gnattools/configure
  1e063bb0b806e41cc0ed23d1b7047746  gnattools/configure.ac
! d879dd4eb6ff47d4222c1566fd045d6f  gotools/ChangeLog
  e6bbff19055ec2e8a53d3a2f4bffdeca  gotools/Makefile.am
  49d6c95c9b61332be4b77dbfa6c609dc  gotools/Makefile.in
  7e23031e2e274aaa07b61c1e8f18dc99  gotools/README
--- 69271,69281 ----
  f9f7c952be9b58fa5e9fc7a89cbd0c6e  gcc/xcoff.h
  2f034ec50b36619b6f38d5c224cb9a42  gcc/xcoffout.c
  b3d9467b5da1c3d00d28147a04c86dbf  gcc/xcoffout.h
! a87d043fda7e3a6a9072f7ab6e64c9a4  gnattools/ChangeLog
  aaa671ca98fa9f94bfedd0ab395c5505  gnattools/Makefile.in
  8385a4d775aa1b9949c1f88488491c86  gnattools/configure
  1e063bb0b806e41cc0ed23d1b7047746  gnattools/configure.ac
! 45f11a7384b931bf5b1b3d5ca9428cb4  gotools/ChangeLog
  e6bbff19055ec2e8a53d3a2f4bffdeca  gotools/Makefile.am
  49d6c95c9b61332be4b77dbfa6c609dc  gotools/Makefile.in
  7e23031e2e274aaa07b61c1e8f18dc99  gotools/README
*************** c4e8176c1964a5ebe0a55900f2141299  gotool
*** 69090,69096 ****
  eb2aeb3a6cffe7b26a8f1c8a2da23dcd  gotools/gofmt.1
  59530bdf33659b29e73d4adb9f9f6552  include/COPYING
  d32239bcb673463ab874e80d47fae504  include/COPYING3
! d3bfea635040febbcf8b8bade08f7cbc  include/ChangeLog
  4263432a72ff47ed8bf420208ee7eea5  include/ChangeLog-9103
  a43d76108493b20da790f953f829c6a5  include/ChangeLog.jit
  eb7ab2f3097121a9154cc0ddecf661b2  include/ansidecl.h
--- 69286,69292 ----
  eb2aeb3a6cffe7b26a8f1c8a2da23dcd  gotools/gofmt.1
  59530bdf33659b29e73d4adb9f9f6552  include/COPYING
  d32239bcb673463ab874e80d47fae504  include/COPYING3
! 127ece2d593e17439d4d4a52956291eb  include/ChangeLog
  4263432a72ff47ed8bf420208ee7eea5  include/ChangeLog-9103
  a43d76108493b20da790f953f829c6a5  include/ChangeLog.jit
  eb7ab2f3097121a9154cc0ddecf661b2  include/ansidecl.h
*************** b5692912b7f639c8285c77fa6ad84449  includ
*** 69135,69141 ****
  def665a8553c0865c88d58a554d87473  include/xregex2.h
  5e7c2e8aca772d2a3ac0791728781298  include/xtensa-config.h
  361482dd6b5b5eb7090fff3986fba68a  install-sh
! 8ca8e2ff04434d92c5a6b927a7d683fa  intl/ChangeLog
  b1554284f4c5377bf2bb6e6c0ebbc865  intl/Makefile.in
  6ec998bb4716c744bf8185e607f69301  intl/README
  76ca170a525d5b84d90f0478fe788931  intl/VERSION
--- 69331,69337 ----
  def665a8553c0865c88d58a554d87473  include/xregex2.h
  5e7c2e8aca772d2a3ac0791728781298  include/xtensa-config.h
  361482dd6b5b5eb7090fff3986fba68a  install-sh
! 4c65f6eff2560b8b4b894c5973ffe88e  intl/ChangeLog
  b1554284f4c5377bf2bb6e6c0ebbc865  intl/Makefile.in
  6ec998bb4716c744bf8185e607f69301  intl/README
  76ca170a525d5b84d90f0478fe788931  intl/VERSION
*************** d50a8c6c5b41089930accbdce767d3c0  intl/p
*** 69177,69188 ****
  b4758a0194e3e41362b939911472ce62  intl/relocatable.c
  bedade7bcfc3bc5eb09a2c6844f637f3  intl/relocatable.h
  43f287d082528203fc85c1d2d81bf30d  intl/textdomain.c
! 600465a5d1efe11950edaef41c442398  libada/ChangeLog
  2a453698f4bd6b664ee7c6be22402650  libada/Makefile.in
  ac7a7dbdb4599e1a98b97c82e372191e  libada/configure
  2509405c0c4ff558c0d8f66fa41c7e0d  libada/configure.ac
  46d3fe6da7a771cc2d5420c4137a6861  libatomic/.gitignore
! 99cf43d2a2fe3a4e2a67662e32894d82  libatomic/ChangeLog
  8e7df66918150dad6d8320f11f4ede36  libatomic/Makefile.am
  2f61e67926f726144fd98377c2671b78  libatomic/Makefile.in
  6d2b5627e60376680a6923959c375266  libatomic/acinclude.m4
--- 69373,69384 ----
  b4758a0194e3e41362b939911472ce62  intl/relocatable.c
  bedade7bcfc3bc5eb09a2c6844f637f3  intl/relocatable.h
  43f287d082528203fc85c1d2d81bf30d  intl/textdomain.c
! 1a0ec9d68ac14f2a8c4100c8b8d7c1cd  libada/ChangeLog
  2a453698f4bd6b664ee7c6be22402650  libada/Makefile.in
  ac7a7dbdb4599e1a98b97c82e372191e  libada/configure
  2509405c0c4ff558c0d8f66fa41c7e0d  libada/configure.ac
  46d3fe6da7a771cc2d5420c4137a6861  libatomic/.gitignore
! 863ed47f4a68236274815dde40f85f16  libatomic/ChangeLog
  8e7df66918150dad6d8320f11f4ede36  libatomic/Makefile.am
  2f61e67926f726144fd98377c2671b78  libatomic/Makefile.in
  6d2b5627e60376680a6923959c375266  libatomic/acinclude.m4
*************** c03a072efac9b30f8f8429ac52fd246b  libato
*** 69268,69274 ****
  8a7308fda7ed1543cb9e3be0f8e47bce  libatomic/testsuite/libatomic.c/atomic-store-5.c
  40618200985a15bcba64f871863da498  libatomic/testsuite/libatomic.c/c.exp
  97b0c9cdfcb733664bdf4efe0f5dc449  libatomic/testsuite/libatomic.c/generic-2.c
! a99f8ac7ad157f9252796ab2780d0867  libbacktrace/ChangeLog
  eb3a88b53140eb234a99a4b3a55e56bf  libbacktrace/ChangeLog.jit
  648838959097e0a8fa1b0b9704a9ae9d  libbacktrace/Makefile.am
  c8a69ac59470cd3f43c0d784a9d4bfde  libbacktrace/Makefile.in
--- 69464,69470 ----
  8a7308fda7ed1543cb9e3be0f8e47bce  libatomic/testsuite/libatomic.c/atomic-store-5.c
  40618200985a15bcba64f871863da498  libatomic/testsuite/libatomic.c/c.exp
  97b0c9cdfcb733664bdf4efe0f5dc449  libatomic/testsuite/libatomic.c/generic-2.c
! 46d340e89ab15821c65bf33651ebbeeb  libbacktrace/ChangeLog
  eb3a88b53140eb234a99a4b3a55e56bf  libbacktrace/ChangeLog.jit
  648838959097e0a8fa1b0b9704a9ae9d  libbacktrace/Makefile.am
  c8a69ac59470cd3f43c0d784a9d4bfde  libbacktrace/Makefile.in
*************** f917ae4f4a8353f5f6210d4399d333f9  libbac
*** 69313,69319 ****
  4bcecc9e15528ac37690df80f1f37d8b  libbacktrace/unknown.c
  cc14c4b26f0a468b4680095c43aff2c1  libbacktrace/xcoff.c
  2e820a2f5f1db658ccedaaba021d985c  libbacktrace/ztest.c
! 69159eeb72380727059e84e95ffbf550  libcc1/ChangeLog
  5d6ff72e4864f8e82cf61288aa725e3a  libcc1/Makefile.am
  8a80975533399433776d66d49b69a73e  libcc1/Makefile.in
  951b88f5687afa4f7735d87a83007fc0  libcc1/aclocal.m4
--- 69509,69515 ----
  4bcecc9e15528ac37690df80f1f37d8b  libbacktrace/unknown.c
  cc14c4b26f0a468b4680095c43aff2c1  libbacktrace/xcoff.c
  2e820a2f5f1db658ccedaaba021d985c  libbacktrace/ztest.c
! 97838809ee8c5bcb19b36c9aefbe16f8  libcc1/ChangeLog
  5d6ff72e4864f8e82cf61288aa725e3a  libcc1/Makefile.am
  8a80975533399433776d66d49b69a73e  libcc1/Makefile.in
  951b88f5687afa4f7735d87a83007fc0  libcc1/aclocal.m4
*************** f6e4594f30d0958b989729eaeaf30d13  libcc1
*** 69342,69348 ****
  281515e15866eb4506bbbc786f630e0f  libcc1/names.hh
  504f1417b07f98c5f03ba4c60a9d7a0c  libcc1/rpc.hh
  ea9958db9e43f398aad45b61b850753a  libcc1/status.hh
! fca1fb034913e3df34d797575443c703  libcpp/ChangeLog
  2bd831b17997584e38305782cebe6948  libcpp/ChangeLog.jit
  222dba4ab7498ff043c97003b13ec99d  libcpp/Makefile.in
  5f73e265652f92a8ad72a80124ac7061  libcpp/aclocal.m4
--- 69538,69544 ----
  281515e15866eb4506bbbc786f630e0f  libcc1/names.hh
  504f1417b07f98c5f03ba4c60a9d7a0c  libcc1/rpc.hh
  ea9958db9e43f398aad45b61b850753a  libcc1/status.hh
! b4101aa32c535f3a26b331c1fe991b6d  libcpp/ChangeLog
  2bd831b17997584e38305782cebe6948  libcpp/ChangeLog.jit
  222dba4ab7498ff043c97003b13ec99d  libcpp/Makefile.in
  5f73e265652f92a8ad72a80124ac7061  libcpp/aclocal.m4
*************** a82e3eb1d8561484e9ba80fe49aaa3d2  libcpp
*** 69351,69357 ****
  f95c591555ed352736370c7a1b6d0f98  libcpp/configure
  db98df9b3eb19f4fe581a917e87c5a57  libcpp/configure.ac
  7b6cb6a7b1b18e5058899d7b0b6c2e29  libcpp/directives-only.c
! 0052b900a16269d3b3d79383fba2857c  libcpp/directives.c
  0a342f3f7b07fb4e763b209333dbb06b  libcpp/errors.c
  652fec5ae61d9fc04abc72e59c457305  libcpp/expr.c
  d043d853a1f677a273ca7a9a969dab92  libcpp/files.c
--- 69547,69553 ----
  f95c591555ed352736370c7a1b6d0f98  libcpp/configure
  db98df9b3eb19f4fe581a917e87c5a57  libcpp/configure.ac
  7b6cb6a7b1b18e5058899d7b0b6c2e29  libcpp/directives-only.c
! dcc02762cb7c3729191f3df369659539  libcpp/directives.c
  0a342f3f7b07fb4e763b209333dbb06b  libcpp/errors.c
  652fec5ae61d9fc04abc72e59c457305  libcpp/expr.c
  d043d853a1f677a273ca7a9a969dab92  libcpp/files.c
*************** c9d2656287cb96b4e6422c5fcdaff3a6  libcpp
*** 69365,69375 ****
  3f3cec172b46b67803b80b8d30bd09ed  libcpp/lex.c
  8bf5e1013588e6cf3cbdf21bc1b0a127  libcpp/line-map.c
  46a07100f95f5e354c7e25cd19d26884  libcpp/location-example.txt
! 695c6a70a79286d68e4e9c6ff64209b8  libcpp/macro.c
  4d29f81731f27ee18c8643ab850311f7  libcpp/makeucnid.c
  490d1e48a80412dfb3514b94e7f51775  libcpp/mkdeps.c
  a6e9e77c0524957faba66e24fbf3ed8a  libcpp/pch.c
! 7e37db785ec47eabb8870cdaae1f82f2  libcpp/po/ChangeLog
  236a7764238de3aa208e3a857c56f478  libcpp/po/be.gmo
  dc05c4bd3c6895e2da9141f65119fb51  libcpp/po/be.po
  d532399baa9e84c8ec32cbe3092fe565  libcpp/po/ca.gmo
--- 69561,69571 ----
  3f3cec172b46b67803b80b8d30bd09ed  libcpp/lex.c
  8bf5e1013588e6cf3cbdf21bc1b0a127  libcpp/line-map.c
  46a07100f95f5e354c7e25cd19d26884  libcpp/location-example.txt
! 1fd99bb4de69ce5e3b72514128643372  libcpp/macro.c
  4d29f81731f27ee18c8643ab850311f7  libcpp/makeucnid.c
  490d1e48a80412dfb3514b94e7f51775  libcpp/mkdeps.c
  a6e9e77c0524957faba66e24fbf3ed8a  libcpp/pch.c
! 858a72a047a6baf5de6385f0200a5347  libcpp/po/ChangeLog
  236a7764238de3aa208e3a857c56f478  libcpp/po/be.gmo
  dc05c4bd3c6895e2da9141f65119fb51  libcpp/po/be.po
  d532399baa9e84c8ec32cbe3092fe565  libcpp/po/ca.gmo
*************** c862ccf544840751be474f16ed6b1963  libcpp
*** 69419,69425 ****
  628099a1919648a76bead35903e7b89b  libcpp/ucnid.h
  d575d8ea34f81aa9a0af383fdbd9d2ca  libcpp/ucnid.tab
  a6c2b3de06c7424706b16f4c206396a1  libdecnumber/.gitignore
! 12b2769b13c798923297044c6c45800b  libdecnumber/ChangeLog
  2bd831b17997584e38305782cebe6948  libdecnumber/ChangeLog.jit
  141296edcf1deb455bf9aae8e8a8fe04  libdecnumber/Makefile.in
  5f9283b55276ee7e43f1b2d807e0d85f  libdecnumber/aclocal.m4
--- 69615,69621 ----
  628099a1919648a76bead35903e7b89b  libcpp/ucnid.h
  d575d8ea34f81aa9a0af383fdbd9d2ca  libcpp/ucnid.tab
  a6c2b3de06c7424706b16f4c206396a1  libdecnumber/.gitignore
! 4891a8c284f85ea6f5e784df6cbd87db  libdecnumber/ChangeLog
  2bd831b17997584e38305782cebe6948  libdecnumber/ChangeLog.jit
  141296edcf1deb455bf9aae8e8a8fe04  libdecnumber/Makefile.in
  5f9283b55276ee7e43f1b2d807e0d85f  libdecnumber/aclocal.m4
*************** a97c47969dfc92a7666dfe3c2e1e1448  libdec
*** 69482,69488 ****
  74a3833f7f2ae0d269dcacb46972d1f0  libdecnumber/dpd/decimal64.c
  4e08638f371cb9b372f3ec903f00fc0e  libdecnumber/dpd/decimal64.h
  0f6db29710e7075c2fd62bc4478b3b8d  libdecnumber/dpd/decimal64Symbols.h
! d803c1032aa1ad73687fe763af4b2ab6  libffi/ChangeLog
  ba66fc19311348d373ec271be939a659  libffi/ChangeLog.libffi
  fbbc216bc25d759a72ea3e6d734af56b  libffi/ChangeLog.libgcj
  d946d2b97454ad50a1dbfbf48923c5be  libffi/ChangeLog.v1
--- 69678,69684 ----
  74a3833f7f2ae0d269dcacb46972d1f0  libdecnumber/dpd/decimal64.c
  4e08638f371cb9b372f3ec903f00fc0e  libdecnumber/dpd/decimal64.h
  0f6db29710e7075c2fd62bc4478b3b8d  libdecnumber/dpd/decimal64Symbols.h
! 8c486fa403931edb0304c269c5b8c668  libffi/ChangeLog
  ba66fc19311348d373ec271be939a659  libffi/ChangeLog.libffi
  fbbc216bc25d759a72ea3e6d734af56b  libffi/ChangeLog.libgcj
  d946d2b97454ad50a1dbfbf48923c5be  libffi/ChangeLog.v1
*************** e988aa92b714d72199c40b30edcaff89  libffi
*** 69631,69637 ****
  5624660cd94e07f27918e57a51a103ee  libffi/src/x86/darwin64_c.c
  b8ca26733e457413f07cde86b4172a99  libffi/src/x86/darwin_c.c
  08f53dd5901f0176d44b7b9b46420e18  libffi/src/x86/ffi.c
! 7ccf48dc3c360e9bf0a77d4e86132c4c  libffi/src/x86/ffi64.c
  fbafaaf9d5bbdfa1191f07131de6572a  libffi/src/x86/ffitarget.h
  c6877cb33a938d1b0ca967d17089b339  libffi/src/x86/ffiw64.c
  b4b878c72f2f781fe41addd69ab2d619  libffi/src/x86/internal.h
--- 69827,69833 ----
  5624660cd94e07f27918e57a51a103ee  libffi/src/x86/darwin64_c.c
  b8ca26733e457413f07cde86b4172a99  libffi/src/x86/darwin_c.c
  08f53dd5901f0176d44b7b9b46420e18  libffi/src/x86/ffi.c
! 0fcee3805caea018e96ee0acdc8d617a  libffi/src/x86/ffi64.c
  fbafaaf9d5bbdfa1191f07131de6572a  libffi/src/x86/ffitarget.h
  c6877cb33a938d1b0ca967d17089b339  libffi/src/x86/ffiw64.c
  b4b878c72f2f781fe41addd69ab2d619  libffi/src/x86/internal.h
*************** b1fc2a9b18683c39c78174fe71d41c9a  libffi
*** 69742,69747 ****
--- 69938,69944 ----
  603c0f6bd65593799acb32b8720ad959  libffi/testsuite/libffi.call/nested_struct1.c
  5f2439a6b772e5a891deb1cc27a720bb  libffi/testsuite/libffi.call/nested_struct10.c
  5cdea341282c185038f3701005139f72  libffi/testsuite/libffi.call/nested_struct11.c
+ 45140def5a7fff8a434158cba3d44619  libffi/testsuite/libffi.call/nested_struct12.c
  3214b270fba1963541695b072f8ce30c  libffi/testsuite/libffi.call/nested_struct2.c
  d90963b4f9d554c5db857a2d2000feb7  libffi/testsuite/libffi.call/nested_struct3.c
  8dfe86c771d317f4ab02797610cc15dd  libffi/testsuite/libffi.call/nested_struct4.c
*************** d47c79b281339983862a8e52d8c73f0f  libffi
*** 69842,69850 ****
  291be426192f460f6a07dfe1c96ab094  libffi/testsuite/libffi.special/special.exp
  93fc3ea311b79f64004992807ce75d1e  libffi/testsuite/libffi.special/unwindtest.cc
  185d0795017fbbe253a13db8e34085f9  libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
! 6da9e83eadde3fd408d9fe825866dc08  libgcc/ChangeLog
  ad1e8cb6d1e59c5bbcc931b5e56711e1  libgcc/Makefile.in
! cc02d3b1be30f2e9128b8a8e04719dee  libgcc/config.host
  083f194c4f87d0510383fd4156d3aaef  libgcc/config.in
  f1f7747a29ca6adbe358faca6e9945e8  libgcc/config/aarch64/aarch64-unwind.h
  a604bdf629139cf288a532d9fb755410  libgcc/config/aarch64/crtfastmath.c
--- 70039,70047 ----
  291be426192f460f6a07dfe1c96ab094  libffi/testsuite/libffi.special/special.exp
  93fc3ea311b79f64004992807ce75d1e  libffi/testsuite/libffi.special/unwindtest.cc
  185d0795017fbbe253a13db8e34085f9  libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
! 53e66216cb338dba7dea18607d5ee0d4  libgcc/ChangeLog
  ad1e8cb6d1e59c5bbcc931b5e56711e1  libgcc/Makefile.in
! edbddde3cda754b55eb13f146b235007  libgcc/config.host
  083f194c4f87d0510383fd4156d3aaef  libgcc/config.in
  f1f7747a29ca6adbe358faca6e9945e8  libgcc/config/aarch64/aarch64-unwind.h
  a604bdf629139cf288a532d9fb755410  libgcc/config/aarch64/crtfastmath.c
*************** a604bdf629139cf288a532d9fb755410  libgcc
*** 69853,69866 ****
  52792d626f140ab3d5ece0bca20cf426  libgcc/config/aarch64/freebsd-unwind.h
  799cdbc146aaf1aca06c4d549fede670  libgcc/config/aarch64/linux-unwind.h
  1238e55629f48458a4cf9e5e912fc601  libgcc/config/aarch64/lse-init.c
! 11e2d17c5625b965ff83eec8d3f10d90  libgcc/config/aarch64/lse.S
  48d4c61b7ae55655b2ede794c28f3d0d  libgcc/config/aarch64/sfp-exceptions.c
  2437e6164ed6f0abce51fe3b9b804331  libgcc/config/aarch64/sfp-machine.h
  dd0a9341e989498152d7fef6de998d23  libgcc/config/aarch64/sync-cache.c
  b6850ec10da68011732754786a161b1d  libgcc/config/aarch64/t-aarch64
! e5d953bbdf99e7f8654212cbf61274ca  libgcc/config/aarch64/t-lse
  3a7564780070d43ba461bc58622771af  libgcc/config/aarch64/t-softfp
! 1afd0c2220eb4bd0184024eb2ee00db1  libgcc/config/aarch64/value-unwind.h
  b2520ac2c4897b18d9c49a8d81cd7c85  libgcc/config/alpha/crtfastmath.c
  16d2a26a754bdd0e6e2124935185cb10  libgcc/config/alpha/libgcc-alpha-ldbl.ver
  4b1d2059ff8312c121b2ece3691bc052  libgcc/config/alpha/linux-unwind.h
--- 70050,70063 ----
  52792d626f140ab3d5ece0bca20cf426  libgcc/config/aarch64/freebsd-unwind.h
  799cdbc146aaf1aca06c4d549fede670  libgcc/config/aarch64/linux-unwind.h
  1238e55629f48458a4cf9e5e912fc601  libgcc/config/aarch64/lse-init.c
! 3da4ac25aeb49f6a3229643155c307b8  libgcc/config/aarch64/lse.S
  48d4c61b7ae55655b2ede794c28f3d0d  libgcc/config/aarch64/sfp-exceptions.c
  2437e6164ed6f0abce51fe3b9b804331  libgcc/config/aarch64/sfp-machine.h
  dd0a9341e989498152d7fef6de998d23  libgcc/config/aarch64/sync-cache.c
  b6850ec10da68011732754786a161b1d  libgcc/config/aarch64/t-aarch64
! 7f4746d9f982a37248fabfb15d5b3859  libgcc/config/aarch64/t-lse
  3a7564780070d43ba461bc58622771af  libgcc/config/aarch64/t-softfp
! 4dc2f4744511d0e263cf6c1b83b000a0  libgcc/config/aarch64/value-unwind.h
  b2520ac2c4897b18d9c49a8d81cd7c85  libgcc/config/alpha/crtfastmath.c
  16d2a26a754bdd0e6e2124935185cb10  libgcc/config/alpha/libgcc-alpha-ldbl.ver
  4b1d2059ff8312c121b2ece3691bc052  libgcc/config/alpha/linux-unwind.h
*************** d312eebde4e408ac216c5e1aa4ca1d04  libgcc
*** 70065,70071 ****
  2bb91a41d1aa616323af172f9f7a8118  libgcc/config/frv/cmovh.c
  dee816f5250a05eb2e5038527e2f53c7  libgcc/config/frv/cmovw.c
  64fe34e55d5b4655d910072a8b954bde  libgcc/config/frv/elf-lib.h
! b13ceed9e7abd07e3823b22dc930b83f  libgcc/config/frv/frv-abi.h
  a4637a9885e4cdcdca9be79bce11ab8e  libgcc/config/frv/frvbegin.c
  c91ecc84600d2a9929d6405d221f26bb  libgcc/config/frv/frvend.c
  bab1824b4990aa6b389208b5b91d2add  libgcc/config/frv/lib1funcs.S
--- 70262,70268 ----
  2bb91a41d1aa616323af172f9f7a8118  libgcc/config/frv/cmovh.c
  dee816f5250a05eb2e5038527e2f53c7  libgcc/config/frv/cmovw.c
  64fe34e55d5b4655d910072a8b954bde  libgcc/config/frv/elf-lib.h
! f148fcb369140acdbc161ebc5aaf7658  libgcc/config/frv/frv-abi.h
  a4637a9885e4cdcdca9be79bce11ab8e  libgcc/config/frv/frvbegin.c
  c91ecc84600d2a9929d6405d221f26bb  libgcc/config/frv/frvend.c
  bab1824b4990aa6b389208b5b91d2add  libgcc/config/frv/lib1funcs.S
*************** e5387e909a3b29458cfdda0150e1f8f6  libgcc
*** 70194,70200 ****
  7f83cb5269303d6f2bc8693886cfecc2  libgcc/config/i386/t-softfp
  e3f37cf5fbd829324e763c71726907a2  libgcc/config/i386/t-sol2
  89444a8a78bd3aa7426e9525cdd7ce25  libgcc/config/i386/t-stack-i386
! 15eb33994a96a011816e697dd8d8e46c  libgcc/config/i386/value-unwind.h
  430112191710fa006c64e3f2f3c20ee5  libgcc/config/i386/w32-unwind.h
  ffc8a68dc02aca1cf8703f6ff29109d3  libgcc/config/ia64/__divxf3.S
  c3b9941b44cdc74dfc42996f7d2d765b  libgcc/config/ia64/_fixtfdi.S
--- 70391,70397 ----
  7f83cb5269303d6f2bc8693886cfecc2  libgcc/config/i386/t-softfp
  e3f37cf5fbd829324e763c71726907a2  libgcc/config/i386/t-sol2
  89444a8a78bd3aa7426e9525cdd7ce25  libgcc/config/i386/t-stack-i386
! 0456be1f82817a96462f042ad557c583  libgcc/config/i386/value-unwind.h
  430112191710fa006c64e3f2f3c20ee5  libgcc/config/i386/w32-unwind.h
  ffc8a68dc02aca1cf8703f6ff29109d3  libgcc/config/ia64/__divxf3.S
  c3b9941b44cdc74dfc42996f7d2d765b  libgcc/config/ia64/_fixtfdi.S
*************** e708eaae233279e50aca0fb6221aa099  libgcc
*** 70231,70237 ****
  2499660ca1508fd7a1c0a9c4bf398faf  libgcc/config/ia64/vms-unwind.h
  d542947a4878833a608a7a6c66107af2  libgcc/config/iq2000/lib2funcs.c
  102f7dad8ad6b54434a1b8313d1e42c4  libgcc/config/iq2000/t-iq2000
! e2c0870acfa00f7fa5511f8aa649b5f1  libgcc/config/libbid/ChangeLog
  e09001f7f7eb492bfa91377efc1de072  libgcc/config/libbid/_addsub_dd.c
  d1ea578ab0ec90a68084bc92256a875a  libgcc/config/libbid/_addsub_sd.c
  7ec84cbf2be3e6936ecfb988e11678b6  libgcc/config/libbid/_addsub_td.c
--- 70428,70434 ----
  2499660ca1508fd7a1c0a9c4bf398faf  libgcc/config/ia64/vms-unwind.h
  d542947a4878833a608a7a6c66107af2  libgcc/config/iq2000/lib2funcs.c
  102f7dad8ad6b54434a1b8313d1e42c4  libgcc/config/iq2000/t-iq2000
! 92475ef55f039905e5bb32d54d790db9  libgcc/config/libbid/ChangeLog
  e09001f7f7eb492bfa91377efc1de072  libgcc/config/libbid/_addsub_dd.c
  d1ea578ab0ec90a68084bc92256a875a  libgcc/config/libbid/_addsub_sd.c
  7ec84cbf2be3e6936ecfb988e11678b6  libgcc/config/libbid/_addsub_td.c
*************** bd41c9c4e8e855126c292582197016ff  libgcc
*** 70772,70787 ****
  e1de91feb077c33534a9cc4d2fe09657  libgcc/config/pa/gthr-dce.h
  12c448d35b960a5650c4ba9a5cf35e07  libgcc/config/pa/hpux-unwind.h
  f01c3db454b605b72d1232f39af126ab  libgcc/config/pa/lib2funcs.S
! 64a6e5d5843e81a024f9afe766cc713b  libgcc/config/pa/linux-atomic.c
  dde3935fa4561cabea432f777774f9ba  libgcc/config/pa/linux-unwind.h
  704fc661652e30b41dd46eddc0701597  libgcc/config/pa/milli64.S
! 8267bac5fc9e32d2e728edbc7d978b51  libgcc/config/pa/pa64-hpux-lib.h
  3c5ce73389b2139807c1d2d546229737  libgcc/config/pa/quadlib.c
  71c9c291204dc98b7de0ef6b19387db9  libgcc/config/pa/stublib.c
  8a3964d4f1eddb14d9260a0a72a23493  libgcc/config/pa/t-hpux
  73420715a92f162a61d33bbfbe7c4dee  libgcc/config/pa/t-hpux10
  3e293a3e5a4bcd16fb9846c60502af9b  libgcc/config/pa/t-linux
! 5877d503fb8e674ccd8cb10023bc7de9  libgcc/config/pa/t-linux64
  3a7526d23d38b3c358e838a89cf3ad94  libgcc/config/pa/t-openbsd
  4c55604fec5e632606f19c2f176f1a6c  libgcc/config/pa/t-pa64
  6b7616abedce76aaa866d73b08ea3a07  libgcc/config/pa/t-slibgcc-dwarf-ver
--- 70969,70984 ----
  e1de91feb077c33534a9cc4d2fe09657  libgcc/config/pa/gthr-dce.h
  12c448d35b960a5650c4ba9a5cf35e07  libgcc/config/pa/hpux-unwind.h
  f01c3db454b605b72d1232f39af126ab  libgcc/config/pa/lib2funcs.S
! 2c0758c5ce668f2e4d38de80e868a709  libgcc/config/pa/linux-atomic.c
  dde3935fa4561cabea432f777774f9ba  libgcc/config/pa/linux-unwind.h
  704fc661652e30b41dd46eddc0701597  libgcc/config/pa/milli64.S
! b9140920edf0abf0d25f806782e0047e  libgcc/config/pa/pa64-hpux-lib.h
  3c5ce73389b2139807c1d2d546229737  libgcc/config/pa/quadlib.c
  71c9c291204dc98b7de0ef6b19387db9  libgcc/config/pa/stublib.c
  8a3964d4f1eddb14d9260a0a72a23493  libgcc/config/pa/t-hpux
  73420715a92f162a61d33bbfbe7c4dee  libgcc/config/pa/t-hpux10
  3e293a3e5a4bcd16fb9846c60502af9b  libgcc/config/pa/t-linux
! 8b6e1d4848a895dd9e8e030f638c68bc  libgcc/config/pa/t-linux64
  3a7526d23d38b3c358e838a89cf3ad94  libgcc/config/pa/t-openbsd
  4c55604fec5e632606f19c2f176f1a6c  libgcc/config/pa/t-pa64
  6b7616abedce76aaa866d73b08ea3a07  libgcc/config/pa/t-slibgcc-dwarf-ver
*************** af87f07c7852b3f285999fc059f8add9  libgcc
*** 71263,71269 ****
  3141a3583b6db8874e874d333dde6638  libgcc/vtv_end_preinit.c
  8a18f995d18c874fc01982af6acf7552  libgcc/vtv_start.c
  1fc53b7e6934daf3a6708fd8ac1665a7  libgcc/vtv_start_preinit.c
! a1883ce438f769aebfb537f4ebf311e4  libgfortran/ChangeLog
  9aca36338382e5b4b730e7779170b24d  libgfortran/ChangeLog-2002
  80d3edc880c2da0b7a2beec2e2c4f774  libgfortran/ChangeLog-2003
  9f0239429993a5e64ed793eb6c55a5c1  libgfortran/ChangeLog-2004
--- 71460,71466 ----
  3141a3583b6db8874e874d333dde6638  libgcc/vtv_end_preinit.c
  8a18f995d18c874fc01982af6acf7552  libgcc/vtv_start.c
  1fc53b7e6934daf3a6708fd8ac1665a7  libgcc/vtv_start_preinit.c
! 24599ccb02f8d2f097377fead671ddc3  libgfortran/ChangeLog
  9aca36338382e5b4b730e7779170b24d  libgfortran/ChangeLog-2002
  80d3edc880c2da0b7a2beec2e2c4f774  libgfortran/ChangeLog-2003
  9f0239429993a5e64ed793eb6c55a5c1  libgfortran/ChangeLog-2004
*************** d3b7a61df66230a271c3032136d62aa0  libgfo
*** 71948,71954 ****
  81da5e31b01b7376285a87adfff940d7  libgfortran/intrinsics/link.c
  a5fb15c7ec76ea15d45f80d5190a5db7  libgfortran/intrinsics/move_alloc.c
  f91822b34847fdd809e608b8c7d3abe7  libgfortran/intrinsics/mvbits.c
! 89eb7307b38f7de7d92d72be3e65b56a  libgfortran/intrinsics/pack_generic.c
  9fa720bbef66c669caeea1f1b46dd06b  libgfortran/intrinsics/perror.c
  5c05986df2cd6ff16a02045a5c0db647  libgfortran/intrinsics/rand.c
  d95dfc1734926ac22d5886a61a87ebf4  libgfortran/intrinsics/random.c
--- 72145,72151 ----
  81da5e31b01b7376285a87adfff940d7  libgfortran/intrinsics/link.c
  a5fb15c7ec76ea15d45f80d5190a5db7  libgfortran/intrinsics/move_alloc.c
  f91822b34847fdd809e608b8c7d3abe7  libgfortran/intrinsics/mvbits.c
! 0f79c11b8bb0c1066a2b97199fe80bc1  libgfortran/intrinsics/pack_generic.c
  9fa720bbef66c669caeea1f1b46dd06b  libgfortran/intrinsics/perror.c
  5c05986df2cd6ff16a02045a5c0db647  libgfortran/intrinsics/rand.c
  d95dfc1734926ac22d5886a61a87ebf4  libgfortran/intrinsics/random.c
*************** f1f0917f45d626d15a5f129fef3d81e2  libgo/
*** 76240,76246 ****
  8ee949b66b618f814424a36e68df976a  libgo/testsuite/gotest
  ead4e721beb57b319fcd7da8ddf10705  libgo/testsuite/lib/libgo.exp
  6df485581d2f02246f41b5ca46f5bb5d  libgo/testsuite/libgo.testmain/testmain.exp
! 934d6902903e93bd2512433983b84b59  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  d9a2f9477fc09a75dd2d538799f491d8  libgomp/Makefile.am
  b8b41eee465fa52ffd96c3f358ab15c9  libgomp/Makefile.in
--- 76437,76443 ----
  8ee949b66b618f814424a36e68df976a  libgo/testsuite/gotest
  ead4e721beb57b319fcd7da8ddf10705  libgo/testsuite/lib/libgo.exp
  6df485581d2f02246f41b5ca46f5bb5d  libgo/testsuite/libgo.testmain/testmain.exp
! 9e7781bbcd9419ca805f0441dba8f634  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  d9a2f9477fc09a75dd2d538799f491d8  libgomp/Makefile.am
  b8b41eee465fa52ffd96c3f358ab15c9  libgomp/Makefile.in
*************** c9f750a5b99481943fbb0fa04832ca66  libgom
*** 76256,76262 ****
  6507cc5dd86ed7e2b6e288a39cb631d3  libgomp/config/darwin/plugin-suffix.h
  9c194bdfaf80d63b8585e65364def02e  libgomp/config/darwin/thread-stacksize.h
  2af8472a2e8c11d2cf52f66cd9115696  libgomp/config/hpux/plugin-suffix.h
! e96296e0683370a9cf2831c67a729841  libgomp/config/linux/affinity.c
  a4977cff910529e905f4fd03f0e44858  libgomp/config/linux/alpha/futex.h
  9aca5e9c8457558646a94898adbee901  libgomp/config/linux/bar.c
  8b698005fec7e89b0c1f722ee6f14d05  libgomp/config/linux/bar.h
--- 76453,76459 ----
  6507cc5dd86ed7e2b6e288a39cb631d3  libgomp/config/darwin/plugin-suffix.h
  9c194bdfaf80d63b8585e65364def02e  libgomp/config/darwin/thread-stacksize.h
  2af8472a2e8c11d2cf52f66cd9115696  libgomp/config/hpux/plugin-suffix.h
! 34ac78556cd1e5fa50f4ccfc3aef1a12  libgomp/config/linux/affinity.c
  a4977cff910529e905f4fd03f0e44858  libgomp/config/linux/alpha/futex.h
  9aca5e9c8457558646a94898adbee901  libgomp/config/linux/bar.c
  8b698005fec7e89b0c1f722ee6f14d05  libgomp/config/linux/bar.h
*************** d575d44b64139bab03fba2a9f3e21a26  libgom
*** 76275,76281 ****
  f17754e12a16bb8a683ced67aff00f93  libgomp/config/linux/ptrlock.h
  e3f36d8b6128e663516c28d9abc1cd6f  libgomp/config/linux/s390/futex.h
  62512a05179c73162f573b210df29f8b  libgomp/config/linux/sem.c
! 3c99d11a8f29bb5014528ac24cc4bf4d  libgomp/config/linux/sem.h
  66c424fa7ea179182b834ffb0b711af9  libgomp/config/linux/sparc/futex.h
  20d6f1f6df77a677a707463dfd35093c  libgomp/config/linux/tile/futex.h
  4ba7fc8e50c1ed7a33fe146a3b27d15c  libgomp/config/linux/wait.h
--- 76472,76478 ----
  f17754e12a16bb8a683ced67aff00f93  libgomp/config/linux/ptrlock.h
  e3f36d8b6128e663516c28d9abc1cd6f  libgomp/config/linux/s390/futex.h
  62512a05179c73162f573b210df29f8b  libgomp/config/linux/sem.c
! 4aeee770d0c723aead316055b3b1df12  libgomp/config/linux/sem.h
  66c424fa7ea179182b834ffb0b711af9  libgomp/config/linux/sparc/futex.h
  20d6f1f6df77a677a707463dfd35093c  libgomp/config/linux/tile/futex.h
  4ba7fc8e50c1ed7a33fe146a3b27d15c  libgomp/config/linux/wait.h
*************** bb4331c4cc59998041f6d3fba93bf2e3  libgom
*** 76397,76404 ****
  ec301483e40c415b91ec0ece951a5d71  libgomp/splay-tree.c
  06e808d378029a1f66b32055a24a5a81  libgomp/splay-tree.h
  c8e96b8ea763e2e0d60dcd3a2ec629a4  libgomp/target.c
! f58f73ebb04b83eaacf69fabf6450cfd  libgomp/task.c
! 383c432e4635d249f8951c0189183d68  libgomp/taskloop.c
  61195dc42744d9b5e4e7cf65947c1ce5  libgomp/team.c
  4bea35e28abd73842ec52c9bbdc77b28  libgomp/teams.c
  1c270c185e477fac201df5c25a9a4098  libgomp/testsuite/Makefile.am
--- 76594,76601 ----
  ec301483e40c415b91ec0ece951a5d71  libgomp/splay-tree.c
  06e808d378029a1f66b32055a24a5a81  libgomp/splay-tree.h
  c8e96b8ea763e2e0d60dcd3a2ec629a4  libgomp/target.c
! 8786bada85a8d8e288526cdd8813110c  libgomp/task.c
! 7304781d76559cb35bcfe3ff477d968c  libgomp/taskloop.c
  61195dc42744d9b5e4e7cf65947c1ce5  libgomp/team.c
  4bea35e28abd73842ec52c9bbdc77b28  libgomp/teams.c
  1c270c185e477fac201df5c25a9a4098  libgomp/testsuite/Makefile.am
*************** dff7a676c5c7625a109dad1fb29c317d  libgom
*** 76693,76698 ****
--- 76890,76900 ----
  4066b4a4600721101ac384b659311782  libgomp/testsuite/libgomp.c-c++-common/pr81875.c
  08611a968d3d5d8544391a554aa64d2e  libgomp/testsuite/libgomp.c-c++-common/pr83046.c
  bbbd1b345adde5e2b11d48880c03841d  libgomp/testsuite/libgomp.c-c++-common/pr93515.c
+ aa27b099930bc5b5e07e143f2ff6fedc  libgomp/testsuite/libgomp.c-c++-common/pr94366.c
+ 518802c6b3749e2e9e7db739acc75fec  libgomp/testsuite/libgomp.c-c++-common/reduction-1.c
+ 81afe6e1537b537dd7a022a01cf9c4d1  libgomp/testsuite/libgomp.c-c++-common/reduction-2.c
+ ef08402cdc6bc0d2353966d078dab69f  libgomp/testsuite/libgomp.c-c++-common/reduction-3.c
+ e3846789e3ff29fff63fa3251ce13e6f  libgomp/testsuite/libgomp.c-c++-common/reduction-4.c
  d66bb650f4953bee67dede99228fb94f  libgomp/testsuite/libgomp.c-c++-common/simd-1.c
  561437d7d3d7ef8ef34cb872b883ba18  libgomp/testsuite/libgomp.c-c++-common/simd-14.c
  cbc1c46aca10b5056dd653273e1b22d3  libgomp/testsuite/libgomp.c-c++-common/simd-15.c
*************** e590f10fae9bf053ed7123777b03bf32  libgom
*** 76707,76712 ****
--- 76909,76915 ----
  23584c2b5e72b0f66678ce4ada7296dd  libgomp/testsuite/libgomp.c-c++-common/task-reduction-12.c
  e4f419faa09d744436aad29d88eb43cf  libgomp/testsuite/libgomp.c-c++-common/task-reduction-13.c
  d284915ed4a4ac417bfb2b7632453bec  libgomp/testsuite/libgomp.c-c++-common/task-reduction-14.c
+ 9c603541ce46d78d4526034634edb381  libgomp/testsuite/libgomp.c-c++-common/task-reduction-15.c
  47acc8ff8c516165766737c2f13be4cf  libgomp/testsuite/libgomp.c-c++-common/task-reduction-2.c
  33b998ac8605f9aab9808c883f2e85eb  libgomp/testsuite/libgomp.c-c++-common/task-reduction-3.c
  5ab2e1d3a94c19b612a71f802938e9d8  libgomp/testsuite/libgomp.c-c++-common/task-reduction-4.c
*************** bb5f1add3b172a6350a63ac4065e26ec  libgom
*** 76900,76905 ****
--- 77103,77112 ----
  ecc1971bfd0bc04115af17ac694a0431  libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c
  f6ff904d877753394a1482a595ff74d0  libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c
  e2af3bc3621d7e03158bdd391ec72c47  libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt.c
+ ebdfdc0bfc1675a26f73ba66329d6e75  libgomp/testsuite/libgomp.c/places-6.c
+ dce925481bd33e4b6155a992941a2741  libgomp/testsuite/libgomp.c/places-7.c
+ 033508b78702497acf629bd938d3000c  libgomp/testsuite/libgomp.c/places-8.c
+ bb57a9ccf51a738ab2985a513801a658  libgomp/testsuite/libgomp.c/pr104385.c
  c522146f1617da47efbc34dedb563f61  libgomp/testsuite/libgomp.c/pr24455-1.c
  4d9e31cef64ff399334db6c29e3a07db  libgomp/testsuite/libgomp.c/pr24455.c
  5f9c41745fbf27e0d2ca8e182c9ff34f  libgomp/testsuite/libgomp.c/pr26171.c
*************** d3e7c403248ba696f161f0c29c1f87a6  libgom
*** 77049,77054 ****
--- 77256,77262 ----
  38213b90919e07d4d9f35aca2fd48cdd  libgomp/testsuite/libgomp.c/task-reduction-1.c
  ccf79f1a3cd3d9897f6ea88c19bfbdc8  libgomp/testsuite/libgomp.c/task-reduction-2.c
  e25fde9ed6b03c3c743ea8cf6c8eaa3e  libgomp/testsuite/libgomp.c/task-reduction-3.c
+ 3b961187e4321fe4d1a657f3f6963089  libgomp/testsuite/libgomp.c/task-reduction-4.c
  8f3987fb26389f7b68ec00353f2b2a18  libgomp/testsuite/libgomp.c/teams-1.c
  37b3daacf6336034e4ee7c938d7fc2ef  libgomp/testsuite/libgomp.c/teams-2.c
  8f9a5283e3b48bb452ccf9f17b6bf998  libgomp/testsuite/libgomp.c/teams-3.c
*************** ca78ca2ee2a528893865330c2b0d05bc  libgom
*** 77868,77874 ****
  e8a3245c095430c8ef2413afe2ee4c48  libgomp/testsuite/libgomp.oacc-fortran/update-1.f90
  3a53883f5d7397a99e94574ae6990135  libgomp/testsuite/libgomp.oacc-fortran/vector-routine.f90
  c2416ae6388a09109404b7dadd83d9e4  libgomp/work.c
! ae3d1b028ad53287c588264d0dd10ea7  libhsail-rt/ChangeLog
  9147b482b39962a71e580b4a8265285e  libhsail-rt/Makefile.am
  5a060d9a3e645ad21b36810ed27d297d  libhsail-rt/Makefile.in
  de97a355fadb5753d182cbcf06b1b33a  libhsail-rt/README
--- 78076,78082 ----
  e8a3245c095430c8ef2413afe2ee4c48  libgomp/testsuite/libgomp.oacc-fortran/update-1.f90
  3a53883f5d7397a99e94574ae6990135  libgomp/testsuite/libgomp.oacc-fortran/vector-routine.f90
  c2416ae6388a09109404b7dadd83d9e4  libgomp/work.c
! aa3653481ad1a0bc40b74e442e69fb3c  libhsail-rt/ChangeLog
  9147b482b39962a71e580b4a8265285e  libhsail-rt/Makefile.am
  5a060d9a3e645ad21b36810ed27d297d  libhsail-rt/Makefile.in
  de97a355fadb5753d182cbcf06b1b33a  libhsail-rt/README
*************** f10d6eb004be00911c69df75394e3d61  libhsa
*** 77895,77901 ****
  ef9f05873915c22cae79ef5545355353  libhsail-rt/target-config.h.in
  99c2e5e712b990ee07be10f53e41f3fb  libiberty/.gitignore
  a916467b91076e631dd8edb7424769c7  libiberty/COPYING.LIB
! f74aff136a07858656c2e01aa776e6de  libiberty/ChangeLog
  347c31392973de6a4872d540c1718dc1  libiberty/ChangeLog.jit
  1072110de0e01a526aafb095b6560e58  libiberty/Makefile.in
  c68dbf7834af4281ebd84caa3fd54680  libiberty/README
--- 78103,78109 ----
  ef9f05873915c22cae79ef5545355353  libhsail-rt/target-config.h.in
  99c2e5e712b990ee07be10f53e41f3fb  libiberty/.gitignore
  a916467b91076e631dd8edb7424769c7  libiberty/COPYING.LIB
! 63e850422086a3363bc4034887869b65  libiberty/ChangeLog
  347c31392973de6a4872d540c1718dc1  libiberty/ChangeLog.jit
  1072110de0e01a526aafb095b6560e58  libiberty/Makefile.in
  c68dbf7834af4281ebd84caa3fd54680  libiberty/README
*************** a8d96fbdcfa1956fe46b2025bca12029  libibe
*** 78000,78006 ****
  284bb7a096480b355b75c337086220a2  libiberty/sigsetmask.c
  f91b8d5d7816eef3e17ef2622beab65e  libiberty/simple-object-coff.c
  66c8d9ea7185b46fa442f1232a52a9d0  libiberty/simple-object-common.h
! 8404bf627c1d5d3ea470f091c24debc9  libiberty/simple-object-elf.c
  da5f132ac5b6c17d4a80b113fa724a27  libiberty/simple-object-mach-o.c
  3648de68e0eb13c0a308c30c79366a4d  libiberty/simple-object-xcoff.c
  60d3bb6bb031170ed67c77dcb90c9430  libiberty/simple-object.c
--- 78208,78214 ----
  284bb7a096480b355b75c337086220a2  libiberty/sigsetmask.c
  f91b8d5d7816eef3e17ef2622beab65e  libiberty/simple-object-coff.c
  66c8d9ea7185b46fa442f1232a52a9d0  libiberty/simple-object-common.h
! fc366c8ddcc7e6303415b8830cedc337  libiberty/simple-object-elf.c
  da5f132ac5b6c17d4a80b113fa724a27  libiberty/simple-object-mach-o.c
  3648de68e0eb13c0a308c30c79366a4d  libiberty/simple-object-xcoff.c
  60d3bb6bb031170ed67c77dcb90c9430  libiberty/simple-object.c
*************** b2c289eb14e9197dcad172f3acba12b7  libibe
*** 78059,78065 ****
  6f774a92661ca4a067f1691a7925524b  libiberty/xstrerror.c
  b401cc074ea4e0b9d4099f3f76045da0  libiberty/xstrndup.c
  9dc48fda00a709b3019aa09eedd3cb6c  libiberty/xvasprintf.c
! ce586b23cf0b0e9810d189227ceb3088  libitm/ChangeLog
  5976dc97f843f5680c4fa615f8c3b1b7  libitm/Makefile.am
  e52686e01bf9c75ace85d9d5d66a8f26  libitm/Makefile.in
  c93a1d287ee8fdbc9c0533b3ca5cffb1  libitm/aatree.cc
--- 78267,78273 ----
  6f774a92661ca4a067f1691a7925524b  libiberty/xstrerror.c
  b401cc074ea4e0b9d4099f3f76045da0  libiberty/xstrndup.c
  9dc48fda00a709b3019aa09eedd3cb6c  libiberty/xvasprintf.c
! 8463f874955acea44dbe95644cb1844a  libitm/ChangeLog
  5976dc97f843f5680c4fa615f8c3b1b7  libitm/Makefile.am
  e52686e01bf9c75ace85d9d5d66a8f26  libitm/Makefile.in
  c93a1d287ee8fdbc9c0533b3ca5cffb1  libitm/aatree.cc
*************** d806946f2845368f69a6513f60b085d2  libitm
*** 78141,78146 ****
--- 78349,78355 ----
  91cf9385a1c485d36423dd97fa7f8ee8  libitm/testsuite/libitm.c++/eh-3.C
  256c6fe0360dd29b0e0f860df34fd80f  libitm/testsuite/libitm.c++/eh-4.C
  78880866c8226c142c56854532c6bf03  libitm/testsuite/libitm.c++/eh-5.C
+ 4b3393a4ac1f5114158bc59fb8ab7f8d  libitm/testsuite/libitm.c++/libstdc++-pr91488.C
  ff5f9bdfec617e402860345005b63f97  libitm/testsuite/libitm.c++/libstdc++-safeexc.C
  122b07c4b16d0260ff244aa4b2d8f115  libitm/testsuite/libitm.c++/newdelete.C
  2742ff75bdd09e5d7b7a8243faf7a139  libitm/testsuite/libitm.c++/static_ctor.C
*************** b4e503ecfdccc9f13da8f73eeb6f23a9  libitm
*** 78162,78168 ****
  ef24198422c19f99b0c41be6a16f7081  libitm/testsuite/libitm.c/txrelease.c
  122a1ebf1162054c022a63be5e3b054a  libitm/useraction.cc
  513489f9cf00f7f1db7cdd8d19e45c7c  libitm/util.cc
! ce29b335afd3a6f2b16b62d60c3b3ce6  libobjc/ChangeLog
  49cbb3d12e03687aa775d9d5152c4f35  libobjc/Makefile.in
  c31835938c8e167ea525cd5fdaf375d9  libobjc/NXConstStr.m
  6b956f327bd823041a4227f02091dee7  libobjc/Object.m
--- 78371,78377 ----
  ef24198422c19f99b0c41be6a16f7081  libitm/testsuite/libitm.c/txrelease.c
  122a1ebf1162054c022a63be5e3b054a  libitm/useraction.cc
  513489f9cf00f7f1db7cdd8d19e45c7c  libitm/util.cc
! 10d1f7299699f3a447c33de0d3fc0680  libobjc/ChangeLog
  49cbb3d12e03687aa775d9d5152c4f35  libobjc/Makefile.in
  c31835938c8e167ea525cd5fdaf375d9  libobjc/NXConstStr.m
  6b956f327bd823041a4227f02091dee7  libobjc/Object.m
*************** ed1131608f0e1f8a6ee6813ddf861c77  libobj
*** 78219,78225 ****
  d21209d281b7fac0c980e2e00fe20da6  libobjc/selector.c
  7392129772c6d373ef507e60dd855223  libobjc/sendmsg.c
  43acbcc5fb5a8b498cc7ff08057d35b1  libobjc/thr.c
! 9170f231645a2848aa3643984c89a110  liboffloadmic/ChangeLog
  99e2b0817f42c602b520261f7dee183b  liboffloadmic/Makefile.am
  3d4335846c6486ad0e619e33a95c2b1f  liboffloadmic/Makefile.in
  7b741af741f39418ab3c1f0be89505e1  liboffloadmic/aclocal.m4
--- 78428,78434 ----
  d21209d281b7fac0c980e2e00fe20da6  libobjc/selector.c
  7392129772c6d373ef507e60dd855223  libobjc/sendmsg.c
  43acbcc5fb5a8b498cc7ff08057d35b1  libobjc/thr.c
! 2103462a815b12c0a4178cca6a7ab891  liboffloadmic/ChangeLog
  99e2b0817f42c602b520261f7dee183b  liboffloadmic/Makefile.am
  3d4335846c6486ad0e619e33a95c2b1f  liboffloadmic/Makefile.in
  7b741af741f39418ab3c1f0be89505e1  liboffloadmic/aclocal.m4
*************** b1def68202639bd452fb59aea3371fe4  liboff
*** 78307,78313 ****
  4659326a13bd5fed47bb680ddb6f5dc3  liboffloadmic/runtime/orsl-lite/include/orsl-lite.h
  cc603cdf253cc686bfcee192bb7630df  liboffloadmic/runtime/orsl-lite/lib/orsl-lite.c
  dff5c8575c49d6aa71e549b0fa021479  liboffloadmic/runtime/orsl-lite/version.txt
! 70ee04635ab21edf45090a70d2ebe5c0  libphobos/ChangeLog
  da627c4c662405d686ccd633f59112a0  libphobos/Makefile.am
  11ff255ada45e83558a846f1cebff64b  libphobos/Makefile.in
  ee88c20a7744a2305503e1670f3b7889  libphobos/README.gcc
--- 78516,78522 ----
  4659326a13bd5fed47bb680ddb6f5dc3  liboffloadmic/runtime/orsl-lite/include/orsl-lite.h
  cc603cdf253cc686bfcee192bb7630df  liboffloadmic/runtime/orsl-lite/lib/orsl-lite.c
  dff5c8575c49d6aa71e549b0fa021479  liboffloadmic/runtime/orsl-lite/version.txt
! b5402c7771d81b1a0756001e51eae9bf  libphobos/ChangeLog
  da627c4c662405d686ccd633f59112a0  libphobos/Makefile.am
  11ff255ada45e83558a846f1cebff64b  libphobos/Makefile.in
  ee88c20a7744a2305503e1670f3b7889  libphobos/README.gcc
*************** dc0394cd71fd33a552e02ecc2f48d6ed  libpho
*** 78507,78513 ****
  7d269e57453fbf5c66759925811cb477  libphobos/libdruntime/core/sys/posix/sys/select.d
  0eb315fdc39e6005ed1f38c55c3ba9f8  libphobos/libdruntime/core/sys/posix/sys/shm.d
  4abd60a004af72e746c03a9074278677  libphobos/libdruntime/core/sys/posix/sys/socket.d
! a433c9df93fbd800bcf4b80d6f159eb4  libphobos/libdruntime/core/sys/posix/sys/stat.d
  12706ead22096708efa77378c527d30a  libphobos/libdruntime/core/sys/posix/sys/statvfs.d
  5adbb2d7e9b4b87012fe41121164595b  libphobos/libdruntime/core/sys/posix/sys/time.d
  a36a73795b115b160b5bd8bff102ea3c  libphobos/libdruntime/core/sys/posix/sys/ttycom.d
--- 78716,78722 ----
  7d269e57453fbf5c66759925811cb477  libphobos/libdruntime/core/sys/posix/sys/select.d
  0eb315fdc39e6005ed1f38c55c3ba9f8  libphobos/libdruntime/core/sys/posix/sys/shm.d
  4abd60a004af72e746c03a9074278677  libphobos/libdruntime/core/sys/posix/sys/socket.d
! 1426cd4ea5d28d71317a2754442271cb  libphobos/libdruntime/core/sys/posix/sys/stat.d
  12706ead22096708efa77378c527d30a  libphobos/libdruntime/core/sys/posix/sys/statvfs.d
  5adbb2d7e9b4b87012fe41121164595b  libphobos/libdruntime/core/sys/posix/sys/time.d
  a36a73795b115b160b5bd8bff102ea3c  libphobos/libdruntime/core/sys/posix/sys/ttycom.d
*************** d6b7c67683234af6a273a3d4932e52c0  libpho
*** 78703,78709 ****
  94e213795f0244ed44436cc14a492878  libphobos/libdruntime/core/sys/windows/winver.d
  8cfe1bcb2d08a1c1050784203bc4acf8  libphobos/libdruntime/core/sys/windows/wtsapi32.d
  bb4907e2b3535906de488fabe923e5b2  libphobos/libdruntime/core/sys/windows/wtypes.d
! 419c04818f2b41fe57ea64a68998a7f3  libphobos/libdruntime/core/thread.d
  c55aca27432852889791824009fb269d  libphobos/libdruntime/core/time.d
  9f7991cc24708bb5b0c59949d94645ea  libphobos/libdruntime/core/vararg.d
  6f76ee818b90e0f22edc13f0fb8a42d4  libphobos/libdruntime/gc/bits.d
--- 78912,78918 ----
  94e213795f0244ed44436cc14a492878  libphobos/libdruntime/core/sys/windows/winver.d
  8cfe1bcb2d08a1c1050784203bc4acf8  libphobos/libdruntime/core/sys/windows/wtsapi32.d
  bb4907e2b3535906de488fabe923e5b2  libphobos/libdruntime/core/sys/windows/wtypes.d
! 6c40cfe53ae29a1dc7492a871b1c99d6  libphobos/libdruntime/core/thread.d
  c55aca27432852889791824009fb269d  libphobos/libdruntime/core/time.d
  9f7991cc24708bb5b0c59949d94645ea  libphobos/libdruntime/core/vararg.d
  6f76ee818b90e0f22edc13f0fb8a42d4  libphobos/libdruntime/gc/bits.d
*************** b6d8db3d06c156a88503bf35e669f456  libpho
*** 78720,78726 ****
  38a06341bed07600bedf077c503a53fb  libphobos/libdruntime/gcc/config.d.in
  e1dda69167cdffa33841131b15dc3659  libphobos/libdruntime/gcc/deh.d
  2bade7701cbdaab62db91929f18cebdf  libphobos/libdruntime/gcc/drtstuff.c
! 60edacad1c7a88c1614b34ff42ae7053  libphobos/libdruntime/gcc/emutls.d
  689abd8bdfc21ee80f16f89652292895  libphobos/libdruntime/gcc/gthread.d
  9af4bf5c2c8b52a13274794e31938ea4  libphobos/libdruntime/gcc/libbacktrace.d.in
  00bb7394398caf6c11900ad4df88a5f7  libphobos/libdruntime/gcc/sections/android.d
--- 78929,78935 ----
  38a06341bed07600bedf077c503a53fb  libphobos/libdruntime/gcc/config.d.in
  e1dda69167cdffa33841131b15dc3659  libphobos/libdruntime/gcc/deh.d
  2bade7701cbdaab62db91929f18cebdf  libphobos/libdruntime/gcc/drtstuff.c
! 4dfee356b2160fb60c092cfd5e3c18ca  libphobos/libdruntime/gcc/emutls.d
  689abd8bdfc21ee80f16f89652292895  libphobos/libdruntime/gcc/gthread.d
  9af4bf5c2c8b52a13274794e31938ea4  libphobos/libdruntime/gcc/libbacktrace.d.in
  00bb7394398caf6c11900ad4df88a5f7  libphobos/libdruntime/gcc/sections/android.d
*************** ac192bc4bea499b126ac4df819204ac1  libpho
*** 78732,78738 ****
  a43e1f363e737d4159b45fc35d3e2523  libphobos/libdruntime/gcc/unwind/arm.d
  7962199514160cd7c734daced7318682  libphobos/libdruntime/gcc/unwind/arm_common.d
  e41ee95496da259d5405f7b95b491833  libphobos/libdruntime/gcc/unwind/c6x.d
! 777da1b56d6c97b59dbc363e74478d5e  libphobos/libdruntime/gcc/unwind/generic.d
  4dad21737494a07f44e4f481e5f656ca  libphobos/libdruntime/gcc/unwind/package.d
  97576026ba93472ef4483523cc8a02f6  libphobos/libdruntime/gcc/unwind/pe.d
  476c4cf790f53ec8cbe307f40f14dbed  libphobos/libdruntime/gcstub/gc.d
--- 78941,78947 ----
  a43e1f363e737d4159b45fc35d3e2523  libphobos/libdruntime/gcc/unwind/arm.d
  7962199514160cd7c734daced7318682  libphobos/libdruntime/gcc/unwind/arm_common.d
  e41ee95496da259d5405f7b95b491833  libphobos/libdruntime/gcc/unwind/c6x.d
! 1bcebb7164ec1c496893a889ba345a3c  libphobos/libdruntime/gcc/unwind/generic.d
  4dad21737494a07f44e4f481e5f656ca  libphobos/libdruntime/gcc/unwind/package.d
  97576026ba93472ef4483523cc8a02f6  libphobos/libdruntime/gcc/unwind/pe.d
  476c4cf790f53ec8cbe307f40f14dbed  libphobos/libdruntime/gcstub/gc.d
*************** be293a36c3d9678d428d5ff9b4f5c5fa  libpho
*** 79018,79024 ****
  76010271744c121fab0096a61bb8f014  libphobos/testsuite/libphobos.typeinfo/typeinfo.exp
  668bf1021ddcdd98e1a3977a43a339ff  libphobos/testsuite/testsuite_flags.in
  a916467b91076e631dd8edb7424769c7  libquadmath/COPYING.LIB
! 9184b98b1a5619c4403108db5debec35  libquadmath/ChangeLog
  4696eddf264dd090e144b4849b0a6d91  libquadmath/Makefile.am
  9fadb501b88c2f0e9444ac7d2a1d61f9  libquadmath/Makefile.in
  d9afbc1f1e04c7e461265ff9323cc6f4  libquadmath/acinclude.m4
--- 79227,79233 ----
  76010271744c121fab0096a61bb8f014  libphobos/testsuite/libphobos.typeinfo/typeinfo.exp
  668bf1021ddcdd98e1a3977a43a339ff  libphobos/testsuite/testsuite_flags.in
  a916467b91076e631dd8edb7424769c7  libquadmath/COPYING.LIB
! db11fb5d0e665c01d6653ecbc51438f4  libquadmath/ChangeLog
  4696eddf264dd090e144b4849b0a6d91  libquadmath/Makefile.am
  9fadb501b88c2f0e9444ac7d2a1d61f9  libquadmath/Makefile.in
  d9afbc1f1e04c7e461265ff9323cc6f4  libquadmath/acinclude.m4
*************** a81cc82679e80c86cfbd5575867450d0  libqua
*** 79158,79164 ****
  af84fa5118f4adec8393614994e1c4d6  libquadmath/strtod/strtoflt128.c
  d15a18f7c46ba2add6148edc5b7563c0  libquadmath/strtod/tens_in_limb.c
  12c73a846f7668d29de720bd79502bef  libquadmath/update-quadmath.py
! 709c8e4fcc2ab22d3f0454a71e3495a9  libsanitizer/ChangeLog
  0e35a2dc2727acc707a3f5ead45c8e12  libsanitizer/HOWTO_MERGE
  0249c37748936faf5b1efd5789587909  libsanitizer/LICENSE.TXT
  02afc6c39fa03cf9664b477a97d59d38  libsanitizer/LOCAL_PATCHES
--- 79367,79373 ----
  af84fa5118f4adec8393614994e1c4d6  libquadmath/strtod/strtoflt128.c
  d15a18f7c46ba2add6148edc5b7563c0  libquadmath/strtod/tens_in_limb.c
  12c73a846f7668d29de720bd79502bef  libquadmath/update-quadmath.py
! a86db4c3ebfb5bbeb8332b6e78ca372d  libsanitizer/ChangeLog
  0e35a2dc2727acc707a3f5ead45c8e12  libsanitizer/HOWTO_MERGE
  0249c37748936faf5b1efd5789587909  libsanitizer/LICENSE.TXT
  02afc6c39fa03cf9664b477a97d59d38  libsanitizer/LOCAL_PATCHES
*************** a2db438d49e9555d94a2a31d7a32441e  libsan
*** 79199,79205 ****
  8fe597490fc97fc25fa9db929f6ca90a  libsanitizer/asan/asan_linux.cc
  d41d8cd98f00b204e9800998ecf8427e  libsanitizer/asan/asan_lock.h
  e821fe3cc0505ad08f5fbd6d649e4509  libsanitizer/asan/asan_mac.cc
! d96abb21a74f66abf499572c5905a35f  libsanitizer/asan/asan_malloc_linux.cc
  6902113def880fb87cc2c0c423c653a7  libsanitizer/asan/asan_malloc_local.h
  db0bbb76bf00c0823936491ea488bd8b  libsanitizer/asan/asan_malloc_mac.cc
  e55a84b4e174da521020230e3a0b57ff  libsanitizer/asan/asan_malloc_win.cc
--- 79408,79414 ----
  8fe597490fc97fc25fa9db929f6ca90a  libsanitizer/asan/asan_linux.cc
  d41d8cd98f00b204e9800998ecf8427e  libsanitizer/asan/asan_lock.h
  e821fe3cc0505ad08f5fbd6d649e4509  libsanitizer/asan/asan_mac.cc
! 65560c787da59e9719dadf2397ff6e61  libsanitizer/asan/asan_malloc_linux.cc
  6902113def880fb87cc2c0c423c653a7  libsanitizer/asan/asan_malloc_local.h
  db0bbb76bf00c0823936491ea488bd8b  libsanitizer/asan/asan_malloc_mac.cc
  e55a84b4e174da521020230e3a0b57ff  libsanitizer/asan/asan_malloc_win.cc
*************** f6100de95ef8c6e0d3776a18a9fde48f  libsan
*** 79375,79381 ****
  c39dc4f2bf2ddebf51af37247fb482db  libsanitizer/sanitizer_common/sanitizer_libignore.h
  d3a98d954682ac9c588eb44d1e274181  libsanitizer/sanitizer_common/sanitizer_linux.cc
  37d8f1d70d2b411b5b690d2d59a466d8  libsanitizer/sanitizer_common/sanitizer_linux.h
! b1ffa055068d6819ac91b8e17270caae  libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc
  3fb07abcc04415d320ed341ebe5bc9c4  libsanitizer/sanitizer_common/sanitizer_linux_mips64.S
  67c0af5a092f80aa497749ca6e96937f  libsanitizer/sanitizer_common/sanitizer_linux_s390.cc
  e38f20e9cf2abebb89f5f68d142cc80b  libsanitizer/sanitizer_common/sanitizer_linux_x86_64.S
--- 79584,79590 ----
  c39dc4f2bf2ddebf51af37247fb482db  libsanitizer/sanitizer_common/sanitizer_libignore.h
  d3a98d954682ac9c588eb44d1e274181  libsanitizer/sanitizer_common/sanitizer_linux.cc
  37d8f1d70d2b411b5b690d2d59a466d8  libsanitizer/sanitizer_common/sanitizer_linux.h
! 313ba04d36974a446ec47f49a22aa250  libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc
  3fb07abcc04415d320ed341ebe5bc9c4  libsanitizer/sanitizer_common/sanitizer_linux_mips64.S
  67c0af5a092f80aa497749ca6e96937f  libsanitizer/sanitizer_common/sanitizer_linux_s390.cc
  e38f20e9cf2abebb89f5f68d142cc80b  libsanitizer/sanitizer_common/sanitizer_linux_x86_64.S
*************** c350f0704d04dc3b949f3256f4ff936a  libsan
*** 79403,79409 ****
  56b61ae5f649179a135e7b4ded147336  libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.h
  1ab1c2512cb34fa7cadc6bf2261e9b1a  libsanitizer/sanitizer_common/sanitizer_posix.cc
  5911b4a3048ad8aafcdff370892db0be  libsanitizer/sanitizer_common/sanitizer_posix.h
! ef3d88f06dfdbd451f689d68f300d544  libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
  5db5281816f2dc232b2790a3822fe5e4  libsanitizer/sanitizer_common/sanitizer_printf.cc
  e5423441970e3bc651af8558c684aec4  libsanitizer/sanitizer_common/sanitizer_procmaps.h
  4e82e7682428d56afb217406e48d827e  libsanitizer/sanitizer_common/sanitizer_procmaps_bsd.cc
--- 79612,79618 ----
  56b61ae5f649179a135e7b4ded147336  libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.h
  1ab1c2512cb34fa7cadc6bf2261e9b1a  libsanitizer/sanitizer_common/sanitizer_posix.cc
  5911b4a3048ad8aafcdff370892db0be  libsanitizer/sanitizer_common/sanitizer_posix.h
! 8ff82230555442e8c91b9709ebbc6645  libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
  5db5281816f2dc232b2790a3822fe5e4  libsanitizer/sanitizer_common/sanitizer_printf.cc
  e5423441970e3bc651af8558c684aec4  libsanitizer/sanitizer_common/sanitizer_procmaps.h
  4e82e7682428d56afb217406e48d827e  libsanitizer/sanitizer_common/sanitizer_procmaps_bsd.cc
*************** b490fcba1d9e0b70baffc8ce1a5c2085  libsan
*** 79568,79574 ****
  46e3b6415e85a8bbfc9c5ea5256eba29  libsanitizer/ubsan/ubsan_win_dll_thunk.cc
  a42bfadb27dcd986b87e4c05b987ec4f  libsanitizer/ubsan/ubsan_win_dynamic_runtime_thunk.cc
  84a8f5fe84b5ea37705699c82d3ceefc  libsanitizer/ubsan/ubsan_win_weak_interception.cc
! f66767d614b2e5136698dbcf12bc9a58  libssp/ChangeLog
  984b6fe21c33a4aa11a33239eba81164  libssp/Makefile.am
  6159efc67a81fc0df755333b60ca43e1  libssp/Makefile.in
  8539c68b9af7b02740719b1723cf0b52  libssp/aclocal.m4
--- 79777,79783 ----
  46e3b6415e85a8bbfc9c5ea5256eba29  libsanitizer/ubsan/ubsan_win_dll_thunk.cc
  a42bfadb27dcd986b87e4c05b987ec4f  libsanitizer/ubsan/ubsan_win_dynamic_runtime_thunk.cc
  84a8f5fe84b5ea37705699c82d3ceefc  libsanitizer/ubsan/ubsan_win_weak_interception.cc
! 64aedabd245e8be973292779c418c723  libssp/ChangeLog
  984b6fe21c33a4aa11a33239eba81164  libssp/Makefile.am
  6159efc67a81fc0df755333b60ca43e1  libssp/Makefile.in
  8539c68b9af7b02740719b1723cf0b52  libssp/aclocal.m4
*************** baba3a648adc99223302c44e85deca7d  libssp
*** 79597,79603 ****
  443b5ef0da3859ef66145b58138d0bc6  libssp/strncpy-chk.c
  236980868c84657cf7f5af6a9b7e2e89  libssp/vsnprintf-chk.c
  1a8676d98fbe8ac8bff6649570de529b  libssp/vsprintf-chk.c
! 6fbe16802901372d80faab771a87851e  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 79806,79812 ----
  443b5ef0da3859ef66145b58138d0bc6  libssp/strncpy-chk.c
  236980868c84657cf7f5af6a9b7e2e89  libssp/vsnprintf-chk.c
  1a8676d98fbe8ac8bff6649570de529b  libssp/vsprintf-chk.c
! 32ee997edaf4e0cab1d1b4c2610f9b7c  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** ced62eb7e4ae82690abb361aefcea876  libstd
*** 79622,79630 ****
  dfed1d768aff6bd27d88698c3f79aed4  libstdc++-v3/Makefile.am
  cd9b45698c7eca2af0e1532a92a2b2b8  libstdc++-v3/Makefile.in
  f372af73db4ac0ad88e43199e1f29e08  libstdc++-v3/README
! fd2417b87336dc02c9a679a6026513be  libstdc++-v3/acinclude.m4
  20a060d0ef805a427a0557409e785c64  libstdc++-v3/aclocal.m4
! 442b35c24ce843f7659c27efeef15681  libstdc++-v3/config.h.in
  6fda632cdcc18185f5e0591ce3f9f326  libstdc++-v3/config/abi/compatibility.h
  662289c954191e4d980cf2642cad40fe  libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt
  5020f43324169200833b3209328aab28  libstdc++-v3/config/abi/post/alpha-linux-gnu/baseline_symbols.txt
--- 79831,79839 ----
  dfed1d768aff6bd27d88698c3f79aed4  libstdc++-v3/Makefile.am
  cd9b45698c7eca2af0e1532a92a2b2b8  libstdc++-v3/Makefile.in
  f372af73db4ac0ad88e43199e1f29e08  libstdc++-v3/README
! 1d8938c4571517d78860ffaf73a98e3e  libstdc++-v3/acinclude.m4
  20a060d0ef805a427a0557409e785c64  libstdc++-v3/aclocal.m4
! 25833fb550eda85ff41cf03427a35505  libstdc++-v3/config.h.in
  6fda632cdcc18185f5e0591ce3f9f326  libstdc++-v3/config/abi/compatibility.h
  662289c954191e4d980cf2642cad40fe  libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt
  5020f43324169200833b3209328aab28  libstdc++-v3/config/abi/post/alpha-linux-gnu/baseline_symbols.txt
*************** d1a75da7beac55330e8663a4e6aabc74  libstd
*** 79766,79777 ****
  47a479ea9c99dde27e7e7ebf68d37dfc  libstdc++-v3/config/os/djgpp/ctype_base.h
  3782b5c063eba248eda7d49e3408514e  libstdc++-v3/config/os/djgpp/ctype_configure_char.cc
  40a2dc2adf85453e76da7318fafa25c5  libstdc++-v3/config/os/djgpp/ctype_inline.h
! a0a970be5d50c1ef65eee577f9f9c8e7  libstdc++-v3/config/os/djgpp/error_constants.h
  3c71b740e78443b9bfef69d5b1aa021e  libstdc++-v3/config/os/djgpp/os_defines.h
  67c2c2a93d1ffd200595ab2be95c1a70  libstdc++-v3/config/os/generic/ctype_base.h
  e8eaaa64d4c021b21aa5628e8296b821  libstdc++-v3/config/os/generic/ctype_configure_char.cc
  db177f0d26f6d26d4394189d3bed25cc  libstdc++-v3/config/os/generic/ctype_inline.h
! 12c346ec66b6af59f130eb3da0e830f4  libstdc++-v3/config/os/generic/error_constants.h
  3c188a9c0b7c64f1f94342b5c117025f  libstdc++-v3/config/os/generic/os_defines.h
  5b9a724ca8744a0e193a82f2ea8e9f5b  libstdc++-v3/config/os/gnu-linux/arm-eabi-extra.ver
  733769d86ffde48d77d5ee086e53cbd1  libstdc++-v3/config/os/gnu-linux/ctype_base.h
--- 79975,79986 ----
  47a479ea9c99dde27e7e7ebf68d37dfc  libstdc++-v3/config/os/djgpp/ctype_base.h
  3782b5c063eba248eda7d49e3408514e  libstdc++-v3/config/os/djgpp/ctype_configure_char.cc
  40a2dc2adf85453e76da7318fafa25c5  libstdc++-v3/config/os/djgpp/ctype_inline.h
! 20f9a8cc8cd1f8028b435800b322fc13  libstdc++-v3/config/os/djgpp/error_constants.h
  3c71b740e78443b9bfef69d5b1aa021e  libstdc++-v3/config/os/djgpp/os_defines.h
  67c2c2a93d1ffd200595ab2be95c1a70  libstdc++-v3/config/os/generic/ctype_base.h
  e8eaaa64d4c021b21aa5628e8296b821  libstdc++-v3/config/os/generic/ctype_configure_char.cc
  db177f0d26f6d26d4394189d3bed25cc  libstdc++-v3/config/os/generic/ctype_inline.h
! 2c00a8c3f8619a0d322a4d3caf1d83f3  libstdc++-v3/config/os/generic/error_constants.h
  3c188a9c0b7c64f1f94342b5c117025f  libstdc++-v3/config/os/generic/os_defines.h
  5b9a724ca8744a0e193a82f2ea8e9f5b  libstdc++-v3/config/os/gnu-linux/arm-eabi-extra.ver
  733769d86ffde48d77d5ee086e53cbd1  libstdc++-v3/config/os/gnu-linux/ctype_base.h
*************** fe666dcb7d3f59d5bee84928182b84e4  libstd
*** 79786,79797 ****
  6a66bbab594456bd0fc80f90efa2ee2a  libstdc++-v3/config/os/mingw32-w64/ctype_base.h
  cf43bb53f9e7ff85784cbef43079b30f  libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc
  5ef35c10f74bbed0cc15b5a6cf3e6d6f  libstdc++-v3/config/os/mingw32-w64/ctype_inline.h
! 77f4f2342c993de963cb75e96f77a77e  libstdc++-v3/config/os/mingw32-w64/error_constants.h
  a29f47807fb6d04c31c23cf5ce83fcfa  libstdc++-v3/config/os/mingw32-w64/os_defines.h
  6a66bbab594456bd0fc80f90efa2ee2a  libstdc++-v3/config/os/mingw32/ctype_base.h
  cf43bb53f9e7ff85784cbef43079b30f  libstdc++-v3/config/os/mingw32/ctype_configure_char.cc
  5ef35c10f74bbed0cc15b5a6cf3e6d6f  libstdc++-v3/config/os/mingw32/ctype_inline.h
! 23af6642d115b7b2f241bb352317a6b9  libstdc++-v3/config/os/mingw32/error_constants.h
  2430ac8edf88ee172dae2571f220a0d8  libstdc++-v3/config/os/mingw32/os_defines.h
  ee5534aebc9aa902c83315c0131c1aa9  libstdc++-v3/config/os/newlib/ctype_base.h
  22f62b4dc1022140a90b409cd46c0061  libstdc++-v3/config/os/newlib/ctype_configure_char.cc
--- 79995,80006 ----
  6a66bbab594456bd0fc80f90efa2ee2a  libstdc++-v3/config/os/mingw32-w64/ctype_base.h
  cf43bb53f9e7ff85784cbef43079b30f  libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc
  5ef35c10f74bbed0cc15b5a6cf3e6d6f  libstdc++-v3/config/os/mingw32-w64/ctype_inline.h
! 1852aefd8462bcc631fa1059fe9b1ccb  libstdc++-v3/config/os/mingw32-w64/error_constants.h
  a29f47807fb6d04c31c23cf5ce83fcfa  libstdc++-v3/config/os/mingw32-w64/os_defines.h
  6a66bbab594456bd0fc80f90efa2ee2a  libstdc++-v3/config/os/mingw32/ctype_base.h
  cf43bb53f9e7ff85784cbef43079b30f  libstdc++-v3/config/os/mingw32/ctype_configure_char.cc
  5ef35c10f74bbed0cc15b5a6cf3e6d6f  libstdc++-v3/config/os/mingw32/ctype_inline.h
! 5efcc533abd32a0dff340c570f7f1eb5  libstdc++-v3/config/os/mingw32/error_constants.h
  2430ac8edf88ee172dae2571f220a0d8  libstdc++-v3/config/os/mingw32/os_defines.h
  ee5534aebc9aa902c83315c0131c1aa9  libstdc++-v3/config/os/newlib/ctype_base.h
  22f62b4dc1022140a90b409cd46c0061  libstdc++-v3/config/os/newlib/ctype_configure_char.cc
*************** fe666dcb7d3f59d5bee84928182b84e4  libstd
*** 79817,79824 ****
  6274544df634836bfd83ce5df142154f  libstdc++-v3/config/os/vxworks/ctype_configure_char.cc
  e8c064c36ffe6f7cf6de50f5997428f9  libstdc++-v3/config/os/vxworks/ctype_inline.h
  7b4a49f873dffd61d3109d92fa8290d6  libstdc++-v3/config/os/vxworks/os_defines.h
! 8fddfc414ec30a4e24ebb46808af3ded  libstdc++-v3/configure
! 486afd5bb9dc107aaab77fcb5b6ba258  libstdc++-v3/configure.ac
  dee74944513a38ef040d42eefb8abca2  libstdc++-v3/configure.host
  144730fdfd14a84d91e900b5789970b8  libstdc++-v3/crossconfig.m4
  d7432ea5050081d847d55350ac1b011f  libstdc++-v3/doc/Makefile.am
--- 80026,80033 ----
  6274544df634836bfd83ce5df142154f  libstdc++-v3/config/os/vxworks/ctype_configure_char.cc
  e8c064c36ffe6f7cf6de50f5997428f9  libstdc++-v3/config/os/vxworks/ctype_inline.h
  7b4a49f873dffd61d3109d92fa8290d6  libstdc++-v3/config/os/vxworks/os_defines.h
! 84c14e9e8bb62cbc5619bc84dac2ce88  libstdc++-v3/configure
! 48a1b4aaab58a8c317e3e705294eaf33  libstdc++-v3/configure.ac
  dee74944513a38ef040d42eefb8abca2  libstdc++-v3/configure.host
  144730fdfd14a84d91e900b5789970b8  libstdc++-v3/crossconfig.m4
  d7432ea5050081d847d55350ac1b011f  libstdc++-v3/doc/Makefile.am
*************** ee599e042e0ab46c3d78dd8675b8ba7f  libstd
*** 79833,79839 ****
  edf4fe529876f5d89b6d9b73fe2569dc  libstdc++-v3/doc/html/api.html
  fd168dc2b2d0c12b1e17b40ffec96390  libstdc++-v3/doc/html/bk02.html
  47886ba7da131bf3cbf81a27cada5f6f  libstdc++-v3/doc/html/bk03.html
! 2211b9b47cd9f2d47d55db52774152c9  libstdc++-v3/doc/html/faq.html
  1ae70f0bf94464b036515d333fff8ab2  libstdc++-v3/doc/html/images/confdeps.png
  d7f63b43e9f4c39cf71de7585de522ee  libstdc++-v3/doc/html/images/pbds_balls_and_bins.png
  22eedc841676a98f8ae8b95131ac4d7e  libstdc++-v3/doc/html/images/pbds_binary_priority_queue_int_push.png
--- 80042,80048 ----
  edf4fe529876f5d89b6d9b73fe2569dc  libstdc++-v3/doc/html/api.html
  fd168dc2b2d0c12b1e17b40ffec96390  libstdc++-v3/doc/html/bk02.html
  47886ba7da131bf3cbf81a27cada5f6f  libstdc++-v3/doc/html/bk03.html
! f8da0f34d5632ef2fa41bc24b870c7ca  libstdc++-v3/doc/html/faq.html
  1ae70f0bf94464b036515d333fff8ab2  libstdc++-v3/doc/html/images/confdeps.png
  d7f63b43e9f4c39cf71de7585de522ee  libstdc++-v3/doc/html/images/pbds_balls_and_bins.png
  22eedc841676a98f8ae8b95131ac4d7e  libstdc++-v3/doc/html/images/pbds_binary_priority_queue_int_push.png
*************** d55e182adbf08772ec85b18d390b0dbb  libstd
*** 79999,80005 ****
  c6a5a01eabbcb2618555e19414393ba3  libstdc++-v3/doc/html/manual/source_code_style.html
  f875f3f4cddfe4fee6aff2308ccb4563  libstdc++-v3/doc/html/manual/source_design_notes.html
  f87298c8974ee33f2519348430b786ae  libstdc++-v3/doc/html/manual/source_organization.html
! 70344e328f582f7ca07ccf4b92ab0a85  libstdc++-v3/doc/html/manual/status.html
  9e6cce6bed38f62648e12eb77363d1fc  libstdc++-v3/doc/html/manual/std_contents.html
  dbb5f81a9e8864374fbb835eaa4e8b0d  libstdc++-v3/doc/html/manual/streambufs.html
  47e6a6ef4752e7c7e3ecb2a4948a7514  libstdc++-v3/doc/html/manual/strings.html
--- 80208,80214 ----
  c6a5a01eabbcb2618555e19414393ba3  libstdc++-v3/doc/html/manual/source_code_style.html
  f875f3f4cddfe4fee6aff2308ccb4563  libstdc++-v3/doc/html/manual/source_design_notes.html
  f87298c8974ee33f2519348430b786ae  libstdc++-v3/doc/html/manual/source_organization.html
! 5e0d7e5fe318015a8dcca1fd860d62c3  libstdc++-v3/doc/html/manual/status.html
  9e6cce6bed38f62648e12eb77363d1fc  libstdc++-v3/doc/html/manual/std_contents.html
  dbb5f81a9e8864374fbb835eaa4e8b0d  libstdc++-v3/doc/html/manual/streambufs.html
  47e6a6ef4752e7c7e3ecb2a4948a7514  libstdc++-v3/doc/html/manual/strings.html
*************** d881fcffb799c09a28d8174ccb1326a2  libstd
*** 80023,80029 ****
  f5a41d4f7585b850b3182fc5f4888f93  libstdc++-v3/doc/xml/book.txml
  95d1335e76860d53246f3e400231ec38  libstdc++-v3/doc/xml/chapter.txml
  7f8c520dc83013026c671c5c342f73e2  libstdc++-v3/doc/xml/class.txml
! 1b1212091727965bb7968b8ad8a1c502  libstdc++-v3/doc/xml/faq.xml
  f7459abb0d4a0265176aaada5a73bd08  libstdc++-v3/doc/xml/gnu/fdl-1.3.xml
  ce8b7bb016788256ca00fdec28d82bc3  libstdc++-v3/doc/xml/gnu/gpl-3.0.xml
  18a6390297702ec8fd75cbcc525d2005  libstdc++-v3/doc/xml/images/confdeps.dot
--- 80232,80238 ----
  f5a41d4f7585b850b3182fc5f4888f93  libstdc++-v3/doc/xml/book.txml
  95d1335e76860d53246f3e400231ec38  libstdc++-v3/doc/xml/chapter.txml
  7f8c520dc83013026c671c5c342f73e2  libstdc++-v3/doc/xml/class.txml
! 7d8d34a0a2914fc2d055aefb1f805e97  libstdc++-v3/doc/xml/faq.xml
  f7459abb0d4a0265176aaada5a73bd08  libstdc++-v3/doc/xml/gnu/fdl-1.3.xml
  ce8b7bb016788256ca00fdec28d82bc3  libstdc++-v3/doc/xml/gnu/gpl-3.0.xml
  18a6390297702ec8fd75cbcc525d2005  libstdc++-v3/doc/xml/images/confdeps.dot
*************** f0323e43ff8fc1ca28dcdfae61b6cb19  libstd
*** 80227,80233 ****
  ad13daa09172cf901cd8d01d9e35c681  libstdc++-v3/doc/xml/manual/evolution.xml
  0b02d119b1665c496d206d7b14a57999  libstdc++-v3/doc/xml/manual/extensions.xml
  26083dec441281888a23365de5567180  libstdc++-v3/doc/xml/manual/internals.xml
! d14b671ec1678c739cfd0319422687c8  libstdc++-v3/doc/xml/manual/intro.xml
  82d01f11ebf848dc64a611a829ef5a38  libstdc++-v3/doc/xml/manual/io.xml
  bab548248426e0e90cdc1436ff5b87de  libstdc++-v3/doc/xml/manual/iterators.xml
  5d3e282d89ac0af0f7752f88466a9d39  libstdc++-v3/doc/xml/manual/locale.xml
--- 80436,80442 ----
  ad13daa09172cf901cd8d01d9e35c681  libstdc++-v3/doc/xml/manual/evolution.xml
  0b02d119b1665c496d206d7b14a57999  libstdc++-v3/doc/xml/manual/extensions.xml
  26083dec441281888a23365de5567180  libstdc++-v3/doc/xml/manual/internals.xml
! cf37abb12e16b42ac7b8b891544d2ed5  libstdc++-v3/doc/xml/manual/intro.xml
  82d01f11ebf848dc64a611a829ef5a38  libstdc++-v3/doc/xml/manual/io.xml
  bab548248426e0e90cdc1436ff5b87de  libstdc++-v3/doc/xml/manual/iterators.xml
  5d3e282d89ac0af0f7752f88466a9d39  libstdc++-v3/doc/xml/manual/locale.xml
*************** ea08f7b494a562d881f2355e6f194279  libstd
*** 80246,80252 ****
  a330e1ae5d5e08b8bc1e49b7386edd01  libstdc++-v3/doc/xml/manual/status_cxx2011.xml
  0b6c2139af4ccf118f07336a27d5c8cb  libstdc++-v3/doc/xml/manual/status_cxx2014.xml
  f3a3f72ba0107617385283fc64240e33  libstdc++-v3/doc/xml/manual/status_cxx2017.xml
! 0b60b55bd6d639724fa2890a5f80bc11  libstdc++-v3/doc/xml/manual/status_cxx2020.xml
  3c72998c4574690fac280c058a0db757  libstdc++-v3/doc/xml/manual/status_cxxis29124.xml
  82eea38e37d35e26d98b1325caeacd38  libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
  8fea8786b026a0236a93c7f39e17f59f  libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml
--- 80455,80461 ----
  a330e1ae5d5e08b8bc1e49b7386edd01  libstdc++-v3/doc/xml/manual/status_cxx2011.xml
  0b6c2139af4ccf118f07336a27d5c8cb  libstdc++-v3/doc/xml/manual/status_cxx2014.xml
  f3a3f72ba0107617385283fc64240e33  libstdc++-v3/doc/xml/manual/status_cxx2017.xml
! 6d5b94700c2e27225f8df464671c3cf8  libstdc++-v3/doc/xml/manual/status_cxx2020.xml
  3c72998c4574690fac280c058a0db757  libstdc++-v3/doc/xml/manual/status_cxxis29124.xml
  82eea38e37d35e26d98b1325caeacd38  libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
  8fea8786b026a0236a93c7f39e17f59f  libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml
*************** f50322bcc9ac2c9b71d382f81fdbd69f  libstd
*** 80260,80267 ****
  80254a9e37f2856af5a7fecba198327a  libstdc++-v3/doc/xml/spine.xml
  bd966b4a0df6f2a84f9770525581d45c  libstdc++-v3/doc/xsl/customization.xsl.in
  7bb72420e699e194cf6066457cb6d6a5  libstdc++-v3/fragment.am
! 815e48be84f74d1e7c79391153ab2c8c  libstdc++-v3/include/Makefile.am
! d0e9c025fc578ccfcd73a1108810df97  libstdc++-v3/include/Makefile.in
  1c80f026c3f03d8b12b95557de618ef4  libstdc++-v3/include/backward/auto_ptr.h
  cf3b81a8b4b4437c3efd0eb851fe7193  libstdc++-v3/include/backward/backward_warning.h
  122edd98cffad4f51f2e32a63720f80b  libstdc++-v3/include/backward/binders.h
--- 80469,80476 ----
  80254a9e37f2856af5a7fecba198327a  libstdc++-v3/doc/xml/spine.xml
  bd966b4a0df6f2a84f9770525581d45c  libstdc++-v3/doc/xsl/customization.xsl.in
  7bb72420e699e194cf6066457cb6d6a5  libstdc++-v3/fragment.am
! a451d1e0a942fb950ddd07f02bdad924  libstdc++-v3/include/Makefile.am
! 979b2beb5cd68e9147b5501b2071b3e9  libstdc++-v3/include/Makefile.in
  1c80f026c3f03d8b12b95557de618ef4  libstdc++-v3/include/backward/auto_ptr.h
  cf3b81a8b4b4437c3efd0eb851fe7193  libstdc++-v3/include/backward/backward_warning.h
  122edd98cffad4f51f2e32a63720f80b  libstdc++-v3/include/backward/binders.h
*************** a1a3eaa57175d3853264c0bb0865c4a9  libstd
*** 80278,80289 ****
  f4180f8b47a66eecd3b213488fdb21e9  libstdc++-v3/include/bits/atomic_futex.h
  b097749baee28c1610d8b0652a75f09d  libstdc++-v3/include/bits/basic_ios.h
  67306549e91c5d1eb8e5e46546618132  libstdc++-v3/include/bits/basic_ios.tcc
! b869747bee1a15573002b164f5564f1e  libstdc++-v3/include/bits/basic_string.h
  14fe4fc16d8bc283a28bff18d6f2d2a2  libstdc++-v3/include/bits/basic_string.tcc
  10a9e1a948a50cf2ef7946a010769093  libstdc++-v3/include/bits/boost_concept_check.h
  90935a186da6f614cdb1d98856fad3bb  libstdc++-v3/include/bits/c++0x_warning.h
  811480ae641279fdd5fb329f8eb2356a  libstdc++-v3/include/bits/c++config
! f4c1d2d2bd09aa5c1d0f3ea536f04822  libstdc++-v3/include/bits/char_traits.h
  bc6ad2ba404ac0a6426342fced42c078  libstdc++-v3/include/bits/codecvt.h
  de4b21ba4f0fae0ad1585cddefd68de6  libstdc++-v3/include/bits/concept_check.h
  095a9ae02d1fa0a0c336a38b94b44d04  libstdc++-v3/include/bits/cpp_type_traits.h
--- 80487,80498 ----
  f4180f8b47a66eecd3b213488fdb21e9  libstdc++-v3/include/bits/atomic_futex.h
  b097749baee28c1610d8b0652a75f09d  libstdc++-v3/include/bits/basic_ios.h
  67306549e91c5d1eb8e5e46546618132  libstdc++-v3/include/bits/basic_ios.tcc
! 34a92429a6ac27564d02b274dee01f55  libstdc++-v3/include/bits/basic_string.h
  14fe4fc16d8bc283a28bff18d6f2d2a2  libstdc++-v3/include/bits/basic_string.tcc
  10a9e1a948a50cf2ef7946a010769093  libstdc++-v3/include/bits/boost_concept_check.h
  90935a186da6f614cdb1d98856fad3bb  libstdc++-v3/include/bits/c++0x_warning.h
  811480ae641279fdd5fb329f8eb2356a  libstdc++-v3/include/bits/c++config
! ebb96bf4082d0f8e393f4710df811a8a  libstdc++-v3/include/bits/char_traits.h
  bc6ad2ba404ac0a6426342fced42c078  libstdc++-v3/include/bits/codecvt.h
  de4b21ba4f0fae0ad1585cddefd68de6  libstdc++-v3/include/bits/concept_check.h
  095a9ae02d1fa0a0c336a38b94b44d04  libstdc++-v3/include/bits/cpp_type_traits.h
*************** de4b21ba4f0fae0ad1585cddefd68de6  libstd
*** 80291,80301 ****
  01d23d09b2275b4f805de0fe348dd415  libstdc++-v3/include/bits/enable_special_members.h
  b4076dbea7349a396ad8b22897a8305d  libstdc++-v3/include/bits/erase_if.h
  1fb44f2d9aad5b7efcb2dad5e772d261  libstdc++-v3/include/bits/forward_list.h
! 8b2b8ba5d49a54ea97e2a6370adc7e9c  libstdc++-v3/include/bits/forward_list.tcc
  85f9bedbf48673eff78551a3b54dad18  libstdc++-v3/include/bits/fs_dir.h
  fb9af0e943ed131fda01e524ca36347a  libstdc++-v3/include/bits/fs_fwd.h
  122259a3335d5b578e0edb7d48ffb331  libstdc++-v3/include/bits/fs_ops.h
! 6e65f24a0ed2b6ffa24ad2d3ed6c24d0  libstdc++-v3/include/bits/fs_path.h
  f9b126b6fc8ff7f0617895e5010daa1f  libstdc++-v3/include/bits/fstream.tcc
  d4d40e971f1c1bca9a12118ad7910a1b  libstdc++-v3/include/bits/functexcept.h
  3b88d29e6be2f4ba289944644c958447  libstdc++-v3/include/bits/functional_hash.h
--- 80500,80510 ----
  01d23d09b2275b4f805de0fe348dd415  libstdc++-v3/include/bits/enable_special_members.h
  b4076dbea7349a396ad8b22897a8305d  libstdc++-v3/include/bits/erase_if.h
  1fb44f2d9aad5b7efcb2dad5e772d261  libstdc++-v3/include/bits/forward_list.h
! 8f0d69f9c59505559ca850a6be42976b  libstdc++-v3/include/bits/forward_list.tcc
  85f9bedbf48673eff78551a3b54dad18  libstdc++-v3/include/bits/fs_dir.h
  fb9af0e943ed131fda01e524ca36347a  libstdc++-v3/include/bits/fs_fwd.h
  122259a3335d5b578e0edb7d48ffb331  libstdc++-v3/include/bits/fs_ops.h
! dfb0162ad52fcd953351a06bca5d38f7  libstdc++-v3/include/bits/fs_path.h
  f9b126b6fc8ff7f0617895e5010daa1f  libstdc++-v3/include/bits/fstream.tcc
  d4d40e971f1c1bca9a12118ad7910a1b  libstdc++-v3/include/bits/functexcept.h
  3b88d29e6be2f4ba289944644c958447  libstdc++-v3/include/bits/functional_hash.h
*************** d7beba2aea9aaa0de3e1c6a601090ca7  libstd
*** 80328,80337 ****
  16d3234c6ded7ba5f8aae0dff57d906f  libstdc++-v3/include/bits/ptr_traits.h
  2ce8c36ed537421a9a01b30a9b086fac  libstdc++-v3/include/bits/quoted_string.h
  b8af15d5116549408d8b74e7f92399a6  libstdc++-v3/include/bits/random.h
! 0c96833b2f0250cfdd1cd8b32c01801f  libstdc++-v3/include/bits/random.tcc
  891ca543cb67b925c5fe39430966617c  libstdc++-v3/include/bits/range_access.h
  9213d2973f90d20bff6071e6002664a8  libstdc++-v3/include/bits/refwrap.h
! b8e834fcfee4e5d6eab42029f7da13f8  libstdc++-v3/include/bits/regex.h
  0f32168338c6be51f76b4ba8c06fa690  libstdc++-v3/include/bits/regex.tcc
  566e67c28f48e1519f27a890948ae019  libstdc++-v3/include/bits/regex_automaton.h
  2c6998f451f9596c22aceefb2956f3d7  libstdc++-v3/include/bits/regex_automaton.tcc
--- 80537,80546 ----
  16d3234c6ded7ba5f8aae0dff57d906f  libstdc++-v3/include/bits/ptr_traits.h
  2ce8c36ed537421a9a01b30a9b086fac  libstdc++-v3/include/bits/quoted_string.h
  b8af15d5116549408d8b74e7f92399a6  libstdc++-v3/include/bits/random.h
! 67f2bcaf4945600dd0d0d082c856a4b9  libstdc++-v3/include/bits/random.tcc
  891ca543cb67b925c5fe39430966617c  libstdc++-v3/include/bits/range_access.h
  9213d2973f90d20bff6071e6002664a8  libstdc++-v3/include/bits/refwrap.h
! 526f4b22a342969f27e1b65d575d1b1b  libstdc++-v3/include/bits/regex.h
  0f32168338c6be51f76b4ba8c06fa690  libstdc++-v3/include/bits/regex.tcc
  566e67c28f48e1519f27a890948ae019  libstdc++-v3/include/bits/regex_automaton.h
  2c6998f451f9596c22aceefb2956f3d7  libstdc++-v3/include/bits/regex_automaton.tcc
*************** df2b580df7bdb9e7c372dacc782d26ea  libstd
*** 80343,80351 ****
  a69c40dadcc9012e85653cfd6daa3e1a  libstdc++-v3/include/bits/regex_executor.tcc
  106b2beed25f9f7de5513b85e8414e22  libstdc++-v3/include/bits/regex_scanner.h
  11558a9d22581be12829089667c819a7  libstdc++-v3/include/bits/regex_scanner.tcc
! 92b45a2424e8847693c1dbe88b62bbd2  libstdc++-v3/include/bits/shared_ptr.h
  e797c034b2be1bbf70c451832be0b7e5  libstdc++-v3/include/bits/shared_ptr_atomic.h
! 1733263deedfa36d980cec211a9e526a  libstdc++-v3/include/bits/shared_ptr_base.h
  7e04dffbaa1849ac26551b5be90d2a28  libstdc++-v3/include/bits/slice_array.h
  79cfdf1b183ee0053d143e6b0fcfce98  libstdc++-v3/include/bits/specfun.h
  55e377a7aaba11972e70bedb32e3b70a  libstdc++-v3/include/bits/sstream.tcc
--- 80552,80560 ----
  a69c40dadcc9012e85653cfd6daa3e1a  libstdc++-v3/include/bits/regex_executor.tcc
  106b2beed25f9f7de5513b85e8414e22  libstdc++-v3/include/bits/regex_scanner.h
  11558a9d22581be12829089667c819a7  libstdc++-v3/include/bits/regex_scanner.tcc
! 903525086c410ae19cc46939b84758e7  libstdc++-v3/include/bits/shared_ptr.h
  e797c034b2be1bbf70c451832be0b7e5  libstdc++-v3/include/bits/shared_ptr_atomic.h
! 909007f0de38941c2bf83d60d8569758  libstdc++-v3/include/bits/shared_ptr_base.h
  7e04dffbaa1849ac26551b5be90d2a28  libstdc++-v3/include/bits/slice_array.h
  79cfdf1b183ee0053d143e6b0fcfce98  libstdc++-v3/include/bits/specfun.h
  55e377a7aaba11972e70bedb32e3b70a  libstdc++-v3/include/bits/sstream.tcc
*************** ab43d2ff56fec8f1245a18a655556ae8  libstd
*** 80392,80398 ****
  ddccce49ac6ef0e25056ea07e9f93525  libstdc++-v3/include/bits/valarray_array.h
  5cfd6fa77680d99946d8ffa6b59b8033  libstdc++-v3/include/bits/valarray_array.tcc
  b6fe1165604419e3485a422acf138549  libstdc++-v3/include/bits/valarray_before.h
! c88aa8b75a6d4cb78aac10a6f36c9417  libstdc++-v3/include/bits/vector.tcc
  ce4d14cdbdf1ba5a146a0517f34e514f  libstdc++-v3/include/c/cassert
  7ebf37b7f9f280e96ba1f3228e576762  libstdc++-v3/include/c/cctype
  d1cbf733a09f4477c09605de837fa70b  libstdc++-v3/include/c/cerrno
--- 80601,80607 ----
  ddccce49ac6ef0e25056ea07e9f93525  libstdc++-v3/include/bits/valarray_array.h
  5cfd6fa77680d99946d8ffa6b59b8033  libstdc++-v3/include/bits/valarray_array.tcc
  b6fe1165604419e3485a422acf138549  libstdc++-v3/include/bits/valarray_before.h
! f2406ad1f1ee3fc12a9213cb04610fe1  libstdc++-v3/include/bits/vector.tcc
  ce4d14cdbdf1ba5a146a0517f34e514f  libstdc++-v3/include/c/cassert
  7ebf37b7f9f280e96ba1f3228e576762  libstdc++-v3/include/c/cctype
  d1cbf733a09f4477c09605de837fa70b  libstdc++-v3/include/c/cerrno
*************** c8977ed6f0a9c5343ac42f9b337617ba  libstd
*** 80447,80453 ****
  54babf2e41c1d594884f9383d1604ce1  libstdc++-v3/include/c_global/ciso646
  87ddee333f9d74117bf0a71a3e19b494  libstdc++-v3/include/c_global/climits
  4d99161546323135c4843b1179538c41  libstdc++-v3/include/c_global/clocale
! f4b7216422c35b5109134da0340565c8  libstdc++-v3/include/c_global/cmath
  f6e80a0bc54600e0272b25ab567458ba  libstdc++-v3/include/c_global/csetjmp
  f94d95e7db6577d2676c49613e47fa1d  libstdc++-v3/include/c_global/csignal
  27b1d266ef05bb83134bc0b8d59bca3f  libstdc++-v3/include/c_global/cstdalign
--- 80656,80662 ----
  54babf2e41c1d594884f9383d1604ce1  libstdc++-v3/include/c_global/ciso646
  87ddee333f9d74117bf0a71a3e19b494  libstdc++-v3/include/c_global/climits
  4d99161546323135c4843b1179538c41  libstdc++-v3/include/c_global/clocale
! 4f3a0a5a54e7a33a47798851acf1b26d  libstdc++-v3/include/c_global/cmath
  f6e80a0bc54600e0272b25ab567458ba  libstdc++-v3/include/c_global/csetjmp
  f94d95e7db6577d2676c49613e47fa1d  libstdc++-v3/include/c_global/csignal
  27b1d266ef05bb83134bc0b8d59bca3f  libstdc++-v3/include/c_global/cstdalign
*************** c949907600ea94ac445a06a810e5e361  libstd
*** 80521,80529 ****
  e1ead40b7c1c0dcf4d6e2e7715a0db58  libstdc++-v3/include/experimental/any
  96551a7698e877072ba4b2270b0b5ba3  libstdc++-v3/include/experimental/array
  e70b5cc34cfb3914b2b0f8b18868c254  libstdc++-v3/include/experimental/bits/fs_dir.h
! 25afe4ab6ef6feffa505720bbe476ef9  libstdc++-v3/include/experimental/bits/fs_fwd.h
! c5b78130f755d3cea6dabdea67f662d0  libstdc++-v3/include/experimental/bits/fs_ops.h
! 92a05edfd05e332a5b0f314944386ed6  libstdc++-v3/include/experimental/bits/fs_path.h
  741a34ab6f3a02b35e48a55f8c1d750b  libstdc++-v3/include/experimental/bits/lfts_config.h
  f1db6717979c01f49f23ffb4f58ddf2a  libstdc++-v3/include/experimental/bits/net.h
  db9101623bdadae06950f396c224a4f6  libstdc++-v3/include/experimental/bits/shared_ptr.h
--- 80730,80738 ----
  e1ead40b7c1c0dcf4d6e2e7715a0db58  libstdc++-v3/include/experimental/any
  96551a7698e877072ba4b2270b0b5ba3  libstdc++-v3/include/experimental/array
  e70b5cc34cfb3914b2b0f8b18868c254  libstdc++-v3/include/experimental/bits/fs_dir.h
! 0e56c3a7c2eaabf223ad573fe64f7698  libstdc++-v3/include/experimental/bits/fs_fwd.h
! 1d92040d489b95a6a780c61c1890db3f  libstdc++-v3/include/experimental/bits/fs_ops.h
! fa4c0f40fcdd440bd39723dcfb6c0021  libstdc++-v3/include/experimental/bits/fs_path.h
  741a34ab6f3a02b35e48a55f8c1d750b  libstdc++-v3/include/experimental/bits/lfts_config.h
  f1db6717979c01f49f23ffb4f58ddf2a  libstdc++-v3/include/experimental/bits/net.h
  db9101623bdadae06950f396c224a4f6  libstdc++-v3/include/experimental/bits/shared_ptr.h
*************** f214593d48f391baa76e0449417a0ed8  libstd
*** 80568,80574 ****
  95d02d266eab194ceee893f192e9bbd4  libstdc++-v3/include/ext/alloc_traits.h
  5619ec700a46cac7c8e5bc79e06f5256  libstdc++-v3/include/ext/array_allocator.h
  55698fbe20c5516f6f719ce3cf0072fc  libstdc++-v3/include/ext/atomicity.h
! d74d1d4bf6800db1bf635a7e27e1cf4a  libstdc++-v3/include/ext/bitmap_allocator.h
  41921c0e3b1ce383f4d16be187bf5f0e  libstdc++-v3/include/ext/cast.h
  b05c87947c6a1d9cad863db662cd58b5  libstdc++-v3/include/ext/cmath
  fde4473d3f58a5035115b1c02c6c332a  libstdc++-v3/include/ext/codecvt_specializations.h
--- 80777,80783 ----
  95d02d266eab194ceee893f192e9bbd4  libstdc++-v3/include/ext/alloc_traits.h
  5619ec700a46cac7c8e5bc79e06f5256  libstdc++-v3/include/ext/array_allocator.h
  55698fbe20c5516f6f719ce3cf0072fc  libstdc++-v3/include/ext/atomicity.h
! ba416451dd17d7913c9c3a8da1cae55e  libstdc++-v3/include/ext/bitmap_allocator.h
  41921c0e3b1ce383f4d16be187bf5f0e  libstdc++-v3/include/ext/cast.h
  b05c87947c6a1d9cad863db662cd58b5  libstdc++-v3/include/ext/cmath
  fde4473d3f58a5035115b1c02c6c332a  libstdc++-v3/include/ext/codecvt_specializations.h
*************** b3b18b3eb06913f91e5fa165b7e050c4  libstd
*** 80834,80840 ****
  2629c3a07b184dcbea5f5e1c5b00e628  libstdc++-v3/include/ext/random.tcc
  611a2351face37be89f940c91ea8435b  libstdc++-v3/include/ext/rb_tree
  25ed3c95c8c0a1873426691d5f79a7d0  libstdc++-v3/include/ext/rc_string_base.h
! 26b83e844a850a3d29f5fb24777f6949  libstdc++-v3/include/ext/rope
  02a7367cc039948a520d5b1682434b9b  libstdc++-v3/include/ext/ropeimpl.h
  d17714435e93f99450ef74beb5a19bc3  libstdc++-v3/include/ext/slist
  2a21a2b3adde24bb920327d8e20f2134  libstdc++-v3/include/ext/sso_string_base.h
--- 81043,81049 ----
  2629c3a07b184dcbea5f5e1c5b00e628  libstdc++-v3/include/ext/random.tcc
  611a2351face37be89f940c91ea8435b  libstdc++-v3/include/ext/rb_tree
  25ed3c95c8c0a1873426691d5f79a7d0  libstdc++-v3/include/ext/rc_string_base.h
! 0a650023ca8f835e5cf1e58ca25953aa  libstdc++-v3/include/ext/rope
  02a7367cc039948a520d5b1682434b9b  libstdc++-v3/include/ext/ropeimpl.h
  d17714435e93f99450ef74beb5a19bc3  libstdc++-v3/include/ext/slist
  2a21a2b3adde24bb920327d8e20f2134  libstdc++-v3/include/ext/sso_string_base.h
*************** d17714435e93f99450ef74beb5a19bc3  libstd
*** 80842,80848 ****
  32b1a3b78ee51e003f9b7e9307438f4d  libstdc++-v3/include/ext/stdio_sync_filebuf.h
  c0a874eb184b06ab6d09c09d7171848d  libstdc++-v3/include/ext/string_conversions.h
  d9a14dce55c9998e0fcbf03bae8ca03d  libstdc++-v3/include/ext/throw_allocator.h
! 5d1b165ce5b9f5faab1d265a86be68fa  libstdc++-v3/include/ext/type_traits.h
  d9a2d766a9365643b093dcdaa821ae54  libstdc++-v3/include/ext/typelist.h
  5364fd97a68cd78b273950f91e2d149a  libstdc++-v3/include/ext/vstring.h
  f3d9d8587994c4f40ad2a33dbd65da35  libstdc++-v3/include/ext/vstring.tcc
--- 81051,81057 ----
  32b1a3b78ee51e003f9b7e9307438f4d  libstdc++-v3/include/ext/stdio_sync_filebuf.h
  c0a874eb184b06ab6d09c09d7171848d  libstdc++-v3/include/ext/string_conversions.h
  d9a14dce55c9998e0fcbf03bae8ca03d  libstdc++-v3/include/ext/throw_allocator.h
! afc5878c60a2c46bcf96099ffc866433  libstdc++-v3/include/ext/type_traits.h
  d9a2d766a9365643b093dcdaa821ae54  libstdc++-v3/include/ext/typelist.h
  5364fd97a68cd78b273950f91e2d149a  libstdc++-v3/include/ext/vstring.h
  f3d9d8587994c4f40ad2a33dbd65da35  libstdc++-v3/include/ext/vstring.tcc
*************** e82fbfc9e96c43ba5afca7b9a56b2b54  libstd
*** 80949,80955 ****
  503abd4e9cf8d72bdacde6ea05362556  libstdc++-v3/include/pstl/unseq_backend_simd.h
  6252c95ec128123051be8b56ec370f2e  libstdc++-v3/include/pstl/utils.h
  69fdd8ef7fd3095846bce082313641b4  libstdc++-v3/include/std/algorithm
! cc19b3b1836fcd67af8109d4f051a681  libstdc++-v3/include/std/any
  9c95de8ed8f9fb8b520d4b044cc8cc95  libstdc++-v3/include/std/array
  0e26e5d8cd1a307040aedcf34cf37faa  libstdc++-v3/include/std/atomic
  f127a103f44adaa65e35194cd6b618b8  libstdc++-v3/include/std/bit
--- 81158,81164 ----
  503abd4e9cf8d72bdacde6ea05362556  libstdc++-v3/include/pstl/unseq_backend_simd.h
  6252c95ec128123051be8b56ec370f2e  libstdc++-v3/include/pstl/utils.h
  69fdd8ef7fd3095846bce082313641b4  libstdc++-v3/include/std/algorithm
! 1062d9e2ef42156f2a3688a370cab410  libstdc++-v3/include/std/any
  9c95de8ed8f9fb8b520d4b044cc8cc95  libstdc++-v3/include/std/array
  0e26e5d8cd1a307040aedcf34cf37faa  libstdc++-v3/include/std/atomic
  f127a103f44adaa65e35194cd6b618b8  libstdc++-v3/include/std/bit
*************** b0a390471b8008abda2ef17a4670c389  libstd
*** 80979,80986 ****
  5b27535802e337e721c264ef19db368a  libstdc++-v3/include/std/memory
  c71f016571d4fe4365a8dda83cdebda4  libstdc++-v3/include/std/memory_resource
  439d935b7b235818964a0c2374d29223  libstdc++-v3/include/std/mutex
! 9c421c105d272c16683f26c0ddd207bd  libstdc++-v3/include/std/numeric
! f2c2315846427ddce9a56b94863068c5  libstdc++-v3/include/std/optional
  e72fd3d41e39c6f765882519723af8ff  libstdc++-v3/include/std/ostream
  39fcb44dab41f9aa0bef997a251c4e29  libstdc++-v3/include/std/queue
  7179e8e7f9462f6e06ebeb7f3db836fd  libstdc++-v3/include/std/random
--- 81188,81195 ----
  5b27535802e337e721c264ef19db368a  libstdc++-v3/include/std/memory
  c71f016571d4fe4365a8dda83cdebda4  libstdc++-v3/include/std/memory_resource
  439d935b7b235818964a0c2374d29223  libstdc++-v3/include/std/mutex
! 0427d1f056d5ed30417c01e9f29ae815  libstdc++-v3/include/std/numeric
! c3e17ce067c867075bc3277bde88f6c0  libstdc++-v3/include/std/optional
  e72fd3d41e39c6f765882519723af8ff  libstdc++-v3/include/std/ostream
  39fcb44dab41f9aa0bef997a251c4e29  libstdc++-v3/include/std/queue
  7179e8e7f9462f6e06ebeb7f3db836fd  libstdc++-v3/include/std/random
*************** e88155ade2ad94f65eec7e574273b83d  libstd
*** 81003,81010 ****
  6619c56f7566124bd6fece25a47e7a15  libstdc++-v3/include/std/unordered_map
  978751cff467ba2c2f5c762a9254abaa  libstdc++-v3/include/std/unordered_set
  394b1cb0cafd891797ad990095eb4df0  libstdc++-v3/include/std/utility
! a3e0c3d8c7aca6e879c154c6a956eb28  libstdc++-v3/include/std/valarray
! 8ea119dc90e94cd306afac00143014c3  libstdc++-v3/include/std/variant
  0568dd5e1aff64416ec4590d99ca0d70  libstdc++-v3/include/std/vector
  ac8b3fd623e7e2579e5ba03e088db132  libstdc++-v3/include/std/version
  8356854073cfb6742cd411edadb59a90  libstdc++-v3/include/tr1/array
--- 81212,81219 ----
  6619c56f7566124bd6fece25a47e7a15  libstdc++-v3/include/std/unordered_map
  978751cff467ba2c2f5c762a9254abaa  libstdc++-v3/include/std/unordered_set
  394b1cb0cafd891797ad990095eb4df0  libstdc++-v3/include/std/utility
! ea276e4a88df82b0b3b7ee6363e7ec69  libstdc++-v3/include/std/valarray
! 3739e2ed5062685e4f56fb8399660f15  libstdc++-v3/include/std/variant
  0568dd5e1aff64416ec4590d99ca0d70  libstdc++-v3/include/std/vector
  ac8b3fd623e7e2579e5ba03e088db132  libstdc++-v3/include/std/version
  8356854073cfb6742cd411edadb59a90  libstdc++-v3/include/tr1/array
*************** af5f7fe59221263c7a4474d3a54bcf86  libstd
*** 81075,81082 ****
  677e0aa0c56338f039b62ab64caba644  libstdc++-v3/include/tr2/dynamic_bitset.tcc
  901a73bc94b0e3a6bebe72a24788814f  libstdc++-v3/include/tr2/ratio
  d4508ff93e006ae962b6d53fc1c6f551  libstdc++-v3/include/tr2/type_traits
! e3f65be86f108bbcebb50013dfce68f0  libstdc++-v3/libsupc++/Makefile.am
! 1e68d026f4eada89bf4c94ba0198ec82  libstdc++-v3/libsupc++/Makefile.in
  ac7b6f4f997ff342c886a74b70bebf6b  libstdc++-v3/libsupc++/array_type_info.cc
  ab2791d9601f34e073bcd21a655a1aba  libstdc++-v3/libsupc++/atexit_arm.cc
  504cc2813b9b2a8b513a4a5058b44924  libstdc++-v3/libsupc++/atexit_thread.cc
--- 81284,81291 ----
  677e0aa0c56338f039b62ab64caba644  libstdc++-v3/include/tr2/dynamic_bitset.tcc
  901a73bc94b0e3a6bebe72a24788814f  libstdc++-v3/include/tr2/ratio
  d4508ff93e006ae962b6d53fc1c6f551  libstdc++-v3/include/tr2/type_traits
! 761b893d3126ed93f19f811d15a017f7  libstdc++-v3/libsupc++/Makefile.am
! 02123a6359a30371b820df77e17c17d6  libstdc++-v3/libsupc++/Makefile.in
  ac7b6f4f997ff342c886a74b70bebf6b  libstdc++-v3/libsupc++/array_type_info.cc
  ab2791d9601f34e073bcd21a655a1aba  libstdc++-v3/libsupc++/atexit_arm.cc
  504cc2813b9b2a8b513a4a5058b44924  libstdc++-v3/libsupc++/atexit_thread.cc
*************** bcbb791c143f4fb84054b9046d3a88b4  libstd
*** 81124,81130 ****
  05310d07ba672388a73ee9791c521467  libstdc++-v3/libsupc++/exception
  bfba69ab125e212d61237524c87022d0  libstdc++-v3/libsupc++/exception.h
  52f8c189491e2323e33e80f72e3d94fe  libstdc++-v3/libsupc++/exception_defines.h
! ad32556413cf4ca6a852273de62d0a18  libstdc++-v3/libsupc++/exception_ptr.h
  d2367457a61b5db1690dec909e723970  libstdc++-v3/libsupc++/function_type_info.cc
  41d6987dcd90d16fa7a901bb84143254  libstdc++-v3/libsupc++/fundamental_type_info.cc
  20b0bd1bad9616ed0af96d2995b74fa1  libstdc++-v3/libsupc++/guard.cc
--- 81333,81339 ----
  05310d07ba672388a73ee9791c521467  libstdc++-v3/libsupc++/exception
  bfba69ab125e212d61237524c87022d0  libstdc++-v3/libsupc++/exception.h
  52f8c189491e2323e33e80f72e3d94fe  libstdc++-v3/libsupc++/exception_defines.h
! f408b89bb0a07abc82d6759424505059  libstdc++-v3/libsupc++/exception_ptr.h
  d2367457a61b5db1690dec909e723970  libstdc++-v3/libsupc++/function_type_info.cc
  41d6987dcd90d16fa7a901bb84143254  libstdc++-v3/libsupc++/fundamental_type_info.cc
  20b0bd1bad9616ed0af96d2995b74fa1  libstdc++-v3/libsupc++/guard.cc
*************** c1f0ee946b29e64a2a38b8dfe1094ca9  libstd
*** 81166,81177 ****
  8933d02616d7d164ba8dc984f63c23b5  libstdc++-v3/po/fr.po
  171e4fd822e6f207a80fdadb9d3864ec  libstdc++-v3/po/libstdc++.pot
  a295583f97671a8f02c8489bcb120c6c  libstdc++-v3/po/string_literals.cc
! c7c25b3d01a8983faa029f2770c85334  libstdc++-v3/python/Makefile.am
! 90cafd110caf008d3d634b0a8962e979  libstdc++-v3/python/Makefile.in
  c5aa239d148e0ec8118110bbf0dc9c50  libstdc++-v3/python/hook.in
  68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/python/libstdcxx/__init__.py
  c091eab0af8aaea90c5da6e2b3bbd282  libstdc++-v3/python/libstdcxx/v6/__init__.py
! 3edf9293cf75d4d23ec80eaaab333d70  libstdc++-v3/python/libstdcxx/v6/printers.py
  7f88188428746f393aecb88137f09de3  libstdc++-v3/python/libstdcxx/v6/xmethods.py
  cdac7363b91e7d57b85f7b560f62f033  libstdc++-v3/scripts/check_compile
  135cc633b60b1fe91bcc3ea62a5ff845  libstdc++-v3/scripts/check_performance
--- 81375,81386 ----
  8933d02616d7d164ba8dc984f63c23b5  libstdc++-v3/po/fr.po
  171e4fd822e6f207a80fdadb9d3864ec  libstdc++-v3/po/libstdc++.pot
  a295583f97671a8f02c8489bcb120c6c  libstdc++-v3/po/string_literals.cc
! 88b20925b02cd806a850428881bf001b  libstdc++-v3/python/Makefile.am
! 9dcb851ce36f6684fe10395a31a81e75  libstdc++-v3/python/Makefile.in
  c5aa239d148e0ec8118110bbf0dc9c50  libstdc++-v3/python/hook.in
  68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/python/libstdcxx/__init__.py
  c091eab0af8aaea90c5da6e2b3bbd282  libstdc++-v3/python/libstdcxx/v6/__init__.py
! 28425438768ec3f6f9e06bbcbefcbd57  libstdc++-v3/python/libstdcxx/v6/printers.py
  7f88188428746f393aecb88137f09de3  libstdc++-v3/python/libstdcxx/v6/xmethods.py
  cdac7363b91e7d57b85f7b560f62f033  libstdc++-v3/scripts/check_compile
  135cc633b60b1fe91bcc3ea62a5ff845  libstdc++-v3/scripts/check_performance
*************** ef6654816b7cec2ff88110c20573c13e  libstd
*** 81241,81247 ****
  ea38af6d097087c55225028a7b728a3b  libstdc++-v3/src/c++11/streambuf-inst.cc
  c3bcb28714f6b546876d596b206b2d29  libstdc++-v3/src/c++11/string-inst.cc
  866076bf1a61bf0954ea884473dc6656  libstdc++-v3/src/c++11/string-io-inst.cc
! a31825cedf92d5f6f047df27bbeed88d  libstdc++-v3/src/c++11/system_error.cc
  b6fede0700e4b27157694a81693dd846  libstdc++-v3/src/c++11/thread.cc
  520973925d3292b4b27064ae53c3a24e  libstdc++-v3/src/c++11/wlocale-inst.cc
  3ae3ed6d3e9d07c4a63783df76a312e8  libstdc++-v3/src/c++11/wstring-inst.cc
--- 81450,81456 ----
  ea38af6d097087c55225028a7b728a3b  libstdc++-v3/src/c++11/streambuf-inst.cc
  c3bcb28714f6b546876d596b206b2d29  libstdc++-v3/src/c++11/string-inst.cc
  866076bf1a61bf0954ea884473dc6656  libstdc++-v3/src/c++11/string-io-inst.cc
! e6943e5671d24c1a217ef8b9d2d526fb  libstdc++-v3/src/c++11/system_error.cc
  b6fede0700e4b27157694a81693dd846  libstdc++-v3/src/c++11/thread.cc
  520973925d3292b4b27064ae53c3a24e  libstdc++-v3/src/c++11/wlocale-inst.cc
  3ae3ed6d3e9d07c4a63783df76a312e8  libstdc++-v3/src/c++11/wstring-inst.cc
*************** cdb42d548fb68dcc8d8b2b19f4e3b838  libstd
*** 81254,81266 ****
  9dd26b0a968f9d1f3ad03241a9479a36  libstdc++-v3/src/c++17/cow-string-inst.cc
  21e22ff1ddec6a91c7b379d6f6398649  libstdc++-v3/src/c++17/default_resource.h
  58f39c20539af81f584afc701ee26db6  libstdc++-v3/src/c++17/fs_dir.cc
! 543b431ae24e391beb1f91c71e939d4f  libstdc++-v3/src/c++17/fs_ops.cc
  5b3f1c80a13b22be9b4158860b18ad7d  libstdc++-v3/src/c++17/fs_path.cc
  8ddbb742770fa3abd0d75b2124bcec0f  libstdc++-v3/src/c++17/memory_resource.cc
  1af5792e5d30c803b2b43f569aa2009b  libstdc++-v3/src/c++17/ostream-inst.cc
  03c3e39c0074fb9169a185b2a6545476  libstdc++-v3/src/c++17/string-inst.cc
! 8d282274e0b6d23e9542665403044445  libstdc++-v3/src/c++98/Makefile.am
! a2fd7de992c4399521b32730e2b35e41  libstdc++-v3/src/c++98/Makefile.in
  1d9f314d0aed319a9768431520e7a60a  libstdc++-v3/src/c++98/allocator-inst.cc
  9c8e8e64c2b736cdbe16d31eebf81a02  libstdc++-v3/src/c++98/bitmap_allocator.cc
  79bbe41aacab8eeed174625506d00ac2  libstdc++-v3/src/c++98/codecvt.cc
--- 81463,81475 ----
  9dd26b0a968f9d1f3ad03241a9479a36  libstdc++-v3/src/c++17/cow-string-inst.cc
  21e22ff1ddec6a91c7b379d6f6398649  libstdc++-v3/src/c++17/default_resource.h
  58f39c20539af81f584afc701ee26db6  libstdc++-v3/src/c++17/fs_dir.cc
! cf45f37f09a086bd1a66563720a5c446  libstdc++-v3/src/c++17/fs_ops.cc
  5b3f1c80a13b22be9b4158860b18ad7d  libstdc++-v3/src/c++17/fs_path.cc
  8ddbb742770fa3abd0d75b2124bcec0f  libstdc++-v3/src/c++17/memory_resource.cc
  1af5792e5d30c803b2b43f569aa2009b  libstdc++-v3/src/c++17/ostream-inst.cc
  03c3e39c0074fb9169a185b2a6545476  libstdc++-v3/src/c++17/string-inst.cc
! b6211094c20ef377ca80c8de951b1e90  libstdc++-v3/src/c++98/Makefile.am
! 0044dc600c3a67a9ebacb3a5e100556f  libstdc++-v3/src/c++98/Makefile.in
  1d9f314d0aed319a9768431520e7a60a  libstdc++-v3/src/c++98/allocator-inst.cc
  9c8e8e64c2b736cdbe16d31eebf81a02  libstdc++-v3/src/c++98/bitmap_allocator.cc
  79bbe41aacab8eeed174625506d00ac2  libstdc++-v3/src/c++98/codecvt.cc
*************** ac77507691a841d710049cb24b2ed527  libstd
*** 81309,81318 ****
  746350f60a41006a251d4c08b333abc1  libstdc++-v3/src/filesystem/dir-common.h
  5ed70a01f5260b961f0323c7dd71003c  libstdc++-v3/src/filesystem/dir.cc
  d046a255bbcecdcf50505c387b2fb11e  libstdc++-v3/src/filesystem/ops-common.h
! 2b9f0924a812195988734d03daab0139  libstdc++-v3/src/filesystem/ops.cc
  8061bbd7c2c95ce6c0a1e524ec6cf1f1  libstdc++-v3/src/filesystem/path.cc
  d49521ccf869845cbde641d81c74b920  libstdc++-v3/src/shared/hashtable-aux.cc
  e9b48a79435ee0015728938dfbe34881  libstdc++-v3/testsuite/17_intro/freestanding.cc
  2ba7636ae6c959d3f7fc9d610c6dc89a  libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc
  1f447794088e0327af4aeb5ea0b26c63  libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc
  55176858e819f268860911f464d6a0e7  libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
--- 81518,81528 ----
  746350f60a41006a251d4c08b333abc1  libstdc++-v3/src/filesystem/dir-common.h
  5ed70a01f5260b961f0323c7dd71003c  libstdc++-v3/src/filesystem/dir.cc
  d046a255bbcecdcf50505c387b2fb11e  libstdc++-v3/src/filesystem/ops-common.h
! f58a24d933ec5853f49b7824e632df43  libstdc++-v3/src/filesystem/ops.cc
  8061bbd7c2c95ce6c0a1e524ec6cf1f1  libstdc++-v3/src/filesystem/path.cc
  d49521ccf869845cbde641d81c74b920  libstdc++-v3/src/shared/hashtable-aux.cc
  e9b48a79435ee0015728938dfbe34881  libstdc++-v3/testsuite/17_intro/freestanding.cc
+ d5df5ddc3b7c5dba2e687798eaa28551  libstdc++-v3/testsuite/17_intro/headers/c++1998/103650.cc
  2ba7636ae6c959d3f7fc9d610c6dc89a  libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc
  1f447794088e0327af4aeb5ea0b26c63  libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc
  55176858e819f268860911f464d6a0e7  libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
*************** c2866a9d13f05843d9a92c25d5bde897  libstd
*** 81392,81402 ****
--- 81602,81614 ----
  e50bf325e8f8c0c19a68ceb14eb7bd70  libstdc++-v3/testsuite/18_support/destroying_delete.cc
  aaf944d9470af472381877fb0aa9a1b5  libstdc++-v3/testsuite/18_support/exception/38732.cc
  348e19e7ab28e75f23a2462bc0776e9e  libstdc++-v3/testsuite/18_support/exception/what.cc
+ 8a3e4fc86620d59634749ffecd317237  libstdc++-v3/testsuite/18_support/exception_ptr/103630.cc
  484ab5e6b32ddd822cbeb8d403d504cf  libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
  387be8c9d8419e790a70f0b069b335b7  libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
  9b5e6bad37d9bee6c4ab3311246bd519  libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
  1d3b668ab2f650d4bbdf6a8d34996790  libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
  446abb59e06fcc1cebb65d37038f652e  libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
+ 8907da30a344e71f1227eec1fae72f2b  libstdc++-v3/testsuite/18_support/exception_ptr/96657.cc
  08ad6ab9c1c5de54c13ed1e4dc64bf0f  libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
  d0f3b25b4e6f0141eec7761bdfaba47f  libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
  767608e41ed9e0098139ee6368467531  libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
*************** b850534b7ba183c266ec7b4a78ba7f97  libstd
*** 81496,81501 ****
--- 81708,81714 ----
  20ba87f3bcb60ea7b0cdd2edbc4e0516  libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc
  1d43baa931d41dec7c53bf5df2ef5c36  libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
  72def1e3d925b1921045ef0ef999b2aa  libstdc++-v3/testsuite/18_support/unexpected_handler.cc
+ e76078fa52225514dc89f9b1116c07ff  libstdc++-v3/testsuite/19_diagnostics/error_category/102425.cc
  7642ba4000e0c299f069e27f340f2b9a  libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc
  e94232adb2c9e952bfe9960f48d97254  libstdc++-v3/testsuite/19_diagnostics/error_category/cons/default.cc
  9cad365c10f737409d25d41541cf2eb1  libstdc++-v3/testsuite/19_diagnostics/error_category/generic_category.cc
*************** cb38b5219cf8786f12ac50f0b32b1fe5  libstd
*** 81524,81530 ****
  ac7ab5f467aaad73a3702663b19d9616  libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/synopsis.cc
  e73493b92527fc44709a7423d698c7a7  libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/types_std.cc
  da1389c4db61adf7637024e8da87a2af  libstdc++-v3/testsuite/19_diagnostics/headers/system_error/34538.cc
! 457962d373c29b92cd7cab8fa5edd31e  libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc
  9b043f48497f7ee797851d763d0de9f8  libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
  8efc49d7c0aed2c1fee25ae9360cc794  libstdc++-v3/testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc
  148b540cec85bbb11e0a698c08456db5  libstdc++-v3/testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc
--- 81737,81744 ----
  ac7ab5f467aaad73a3702663b19d9616  libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/synopsis.cc
  e73493b92527fc44709a7423d698c7a7  libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/types_std.cc
  da1389c4db61adf7637024e8da87a2af  libstdc++-v3/testsuite/19_diagnostics/headers/system_error/34538.cc
! cb37a5c51478bdf9ffa55817e9c07e48  libstdc++-v3/testsuite/19_diagnostics/headers/system_error/93151.cc
! 38ce718684c0885358dfd31040e3c8d6  libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc
  9b043f48497f7ee797851d763d0de9f8  libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
  8efc49d7c0aed2c1fee25ae9360cc794  libstdc++-v3/testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc
  148b540cec85bbb11e0a698c08456db5  libstdc++-v3/testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc
*************** e17a08682f5b840b83a969ad04685acb  libstd
*** 81605,81622 ****
  49435ff39340870afdef2ba410a37fba  libstdc++-v3/testsuite/20_util/any/assign/exception.cc
  aefc60725edfb173a4825acf64f249d3  libstdc++-v3/testsuite/20_util/any/assign/self.cc
  0fa3ebc48568ef10724ff6ff7aa05267  libstdc++-v3/testsuite/20_util/any/cons/1.cc
  c5235c5613b95e911fc43ee90a2e80dc  libstdc++-v3/testsuite/20_util/any/cons/2.cc
  fd7d09fb3200ce87cfe87a83a9135df5  libstdc++-v3/testsuite/20_util/any/cons/aligned.cc
  c6c492aff59040c8ba89ba7dcf072c77  libstdc++-v3/testsuite/20_util/any/cons/explicit.cc
  d6fe68ff8db23180fd52e7c2e5c0f8c4  libstdc++-v3/testsuite/20_util/any/cons/in_place.cc
  5611809eee2e824510fbad4ba7a2ac45  libstdc++-v3/testsuite/20_util/any/cons/nontrivial.cc
  b529a112b9acc0abcd290c2092f69288  libstdc++-v3/testsuite/20_util/any/make_any.cc
  0b30d1b7dbf86a9919931f1880ba1418  libstdc++-v3/testsuite/20_util/any/misc/any_cast.cc
! 29c68097fec962374cf1d50108e2153e  libstdc++-v3/testsuite/20_util/any/misc/any_cast_neg.cc
  864e68b6976d2972205115b1786a9a18  libstdc++-v3/testsuite/20_util/any/misc/any_cast_no_rtti.cc
  5ac4b299a99b4b7cbb53c9bac1f188a4  libstdc++-v3/testsuite/20_util/any/misc/swap.cc
  df7f8b11f6be8c5f333c19b3890dc815  libstdc++-v3/testsuite/20_util/any/modifiers/1.cc
  be18427e8aa5f4c3e10b15499720627d  libstdc++-v3/testsuite/20_util/any/modifiers/83658.cc
  8d1e301817cb4d43f0be1bce1d816363  libstdc++-v3/testsuite/20_util/any/observers/type.cc
  8841d2e5572ee616ec09185029447e0d  libstdc++-v3/testsuite/20_util/any/requirements.cc
  b1362d1d212260f1a84ccdbbb8ed0ab2  libstdc++-v3/testsuite/20_util/any/typedefs.cc
--- 81819,81840 ----
  49435ff39340870afdef2ba410a37fba  libstdc++-v3/testsuite/20_util/any/assign/exception.cc
  aefc60725edfb173a4825acf64f249d3  libstdc++-v3/testsuite/20_util/any/assign/self.cc
  0fa3ebc48568ef10724ff6ff7aa05267  libstdc++-v3/testsuite/20_util/any/cons/1.cc
+ 097d518046e23537949952c936ddfa1c  libstdc++-v3/testsuite/20_util/any/cons/101034.cc
  c5235c5613b95e911fc43ee90a2e80dc  libstdc++-v3/testsuite/20_util/any/cons/2.cc
+ d6c4d82ae1acc5c41fbb1b02392acc91  libstdc++-v3/testsuite/20_util/any/cons/90415.cc
+ 98760b39632ecc9ad91e48d7c8f0e10c  libstdc++-v3/testsuite/20_util/any/cons/92156.cc
  fd7d09fb3200ce87cfe87a83a9135df5  libstdc++-v3/testsuite/20_util/any/cons/aligned.cc
  c6c492aff59040c8ba89ba7dcf072c77  libstdc++-v3/testsuite/20_util/any/cons/explicit.cc
  d6fe68ff8db23180fd52e7c2e5c0f8c4  libstdc++-v3/testsuite/20_util/any/cons/in_place.cc
  5611809eee2e824510fbad4ba7a2ac45  libstdc++-v3/testsuite/20_util/any/cons/nontrivial.cc
  b529a112b9acc0abcd290c2092f69288  libstdc++-v3/testsuite/20_util/any/make_any.cc
  0b30d1b7dbf86a9919931f1880ba1418  libstdc++-v3/testsuite/20_util/any/misc/any_cast.cc
! bd06a92e89fd631ca60bf6800da06809  libstdc++-v3/testsuite/20_util/any/misc/any_cast_neg.cc
  864e68b6976d2972205115b1786a9a18  libstdc++-v3/testsuite/20_util/any/misc/any_cast_no_rtti.cc
  5ac4b299a99b4b7cbb53c9bac1f188a4  libstdc++-v3/testsuite/20_util/any/misc/swap.cc
  df7f8b11f6be8c5f333c19b3890dc815  libstdc++-v3/testsuite/20_util/any/modifiers/1.cc
  be18427e8aa5f4c3e10b15499720627d  libstdc++-v3/testsuite/20_util/any/modifiers/83658.cc
+ e816600008c482bba60fea89a8bc06c5  libstdc++-v3/testsuite/20_util/any/modifiers/92156.cc
  8d1e301817cb4d43f0be1bce1d816363  libstdc++-v3/testsuite/20_util/any/observers/type.cc
  8841d2e5572ee616ec09185029447e0d  libstdc++-v3/testsuite/20_util/any/requirements.cc
  b1362d1d212260f1a84ccdbbb8ed0ab2  libstdc++-v3/testsuite/20_util/any/typedefs.cc
*************** b4d375f26cc333fc420d2a4646dedb4d  libstd
*** 82137,82142 ****
--- 82355,82361 ----
  a9fc708ba78c0be7c2d96abddbed54d9  libstdc++-v3/testsuite/20_util/optional/77288.cc
  5361a28b1321ad89bf07b0ba11faf27a  libstdc++-v3/testsuite/20_util/optional/84601.cc
  7f1a148fb6ff95d372a8bbab08959b05  libstdc++-v3/testsuite/20_util/optional/assignment/1.cc
+ 5f2a36dc053d6d68a81135df84e7f4cb  libstdc++-v3/testsuite/20_util/optional/assignment/100982.cc
  ced2b375ed52f7ae1227ccee06067110  libstdc++-v3/testsuite/20_util/optional/assignment/2.cc
  08da7d4d9b0d44f5a9dde9697695770c  libstdc++-v3/testsuite/20_util/optional/assignment/3.cc
  ed74cb9b120e0ef32a07f650bbadcc53  libstdc++-v3/testsuite/20_util/optional/assignment/4.cc
*************** ba53bbcc41684554bc52efaab899dc37  libstd
*** 82386,82391 ****
--- 82605,82611 ----
  2efd1359e18bd5a2fac3d9de80ddd2cf  libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc
  587be8706717f8a2d916cc408aa540b5  libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc
  4e9518c41486d37818ca52bddfe34170  libstdc++-v3/testsuite/20_util/shared_ptr/creation/87278.cc
+ e8fb2075c881dbc83a16c36ae6da545b  libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc
  6106027987e43f8a46b7fbe36e7c4557  libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc.cc
  e9c839c0ddd6c01c3dafa0db9ae7fd73  libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc_min.cc
  43afebb656219564235ef3e858f42653  libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc
*************** ae0100cdce1d595ec1ad5c792db8ac7e  libstd
*** 82623,82628 ****
--- 82843,82849 ----
  1a925375e392188df7ce70c3e63b9754  libstdc++-v3/testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc
  baf1e4e64fc5ca81adab3082a1a4642a  libstdc++-v3/testsuite/20_util/uses_allocator/value.cc
  a65c51af2b3a351b98b7b1799ebf7648  libstdc++-v3/testsuite/20_util/variable_templates_for_traits.cc
+ b9698b5e78dcefad507d6737875a6a1d  libstdc++-v3/testsuite/20_util/variant/100384.cc
  fd102d43e723306496bcc14b30a9565c  libstdc++-v3/testsuite/20_util/variant/80165.cc
  4207e27c54bd5221158248f32ed46ac5  libstdc++-v3/testsuite/20_util/variant/85183.cc
  3ee0f17f6691603873a181c96e2bda08  libstdc++-v3/testsuite/20_util/variant/86874.cc
*************** fad08c720924bd14bf1e27101b2e29d0  libstd
*** 83914,83919 ****
--- 84135,84141 ----
  730a10261abd8e9c889dbabc9b4e781c  libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc
  4086093c70b15868f596a51a982e483e  libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc
  2582009bfec0cfdae2cbb12d5e9d1425  libstdc++-v3/testsuite/23_containers/forward_list/operations/90105.cc
+ 7a189e8b9d2375d727e2175b911806df  libstdc++-v3/testsuite/23_containers/forward_list/operations/merge.cc
  ebf67c747e53fdae107a59c8779d519e  libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc
  6edb524a7697653b7b00de53d1f79b27  libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc
  164f14b3a28a51ebe489afa3140d874b  libstdc++-v3/testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc
*************** a616397439d3afe95b41173e68e66693  libstd
*** 85275,85281 ****
  ffdcd115675d80cb8cddb90b5a0e400e  libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc
  2a7b4f4323da49ff009de89e943fa6aa  libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc
  97bad05a448840260bcd2667313371d1  libstdc++-v3/testsuite/25_algorithms/is_permutation/1.cc
! 7db697910a68bb9220d44dfcd97d3f2e  libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc
  84751fa850068255217a6755bff8cf76  libstdc++-v3/testsuite/25_algorithms/is_permutation/64646.cc
  1d23cfe31f8ccd5748efb550a217042a  libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type.cc
  67488bf26f132240b73b02ebb3cf1b93  libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type2.cc
--- 85497,85503 ----
  ffdcd115675d80cb8cddb90b5a0e400e  libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc
  2a7b4f4323da49ff009de89e943fa6aa  libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc
  97bad05a448840260bcd2667313371d1  libstdc++-v3/testsuite/25_algorithms/is_permutation/1.cc
! 69ee238b929aad5681625dcb9002acde  libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc
  84751fa850068255217a6755bff8cf76  libstdc++-v3/testsuite/25_algorithms/is_permutation/64646.cc
  1d23cfe31f8ccd5748efb550a217042a  libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type.cc
  67488bf26f132240b73b02ebb3cf1b93  libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type2.cc
*************** ab36af34132c8f7ab268fc9b810c4a9f  libstd
*** 85768,85774 ****
  89e701dc4e3dfd8ea2fddffdefd82c01  libstdc++-v3/testsuite/26_numerics/lcm/1.cc
  e34475da99458f7a1a16d3d58bc08693  libstdc++-v3/testsuite/26_numerics/lcm/92978.cc
  d3483c8a011ca68f6d122c28c645507c  libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc
! 1cae347e27d92d9cc3e7b858ff050725  libstdc++-v3/testsuite/26_numerics/lerp.cc
  ae7974b74d17f9fbd1a5350e2a69ad1b  libstdc++-v3/testsuite/26_numerics/midpoint/floating.cc
  773869cc4720c388d9f5ffb2ee20ed37  libstdc++-v3/testsuite/26_numerics/midpoint/integral.cc
  87a5840403dfc54edb42b8074884bdb4  libstdc++-v3/testsuite/26_numerics/midpoint/pointer.cc
--- 85990,85998 ----
  89e701dc4e3dfd8ea2fddffdefd82c01  libstdc++-v3/testsuite/26_numerics/lcm/1.cc
  e34475da99458f7a1a16d3d58bc08693  libstdc++-v3/testsuite/26_numerics/lcm/92978.cc
  d3483c8a011ca68f6d122c28c645507c  libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc
! 1cae347e27d92d9cc3e7b858ff050725  libstdc++-v3/testsuite/26_numerics/lerp/1.cc
! f9ae973e3d6f85f4c35471e62402ba98  libstdc++-v3/testsuite/26_numerics/lerp/constexpr.cc
! 198cb21048f5d36f6a9bf84a5b2dd536  libstdc++-v3/testsuite/26_numerics/lerp/version.cc
  ae7974b74d17f9fbd1a5350e2a69ad1b  libstdc++-v3/testsuite/26_numerics/midpoint/floating.cc
  773869cc4720c388d9f5ffb2ee20ed37  libstdc++-v3/testsuite/26_numerics/midpoint/integral.cc
  87a5840403dfc54edb42b8074884bdb4  libstdc++-v3/testsuite/26_numerics/midpoint/pointer.cc
*************** aa12c6b28c189c2b95b49651091cdd01  libstd
*** 85947,85953 ****
  db340d6cd7be0eae7c970069bf5e7445  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc
  e45f33dba69770661946d3b2dd44ab6b  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/equal.cc
  6f1321167a8ed0068189c976998122d5  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/inequal.cc
! 603eb8e74a9b6811a2f30293ede10400  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc
  a905ce2796095c15b7138ced6dcd9ece  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/1.cc
  0c29ac66a6e835dceae28603105b5428  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/typedefs.cc
  19c5d1d6be95056ebdd1056e7b75a5a0  libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc
--- 86171,86177 ----
  db340d6cd7be0eae7c970069bf5e7445  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc
  e45f33dba69770661946d3b2dd44ab6b  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/equal.cc
  6f1321167a8ed0068189c976998122d5  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/inequal.cc
! 7734ec4f6dd0e02ed79499e85d0ad432  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc
  a905ce2796095c15b7138ced6dcd9ece  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/1.cc
  0c29ac66a6e835dceae28603105b5428  libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/typedefs.cc
  19c5d1d6be95056ebdd1056e7b75a5a0  libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc
*************** d60e1ac682cb461b077b2c65569ce28b  libstd
*** 86054,86059 ****
--- 86278,86284 ----
  d4ba4b8775d80f67c1d9081513fe0a63  libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/typedefs.cc
  e3030088e45081f457ea78cbf5edbcd4  libstdc++-v3/testsuite/26_numerics/reduce/1.cc
  805405231bca44805fe9e2e473130647  libstdc++-v3/testsuite/26_numerics/reduce/2.cc
+ 51f14806bbec80c2d5883800a91dfc2e  libstdc++-v3/testsuite/26_numerics/reduce/95833.cc
  536c83acd464c44227e84ed3845f9a8d  libstdc++-v3/testsuite/26_numerics/slice/1.cc
  2ca22959caa6b57422957322a0fd270f  libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc
  782936d7433625674da221747313e2ea  libstdc++-v3/testsuite/26_numerics/slice_array/requirements/explicit_instantiation.cc
*************** e3030088e45081f457ea78cbf5edbcd4  libstd
*** 86061,86066 ****
--- 86286,86292 ----
  b52bc3f1320025b79e45216a824e3876  libstdc++-v3/testsuite/26_numerics/transform_exclusive_scan/1.cc
  42034ef601770d6067b85fe4ddd9d663  libstdc++-v3/testsuite/26_numerics/transform_inclusive_scan/1.cc
  c18937e375f08daa771eb9839b9aee62  libstdc++-v3/testsuite/26_numerics/transform_reduce/1.cc
+ 525e5798867d708e7cc13551760f93c8  libstdc++-v3/testsuite/26_numerics/valarray/103022.cc
  bff2289be906d937be2005cb7fd98afe  libstdc++-v3/testsuite/26_numerics/valarray/27867.cc
  65d53f2d5f09d90390048764a3381a3e  libstdc++-v3/testsuite/26_numerics/valarray/28277.cc
  ce6811bb22379494a10f1f7d4d4b000e  libstdc++-v3/testsuite/26_numerics/valarray/30416.cc
*************** edf89481ac509943aaa7edacdfdb99ee  libstd
*** 86076,86089 ****
  ef1f8fa4d90c97e6d5feb402b9127876  libstdc++-v3/testsuite/26_numerics/valarray/dr543.cc
  aafc5d0dce2cda1d09ae18e10d6f935c  libstdc++-v3/testsuite/26_numerics/valarray/dr630-1.cc
  d9fd49da1285515f59bb71a467a35c70  libstdc++-v3/testsuite/26_numerics/valarray/dr630-2.cc
! ce37730d28fe86e23ff17f9f56fd4b0f  libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.C
  1d482c76137e4f689235af6a2b29a448  libstdc++-v3/testsuite/26_numerics/valarray/init-list.cc
  584669a04ed07f859681c90171447745  libstdc++-v3/testsuite/26_numerics/valarray/moveable.cc
  5a9e85847e7577e94790c31d114e3c19  libstdc++-v3/testsuite/26_numerics/valarray/name_lookup.cc
  09822e17302cc6648a6bafbd2d9965ec  libstdc++-v3/testsuite/26_numerics/valarray/noexcept_move_construct.cc
  1f5d9d8067e5b9c9e0a81efebee0f009  libstdc++-v3/testsuite/26_numerics/valarray/operators.cc
! 842bb26d521e5c228952514b5f53e273  libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
! 1a32f11a42f3f360447aecf7223507d3  libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc
  7effa27f45dae3104dae6178e3d92678  libstdc++-v3/testsuite/26_numerics/valarray/requirements/explicit_instantiation.cc
  064f01790e02b7e9d04be142ac89f551  libstdc++-v3/testsuite/26_numerics/valarray/requirements/typedefs.cc
  d580beccb9150a68a25dbe20a317df11  libstdc++-v3/testsuite/26_numerics/valarray/subset_assignment.cc
--- 86302,86315 ----
  ef1f8fa4d90c97e6d5feb402b9127876  libstdc++-v3/testsuite/26_numerics/valarray/dr543.cc
  aafc5d0dce2cda1d09ae18e10d6f935c  libstdc++-v3/testsuite/26_numerics/valarray/dr630-1.cc
  d9fd49da1285515f59bb71a467a35c70  libstdc++-v3/testsuite/26_numerics/valarray/dr630-2.cc
! ce37730d28fe86e23ff17f9f56fd4b0f  libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.cc
  1d482c76137e4f689235af6a2b29a448  libstdc++-v3/testsuite/26_numerics/valarray/init-list.cc
  584669a04ed07f859681c90171447745  libstdc++-v3/testsuite/26_numerics/valarray/moveable.cc
  5a9e85847e7577e94790c31d114e3c19  libstdc++-v3/testsuite/26_numerics/valarray/name_lookup.cc
  09822e17302cc6648a6bafbd2d9965ec  libstdc++-v3/testsuite/26_numerics/valarray/noexcept_move_construct.cc
  1f5d9d8067e5b9c9e0a81efebee0f009  libstdc++-v3/testsuite/26_numerics/valarray/operators.cc
! d1bf42e8e13164dfe11cff88ce362e19  libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
! a5f5e03af8a15953c6de90e1d9ed853f  libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc
  7effa27f45dae3104dae6178e3d92678  libstdc++-v3/testsuite/26_numerics/valarray/requirements/explicit_instantiation.cc
  064f01790e02b7e9d04be142ac89f551  libstdc++-v3/testsuite/26_numerics/valarray/requirements/typedefs.cc
  d580beccb9150a68a25dbe20a317df11  libstdc++-v3/testsuite/26_numerics/valarray/subset_assignment.cc
*************** d6bc5a31cdc8d59ba8ae4cc5f821f55d  libstd
*** 86356,86362 ****
  852771a53c2ba73a6d2115384fb47da8  libstdc++-v3/testsuite/27_io/basic_ios/requirements/base_classes.cc
  5412455f328d9356fcc8f78f4381cbdc  libstdc++-v3/testsuite/27_io/basic_ios/requirements/explicit_instantiation.cc
  4d8220e02431cddd51a7d21f1579bab6  libstdc++-v3/testsuite/27_io/basic_ios/requirements/typedefs.cc
! efb9568cdf108ee1a1b149d7796a52cc  libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.C
  ef9cf16e97a79c9250be724dae2415f2  libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc
  fb0e29b797253709e4c4de7b32846a0c  libstdc++-v3/testsuite/27_io/basic_iostream/requirements/base_classes.cc
  c8460dbcf0d1c192863cc0a3d9dd3ed5  libstdc++-v3/testsuite/27_io/basic_iostream/requirements/explicit_instantiation.cc
--- 86582,86588 ----
  852771a53c2ba73a6d2115384fb47da8  libstdc++-v3/testsuite/27_io/basic_ios/requirements/base_classes.cc
  5412455f328d9356fcc8f78f4381cbdc  libstdc++-v3/testsuite/27_io/basic_ios/requirements/explicit_instantiation.cc
  4d8220e02431cddd51a7d21f1579bab6  libstdc++-v3/testsuite/27_io/basic_ios/requirements/typedefs.cc
! efb9568cdf108ee1a1b149d7796a52cc  libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.cc
  ef9cf16e97a79c9250be724dae2415f2  libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc
  fb0e29b797253709e4c4de7b32846a0c  libstdc++-v3/testsuite/27_io/basic_iostream/requirements/base_classes.cc
  c8460dbcf0d1c192863cc0a3d9dd3ed5  libstdc++-v3/testsuite/27_io/basic_iostream/requirements/explicit_instantiation.cc
*************** fd0c60e7f32afa28aaa100803f4de0d2  libstd
*** 86862,86869 ****
  dad76e629e8094f265a9225228c3ff17  libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc
  cb00f573c7a47ee58a71cdd93f3cd388  libstdc++-v3/testsuite/27_io/filesystem/operations/copy.cc
  97660b02e6ae488f2cd1282d374807b9  libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file.cc
! 57312fa642928f87de2f61c9861c449c  libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc
! 3a1c28e30b8f41de4a519a6b9b33d545  libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc
  466a5a84ed4b94f51b612428acfd415a  libstdc++-v3/testsuite/27_io/filesystem/operations/create_symlink.cc
  195a3b80f65841299cf2c1bccee868b4  libstdc++-v3/testsuite/27_io/filesystem/operations/current_path.cc
  9cfc433f846c4185ec98cfd208076135  libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc
--- 87088,87095 ----
  dad76e629e8094f265a9225228c3ff17  libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc
  cb00f573c7a47ee58a71cdd93f3cd388  libstdc++-v3/testsuite/27_io/filesystem/operations/copy.cc
  97660b02e6ae488f2cd1282d374807b9  libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file.cc
! 8ec45835a8a46b6ac376a6af8c3b4509  libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc
! a76d691b2577a54b244211db6795291c  libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc
  466a5a84ed4b94f51b612428acfd415a  libstdc++-v3/testsuite/27_io/filesystem/operations/create_symlink.cc
  195a3b80f65841299cf2c1bccee868b4  libstdc++-v3/testsuite/27_io/filesystem/operations/current_path.cc
  9cfc433f846c4185ec98cfd208076135  libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc
*************** b90a3a3d0b2a55f76eb77cf7c962d5b7  libstd
*** 86876,86882 ****
  17c0a3bd8b8a48449ce26c73bb3b8e20  libstdc++-v3/testsuite/27_io/filesystem/operations/read_symlink.cc
  1502ae9ef398b90cb2353d212fae9aaf  libstdc++-v3/testsuite/27_io/filesystem/operations/relative.cc
  9fcae74991887b3ac9f17466452df98f  libstdc++-v3/testsuite/27_io/filesystem/operations/remove.cc
! f38e80e62f548689138b1602c7802eae  libstdc++-v3/testsuite/27_io/filesystem/operations/remove_all.cc
  781edf8b8f5d71f6c73c6d8b99ac9631  libstdc++-v3/testsuite/27_io/filesystem/operations/resize_file.cc
  ceeedb00a04716967fb9702dad6de91c  libstdc++-v3/testsuite/27_io/filesystem/operations/space.cc
  2d84a5fe364e0d14deceacb4fad058f1  libstdc++-v3/testsuite/27_io/filesystem/operations/status.cc
--- 87102,87108 ----
  17c0a3bd8b8a48449ce26c73bb3b8e20  libstdc++-v3/testsuite/27_io/filesystem/operations/read_symlink.cc
  1502ae9ef398b90cb2353d212fae9aaf  libstdc++-v3/testsuite/27_io/filesystem/operations/relative.cc
  9fcae74991887b3ac9f17466452df98f  libstdc++-v3/testsuite/27_io/filesystem/operations/remove.cc
! 706c51262523d70fc008b042ba57b585  libstdc++-v3/testsuite/27_io/filesystem/operations/remove_all.cc
  781edf8b8f5d71f6c73c6d8b99ac9631  libstdc++-v3/testsuite/27_io/filesystem/operations/resize_file.cc
  ceeedb00a04716967fb9702dad6de91c  libstdc++-v3/testsuite/27_io/filesystem/operations/space.cc
  2d84a5fe364e0d14deceacb4fad058f1  libstdc++-v3/testsuite/27_io/filesystem/operations/status.cc
*************** bc9f5c7f9be56e3e6b62143566bbd82c  libstd
*** 86895,86900 ****
--- 87121,87127 ----
  d86c948f1af72fc168b5fb5d57cde80d  libstdc++-v3/testsuite/27_io/filesystem/path/concat/94063.cc
  35cfe6b39e538402ef5c71e1b39d97ef  libstdc++-v3/testsuite/27_io/filesystem/path/concat/path.cc
  6e899878c7bfb27f9440331d3e8073af  libstdc++-v3/testsuite/27_io/filesystem/path/concat/strings.cc
+ a22e69eb2c027825b8fb3e0e6df6a97d  libstdc++-v3/testsuite/27_io/filesystem/path/construct/100630.cc
  cf4da13811559cff87d3248ab22e8c4f  libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc
  63b49d2b56ac69ca112e63acac76bc2f  libstdc++-v3/testsuite/27_io/filesystem/path/construct/90281.cc
  333bfb426a30c5534864bc79da8d12b3  libstdc++-v3/testsuite/27_io/filesystem/path/construct/90634.cc
*************** b715c45a6677f269807dab0bbcf0ee1d  libstd
*** 87135,87141 ****
  2ce3d8a3791ea5de8ed52a14ff455164  libstdc++-v3/testsuite/27_io/objects/wchar_t/dr455.cc
  f2663cfabc6d6c3b5dcfdb66bc747ac4  libstdc++-v3/testsuite/27_io/rvalue_streams-2.cc
  8e70bd9d621de6240210be769d88bef9  libstdc++-v3/testsuite/27_io/rvalue_streams.cc
! bf70062f27e4a989a11c65a503b3960a  libstdc++-v3/testsuite/27_io/types/1.cc
  524d7e35bdc599d36c1e90feb47234b4  libstdc++-v3/testsuite/27_io/types/2.cc
  178222c7767b13210a2072d55a3e5263  libstdc++-v3/testsuite/27_io/types/3.cc
  ebda5c67df24fcd489222e544b99fd9d  libstdc++-v3/testsuite/27_io/types/4.cc
--- 87362,87368 ----
  2ce3d8a3791ea5de8ed52a14ff455164  libstdc++-v3/testsuite/27_io/objects/wchar_t/dr455.cc
  f2663cfabc6d6c3b5dcfdb66bc747ac4  libstdc++-v3/testsuite/27_io/rvalue_streams-2.cc
  8e70bd9d621de6240210be769d88bef9  libstdc++-v3/testsuite/27_io/rvalue_streams.cc
! 9be22c0a7c56ab89e762f04da6dcf3a5  libstdc++-v3/testsuite/27_io/types/1.cc
  524d7e35bdc599d36c1e90feb47234b4  libstdc++-v3/testsuite/27_io/types/2.cc
  178222c7767b13210a2072d55a3e5263  libstdc++-v3/testsuite/27_io/types/3.cc
  ebda5c67df24fcd489222e544b99fd9d  libstdc++-v3/testsuite/27_io/types/4.cc
*************** bd6a5f906f3826be852eaf4a136fa738  libstd
*** 87251,87256 ****
--- 87478,87484 ----
  e18a9d2f3f98fc0cd4c5b7fff9f5e8e5  libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc
  557cb43a448ec293af395e2a79c900b3  libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc
  85ea3afbb3fa9ce28a1c3214e0c642a5  libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/wstring_02.cc
+ 9e61d1e19fd36f31ae0f5ec6a41b0d6a  libstdc++-v3/testsuite/28_regex/match_results/102667.cc
  a6afca4be20fc4c58c558968fa0c923d  libstdc++-v3/testsuite/28_regex/match_results/94627.cc
  dbc86d59b1bbfedb6ac5d7c787e06ce5  libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc
  b99f52ae1e9da8551b6d3ac96555915e  libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc
*************** d67c05d9075c1be29c5fc673624caf85  libstd
*** 87859,87866 ****
  c34645f173cd9ba72067a61855dce0a7  libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
  f3ddff81c43ac49c4cefc5b21cb588f0  libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc
  3ef03acbb3e8a82fffe5836d29ca3ca3  libstdc++-v3/testsuite/experimental/filesystem/operations/copy_file.cc
! cc2c5051f0747bc4afb8a77fbb796c10  libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc
! b1676f1f0ccefc9239c6aac1d14d5dd7  libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc
  89d2cb544978ab69acdc65cdb2b48928  libstdc++-v3/testsuite/experimental/filesystem/operations/create_symlink.cc
  03c8a94a2ce11846e7fe971dc29b2ac7  libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc
  f0bb18699a6eba56ebd284d28c06c79b  libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc
--- 88087,88094 ----
  c34645f173cd9ba72067a61855dce0a7  libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
  f3ddff81c43ac49c4cefc5b21cb588f0  libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc
  3ef03acbb3e8a82fffe5836d29ca3ca3  libstdc++-v3/testsuite/experimental/filesystem/operations/copy_file.cc
! cfb3ad4bd71be2a65db40310740fc9dd  libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc
! cfad39a4d5e1481168e4048336534086  libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc
  89d2cb544978ab69acdc65cdb2b48928  libstdc++-v3/testsuite/experimental/filesystem/operations/create_symlink.cc
  03c8a94a2ce11846e7fe971dc29b2ac7  libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc
  f0bb18699a6eba56ebd284d28c06c79b  libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc
*************** abd3eda4c98801a73f59592f516d98f0  libstd
*** 87871,87877 ****
  59cfc520beb22e5ef24b442f367dd245  libstdc++-v3/testsuite/experimental/filesystem/operations/permissions.cc
  71ea860899af497e82283cacca3c5543  libstdc++-v3/testsuite/experimental/filesystem/operations/read_symlink.cc
  510a44598120bd5904ec2aca5bb464bb  libstdc++-v3/testsuite/experimental/filesystem/operations/remove.cc
! 8be3812f0b8306af12ec173f9ebde8ab  libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc
  4e076a3d3faa0551039764a597049e57  libstdc++-v3/testsuite/experimental/filesystem/operations/space.cc
  6e78422ad5a55959f711c5c206dca334  libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc
  905231703cd72bfff70dede2a593f5e2  libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc
--- 88099,88105 ----
  59cfc520beb22e5ef24b442f367dd245  libstdc++-v3/testsuite/experimental/filesystem/operations/permissions.cc
  71ea860899af497e82283cacca3c5543  libstdc++-v3/testsuite/experimental/filesystem/operations/read_symlink.cc
  510a44598120bd5904ec2aca5bb464bb  libstdc++-v3/testsuite/experimental/filesystem/operations/remove.cc
! a30edb3f1bf2bdaa5130a07602b0fe8a  libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc
  4e076a3d3faa0551039764a597049e57  libstdc++-v3/testsuite/experimental/filesystem/operations/space.cc
  6e78422ad5a55959f711c5c206dca334  libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc
  905231703cd72bfff70dede2a593f5e2  libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc
*************** eb1d33718f1a2cac5b4de66dc7dd649d  libstd
*** 87883,87888 ****
--- 88111,88117 ----
  880dfb07933e87dc590399d5d5c1a9e6  libstdc++-v3/testsuite/experimental/filesystem/path/compare/strings.cc
  e83ef4c82f6b5923c864adf88091aefe  libstdc++-v3/testsuite/experimental/filesystem/path/concat/path.cc
  933015324a97545834e69841d202f5d4  libstdc++-v3/testsuite/experimental/filesystem/path/concat/strings.cc
+ c06b01e19066f0d4ffa4faa5202f4e3e  libstdc++-v3/testsuite/experimental/filesystem/path/construct/100630.cc
  2d555489f5cae2b1b1eba697a22aaa32  libstdc++-v3/testsuite/experimental/filesystem/path/construct/80762.cc
  03b39079795f48b0220e2d8521905ac2  libstdc++-v3/testsuite/experimental/filesystem/path/construct/90281.cc
  4415abf9e4df4ee3452d0b32f2b7b994  libstdc++-v3/testsuite/experimental/filesystem/path/construct/90634.cc
*************** dd65c9a13a035bbb2f6e10d7f2682053  libstd
*** 88076,88082 ****
  b5659e8a6969006b55cd833fe1c9f9dd  libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc
  c1dc4eaec775b467891eb8df750cc542  libstdc++-v3/testsuite/experimental/propagate_const/swap/1.cc
  ba908973b93d1d252bb64b329489ffb9  libstdc++-v3/testsuite/experimental/propagate_const/typedefs.cc
! ca962e6ebf16f665f7bc5080e35700aa  libstdc++-v3/testsuite/experimental/random/randint.cc
  bcdc648099429eee6fe84619923bcadd  libstdc++-v3/testsuite/experimental/ratio/value.cc
  ddf624b4ef8bd082d3ed2a0352747864  libstdc++-v3/testsuite/experimental/set/erasure.cc
  0fd3a4a2e8971acaeba6af9a56f6cb8d  libstdc++-v3/testsuite/experimental/source_location/1.cc
--- 88305,88311 ----
  b5659e8a6969006b55cd833fe1c9f9dd  libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc
  c1dc4eaec775b467891eb8df750cc542  libstdc++-v3/testsuite/experimental/propagate_const/swap/1.cc
  ba908973b93d1d252bb64b329489ffb9  libstdc++-v3/testsuite/experimental/propagate_const/typedefs.cc
! e02adfd7adb687f2b71cea4e8302a00e  libstdc++-v3/testsuite/experimental/random/randint.cc
  bcdc648099429eee6fe84619923bcadd  libstdc++-v3/testsuite/experimental/ratio/value.cc
  ddf624b4ef8bd082d3ed2a0352747864  libstdc++-v3/testsuite/experimental/set/erasure.cc
  0fd3a4a2e8971acaeba6af9a56f6cb8d  libstdc++-v3/testsuite/experimental/source_location/1.cc
*************** be7d0a6d2c23505f0ebffc0cc94028a3  libstd
*** 88316,88322 ****
  51d6cc50edc0a23e1225f955f4dac274  libstdc++-v3/testsuite/ext/pool_allocator/overaligned.cc
  5237492c6fe410fb2758aaa8bb481aee  libstdc++-v3/testsuite/ext/pool_allocator/variadic_construct.cc
  e231a40e73da6b4b43a7cd7cb9a84ce2  libstdc++-v3/testsuite/ext/profile/all.cc
! 85eeecc9e74e849689ec6591fa0f400f  libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
  b92f0ad9af8bc0d2db58301a8218b244  libstdc++-v3/testsuite/ext/profile/profiler_algos.cc
  52563012a3240c133dedf68e9de504d4  libstdc++-v3/testsuite/ext/profile/replace_new.cc
  e57e6afcac49a152f8b0c31559dc7960  libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/default.cc
--- 88545,88551 ----
  51d6cc50edc0a23e1225f955f4dac274  libstdc++-v3/testsuite/ext/pool_allocator/overaligned.cc
  5237492c6fe410fb2758aaa8bb481aee  libstdc++-v3/testsuite/ext/pool_allocator/variadic_construct.cc
  e231a40e73da6b4b43a7cd7cb9a84ce2  libstdc++-v3/testsuite/ext/profile/all.cc
! 8ad0461aeb3b83f31c21e0b18aad7929  libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
  b92f0ad9af8bc0d2db58301a8218b244  libstdc++-v3/testsuite/ext/profile/profiler_algos.cc
  52563012a3240c133dedf68e9de504d4  libstdc++-v3/testsuite/ext/profile/replace_new.cc
  e57e6afcac49a152f8b0c31559dc7960  libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/default.cc
*************** baab890c84819e856948838512a7bbf1  libstd
*** 88541,88547 ****
  3f94c8cadbceafae0e0c2dfacbda23b1  libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc
  ab9a4342d4966839887a2ec4d79b59af  libstdc++-v3/testsuite/libstdc++-prettyprinters/91997.cc
  ed6b1f50e03853d6b9b484f84c3ec082  libstdc++-v3/testsuite/libstdc++-prettyprinters/compat.cc
! d92d6fdcf6071cf964091806b6576e40  libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc
  2ffc6e33f500652eee6cb30df4f95c96  libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc
  99a17df5377354c15f46c73049564905  libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc
  e96bca7ef758fc8c457af0371a36da53  libstdc++-v3/testsuite/libstdc++-prettyprinters/debug_cxx11.cc
--- 88770,88776 ----
  3f94c8cadbceafae0e0c2dfacbda23b1  libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc
  ab9a4342d4966839887a2ec4d79b59af  libstdc++-v3/testsuite/libstdc++-prettyprinters/91997.cc
  ed6b1f50e03853d6b9b484f84c3ec082  libstdc++-v3/testsuite/libstdc++-prettyprinters/compat.cc
! 998d028fa4ea8f7d5187a060e829c1cd  libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc
  2ffc6e33f500652eee6cb30df4f95c96  libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc
  99a17df5377354c15f46c73049564905  libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc
  e96bca7ef758fc8c457af0371a36da53  libstdc++-v3/testsuite/libstdc++-prettyprinters/debug_cxx11.cc
*************** e6293fd7591a55b3e443423d4ab263aa  libstd
*** 89470,89476 ****
  aee4f8b71130a80ebdfc21168f4a9d09  libstdc++-v3/testsuite/util/thread/all.h
  b950d655469c477755252b1e18009596  libtool-ldflags
  a136d7c5e84a7cd78058dd86877fa85d  libtool.m4
! 1b92a19fcdafe1e0e319be6f908134f9  libvtv/ChangeLog
  3925e26bd0380754b9ba82cad98854b9  libvtv/Makefile.am
  f0dcdf677be6f1ef329ff74d740ea4eb  libvtv/Makefile.in
  3b765c4f4a0a0f606db1472bce2b8d29  libvtv/acinclude.m4
--- 89699,89705 ----
  aee4f8b71130a80ebdfc21168f4a9d09  libstdc++-v3/testsuite/util/thread/all.h
  b950d655469c477755252b1e18009596  libtool-ldflags
  a136d7c5e84a7cd78058dd86877fa85d  libtool.m4
! 6e0ef493c64bad4d16e3d991469df3ec  libvtv/ChangeLog
  3925e26bd0380754b9ba82cad98854b9  libvtv/Makefile.am
  f0dcdf677be6f1ef329ff74d740ea4eb  libvtv/Makefile.in
  3b765c4f4a0a0f606db1472bce2b8d29  libvtv/acinclude.m4
*************** a317e957f6643aa8ccea2dc901b5cdb4  libvtv
*** 89553,89559 ****
  e9f5d4b7990250a14c410038615b7897  libvtv/vtv_utils.h
  247597a3fcc5b5aa8bd923351c59d853  ltgcc.m4
  06c2854f9cfe5864b2885e0d0e9c512f  ltmain.sh
! 521a02770dde7769d7c47016dcb78037  lto-plugin/ChangeLog
  1d51b0f01f4db0f88d302ab0d691514e  lto-plugin/Makefile.am
  80423554a39cbd842c3d9464b3723033  lto-plugin/Makefile.in
  e60b1443b7156a65450aa31b80bb99fe  lto-plugin/aclocal.m4
--- 89782,89788 ----
  e9f5d4b7990250a14c410038615b7897  libvtv/vtv_utils.h
  247597a3fcc5b5aa8bd923351c59d853  ltgcc.m4
  06c2854f9cfe5864b2885e0d0e9c512f  ltmain.sh
! d802039d5eb00f584601479d23af1b0d  lto-plugin/ChangeLog
  1d51b0f01f4db0f88d302ab0d691514e  lto-plugin/Makefile.am
  80423554a39cbd842c3d9464b3723033  lto-plugin/Makefile.in
  e60b1443b7156a65450aa31b80bb99fe  lto-plugin/aclocal.m4
*************** dee72a6a60e99528b0d17bf3ff9a1e15  ltopti
*** 89565,89571 ****
  bc2f6032c98896249eadb56177c7d357  ltsugar.m4
  c30cd33c496505f13d9fbdb6970c7c33  ltversion.m4
  293853a13b7e218e3a4342cf85fbbf25  lt~obsolete.m4
! 20827d97a1fa4da08763b0c0e394cc38  maintainer-scripts/ChangeLog
  33c7bc2d2c55956dfac85a05d8a80eff  maintainer-scripts/README
  e70ffb6559f8817db41ee1e69bc60287  maintainer-scripts/branch_changer.py
  1c3f2c7d87d076b4209a2a03844292e5  maintainer-scripts/bugzilla-close-candidate.py
--- 89794,89800 ----
  bc2f6032c98896249eadb56177c7d357  ltsugar.m4
  c30cd33c496505f13d9fbdb6970c7c33  ltversion.m4
  293853a13b7e218e3a4342cf85fbbf25  lt~obsolete.m4
! 37532b6b347e327ad3bb11eb987b4510  maintainer-scripts/ChangeLog
  33c7bc2d2c55956dfac85a05d8a80eff  maintainer-scripts/README
  e70ffb6559f8817db41ee1e69bc60287  maintainer-scripts/branch_changer.py
  1c3f2c7d87d076b4209a2a03844292e5  maintainer-scripts/bugzilla-close-candidate.py
*************** cf2baa0854f564a7785307e79f155efc  symlin
*** 89585,89591 ****
  40bb1f4ce4a60a36d1ec50d66aeed4d1  test-driver
  cb06c1be6a41d68b0a65e0c1a91752bc  ylwrap
  03bf3ba8089f4bf475ef4035cf316a47  zlib/CMakeLists.txt
! 7943c2d88b22257dcccbce3dd7fda5b4  zlib/ChangeLog
  969dcade0d3b806b7eaf5f16573a528d  zlib/ChangeLog.gcj
  0e9a37be8e3b85cc0ccf60504064c297  zlib/ChangeLog.jit
  b7a1991f01daea3efe108a215c5514a5  zlib/FAQ
--- 89814,89820 ----
  40bb1f4ce4a60a36d1ec50d66aeed4d1  test-driver
  cb06c1be6a41d68b0a65e0c1a91752bc  ylwrap
  03bf3ba8089f4bf475ef4035cf316a47  zlib/CMakeLists.txt
! f24c74cb23d2107846ee987595583fc9  zlib/ChangeLog
  969dcade0d3b806b7eaf5f16573a528d  zlib/ChangeLog.gcj
  0e9a37be8e3b85cc0ccf60504064c297  zlib/ChangeLog.jit
  b7a1991f01daea3efe108a215c5514a5  zlib/FAQ
diff -Nrcpad gcc-9.4.0/NEWS gcc-9.5.0/NEWS
*** gcc-9.4.0/NEWS	Tue Jun  1 07:53:59 2021
--- gcc-9.5.0/NEWS	Fri May 27 07:22:06 2022
*************** http://gcc.gnu.org/gcc-9/index.html
*** 9,35 ****
  
                                GCC 9 Release Series
  
!    June 1, 2021
  
     The [1]GNU project and the GCC developers are pleased to announce the
!    release of GCC 9.4.
  
     This release is a bug-fix release, containing fixes for regressions in
!    GCC 9.3 relative to previous releases of GCC.
  
  Release History
  
     GCC 9.4
!           June 1, 2021 ([2]changes, [3]documentation)
  
     GCC 9.3
!           Mar 12, 2020 ([4]changes, [5]documentation)
  
     GCC 9.2
!           Aug 12, 2019 ([6]changes, [7]documentation)
  
     GCC 9.1
!           May 3, 2019 ([8]changes, [9]documentation)
  
  References and Acknowledgements
  
--- 9,38 ----
  
                                GCC 9 Release Series
  
!    May 27, 2022
  
     The [1]GNU project and the GCC developers are pleased to announce the
!    release of GCC 9.5.
  
     This release is a bug-fix release, containing fixes for regressions in
!    GCC 9.4 relative to previous releases of GCC.
  
  Release History
  
+    GCC 9.5
+           May 27, 2022 ([2]changes, [3]documentation)
+ 
     GCC 9.4
!           June 1, 2021 ([4]changes, [5]documentation)
  
     GCC 9.3
!           Mar 12, 2020 ([6]changes, [7]documentation)
  
     GCC 9.2
!           Aug 12, 2019 ([8]changes, [9]documentation)
  
     GCC 9.1
!           May 3, 2019 ([10]changes, [11]documentation)
  
  References and Acknowledgements
  
*************** References and Acknowledgements
*** 37,95 ****
     supports several other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
!    A list of [10]successful builds is updated as new information becomes
     available.
  
     The GCC developers would like to thank the numerous people that have
     contributed new features, improvements, bug fixes, and other changes as
!    well as test results to GCC. This [11]amazing group of volunteers is
     what makes GCC successful.
  
!    For additional information about GCC please refer to the [12]GCC
!    project web site or contact the [13]GCC development mailing list.
  
!    To obtain GCC please use [14]our mirror sites or [15]our version
     control system.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [16]GCC manuals. If that fails, the
!     [17]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [18]gcc@gcc.gnu.org. All of [19]our lists have public
      archives.
  
!    Copyright (C) [20]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [21]maintained by the GCC team. Last modified
!    2021-06-01[22].
  
  References
  
     1. http://www.gnu.org/
     2. http://gcc.gnu.org/gcc-9/changes.html
!    3. http://gcc.gnu.org/onlinedocs/9.4.0/
     4. http://gcc.gnu.org/gcc-9/changes.html
!    5. http://gcc.gnu.org/onlinedocs/9.3.0/
     6. http://gcc.gnu.org/gcc-9/changes.html
!    7. http://gcc.gnu.org/onlinedocs/9.2.0/
     8. http://gcc.gnu.org/gcc-9/changes.html
!    9. http://gcc.gnu.org/onlinedocs/9.1.0/
!   10. http://gcc.gnu.org/gcc-9/buildstat.html
!   11. http://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Contributors.html
!   12. http://gcc.gnu.org/index.html
!   13. mailto:gcc@gcc.gnu.org
!   14. http://gcc.gnu.org/mirrors.html
!   15. http://gcc.gnu.org/git.html
!   16. https://gcc.gnu.org/onlinedocs/
!   17. mailto:gcc-help@gcc.gnu.org
!   18. mailto:gcc@gcc.gnu.org
!   19. https://gcc.gnu.org/lists.html
!   20. https://www.fsf.org/
!   21. https://gcc.gnu.org/about.html
!   22. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-9/changes.html
  
--- 40,100 ----
     supports several other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
!    A list of [12]successful builds is updated as new information becomes
     available.
  
     The GCC developers would like to thank the numerous people that have
     contributed new features, improvements, bug fixes, and other changes as
!    well as test results to GCC. This [13]amazing group of volunteers is
     what makes GCC successful.
  
!    For additional information about GCC please refer to the [14]GCC
!    project web site or contact the [15]GCC development mailing list.
  
!    To obtain GCC please use [16]our mirror sites or [17]our version
     control system.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [18]GCC manuals. If that fails, the
!     [19]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [20]gcc@gcc.gnu.org. All of [21]our lists have public
      archives.
  
!    Copyright (C) [22]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [23]maintained by the GCC team. Last modified
!    2022-05-27[24].
  
  References
  
     1. http://www.gnu.org/
     2. http://gcc.gnu.org/gcc-9/changes.html
!    3. http://gcc.gnu.org/onlinedocs/9.5.0/
     4. http://gcc.gnu.org/gcc-9/changes.html
!    5. http://gcc.gnu.org/onlinedocs/9.4.0/
     6. http://gcc.gnu.org/gcc-9/changes.html
!    7. http://gcc.gnu.org/onlinedocs/9.3.0/
     8. http://gcc.gnu.org/gcc-9/changes.html
!    9. http://gcc.gnu.org/onlinedocs/9.2.0/
!   10. http://gcc.gnu.org/gcc-9/changes.html
!   11. http://gcc.gnu.org/onlinedocs/9.1.0/
!   12. http://gcc.gnu.org/gcc-9/buildstat.html
!   13. http://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Contributors.html
!   14. http://gcc.gnu.org/index.html
!   15. mailto:gcc@gcc.gnu.org
!   16. http://gcc.gnu.org/mirrors.html
!   17. http://gcc.gnu.org/git.html
!   18. https://gcc.gnu.org/onlinedocs/
!   19. mailto:gcc-help@gcc.gnu.org
!   20. mailto:gcc@gcc.gnu.org
!   21. https://gcc.gnu.org/lists.html
!   22. https://www.fsf.org/
!   23. https://gcc.gnu.org/about.html
!   24. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-9/changes.html
  
*************** GCC 9.4
*** 850,869 ****
         for all SVE implementations. Adding -msve-vector-bits=512 makes the
         code specific to 512-bit SVE.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [69]GCC manuals. If that fails, the
!     [70]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [71]gcc@gcc.gnu.org. All of [72]our lists have public
      archives.
  
!    Copyright (C) [73]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [74]maintained by the GCC team. Last modified
!    2021-06-01[75].
  
  References
  
--- 855,881 ----
         for all SVE implementations. Adding -msve-vector-bits=512 makes the
         code specific to 512-bit SVE.
  
+ GCC 9.5
+ 
+    This is the [69]list of problem reports (PRs) from GCC's bug tracking
+    system that are known to be fixed in the 9.5 release. This list might
+    not be complete (that is, it is possible that some PRs that have been
+    fixed are not listed here).
+ 
  
      For questions related to the use of GCC, please consult these web
!     pages and the [70]GCC manuals. If that fails, the
!     [71]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [72]gcc@gcc.gnu.org. All of [73]our lists have public
      archives.
  
!    Copyright (C) [74]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [75]maintained by the GCC team. Last modified
!    2022-05-27[76].
  
  References
  
*************** References
*** 935,952 ****
    66. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.2
    67. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.3
    68. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.4
!   69. https://gcc.gnu.org/onlinedocs/
!   70. mailto:gcc-help@gcc.gnu.org
!   71. mailto:gcc@gcc.gnu.org
!   72. https://gcc.gnu.org/lists.html
!   73. https://www.fsf.org/
!   74. https://gcc.gnu.org/about.html
!   75. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-8/index.html
  
                                GCC 8 Release Series
  
     May 14, 2021
  
     The [1]GNU project and the GCC developers are pleased to announce the
--- 947,967 ----
    66. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.2
    67. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.3
    68. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.4
!   69. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.5
!   70. https://gcc.gnu.org/onlinedocs/
!   71. mailto:gcc-help@gcc.gnu.org
!   72. mailto:gcc@gcc.gnu.org
!   73. https://gcc.gnu.org/lists.html
!   74. https://www.fsf.org/
!   75. https://gcc.gnu.org/about.html
!   76. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-8/index.html
  
                                GCC 8 Release Series
  
+    (This release series is no longer supported.)
+ 
     May 14, 2021
  
     The [1]GNU project and the GCC developers are pleased to announce the
*************** References and Acknowledgements
*** 1005,1011 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2021-05-14[24].
  
  References
  
--- 1020,1026 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2022-05-06[24].
  
  References
  
*************** New Languages and Language specific impr
*** 1279,1285 ****
       * Fixed illegal addresses generated from address expressions which
         refer only to offset 0.
       * Fixed a bug with reg+offset addressing on 32b segments. In 'large'
!        mode, the offset is treated as 32bits unless it's in global,
         read-only or kernarg address space.
       * Fixed a crash caused sometimes by calls with more than 4 arguments.
       * Fixed a mis-execution issue with kernels that have both unexpanded
--- 1294,1300 ----
       * Fixed illegal addresses generated from address expressions which
         refer only to offset 0.
       * Fixed a bug with reg+offset addressing on 32b segments. In 'large'
!        mode, the offset is treated as 32-bit unless it's in global,
         read-only or kernarg address space.
       * Fixed a crash caused sometimes by calls with more than 4 arguments.
       * Fixed a mis-execution issue with kernels that have both unexpanded
*************** GCC 8.5
*** 2115,2121 ****
     provided this notice is preserved.
  
     These pages are [44]maintained by the GCC team. Last modified
!    2021-05-14[45].
  
  References
  
--- 2130,2136 ----
     provided this notice is preserved.
  
     These pages are [44]maintained by the GCC team. Last modified
!    2021-10-01[45].
  
  References
  
*************** http://gcc.gnu.org/gcc-7/index.html
*** 2169,2174 ****
--- 2184,2191 ----
  
                                GCC 7 Release Series
  
+    (This release series is no longer supported.)
+ 
     Nov 14, 2019
  
     The [1]GNU project and the GCC developers are pleased to announce the
*************** References and Acknowledgements
*** 2227,2233 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2020-01-14[24].
  
  References
  
--- 2244,2250 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2022-05-06[24].
  
  References
  
*************** Address 0x7fffb8dba990 is located in sta
*** 2374,2388 ****
       * The -fsanitize=signed-integer-overflow suboption of the
         UndefinedBehavior Sanitizer now diagnoses arithmetic overflows even
         on arithmetic operations with generic vectors.
!      * Version 5 of the [6]DWARF debugging information standard is
!        supported through the -gdwarf-5 option. The DWARF version 4
!        debugging information remains the default until consumers of
!        debugging information are adjusted.
  
  New Languages and Language specific improvements
  
     OpenACC support in C, C++, and Fortran continues to be maintained and
!    improved. See the [7]OpenACC and [8]Offloading wiki pages for further
     information.
  
    Ada
--- 2391,2405 ----
       * The -fsanitize=signed-integer-overflow suboption of the
         UndefinedBehavior Sanitizer now diagnoses arithmetic overflows even
         on arithmetic operations with generic vectors.
!      * Version 5 of the DWARF debugging information standard is supported
!        through the -gdwarf-5 option. The DWARF version 4 debugging
!        information remains the default until consumers of debugging
!        information are adjusted.
  
  New Languages and Language specific improvements
  
     OpenACC support in C, C++, and Fortran continues to be maintained and
!    improved. See the [6]OpenACC and [7]Offloading wiki pages for further
     information.
  
    Ada
*************** note: 'snprintf' output between 3 and 5
*** 2701,2707 ****
              more cases of the problem than in prior GCC versions.
            + The -Wstringop-overflow=type option detects buffer overflow in
              calls to string handling functions like memcpy and strcpy. The
!             option relies on [9]Object Size Checking and has an effect
              similar to defining the _FORTIFY_SOURCE macro.
              -Wstringop-overflow=2 is enabled by default.
              For example, in the following snippet, because the call to
--- 2718,2724 ----
              more cases of the problem than in prior GCC versions.
            + The -Wstringop-overflow=type option detects buffer overflow in
              calls to string handling functions like memcpy and strcpy. The
!             option relies on [8]Object Size Checking and has an effect
              similar to defining the _FORTIFY_SOURCE macro.
              -Wstringop-overflow=2 is enabled by default.
              For example, in the following snippet, because the call to
*************** enum {
*** 2791,2804 ****
         C++17 draft with the -std=c++1z or -std=gnu++1z flags, including if
         constexpr, class template argument deduction, auto template
         parameters, and structured bindings. For a full list of new
!        features, see [10]the C++ status page.
       * C++17 support for new of over-aligned types can be enabled in other
         modes with the -faligned-new flag.
       * The C++17 evaluation order requirements can be selected in other
         modes with the -fstrong-eval-order flag, or disabled in C++17 mode
         with -fno-strong-eval-order.
       * The default semantics of inherited constructors has changed in all
!        modes, following [11]P0136. Essentially, overload resolution
         happens as if calling the inherited constructor directly, and the
         compiler fills in construction of the other bases and members as
         needed. Most uses should not need any changes. The old behavior can
--- 2808,2821 ----
         C++17 draft with the -std=c++1z or -std=gnu++1z flags, including if
         constexpr, class template argument deduction, auto template
         parameters, and structured bindings. For a full list of new
!        features, see [9]the C++ status page.
       * C++17 support for new of over-aligned types can be enabled in other
         modes with the -faligned-new flag.
       * The C++17 evaluation order requirements can be selected in other
         modes with the -fstrong-eval-order flag, or disabled in C++17 mode
         with -fno-strong-eval-order.
       * The default semantics of inherited constructors has changed in all
!        modes, following [10]P0136. Essentially, overload resolution
         happens as if calling the inherited constructor directly, and the
         compiler fills in construction of the other bases and members as
         needed. Most uses should not need any changes. The old behavior can
*************** test.cc:4:11: error: expected ';' after
*** 2822,2828 ****
      Runtime Library (libstdc++)
  
       * The type of exception thrown by iostreams, std::ios_base::failure,
!        now uses the [12]cxx11 ABI.
       * Experimental support for C++17, including the following new
         features:
            + std::string_view;
--- 2839,2845 ----
      Runtime Library (libstdc++)
  
       * The type of exception thrown by iostreams, std::ios_base::failure,
!        now uses the [11]cxx11 ABI.
       * Experimental support for C++17, including the following new
         features:
            + std::string_view;
*************** end program test
*** 2888,2894 ****
  At line 8 of file do_check_12.f90
  Fortran runtime error: Loop iterates infinitely
  
!      * Version 4.5 of the [13]OpenMP specification is now partially
         supported in the Fortran compiler; the largest missing item is
         structure element mapping.
       * User-defined derived-type input/output (UDTIO) is added.
--- 2905,2911 ----
  At line 8 of file do_check_12.f90
  Fortran runtime error: Loop iterates infinitely
  
!      * Version 4.5 of the [12]OpenMP specification is now partially
         supported in the Fortran compiler; the largest missing item is
         structure element mapping.
       * User-defined derived-type input/output (UDTIO) is added.
*************** libgccjit
*** 2921,2927 ****
  
     The libgccjit API gained support for marking calls as requiring
     tail-call optimization via a new entry point:
!    [14]gcc_jit_rvalue_set_bool_require_tail_call.
  
     libgccjit performs numerous checks at the API boundary, but if these
     succeed, it previously ignored errors and other diagnostics emitted
--- 2938,2944 ----
  
     The libgccjit API gained support for marking calls as requiring
     tail-call optimization via a new entry point:
!    [13]gcc_jit_rvalue_set_bool_require_tail_call.
  
     libgccjit performs numerous checks at the API boundary, but if these
     succeed, it previously ignored errors and other diagnostics emitted
*************** New Targets and Target Specific Improvem
*** 2942,2948 ****
       * The option -msign-return-address= is supported to enable return
         address protection using ARMv8.3-A Pointer Authentication
         Extensions. For more information on the arguments accepted by this
!        option, please refer to [15]AArch64-Options.
       * The ARMv8.2-A architecture and the ARMv8.2-A 16-bit Floating-Point
         Extensions are now supported. They can be used by specifying the
         -march=armv8.2-a or -march=armv8.2-a+fp16 options. The 16-bit
--- 2959,2965 ----
       * The option -msign-return-address= is supported to enable return
         address protection using ARMv8.3-A Pointer Authentication
         Extensions. For more information on the arguments accepted by this
!        option, please refer to [14]AArch64-Options.
       * The ARMv8.2-A architecture and the ARMv8.2-A 16-bit Floating-Point
         Extensions are now supported. They can be used by specifying the
         -march=armv8.2-a or -march=armv8.2-a+fp16 options. The 16-bit
*************** New Targets and Target Specific Improvem
*** 2997,3007 ****
         of intrinsics such as cdp, ldc, and others.
       * The configure option --with-multilib-list now accepts the value
         rmprofile to build multilib libraries for a range of embedded
!        targets. See our [16]installation instructions for details.
  
    AVR
  
!      * On the reduced Tiny cores, the progmem [17]variable attribute is
         now properly supported. Respective read-only variables are located
         in flash memory in section .progmem.data. No special code is needed
         to access such variables; the compiler automatically adds an offset
--- 3014,3024 ----
         of intrinsics such as cdp, ldc, and others.
       * The configure option --with-multilib-list now accepts the value
         rmprofile to build multilib libraries for a range of embedded
!        targets. See our [15]installation instructions for details.
  
    AVR
  
!      * On the reduced Tiny cores, the progmem [16]variable attribute is
         now properly supported. Respective read-only variables are located
         in flash memory in section .progmem.data. No special code is needed
         to access such variables; the compiler automatically adds an offset
*************** const int* get_address (unsigned idx)
*** 3029,3035 ****
         off -- or turns into errors -- warnings that are reported for
         interrupt service routines (ISRs) which don't follow AVR-LibC's
         naming convention of prefixing ISR names with __vector.
!      * __builtin_avr_nops(n) is a new [18]built-in function that inserts n
         NOP instructions into the instruction stream. n must be a value
         known at compile time.
  
--- 3046,3052 ----
         off -- or turns into errors -- warnings that are reported for
         interrupt service routines (ISRs) which don't follow AVR-LibC's
         naming convention of prefixing ISR names with __vector.
!      * __builtin_avr_nops(n) is a new [17]built-in function that inserts n
         NOP instructions into the instruction stream. n must be a value
         known at compile time.
  
*************** const int* get_address (unsigned idx)
*** 3044,3050 ****
    NVPTX
  
       * OpenMP target regions can now be offloaded to NVidia PTX GPGPUs.
!        See the [19]Offloading Wiki on how to configure it.
  
    PowerPC / PowerPC64 / RS6000
  
--- 3061,3067 ----
    NVPTX
  
       * OpenMP target regions can now be offloaded to NVidia PTX GPGPUs.
!        See the [18]Offloading Wiki on how to configure it.
  
    PowerPC / PowerPC64 / RS6000
  
*************** Operating Systems
*** 3121,3127 ****
  
    Fuchsia
  
!      * Support has been added for the [20]Fuchsia OS.
  
    RTEMS
  
--- 3138,3144 ----
  
    Fuchsia
  
!      * Support has been added for the [19]Fuchsia OS.
  
    RTEMS
  
*************** x-early-inliner-iterations'?
*** 3238,3258 ****
            + GCC's C front end has been extended so that it can parse dumps
              of GCC's internal representations, allowing for DejaGnu tests
              that more directly exercise specific optimization passes. This
!             covers both the [21]GIMPLE representation (for testing
!             higher-level optimizations) and the [22]RTL representation,
              allowing for more direct testing of lower-level details, such
              as register allocation and instruction selection.
  
  GCC 7.1
  
!    This is the [23]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 7.1 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  GCC 7.2
  
!    This is the [24]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 7.2 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
--- 3255,3275 ----
            + GCC's C front end has been extended so that it can parse dumps
              of GCC's internal representations, allowing for DejaGnu tests
              that more directly exercise specific optimization passes. This
!             covers both the [20]GIMPLE representation (for testing
!             higher-level optimizations) and the [21]RTL representation,
              allowing for more direct testing of lower-level details, such
              as register allocation and instruction selection.
  
  GCC 7.1
  
!    This is the [22]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 7.1 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  GCC 7.2
  
!    This is the [23]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 7.2 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
*************** GCC 7.2
*** 3279,3285 ****
  
  GCC 7.3
  
!    This is the [25]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 7.3 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
--- 3296,3302 ----
  
  GCC 7.3
  
!    This is the [24]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 7.3 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
*************** GCC 7.3
*** 3288,3294 ****
  
      SPARC
  
!      * Workarounds for the four [26]LEON3FT errata GRLIB-TN-0010..0013
         have been added. Relevant errata are activated by the target
         specific -mfix-ut699, -mfix-ut700 and -mfix-gr712rc switches.
  
--- 3305,3311 ----
  
      SPARC
  
!      * Workarounds for the four [25]LEON3FT errata GRLIB-TN-0010..0013
         have been added. Relevant errata are activated by the target
         specific -mfix-ut699, -mfix-ut700 and -mfix-gr712rc switches.
  
*************** GCC 7.3
*** 3300,3331 ****
  
  GCC 7.4
  
!    This is the [27]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 7.4 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  GCC 7.5
  
!    This is the [28]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 7.5 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [29]GCC manuals. If that fails, the
!     [30]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [31]gcc@gcc.gnu.org. All of [32]our lists have public
      archives.
  
!    Copyright (C) [33]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [34]maintained by the GCC team. Last modified
!    2020-04-07[35].
  
  References
  
--- 3317,3348 ----
  
  GCC 7.4
  
!    This is the [26]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 7.4 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  GCC 7.5
  
!    This is the [27]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 7.5 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [28]GCC manuals. If that fails, the
!     [29]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [30]gcc@gcc.gnu.org. All of [31]our lists have public
      archives.
  
!    Copyright (C) [32]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [33]maintained by the GCC team. Last modified
!    2021-10-17[34].
  
  References
  
*************** References
*** 3334,3369 ****
     3. https://gcc.gnu.org/wiki/LRAIsDefault
     4. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/libstdc++/manual/manual/profile_mode.html
     5. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728
!    6. http://www.dwarfstd.org/Download.php
!    7. https://gcc.gnu.org/wiki/OpenACC
!    8. https://gcc.gnu.org/wiki/Offloading
!    9. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/Object-Size-Checking.html
!   10. https://gcc.gnu.org/projects/cxx-status.html#cxx1z
!   11. https://wg21.link/p0136
!   12. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/libstdc++/manual/using_dual_abi.html
!   13. https://www.openmp.org/specifications/
!   14. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/jit/topics/expressions.html#gcc_jit_rvalue_set_bool_require_tail_call
!   15. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/AArch64-Options.html#AArch64-Options
!   16. https://gcc.gnu.org/install/configure.html
!   17. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/AVR-Variable-Attributes.html
!   18. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/AVR-Built-in-Functions.html
!   19. https://gcc.gnu.org/wiki/Offloading
!   20. https://fuchsia.googlesource.com/
!   21. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gccint/GIMPLE-Tests.html
!   22. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gccint/RTL-Tests.html
!   23. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.0
!   24. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.2
!   25. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.3
!   26. https://www.gaisler.com/index.php/information/app-tech-notes
!   27. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.4
!   28. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.5
!   29. https://gcc.gnu.org/onlinedocs/
!   30. mailto:gcc-help@gcc.gnu.org
!   31. mailto:gcc@gcc.gnu.org
!   32. https://gcc.gnu.org/lists.html
!   33. https://www.fsf.org/
!   34. https://gcc.gnu.org/about.html
!   35. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-6/index.html
  
--- 3351,3385 ----
     3. https://gcc.gnu.org/wiki/LRAIsDefault
     4. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/libstdc++/manual/manual/profile_mode.html
     5. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728
!    6. https://gcc.gnu.org/wiki/OpenACC
!    7. https://gcc.gnu.org/wiki/Offloading
!    8. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/Object-Size-Checking.html
!    9. https://gcc.gnu.org/projects/cxx-status.html#cxx1z
!   10. https://wg21.link/p0136
!   11. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/libstdc++/manual/using_dual_abi.html
!   12. https://www.openmp.org/specifications/
!   13. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/jit/topics/expressions.html#gcc_jit_rvalue_set_bool_require_tail_call
!   14. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/AArch64-Options.html#AArch64-Options
!   15. https://gcc.gnu.org/install/configure.html
!   16. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/AVR-Variable-Attributes.html
!   17. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/AVR-Built-in-Functions.html
!   18. https://gcc.gnu.org/wiki/Offloading
!   19. https://fuchsia.googlesource.com/
!   20. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gccint/GIMPLE-Tests.html
!   21. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gccint/RTL-Tests.html
!   22. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.0
!   23. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.2
!   24. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.3
!   25. https://www.gaisler.com/index.php/information/app-tech-notes
!   26. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.4
!   27. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.5
!   28. https://gcc.gnu.org/onlinedocs/
!   29. mailto:gcc-help@gcc.gnu.org
!   30. mailto:gcc@gcc.gnu.org
!   31. https://gcc.gnu.org/lists.html
!   32. https://www.fsf.org/
!   33. https://gcc.gnu.org/about.html
!   34. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-6/index.html
  
*************** References and Acknowledgements
*** 3429,3435 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2020-01-14[24].
  
  References
  
--- 3445,3451 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2021-07-28[24].
  
  References
  
*************** Operating Systems
*** 4168,4174 ****
     provided this notice is preserved.
  
     These pages are [32]maintained by the GCC team. Last modified
!    2020-08-01[33].
  
  References
  
--- 4184,4190 ----
     provided this notice is preserved.
  
     These pages are [32]maintained by the GCC team. Last modified
!    2021-10-31[33].
  
  References
  
*************** References
*** 4195,4201 ****
    21. http://www.musl-libc.org/
    22. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=6.2
    23. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=6.3
!   24. https://software.intel.com/content/www/us/en/develop/blogs/deprecate-pcommit-instruction.html
    25. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=6.4
    26. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=6.5
    27. https://gcc.gnu.org/onlinedocs/
--- 4211,4217 ----
    21. http://www.musl-libc.org/
    22. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=6.2
    23. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=6.3
!   24. https://www.intel.com/content/www/us/en/developer/articles/technical/deprecate-pcommit-instruction.html
    25. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=6.4
    26. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=6.5
    27. https://gcc.gnu.org/onlinedocs/
*************** References and Acknowledgements
*** 4270,4276 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2020-01-14[24].
  
  References
  
--- 4286,4292 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2021-07-28[24].
  
  References
  
*************** New Targets and Target Specific Improvem
*** 4915,4929 ****
  
    IA-32/x86-64
  
!      * New [39]ISA extensions support AVX-512{BW,DQ,VL,IFMA,VBMI} of
!        Intel's CPU codenamed Skylake Server was added to GCC. That
!        includes inline assembly support, new intrinsics, and basic
!        autovectorization. These new AVX-512 extensions are available via
!        the following GCC switches: AVX-512 Vector Length EVEX feature:
!        -mavx512vl, AVX-512 Byte and Word instructions: -mavx512bw, AVX-512
!        Dword and Qword instructions: -mavx512dq, AVX-512 FMA-52
!        instructions: -mavx512ifma and for AVX-512 Vector Bit Manipulation
!        Instructions: -mavx512vbmi.
       * New ISA extensions support Intel MPX was added to GCC. This new
         extension is available via the -mmpx compiler switch. Intel MPX is
         a set of processor features which, with compiler, run-time library
--- 4931,4944 ----
  
    IA-32/x86-64
  
!      * New ISA extensions support AVX-512{BW,DQ,VL,IFMA,VBMI} of Intel's
!        CPU codenamed Skylake Server was added to GCC. That includes inline
!        assembly support, new intrinsics, and basic autovectorization.
!        These new AVX-512 extensions are available via the following GCC
!        switches: AVX-512 Vector Length EVEX feature: -mavx512vl, AVX-512
!        Byte and Word instructions: -mavx512bw, AVX-512 Dword and Qword
!        instructions: -mavx512dq, AVX-512 FMA-52 instructions: -mavx512ifma
!        and for AVX-512 Vector Bit Manipulation Instructions: -mavx512vbmi.
       * New ISA extensions support Intel MPX was added to GCC. This new
         extension is available via the -mmpx compiler switch. Intel MPX is
         a set of processor features which, with compiler, run-time library
*************** Other significant improvements
*** 5086,5092 ****
  
                                      GCC 5.2
  
!    This is the [40]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 5.2 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
--- 5101,5107 ----
  
                                      GCC 5.2
  
!    This is the [39]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 5.2 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
*************** Target Specific Changes
*** 5127,5133 ****
  
                                      GCC 5.3
  
!    This is the [41]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 5.3 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
--- 5142,5148 ----
  
                                      GCC 5.3
  
!    This is the [40]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 5.3 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
*************** Target Specific Changes
*** 5149,5162 ****
  
                                      GCC 5.4
  
!    This is the [42]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 5.4 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
                                      GCC 5.5
  
!    This is the [43]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 5.5 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
--- 5164,5177 ----
  
                                      GCC 5.4
  
!    This is the [41]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 5.4 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
                                      GCC 5.5
  
!    This is the [42]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 5.5 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
*************** Target Specific Changes
*** 5165,5187 ****
  
    IA-32/x86-64
  
!      * Support for the [44]deprecated pcommit instruction has been
         removed.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [45]GCC manuals. If that fails, the
!     [46]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [47]gcc@gcc.gnu.org. All of [48]our lists have public
      archives.
  
!    Copyright (C) [49]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [50]maintained by the GCC team. Last modified
!    2021-05-01[51].
  
  References
  
--- 5180,5202 ----
  
    IA-32/x86-64
  
!      * Support for the [43]deprecated pcommit instruction has been
         removed.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [44]GCC manuals. If that fails, the
!     [45]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [46]gcc@gcc.gnu.org. All of [47]our lists have public
      archives.
  
!    Copyright (C) [48]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [49]maintained by the GCC team. Last modified
!    2022-03-11[50].
  
  References
  
*************** References
*** 5213,5220 ****
    26. https://gcc.gnu.org/wiki/Fortran2008Status
    27. https://gcc.gnu.org/wiki/Coarray
    28. http://www.opencoarrays.org/
!   29. https://golang.org/cmd/go/
!   30. https://golang.org/cmd/gofmt/
    31. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/jit/intro/index.html
    32. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/jit/cp/index.html
    33. https://github.com/davidmalcolm/pygccjit
--- 5228,5235 ----
    26. https://gcc.gnu.org/wiki/Fortran2008Status
    27. https://gcc.gnu.org/wiki/Coarray
    28. http://www.opencoarrays.org/
!   29. https://pkg.go.dev/cmd/go
!   30. https://pkg.go.dev/cmd/gofmt
    31. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/jit/intro/index.html
    32. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/jit/cp/index.html
    33. https://github.com/davidmalcolm/pygccjit
*************** References
*** 5223,5241 ****
    36. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/jit/intro/tutorial05.html
    37. https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html
    38. https://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html
!   39. https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf
!   40. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.2
!   41. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.3
!   42. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.4
!   43. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.5
!   44. https://software.intel.com/content/www/us/en/develop/blogs/deprecate-pcommit-instruction.html
!   45. https://gcc.gnu.org/onlinedocs/
!   46. mailto:gcc-help@gcc.gnu.org
!   47. mailto:gcc@gcc.gnu.org
!   48. https://gcc.gnu.org/lists.html
!   49. https://www.fsf.org/
!   50. https://gcc.gnu.org/about.html
!   51. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-4.9/index.html
  
--- 5238,5255 ----
    36. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/jit/intro/tutorial05.html
    37. https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html
    38. https://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html
!   39. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.2
!   40. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.3
!   41. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.4
!   42. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.5
!   43. https://www.intel.com/content/www/us/en/developer/articles/technical/deprecate-pcommit-instruction.html
!   44. https://gcc.gnu.org/onlinedocs/
!   45. mailto:gcc-help@gcc.gnu.org
!   46. mailto:gcc@gcc.gnu.org
!   47. https://gcc.gnu.org/lists.html
!   48. https://www.fsf.org/
!   49. https://gcc.gnu.org/about.html
!   50. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-4.9/index.html
  
*************** References and Acknowledgements
*** 5301,5307 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2020-01-14[24].
  
  References
  
--- 5315,5321 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2021-07-28[24].
  
  References
  
*************** GCC 4.9.4
*** 5941,5947 ****
     provided this notice is preserved.
  
     These pages are [33]maintained by the GCC team. Last modified
!    2021-03-31[34].
  
  References
  
--- 5955,5961 ----
     provided this notice is preserved.
  
     These pages are [33]maintained by the GCC team. Last modified
!    2021-07-28[34].
  
  References
  
*************** References and Acknowledgements
*** 6047,6053 ****
     provided this notice is preserved.
  
     These pages are [25]maintained by the GCC team. Last modified
!    2020-01-14[26].
  
  References
  
--- 6061,6067 ----
     provided this notice is preserved.
  
     These pages are [25]maintained by the GCC team. Last modified
!    2021-07-28[26].
  
  References
  
*************** GCC 4.8.5
*** 6803,6809 ****
     provided this notice is preserved.
  
     These pages are [43]maintained by the GCC team. Last modified
!    2020-03-26[44].
  
  References
  
--- 6817,6823 ----
     provided this notice is preserved.
  
     These pages are [43]maintained by the GCC team. Last modified
!    2021-07-28[44].
  
  References
  
*************** References and Acknowledgements
*** 6916,6922 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2020-01-14[24].
  
  References
  
--- 6930,6936 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2021-07-28[24].
  
  References
  
*************** GCC 4.7.4
*** 7738,7744 ****
     provided this notice is preserved.
  
     These pages are [54]maintained by the GCC team. Last modified
!    2019-11-28[55].
  
  References
  
--- 7752,7758 ----
     provided this notice is preserved.
  
     These pages are [54]maintained by the GCC team. Last modified
!    2022-02-10[55].
  
  References
  
*************** References
*** 7775,7792 ****
    31. https://gcc.gnu.org/wiki/CoarrayLib
    32. https://gcc.gnu.org/wiki/TS29113Status
    33. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Fortran-Dialect-Options.html#index-g_t_0040code_007bstd_003d_007d_0040var_007bstd_007d-option-53
!   34. https://golang.org/doc/go1
    35. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Named-Address-Spaces.html
!   36. http://nongnu.org/avr-libc/
    37. https://gcc.gnu.org/PR54461
    38. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/AVR-Built%5f002din-Functions.html
    39. https://sites.google.com/site/x32abi/
!   40. http://www.dwarfstd.org/ShowIssue.php?issue=100909.1
!   41. http://www.dwarfstd.org/ShowIssue.php?issue=100909.2
!   42. http://www.dwarfstd.org/ShowIssue.php?issue=140425.1
!   43. http://www.dwarfstd.org/ShowIssue.php?issue=110722.1
    44. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.1
!   45. https://golang.org/doc/go1
    46. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.2
    47. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.3
    48. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.4
--- 7789,7806 ----
    31. https://gcc.gnu.org/wiki/CoarrayLib
    32. https://gcc.gnu.org/wiki/TS29113Status
    33. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Fortran-Dialect-Options.html#index-g_t_0040code_007bstd_003d_007d_0040var_007bstd_007d-option-53
!   34. https://go.dev/doc/go1
    35. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Named-Address-Spaces.html
!   36. http://www.nongnu.org/avr-libc/
    37. https://gcc.gnu.org/PR54461
    38. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/AVR-Built%5f002din-Functions.html
    39. https://sites.google.com/site/x32abi/
!   40. https://www.dwarfstd.org/ShowIssue.php?issue=100909.1
!   41. https://www.dwarfstd.org/ShowIssue.php?issue=100909.2
!   42. https://www.dwarfstd.org/ShowIssue.php?issue=140425.1
!   43. https://www.dwarfstd.org/ShowIssue.php?issue=110722.1
    44. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.1
!   45. https://go.dev/doc/go1
    46. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.2
    47. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.3
    48. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.4
*************** References and Acknowledgements
*** 7862,7868 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2020-01-14[24].
  
  References
  
--- 7876,7882 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2021-07-28[24].
  
  References
  
*************** New Languages and Language specific impr
*** 8348,8357 ****
  
    Go
  
!    Support for the [19]Go programming language has been added to GCC. It
!    is not enabled by default when you build GCC; use the
!    --enable-languages configure option to build it. The driver program for
!    compiling Go code is gccgo.
  
     Go is currently known to work on GNU/Linux and RTEMS. Solaris support
     is in progress. It may or may not work on other platforms.
--- 8362,8371 ----
  
    Go
  
!    Support for the Go programming language has been added to GCC. It is
!    not enabled by default when you build GCC; use the --enable-languages
!    configure option to build it. The driver program for compiling Go code
!    is gccgo.
  
     Go is currently known to work on GNU/Linux and RTEMS. Solaris support
     is in progress. It may or may not work on other platforms.
*************** Changes for GCC Developers
*** 8748,8793 ****
  
  GCC 4.6.1
  
!    This is the [20]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 4.6.1 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  GCC 4.6.2
  
!    This is the [21]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 4.6.2 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  GCC 4.6.3
  
!    This is the [22]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 4.6.3 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  GCC 4.6.4
  
!    This is the [23]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 4.6.4 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [24]GCC manuals. If that fails, the
!     [25]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [26]gcc@gcc.gnu.org. All of [27]our lists have public
      archives.
  
!    Copyright (C) [28]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [29]maintained by the GCC team. Last modified
!    2019-11-28[30].
  
  References
  
--- 8762,8807 ----
  
  GCC 4.6.1
  
!    This is the [19]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 4.6.1 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  GCC 4.6.2
  
!    This is the [20]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 4.6.2 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  GCC 4.6.3
  
!    This is the [21]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 4.6.3 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  GCC 4.6.4
  
!    This is the [22]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 4.6.4 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [23]GCC manuals. If that fails, the
!     [24]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [25]gcc@gcc.gnu.org. All of [26]our lists have public
      archives.
  
!    Copyright (C) [27]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [28]maintained by the GCC team. Last modified
!    2021-12-05[29].
  
  References
  
*************** References
*** 8809,8826 ****
    16. https://gcc.gnu.org/wiki/OOP
    17. https://gcc.gnu.org/wiki/Coarray
    18. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfcoarray_007d-233
!   19. https://golang.org/
!   20. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.6.1
!   21. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.6.2
!   22. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.6.3
!   23. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.6.4
!   24. https://gcc.gnu.org/onlinedocs/
!   25. mailto:gcc-help@gcc.gnu.org
!   26. mailto:gcc@gcc.gnu.org
!   27. https://gcc.gnu.org/lists.html
!   28. https://www.fsf.org/
!   29. https://gcc.gnu.org/about.html
!   30. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-4.5/index.html
  
--- 8823,8839 ----
    16. https://gcc.gnu.org/wiki/OOP
    17. https://gcc.gnu.org/wiki/Coarray
    18. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfcoarray_007d-233
!   19. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.6.1
!   20. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.6.2
!   21. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.6.3
!   22. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.6.4
!   23. https://gcc.gnu.org/onlinedocs/
!   24. mailto:gcc-help@gcc.gnu.org
!   25. mailto:gcc@gcc.gnu.org
!   26. https://gcc.gnu.org/lists.html
!   27. https://www.fsf.org/
!   28. https://gcc.gnu.org/about.html
!   29. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-4.5/index.html
  
*************** References and Acknowledgements
*** 8886,8892 ****
     provided this notice is preserved.
  
     These pages are [18]maintained by the GCC team. Last modified
!    2020-01-14[19].
  
  References
  
--- 8899,8905 ----
     provided this notice is preserved.
  
     These pages are [18]maintained by the GCC team. Last modified
!    2021-07-28[19].
  
  References
  
*************** GCC 4.5.4
*** 9559,9569 ****
     provided this notice is preserved.
  
     These pages are [32]maintained by the GCC team. Last modified
!    2019-11-28[33].
  
  References
  
!    1. http://www.multiprecision.org/mpc/
     2. https://gcc.gnu.org/install/prerequisites.html
     3. https://gcc.gnu.org/ml/gcc/2010-01/msg00510.html
     4. http://gcc.gnu.org/gcc-4.4/changes.html#obsoleted
--- 9572,9582 ----
     provided this notice is preserved.
  
     These pages are [32]maintained by the GCC team. Last modified
!    2022-02-02[33].
  
  References
  
!    1. https://www.multiprecision.org/mpc/
     2. https://gcc.gnu.org/install/prerequisites.html
     3. https://gcc.gnu.org/ml/gcc/2010-01/msg00510.html
     4. http://gcc.gnu.org/gcc-4.4/changes.html#obsoleted
*************** References and Acknowledgements
*** 9670,9676 ****
     provided this notice is preserved.
  
     These pages are [21]maintained by the GCC team. Last modified
!    2020-01-14[22].
  
  References
  
--- 9683,9689 ----
     provided this notice is preserved.
  
     These pages are [21]maintained by the GCC team. Last modified
!    2021-07-28[22].
  
  References
  
*************** GCC 4.4.7
*** 10301,10307 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2019-11-28[24].
  
  References
  
--- 10314,10320 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2021-07-28[24].
  
  References
  
*************** References and Acknowledgements
*** 10400,10406 ****
     provided this notice is preserved.
  
     These pages are [20]maintained by the GCC team. Last modified
!    2020-01-14[21].
  
  References
  
--- 10413,10419 ----
     provided this notice is preserved.
  
     These pages are [20]maintained by the GCC team. Last modified
!    2021-07-28[21].
  
  References
  
*************** GCC 4.3.6
*** 11206,11212 ****
     provided this notice is preserved.
  
     These pages are [30]maintained by the GCC team. Last modified
!    2019-11-28[31].
  
  References
  
--- 11219,11225 ----
     provided this notice is preserved.
  
     These pages are [30]maintained by the GCC team. Last modified
!    2021-07-28[31].
  
  References
  
*************** References and Acknowledgements
*** 11306,11312 ****
     provided this notice is preserved.
  
     These pages are [18]maintained by the GCC team. Last modified
!    2020-01-14[19].
  
  References
  
--- 11319,11325 ----
     provided this notice is preserved.
  
     These pages are [18]maintained by the GCC team. Last modified
!    2021-07-28[19].
  
  References
  
*************** Other significant improvements
*** 11635,11641 ****
     provided this notice is preserved.
  
     These pages are [11]maintained by the GCC team. Last modified
!    2019-11-28[12].
  
  References
  
--- 11648,11654 ----
     provided this notice is preserved.
  
     These pages are [11]maintained by the GCC team. Last modified
!    2021-07-28[12].
  
  References
  
*************** References and Acknowledgements
*** 11710,11716 ****
     provided this notice is preserved.
  
     These pages are [16]maintained by the GCC team. Last modified
!    2020-01-14[17].
  
  References
  
--- 11723,11729 ----
     provided this notice is preserved.
  
     These pages are [16]maintained by the GCC team. Last modified
!    2021-07-28[17].
  
  References
  
*************** New Languages and Language specific impr
*** 11978,11986 ****
                 o BufferedImage and GtkImage rewrites. All image drawing
                   operations should now work correctly (flipping requires
                   gtk+ >= 2.6)
-                o Future Graphics2D, image and text work is documented at:
-                  [2]http://developer.classpath.org/mediation/ClasspathGrap
-                  hicsImagesText
                 o When gtk+ 2.6 or higher is installed the default log
                   handler will produce stack traces whenever a WARNING,
                   CRITICAL or ERROR message is produced.
--- 11991,11996 ----
*************** New Languages and Language specific impr
*** 12123,12129 ****
                   most of the work is currently being done around gcj/gij
                   we want this framework to be as VM neutral as possible.
                   Early design is described in:
!                  [3]https://gcc.gnu.org/ml/java/2005-05/msg00260.html
                 o QT4 AWT peers, enable by giving configure
                   --enable-qt-peer. Included, but not ready for production
                   yet. They are explicitly disabled and not supported. But
--- 12133,12139 ----
                   most of the work is currently being done around gcj/gij
                   we want this framework to be as VM neutral as possible.
                   Early design is described in:
!                  [2]https://gcc.gnu.org/ml/java/2005-05/msg00260.html
                 o QT4 AWT peers, enable by giving configure
                   --enable-qt-peer. Included, but not ready for production
                   yet. They are explicitly disabled and not supported. But
*************** New Languages and Language specific impr
*** 12132,12138 ****
                   explicitly enable them to try them out (and they will
                   most likely contain bugs).
                 o Documentation fixes all over the place. See
!                  [4]http://developer.classpath.org/doc/
  
  New Targets and Target Specific Improvements
  
--- 12142,12148 ----
                   explicitly enable them to try them out (and they will
                   most likely contain bugs).
                 o Documentation fixes all over the place. See
!                  [3]https://developer.classpath.org/doc/
  
  New Targets and Target Specific Improvements
  
*************** New Targets and Target Specific Improvem
*** 12201,12207 ****
              instructions implicitly truncate the shift count to six bits.
       * Back-end support for the following generic features has been
         implemented:
!           + The full set of [5]built-in functions for atomic memory
              access.
            + The -fstack-protector feature.
            + The optimization pass avoiding unnecessary stores of incoming
--- 12211,12217 ----
              instructions implicitly truncate the shift count to six bits.
       * Back-end support for the following generic features has been
         implemented:
!           + The full set of [4]built-in functions for atomic memory
              access.
            + The -fstack-protector feature.
            + The optimization pass avoiding unnecessary stores of incoming
*************** Other significant improvements
*** 12237,12243 ****
  
  GCC 4.1.2
  
!    This is the [6]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 4.1.2 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
--- 12247,12253 ----
  
  GCC 4.1.2
  
!    This is the [5]list of problem reports (PRs) from GCC's bug tracking
     system that are known to be fixed in the 4.1.2 release. This list might
     not be complete (that is, it is possible that some PRs that have been
     fixed are not listed here).
*************** GCC 4.1.2
*** 12263,12296 ****
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [7]GCC manuals. If that fails, the
!     [8]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [9]gcc@gcc.gnu.org. All of [10]our lists have public
!     archives.
  
!    Copyright (C) [11]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [12]maintained by the GCC team. Last modified
!    2019-11-28[13].
  
  References
  
     1. http://gcc.gnu.org/gcc-4.1/changes.html#4.1.2
!    2. http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
!    3. https://gcc.gnu.org/ml/java/2005-05/msg00260.html
!    4. http://developer.classpath.org/doc/
!    5. https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
!    6. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.1.2
!    7. https://gcc.gnu.org/onlinedocs/
!    8. mailto:gcc-help@gcc.gnu.org
!    9. mailto:gcc@gcc.gnu.org
!   10. https://gcc.gnu.org/lists.html
!   11. https://www.fsf.org/
!   12. https://gcc.gnu.org/about.html
!   13. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-4.0/index.html
  
--- 12273,12304 ----
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [6]GCC manuals. If that fails, the
!     [7]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [8]gcc@gcc.gnu.org. All of [9]our lists have public archives.
  
!    Copyright (C) [10]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [11]maintained by the GCC team. Last modified
!    2021-10-18[12].
  
  References
  
     1. http://gcc.gnu.org/gcc-4.1/changes.html#4.1.2
!    2. https://gcc.gnu.org/ml/java/2005-05/msg00260.html
!    3. https://developer.classpath.org/doc/
!    4. https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
!    5. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.1.2
!    6. https://gcc.gnu.org/onlinedocs/
!    7. mailto:gcc-help@gcc.gnu.org
!    8. mailto:gcc@gcc.gnu.org
!    9. https://gcc.gnu.org/lists.html
!   10. https://www.fsf.org/
!   11. https://gcc.gnu.org/about.html
!   12. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-4.0/index.html
  
*************** References and Acknowledgements
*** 12356,12362 ****
     provided this notice is preserved.
  
     These pages are [18]maintained by the GCC team. Last modified
!    2020-01-14[19].
  
  References
  
--- 12364,12370 ----
     provided this notice is preserved.
  
     These pages are [18]maintained by the GCC team. Last modified
!    2021-07-28[19].
  
  References
  
*************** GCC 4.0.4
*** 12883,12889 ****
     provided this notice is preserved.
  
     These pages are [21]maintained by the GCC team. Last modified
!    2019-11-28[22].
  
  References
  
--- 12891,12897 ----
     provided this notice is preserved.
  
     These pages are [21]maintained by the GCC team. Last modified
!    2021-07-28[22].
  
  References
  
*************** References and Acknowledgements
*** 12985,12991 ****
     provided this notice is preserved.
  
     These pages are [22]maintained by the GCC team. Last modified
!    2020-01-14[23].
  
  References
  
--- 12993,12999 ----
     provided this notice is preserved.
  
     These pages are [22]maintained by the GCC team. Last modified
!    2021-07-28[23].
  
  References
  
*************** GCC 3.4.6
*** 14774,14780 ****
     provided this notice is preserved.
  
     These pages are [416]maintained by the GCC team. Last modified
!    2019-11-28[417].
  
  References
  
--- 14782,14788 ----
     provided this notice is preserved.
  
     These pages are [416]maintained by the GCC team. Last modified
!    2021-07-28[417].
  
  References
  
*************** References and Acknowledgements
*** 15271,15277 ****
     provided this notice is preserved.
  
     These pages are [21]maintained by the GCC team. Last modified
!    2019-11-28[22].
  
  References
  
--- 15279,15285 ----
     provided this notice is preserved.
  
     These pages are [21]maintained by the GCC team. Last modified
!    2021-07-28[22].
  
  References
  
*************** GCC 3.3.6
*** 16647,16653 ****
     provided this notice is preserved.
  
     These pages are [556]maintained by the GCC team. Last modified
!    2019-11-28[557].
  
  References
  
--- 16655,16661 ----
     provided this notice is preserved.
  
     These pages are [556]maintained by the GCC team. Last modified
!    2021-07-28[557].
  
  References
  
*************** References and Acknowledgements
*** 17278,17284 ****
     provided this notice is preserved.
  
     These pages are [17]maintained by the GCC team. Last modified
!    2019-11-28[18].
  
  References
  
--- 17286,17292 ----
     provided this notice is preserved.
  
     These pages are [17]maintained by the GCC team. Last modified
!    2021-07-28[18].
  
  References
  
*************** GCC 3.2
*** 17902,17908 ****
     provided this notice is preserved.
  
     These pages are [251]maintained by the GCC team. Last modified
!    2019-11-28[252].
  
  References
  
--- 17910,17916 ----
     provided this notice is preserved.
  
     These pages are [251]maintained by the GCC team. Last modified
!    2021-07-28[252].
  
  References
  
*************** http://gcc.gnu.org/gcc-3.1/index.html
*** 18208,18214 ****
     provided this notice is preserved.
  
     These pages are [14]maintained by the GCC team. Last modified
!    2019-11-28[15].
  
  References
  
--- 18216,18222 ----
     provided this notice is preserved.
  
     These pages are [14]maintained by the GCC team. Last modified
!    2021-07-28[15].
  
  References
  
*************** Documentation improvements
*** 18563,18569 ****
     provided this notice is preserved.
  
     These pages are [13]maintained by the GCC team. Last modified
!    2019-11-28[14].
  
  References
  
--- 18571,18577 ----
     provided this notice is preserved.
  
     These pages are [13]maintained by the GCC team. Last modified
!    2021-07-28[14].
  
  References
  
*************** Previous 3.0.x Releases
*** 18638,18644 ****
     provided this notice is preserved.
  
     These pages are [14]maintained by the GCC team. Last modified
!    2019-11-28[15].
  
  References
  
--- 18646,18652 ----
     provided this notice is preserved.
  
     These pages are [14]maintained by the GCC team. Last modified
!    2021-07-28[15].
  
  References
  
*************** Other significant improvements
*** 18830,18836 ****
     provided this notice is preserved.
  
     These pages are [18]maintained by the GCC team. Last modified
!    2019-11-28[19].
  
  References
  
--- 18838,18844 ----
     provided this notice is preserved.
  
     These pages are [18]maintained by the GCC team. Last modified
!    2021-07-28[19].
  
  References
  
*************** http://gcc.gnu.org/gcc-3.0/caveats.html
*** 18902,18908 ****
     provided this notice is preserved.
  
     These pages are [7]maintained by the GCC team. Last modified
!    2019-11-28[8].
  
  References
  
--- 18910,18916 ----
     provided this notice is preserved.
  
     These pages are [7]maintained by the GCC team. Last modified
!    2021-07-28[8].
  
  References
  
*************** References and Acknowledgements
*** 18985,18991 ****
     provided this notice is preserved.
  
     These pages are [15]maintained by the GCC team. Last modified
!    2019-11-28[16].
  
  References
  
--- 18993,18999 ----
     provided this notice is preserved.
  
     These pages are [15]maintained by the GCC team. Last modified
!    2021-07-28[16].
  
  References
  
*************** Additional Changes in GCC 2.95.3
*** 19251,19257 ****
     provided this notice is preserved.
  
     These pages are [22]maintained by the GCC team. Last modified
!    2019-11-28[23].
  
  References
  
--- 19259,19265 ----
     provided this notice is preserved.
  
     These pages are [22]maintained by the GCC team. Last modified
!    2021-07-28[23].
  
  References
  
*************** http://gcc.gnu.org/gcc-2.95/caveats.html
*** 19335,19341 ****
     provided this notice is preserved.
  
     These pages are [7]maintained by the GCC team. Last modified
!    2019-11-28[8].
  
  References
  
--- 19343,19349 ----
     provided this notice is preserved.
  
     These pages are [7]maintained by the GCC team. Last modified
!    2021-07-28[8].
  
  References
  
*************** http://gcc.gnu.org/egcs-1.1/index.html
*** 19557,19563 ****
     provided this notice is preserved.
  
     These pages are [15]maintained by the GCC team. Last modified
!    2019-11-28[16].
  
  References
  
--- 19565,19571 ----
     provided this notice is preserved.
  
     These pages are [15]maintained by the GCC team. Last modified
!    2021-07-28[16].
  
  References
  
*************** http://gcc.gnu.org/egcs-1.1/features.htm
*** 19657,19663 ****
     provided this notice is preserved.
  
     These pages are [10]maintained by the GCC team. Last modified
!    2019-11-28[11].
  
  References
  
--- 19665,19671 ----
     provided this notice is preserved.
  
     These pages are [10]maintained by the GCC team. Last modified
!    2021-07-28[11].
  
  References
  
*************** http://gcc.gnu.org/egcs-1.1/caveats.html
*** 19712,19718 ****
     provided this notice is preserved.
  
     These pages are [6]maintained by the GCC team. Last modified
!    2019-11-28[7].
  
  References
  
--- 19720,19726 ----
     provided this notice is preserved.
  
     These pages are [6]maintained by the GCC team. Last modified
!    2021-07-28[7].
  
  References
  
*************** http://gcc.gnu.org/egcs-1.0/index.html
*** 19909,19915 ****
     provided this notice is preserved.
  
     These pages are [10]maintained by the GCC team. Last modified
!    2019-11-28[11].
  
  References
  
--- 19917,19923 ----
     provided this notice is preserved.
  
     These pages are [10]maintained by the GCC team. Last modified
!    2021-07-28[11].
  
  References
  
*************** http://gcc.gnu.org/egcs-1.0/features.htm
*** 19976,19982 ****
     provided this notice is preserved.
  
     These pages are [8]maintained by the GCC team. Last modified
!    2019-11-28[9].
  
  References
  
--- 19984,19990 ----
     provided this notice is preserved.
  
     These pages are [8]maintained by the GCC team. Last modified
!    2021-07-28[9].
  
  References
  
*************** http://gcc.gnu.org/egcs-1.0/caveats.html
*** 20030,20036 ****
     provided this notice is preserved.
  
     These pages are [6]maintained by the GCC team. Last modified
!    2019-11-28[7].
  
  References
  
--- 20038,20044 ----
     provided this notice is preserved.
  
     These pages are [6]maintained by the GCC team. Last modified
!    2021-07-28[7].
  
  References
  
diff -Nrcpad gcc-9.4.0/config/ChangeLog gcc-9.5.0/config/ChangeLog
*** gcc-9.4.0/config/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/config/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,15 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2021-12-16  Martin Storsjö  <martin@martin.st>
+ 
+ 	Backported from master:
+ 	2021-04-13  Martin Storsjö  <martin@martin.st>
+ 
+ 	* mh-mingw: Set __USE_MINGW_ACCESS in missed C++ flags
+ 	variables
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/config/mh-mingw gcc-9.5.0/config/mh-mingw
*** gcc-9.4.0/config/mh-mingw	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/config/mh-mingw	Fri May 27 07:21:10 2022
***************
*** 1,7 ****
--- 1,9 ----
  # Add -D__USE_MINGW_ACCESS to enable the built compiler to work on Windows
  # Vista (see PR33281 for details).
  BOOT_CFLAGS += -D__USE_MINGW_ACCESS -Wno-pedantic-ms-format
+ BOOT_CXXFLAGS += -D__USE_MINGW_ACCESS -Wno-pedantic-ms-format
  CFLAGS += -D__USE_MINGW_ACCESS
+ CXXFLAGS += -D__USE_MINGW_ACCESS
  STAGE1_CXXFLAGS += -D__USE_MINGW_ACCESS
  STAGE2_CXXFLAGS += -D__USE_MINGW_ACCESS
  STAGE3_CXXFLAGS += -D__USE_MINGW_ACCESS
diff -Nrcpad gcc-9.4.0/contrib/ChangeLog gcc-9.5.0/contrib/ChangeLog
*** gcc-9.4.0/contrib/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/contrib/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,44 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-01-24  Martin Liska  <mliska@suse.cz>
+ 
+ 	* gcc-changelog/git_commit.py: Sync from master.
+ 	* gcc-changelog/test_email.py: Likewise.
+ 	* gcc-changelog/test_patches.txt: Likewise.
+ 
+ 2022-01-19  Martin Liska  <mliska@suse.cz>
+ 
+ 	* git-backport.py: Sync from master.
+ 	* git-commit-mklog.py: Likewise.
+ 	* git-fix-changelog.py: New file.
+ 
+ 2022-01-17  Martin Liska  <mliska@suse.cz>
+ 
+ 	Backported from master:
+ 	2022-01-17  Martin Liska  <mliska@suse.cz>
+ 
+ 	* git-backport.py: Support renaming of .cc files.
+ 
+ 2021-11-08  Martin Liska  <mliska@suse.cz>
+ 
+ 	* gcc-changelog/git_check_commit.py: Sync from master.
+ 	* gcc-changelog/git_commit.py: Likewise.
+ 	* gcc-changelog/git_email.py: Likewise.
+ 	* gcc-changelog/git_update_version.py: Likewise.
+ 	* gcc-changelog/test_email.py: Likewise.
+ 	* gcc-changelog/test_patches.txt: Likewise.
+ 
+ 2021-06-23  Martin Liska  <mliska@suse.cz>
+ 
+ 	* mklog.py: New file.
+ 	* test_mklog.py: New file.
+ 
+ 2021-06-23  Martin Liska  <mliska@suse.cz>
+ 
+ 	* git-commit-mklog.py: New file.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/contrib/gcc-changelog/git_check_commit.py gcc-9.5.0/contrib/gcc-changelog/git_check_commit.py
*** gcc-9.4.0/contrib/gcc-changelog/git_check_commit.py	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/contrib/gcc-changelog/git_check_commit.py	Fri May 27 07:21:10 2022
*************** parser.add_argument('-g', '--git-path',
*** 29,34 ****
--- 29,36 ----
                      help='Path to git repository')
  parser.add_argument('-p', '--print-changelog', action='store_true',
                      help='Print final changelog entires')
+ parser.add_argument('-v', '--verbose', action='store_true',
+                     help='Print verbose information')
  args = parser.parse_args()
  
  retval = 0
*************** for git_commit in parse_git_revisions(ar
*** 41,46 ****
--- 43,50 ----
      else:
          for error in git_commit.errors:
              print('ERR: %s' % error)
+             if args.verbose and error.details:
+                 print(error.details)
          retval = 1
  
  exit(retval)
diff -Nrcpad gcc-9.4.0/contrib/gcc-changelog/git_commit.py gcc-9.5.0/contrib/gcc-changelog/git_commit.py
*** gcc-9.4.0/contrib/gcc-changelog/git_commit.py	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/contrib/gcc-changelog/git_commit.py	Fri May 27 07:21:10 2022
*************** ignored_prefixes = {
*** 134,139 ****
--- 134,140 ----
      'gcc/go/gofrontend/',
      'gcc/testsuite/gdc.test/',
      'gcc/testsuite/go.test/test/',
+     'libffi/',
      'libgo/',
      'libphobos/libdruntime/',
      'libphobos/src/',
*************** author_line_regex = \
*** 156,162 ****
          re.compile(r'^(?P<datetime>\d{4}-\d{2}-\d{2})\ {2}(?P<name>.*  <.*>)')
  additional_author_regex = re.compile(r'^\t(?P<spaces>\ *)?(?P<name>.*  <.*>)')
  changelog_regex = re.compile(r'^(?:[fF]or +)?([a-z0-9+-/]*)ChangeLog:?')
! pr_regex = re.compile(r'\tPR (?P<component>[a-z+-]+\/)?([0-9]+)$')
  dr_regex = re.compile(r'\tDR ([0-9]+)$')
  star_prefix_regex = re.compile(r'\t\*(?P<spaces>\ *)(?P<content>.*)')
  end_of_location_regex = re.compile(r'[\[<(:]')
--- 157,165 ----
          re.compile(r'^(?P<datetime>\d{4}-\d{2}-\d{2})\ {2}(?P<name>.*  <.*>)')
  additional_author_regex = re.compile(r'^\t(?P<spaces>\ *)?(?P<name>.*  <.*>)')
  changelog_regex = re.compile(r'^(?:[fF]or +)?([a-z0-9+-/]*)ChangeLog:?')
! subject_pr_regex = re.compile(r'(^|\W)PR\s+(?P<component>[a-zA-Z+-]+)/(?P<pr>\d{4,7})')
! subject_pr2_regex = re.compile(r'[(\[]PR\s*(?P<pr>\d{4,7})[)\]]')
! pr_regex = re.compile(r'\tPR (?P<component>[a-z+-]+\/)?(?P<pr>[0-9]+)$')
  dr_regex = re.compile(r'\tDR ([0-9]+)$')
  star_prefix_regex = re.compile(r'\t\*(?P<spaces>\ *)(?P<content>.*)')
  end_of_location_regex = re.compile(r'[\[<(:]')
*************** def decode_path(path):
*** 194,202 ****
  
  
  class Error:
!     def __init__(self, message, line=None):
          self.message = message
          self.line = line
  
      def __repr__(self):
          s = self.message
--- 197,206 ----
  
  
  class Error:
!     def __init__(self, message, line=None, details=None):
          self.message = message
          self.line = line
+         self.details = details
  
      def __repr__(self):
          s = self.message
*************** class ChangeLogEntry:
*** 215,221 ****
          self.lines = []
          self.files = []
          self.file_patterns = []
!         self.opened_parentheses = 0
  
      def parse_file_names(self):
          # Whether the content currently processed is between a star prefix the
--- 219,225 ----
          self.lines = []
          self.files = []
          self.file_patterns = []
!         self.parentheses_stack = []
  
      def parse_file_names(self):
          # Whether the content currently processed is between a star prefix the
*************** class GitCommit:
*** 298,303 ****
--- 302,308 ----
          self.top_level_authors = []
          self.co_authors = []
          self.top_level_prs = []
+         self.subject_prs = set()
          self.cherry_pick_commit = None
          self.revert_commit = None
          self.commit_to_info_hook = commit_to_info_hook
*************** class GitCommit:
*** 307,312 ****
--- 312,320 ----
          if self.info.lines and self.info.lines[0] == 'Update copyright years.':
              return
  
+         if self.info.lines and len(self.info.lines) > 1 and self.info.lines[1]:
+             self.errors.append(Error('Expected empty second line in commit message', info.lines[0]))
+ 
          # Identify first if the commit is a Revert commit
          for line in self.info.lines:
              m = revert_regex.match(line)
*************** class GitCommit:
*** 316,321 ****
--- 324,344 ----
          if self.revert_commit:
              self.info = self.commit_to_info_hook(self.revert_commit)
  
+         # The following happens for get_email.py:
+         if not self.info:
+             return
+ 
+         self.check_commit_email()
+ 
+         # Extract PR numbers form the subject line
+         # Match either [PRnnnn] / (PRnnnn) or PR component/nnnn
+         if self.info.lines and not self.revert_commit:
+             self.subject_prs = {m.group('pr') for m in subject_pr2_regex.finditer(info.lines[0])}
+             for m in subject_pr_regex.finditer(info.lines[0]):
+                 if not m.group('component') in bug_components:
+                     self.errors.append(Error('invalid PR component in subject', info.lines[0]))
+                 self.subject_prs.add(m.group('pr'))
+ 
          # Allow complete deletion of ChangeLog files in a commit
          project_files = [f for f in self.info.modified_files
                           if (self.is_changelog_filename(f[0], allow_suffix=True) and f[1] != 'D')
*************** class GitCommit:
*** 326,334 ****
              # All modified files are only MISC files
              return
          elif project_files:
!             self.errors.append(Error('ChangeLog, DATESTAMP, BASE-VER and '
!                                      'DEV-PHASE updates should be done '
!                                      'separately from normal commits'))
              return
  
          all_are_ignored = (len(project_files) + len(ignored_files)
--- 349,359 ----
              # All modified files are only MISC files
              return
          elif project_files:
!             err = 'ChangeLog, DATESTAMP, BASE-VER and DEV-PHASE updates ' \
!                   'should be done separately from normal commits\n' \
!                   '(note: ChangeLog entries will be automatically ' \
!                   'added by a cron job)'
!             self.errors.append(Error(err))
              return
  
          all_are_ignored = (len(project_files) + len(ignored_files)
*************** class GitCommit:
*** 344,349 ****
--- 369,377 ----
              if not self.errors:
                  self.check_mentioned_files()
                  self.check_for_correct_changelog()
+         if self.subject_prs:
+             self.errors.append(Error('PR %s in subject but not in changelog' %
+                                      ', '.join(self.subject_prs), self.info.lines[0]))
  
      @property
      def success(self):
*************** class GitCommit:
*** 458,464 ****
                      else:
                          author_tuple = (m.group('name'), None)
                  elif pr_regex.match(line):
!                     component = pr_regex.match(line).group('component')
                      if not component:
                          self.errors.append(Error('missing PR component', line))
                          continue
--- 486,494 ----
                      else:
                          author_tuple = (m.group('name'), None)
                  elif pr_regex.match(line):
!                     m = pr_regex.match(line)
!                     component = m.group('component')
!                     pr = m.group('pr')
                      if not component:
                          self.errors.append(Error('missing PR component', line))
                          continue
*************** class GitCommit:
*** 467,472 ****
--- 497,504 ----
                          continue
                      else:
                          pr_line = line.lstrip()
+                     if pr in self.subject_prs:
+                         self.subject_prs.remove(pr)
                  elif dr_regex.match(line):
                      pr_line = line.lstrip()
  
*************** class GitCommit:
*** 521,527 ****
                      m = star_prefix_regex.match(line)
                      if m:
                          if (len(m.group('spaces')) != 1 and
!                                 last_entry.opened_parentheses == 0):
                              msg = 'one space should follow asterisk'
                              self.errors.append(Error(msg, line))
                          else:
--- 553,559 ----
                      m = star_prefix_regex.match(line)
                      if m:
                          if (len(m.group('spaces')) != 1 and
!                                 not last_entry.parentheses_stack):
                              msg = 'one space should follow asterisk'
                              self.errors.append(Error(msg, line))
                          else:
*************** class GitCommit:
*** 546,558 ****
      def process_parentheses(self, last_entry, line):
          for c in line:
              if c == '(':
!                 last_entry.opened_parentheses += 1
              elif c == ')':
!                 if last_entry.opened_parentheses == 0:
                      msg = 'bad wrapping of parenthesis'
                      self.errors.append(Error(msg, line))
                  else:
!                     last_entry.opened_parentheses -= 1
  
      def parse_file_names(self):
          for entry in self.changelog_entries:
--- 578,590 ----
      def process_parentheses(self, last_entry, line):
          for c in line:
              if c == '(':
!                 last_entry.parentheses_stack.append(line)
              elif c == ')':
!                 if not last_entry.parentheses_stack:
                      msg = 'bad wrapping of parenthesis'
                      self.errors.append(Error(msg, line))
                  else:
!                     del last_entry.parentheses_stack[-1]
  
      def parse_file_names(self):
          for entry in self.changelog_entries:
*************** class GitCommit:
*** 578,586 ****
  
      def check_for_broken_parentheses(self):
          for entry in self.changelog_entries:
!             if entry.opened_parentheses != 0:
                  msg = 'bad parentheses wrapping'
!                 self.errors.append(Error(msg, entry.lines[0]))
  
      def get_file_changelog_location(self, changelog_file):
          for file in self.info.modified_files:
--- 610,618 ----
  
      def check_for_broken_parentheses(self):
          for entry in self.changelog_entries:
!             if entry.parentheses_stack:
                  msg = 'bad parentheses wrapping'
!                 self.errors.append(Error(msg, entry.parentheses_stack[-1]))
  
      def get_file_changelog_location(self, changelog_file):
          for file in self.info.modified_files:
*************** class GitCommit:
*** 656,664 ****
          for file in sorted(mentioned_files - changed_files):
              msg = 'unchanged file mentioned in a ChangeLog'
              candidates = difflib.get_close_matches(file, changed_files, 1)
              if candidates:
                  msg += f' (did you mean "{candidates[0]}"?)'
!             self.errors.append(Error(msg, file))
          for file in sorted(changed_files - mentioned_files):
              if not self.in_ignored_location(file):
                  if file in self.new_files:
--- 688,698 ----
          for file in sorted(mentioned_files - changed_files):
              msg = 'unchanged file mentioned in a ChangeLog'
              candidates = difflib.get_close_matches(file, changed_files, 1)
+             details = None
              if candidates:
                  msg += f' (did you mean "{candidates[0]}"?)'
!                 details = '\n'.join(difflib.Differ().compare([file], [candidates[0]])).rstrip()
!             self.errors.append(Error(msg, file, details))
          for file in sorted(changed_files - mentioned_files):
              if not self.in_ignored_location(file):
                  if file in self.new_files:
*************** class GitCommit:
*** 684,692 ****
                          self.changelog_entries.append(entry)
                      # strip prefix of the file
                      assert file.startswith(entry.folder)
!                     file = file[len(entry.folder):].lstrip('/')
!                     entry.lines.append('\t* %s: New file.' % file)
!                     entry.files.append(file)
                  else:
                      used_pattern = [p for p in mentioned_patterns
                                      if file.startswith(p)]
--- 718,732 ----
                          self.changelog_entries.append(entry)
                      # strip prefix of the file
                      assert file.startswith(entry.folder)
!                     # do not allow auto-addition of New files
!                     # for the top-level folder
!                     if entry.folder:
!                         file = file[len(entry.folder):].lstrip('/')
!                         entry.lines.append('\t* %s: New file.' % file)
!                         entry.files.append(file)
!                     else:
!                         msg = 'new file in the top-level folder not mentioned in a ChangeLog'
!                         self.errors.append(Error(msg, file))
                  else:
                      used_pattern = [p for p in mentioned_patterns
                                      if file.startswith(p)]
*************** class GitCommit:
*** 775,777 ****
--- 815,826 ----
          print('Errors:')
          for error in self.errors:
              print(error)
+ 
+     def check_commit_email(self):
+         # Parse 'Martin Liska  <mliska@suse.cz>'
+         email = self.info.author.split(' ')[-1].strip('<>')
+ 
+         # Verify that all characters are ASCII
+         # TODO: Python 3.7 provides a nicer function: isascii
+         if len(email) != len(email.encode()):
+             self.errors.append(Error(f'non-ASCII characters in git commit email address ({email})'))
diff -Nrcpad gcc-9.4.0/contrib/gcc-changelog/git_email.py gcc-9.5.0/contrib/gcc-changelog/git_email.py
*** gcc-9.4.0/contrib/gcc-changelog/git_email.py	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/contrib/gcc-changelog/git_email.py	Fri May 27 07:21:10 2022
***************
*** 17,22 ****
--- 17,23 ----
  # <http://www.gnu.org/licenses/>.  */
  
  import os
+ import re
  import sys
  from itertools import takewhile
  
*************** from unidiff import PatchSet, PatchedFil
*** 28,33 ****
--- 29,36 ----
  
  DATE_PREFIX = 'Date: '
  FROM_PREFIX = 'From: '
+ SUBJECT_PREFIX = 'Subject: '
+ subject_patch_regex = re.compile(r'^\[PATCH( \d+/\d+)?\] ')
  unidiff_supports_renaming = hasattr(PatchedFile(), 'is_rename')
  
  
*************** class GitEmail(GitCommit):
*** 37,43 ****
--- 40,48 ----
          diff = PatchSet.from_filename(filename)
          date = None
          author = None
+         subject = ''
  
+         subject_last = False
          with open(self.filename, 'r') as f:
              lines = f.read().splitlines()
          lines = list(takewhile(lambda line: line != '---', lines))
*************** class GitEmail(GitCommit):
*** 46,53 ****
                  date = parse(line[len(DATE_PREFIX):])
              elif line.startswith(FROM_PREFIX):
                  author = GitCommit.format_git_author(line[len(FROM_PREFIX):])
          header = list(takewhile(lambda line: line != '', lines))
!         body = lines[len(header) + 1:]
  
          modified_files = []
          for f in diff:
--- 51,71 ----
                  date = parse(line[len(DATE_PREFIX):])
              elif line.startswith(FROM_PREFIX):
                  author = GitCommit.format_git_author(line[len(FROM_PREFIX):])
+             elif line.startswith(SUBJECT_PREFIX):
+                 subject = line[len(SUBJECT_PREFIX):]
+                 subject_last = True
+             elif subject_last and line.startswith(' '):
+                 subject += line
+             elif line == '':
+                 break
+             else:
+                 subject_last = False
+ 
+         if subject:
+             subject = subject_patch_regex.sub('', subject)
          header = list(takewhile(lambda line: line != '', lines))
!         # Note: commit message consists of email subject, empty line, email body
!         message = [subject] + lines[len(header):]
  
          modified_files = []
          for f in diff:
*************** class GitEmail(GitCommit):
*** 67,73 ****
              else:
                  t = 'M'
              modified_files.append((target if t != 'D' else source, t))
!         git_info = GitInfo(None, date, author, body, modified_files)
          super().__init__(git_info,
                           commit_to_info_hook=lambda x: None)
  
--- 85,91 ----
              else:
                  t = 'M'
              modified_files.append((target if t != 'D' else source, t))
!         git_info = GitInfo(None, date, author, message, modified_files)
          super().__init__(git_info,
                           commit_to_info_hook=lambda x: None)
  
diff -Nrcpad gcc-9.4.0/contrib/gcc-changelog/git_update_version.py gcc-9.5.0/contrib/gcc-changelog/git_update_version.py
*** gcc-9.4.0/contrib/gcc-changelog/git_update_version.py	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/contrib/gcc-changelog/git_update_version.py	Fri May 27 07:21:10 2022
*************** from git_repository import parse_git_rev
*** 27,33 ****
  current_timestamp = datetime.datetime.now().strftime('%Y%m%d\n')
  
  # Skip the following commits, they cannot be correctly processed
! IGNORED_COMMITS = ('c2be82058fb40f3ae891c68d185ff53e07f14f45')
  
  
  def read_timestamp(path):
--- 27,36 ----
  current_timestamp = datetime.datetime.now().strftime('%Y%m%d\n')
  
  # Skip the following commits, they cannot be correctly processed
! IGNORED_COMMITS = (
!         'c2be82058fb40f3ae891c68d185ff53e07f14f45',
!         '04a040d907a83af54e0a98bdba5bfabc0ef4f700',
!         '2e96b5f14e4025691b57d2301d71aa6092ed44bc')
  
  
  def read_timestamp(path):
diff -Nrcpad gcc-9.4.0/contrib/gcc-changelog/test_email.py gcc-9.5.0/contrib/gcc-changelog/test_email.py
*** gcc-9.4.0/contrib/gcc-changelog/test_email.py	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/contrib/gcc-changelog/test_email.py	Fri May 27 07:21:10 2022
*************** class TestGccChangelog(unittest.TestCase
*** 258,264 ****
          email = self.from_patch_glob('0001-Add-patch_are')
          msg = 'ChangeLog, DATESTAMP, BASE-VER and DEV-PHASE updates should ' \
                'be done separately from normal commits'
!         assert email.errors[0].message == msg
  
      def test_strict_mode_normal_patch(self):
          email = self.get_git_email('0001-Just-test-it.patch')
--- 258,264 ----
          email = self.from_patch_glob('0001-Add-patch_are')
          msg = 'ChangeLog, DATESTAMP, BASE-VER and DEV-PHASE updates should ' \
                'be done separately from normal commits'
!         assert email.errors[0].message.startswith(msg)
  
      def test_strict_mode_normal_patch(self):
          email = self.get_git_email('0001-Just-test-it.patch')
*************** class TestGccChangelog(unittest.TestCase
*** 415,420 ****
--- 415,421 ----
      def test_multiline_bad_parentheses(self):
          email = self.from_patch_glob('0002-Wrong-macro-changelog.patch')
          assert email.errors[0].message == 'bad parentheses wrapping'
+         assert email.errors[0].line == '	* config/i386/i386.md (*fix_trunc<mode>_i387_1,'
  
      def test_changelog_removal(self):
          email = self.from_patch_glob('0001-ChangeLog-removal.patch')
*************** class TestGccChangelog(unittest.TestCase
*** 427,429 ****
--- 428,453 ----
      def test_multi_same_file(self):
          email = self.from_patch_glob('0001-OpenMP-Fix-SIMT')
          assert email.errors[0].message == 'same file specified multiple times'
+ 
+     def test_pr_only_in_subject(self):
+         email = self.from_patch_glob('0001-rs6000-Support-doubleword')
+         assert (email.errors[0].message ==
+                 'PR 100085 in subject but not in changelog')
+ 
+     def test_wrong_pr_comp_in_subject(self):
+         email = self.from_patch_glob('pr-wrong-comp.patch')
+         assert email.errors[0].message == 'invalid PR component in subject'
+ 
+     def test_copyright_years(self):
+         email = self.from_patch_glob('copyright-years.patch')
+         assert not email.errors
+ 
+     def test_non_ascii_email(self):
+         email = self.from_patch_glob('non-ascii-email.patch')
+         assert (email.errors[0].message ==
+                 'non-ASCII characters in git commit email address (jbglaw@ług-owl.de)')
+ 
+     def test_new_file_in_root_folder(self):
+         email = self.from_patch_glob('toplev-new-file.patch')
+         assert (email.errors[0].message ==
+                 'new file in the top-level folder not mentioned in a ChangeLog')
diff -Nrcpad gcc-9.4.0/contrib/gcc-changelog/test_patches.txt gcc-9.5.0/contrib/gcc-changelog/test_patches.txt
*** gcc-9.4.0/contrib/gcc-changelog/test_patches.txt	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/contrib/gcc-changelog/test_patches.txt	Fri May 27 07:21:10 2022
*************** Subject: [PATCH 0030/2034] 	PR c++/92746
*** 1461,1466 ****
--- 1461,1467 ----
  Another place that needs to specially handle Concepts TS function-style
  concepts.
  
+ 	PR c++/92746
  	* except.c (check_noexcept_r): Handle concept-check.
  ---
   gcc/cp/ChangeLog                            | 3 +++
*************** index aac31d02b6c..56c470f6ecf 100644
*** 1977,1983 ****
  From 5194b51ed9714808d88827531e91474895b6c706 Mon Sep 17 00:00:00 2001
  From: Jason Merrill <jason@redhat.com>
  Date: Thu, 16 Jan 2020 16:55:39 -0500
! Subject: [PATCH 0121/2034] PR c++/93286 - ICE with __is_constructible and
   variadic template.
  
  Here we had been recursing in tsubst_copy_and_build if type2 was a TREE_LIST
--- 1978,1984 ----
  From 5194b51ed9714808d88827531e91474895b6c706 Mon Sep 17 00:00:00 2001
  From: Jason Merrill <jason@redhat.com>
  Date: Thu, 16 Jan 2020 16:55:39 -0500
! Subject: [PATCH 0121/2034] PR c++/12345 - ICE with __is_constructible and
   variadic template.
  
  Here we had been recursing in tsubst_copy_and_build if type2 was a TREE_LIST
*************** index 00000000000..21540512e23
*** 3406,3408 ****
--- 3407,3573 ----
  +
  -- 
  2.25.1
+ === 0001-rs6000-Support-doubleword ===
+ From f700e4b0ee3ef53b48975cf89be26b9177e3a3f3 Mon Sep 17 00:00:00 2001
+ From: Xionghu Luo <luoxhu@linux.ibm.com>
+ Date: Tue, 8 Jun 2021 21:48:12 -0500
+ Subject: [PATCH] rs6000: Support doubleword swaps removal in rot64 load store
+  [PR100085]
+ 
+ gcc/testsuite/ChangeLog:
+ 
+ 	* gcc.target/powerpc/pr100085.c: New test.
+ ---
+ diff --git a/gcc/testsuite/gcc.target/powerpc/pr100085.c b/gcc/testsuite/gcc.target/powerpc/pr100085.c
+ new file mode 100644
+ index 00000000000..7d8b147b127
+ --- /dev/null
+ +++ b/gcc/testsuite/gcc.target/powerpc/pr100085.c
+ @@ -0,0 +1,1 @@
+ +
+ -- 
+ 2.25.1
+ === pr-wrong-comp.patch ===
+ From 5194b51ed9714808d88827531e91474895b6c706 Mon Sep 17 00:00:00 2001
+ From: Jason Merrill <jason@redhat.com>
+ Date: Thu, 16 Jan 2020 16:55:39 -0500
+ Subject: [PATCH 0121/2034] PR some/93286 - ICE with __is_constructible and
+  variadic template.
+ 
+ gcc/testsuite/ChangeLog:
+ 
+ 	PR c++/93286
+ 	* gcc.target/powerpc/pr100085.c: New test.
+ ---
+ diff --git a/gcc/testsuite/gcc.target/powerpc/pr100085.c b/gcc/testsuite/gcc.target/powerpc/pr100085.c
+ new file mode 100644
+ index 00000000000..7d8b147b127
+ --- /dev/null
+ +++ b/gcc/testsuite/gcc.target/powerpc/pr100085.c
+ @@ -0,0 +1,1 @@
+ +
+ -- 
+ 2.25.1
+ ==== copyright-years.patch ===
+ From 99dee82307f1e163e150c9c810452979994047ce Mon Sep 17 00:00:00 2001
+ From: Jakub Jelinek <jakub@redhat.com>
+ Date: Mon, 4 Jan 2021 10:26:59 +0100
+ Subject: [PATCH] Update copyright years.
+ 
+ ---
+ diff --git a/lto-plugin/lto-plugin.c b/lto-plugin/lto-plugin.c
+ new file mode 100644
+ index 6f67552d075..32478f070e8 100644
+ --- a/lto-plugin/lto-plugin.c
+ +++ b/lto-plugin/lto-plugin.c
+ @@ -0,0 +1,1 @@
+ +
+ -- 
+ 2.25.1
+ 
+ === non-ascii-email.patch ===
+ From f42e95a830ab48e59389065ce79a013a519646f1 Mon Sep 17 00:00:00 2001
+ From: Jan-Benedict Glaw <jbglaw@ług-owl.de>
+ Date: Mon, 13 Sep 2021 12:08:25 +0200
+ Subject: [PATCH] Fix multi-statment macro
+ 
+ INIT_CUMULATIVE_ARGS() expands to multiple statements, which will break right
+ after an `if` statement. Wrap it into a block.
+ 
+ gcc/ChangeLog:
+ 
+ 	* config/alpha/vms.h (INIT_CUMULATIVE_ARGS): Wrap multi-statment
+ 	define into a block.
+ ---
+  gcc/config/alpha/vms.h | 10 +++++++---
+  1 file changed, 7 insertions(+), 3 deletions(-)
+ 
+ diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
+ index 2a9917cde62..0033b0004b3 100644
+ --- a/gcc/config/alpha/vms.h
+ +++ b/gcc/config/alpha/vms.h
+ @@ -0,0 +1,1 @@
+ +
+ -- 
+ 
+ === toplev-new-file.patch ===
+ From 05e37b6e65027188f08e6374c7d356d75b54738e Mon Sep 17 00:00:00 2001
+ From: Martin Liska <mliska@suse.cz>
+ Date: Mon, 24 Jan 2022 12:46:27 +0100
+ Subject: [PATCH] New file.
+ 
+ ChangeLog:
+ 
+ 	* Makefile.in: Update.
+ 
+ gcc/ChangeLog:
+ 
+ 	* ipa-icf.cc: Update.
+ ---
+  Makefile.am     | 1 +
+  Makefile.in     | 1 +
+  gcc/ipa-icf.cc  | 1 +
+  gcc/ipa-icf2.cc | 1 +
+  4 files changed, 4 insertions(+)
+  create mode 100644 Makefile.am
+  create mode 100644 gcc/ipa-icf2.cc
+ 
+ diff --git a/Makefile.am b/Makefile.am
+ new file mode 100644
+ index 00000000000..f0129caae3d
+ --- /dev/null
+ +++ b/Makefile.am
+ @@ -0,0 +1 @@
+ +new file.
+ diff --git a/Makefile.in b/Makefile.in
+ index 79c77fccf0f..7a090030119 100644
+ --- a/Makefile.in
+ +++ b/Makefile.in
+ @@ -1,4 +1,5 @@
+  
+ +
+  # Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
+  #
+  # Makefile for directory with subdirs to build.
+ diff --git a/gcc/ipa-icf.cc b/gcc/ipa-icf.cc
+ index 765ae746745..15735b6684f 100644
+ --- a/gcc/ipa-icf.cc
+ +++ b/gcc/ipa-icf.cc
+ @@ -1,3 +1,4 @@
+ +
+  /* Interprocedural Identical Code Folding pass
+     Copyright (C) 2014-2022 Free Software Foundation, Inc.
+  
+ diff --git a/gcc/ipa-icf2.cc b/gcc/ipa-icf2.cc
+ new file mode 100644
+ index 00000000000..c49c556e0e4
+ --- /dev/null
+ +++ b/gcc/ipa-icf2.cc
+ @@ -0,0 +1 @@
+ +tt
+ -- 
+ 2.34.1
+ 
+ From 80c9d63af350b280bfccb82adb3867c25a25e6d0 Mon Sep 17 00:00:00 2001
+ From: Martin Liska <mliska@suse.cz>
+ Date: Mon, 24 Jan 2022 12:17:09 +0100
+ Subject: [PATCH] Add Makefile.am file.
+ 
+ Foo bar.
+ 
+ ChangeLog:
+ 
+ ---
+  Makefile.am | 0
+  1 file changed, 0 insertions(+), 0 deletions(-)
+  create mode 100644 Makefile.am
+ 
+ diff --git a/Makefile.am b/Makefile.am
+ new file mode 100644
+ index 00000000000..d6459e00543
+ --- /dev/null
+ +++ b/Makefile.am
+ @@ -0,0 +1 @@
+ +xxx
+ -- 
+ 2.34.1
diff -Nrcpad gcc-9.4.0/contrib/git-backport.py gcc-9.5.0/contrib/git-backport.py
*** gcc-9.4.0/contrib/git-backport.py	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/contrib/git-backport.py	Fri May 27 07:21:10 2022
***************
*** 20,65 ****
  # Boston, MA 02110-1301, USA.
  
  import argparse
  import subprocess
  
  if __name__ == '__main__':
!     parser = argparse.ArgumentParser(description='Backport a git revision and '
!                                      'stash all ChangeLog files.')
      parser.add_argument('revision', help='Revision')
      args = parser.parse_args()
  
!     r = subprocess.run('git cherry-pick -x %s' % args.revision, shell=True)
!     if r.returncode == 0:
!         cmd = 'git show --name-only --pretty="" -- "*ChangeLog"'
!         changelogs = subprocess.check_output(cmd, shell=True, encoding='utf8')
!         changelogs = changelogs.strip()
!         if changelogs:
!             for changelog in changelogs.split('\n'):
!                 subprocess.check_output('git checkout HEAD~ %s' % changelog,
!                                         shell=True)
!         subprocess.check_output('git commit --amend --no-edit', shell=True)
!     else:
!         # 1) remove all ChangeLog files from conflicts
!         out = subprocess.check_output('git diff --name-only --diff-filter=U',
!                                       shell=True,
!                                       encoding='utf8')
!         conflicts = out.strip().split('\n')
!         changelogs = [c for c in conflicts if c.endswith('ChangeLog')]
!         if changelogs:
!             cmd = 'git checkout --theirs %s' % ' '.join(changelogs)
!             subprocess.check_output(cmd, shell=True)
!         # 2) remove all ChangeLog files from index
!         cmd = 'git diff --name-only --diff-filter=M HEAD'
!         out = subprocess.check_output(cmd, shell=True, encoding='utf8')
!         out = out.strip().split('\n')
!         modified = [c for c in out if c.endswith('ChangeLog')]
!         for m in modified:
!             subprocess.check_output('git reset %s' % m, shell=True)
!             subprocess.check_output('git checkout %s' % m, shell=True)
! 
!         # try to continue
!         if len(conflicts) == len(changelogs):
!             cmd = 'git -c core.editor=true cherry-pick --continue'
!             subprocess.check_output(cmd, shell=True)
!         else:
!             print('Please resolve all remaining file conflicts.')
--- 20,35 ----
  # Boston, MA 02110-1301, USA.
  
  import argparse
+ import os
  import subprocess
  
+ script_folder = os.path.dirname(os.path.abspath(__file__))
+ fixup_script = os.path.join(script_folder, 'git-fix-changelog.py')
+ 
  if __name__ == '__main__':
!     parser = argparse.ArgumentParser(description='Backport a git revision.')
      parser.add_argument('revision', help='Revision')
      args = parser.parse_args()
  
!     subprocess.run('git cherry-pick -x %s' % args.revision, shell=True)
!     subprocess.run(fixup_script, shell=True)
diff -Nrcpad gcc-9.4.0/contrib/git-commit-mklog.py gcc-9.5.0/contrib/git-commit-mklog.py
*** gcc-9.4.0/contrib/git-commit-mklog.py	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/contrib/git-commit-mklog.py	Fri May 27 07:21:10 2022
***************
*** 0 ****
--- 1,59 ----
+ #!/usr/bin/env python3
+ 
+ # Copyright (C) 2020 Free Software Foundation, Inc.
+ #
+ # 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 COPYING.  If not, write to
+ # the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ # Boston, MA 02110-1301, USA.
+ #
+ # The script is wrapper for git commit-mklog alias where it parses
+ # -b/--pr-numbers argument and passes it via environment variable
+ # to mklog.py script.
+ 
+ import argparse
+ import os
+ import subprocess
+ 
+ if __name__ == '__main__':
+     children_args = []
+     myenv = os.environ.copy()
+ 
+     parser = argparse.ArgumentParser(description='git-commit-mklog wrapped')
+     parser.add_argument('-b', '--pr-numbers', action='store',
+                         type=lambda arg: arg.split(','), nargs='?',
+                         help='Add the specified PRs (comma separated)')
+     parser.add_argument('-p', '--fill-up-bug-titles', action='store_true',
+                         help='Download title of mentioned PRs')
+     parser.add_argument('--co',
+                         help='Add Co-Authored-By trailer (comma separated)')
+     args, unknown_args = parser.parse_known_args()
+ 
+     myenv['GCC_FORCE_MKLOG'] = '1'
+     mklog_args = []
+     if args.pr_numbers:
+         mklog_args.append(f'-b {",".join(args.pr_numbers)}')
+     if args.fill_up_bug_titles:
+         mklog_args.append('-p')
+ 
+     if mklog_args:
+         myenv['GCC_MKLOG_ARGS'] = ' '.join(mklog_args)
+ 
+     if args.co:
+         for author in args.co.split(','):
+             unknown_args.append(f'--trailer "Co-Authored-By: {author}"')
+ 
+     commit_args = ' '.join(unknown_args)
+     subprocess.run(f'git commit {commit_args}', shell=True, env=myenv)
diff -Nrcpad gcc-9.4.0/contrib/git-fix-changelog.py gcc-9.5.0/contrib/git-fix-changelog.py
*** gcc-9.4.0/contrib/git-fix-changelog.py	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/contrib/git-fix-changelog.py	Fri May 27 07:21:10 2022
***************
*** 0 ****
--- 1,92 ----
+ #!/usr/bin/env python3
+ 
+ # Copyright (C) 2020 Free Software Foundation, Inc.
+ #
+ # 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 COPYING.  If not, write to
+ # the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ # Boston, MA 02110-1301, USA.
+ #
+ # The script tries to fix commit message where ChangeLog entries
+ # can point to .cc renamed files.
+ 
+ import argparse
+ import os
+ import subprocess
+ import tempfile
+ 
+ DESCRIPTION = 'Fix up ChangeLog of the current commit.'
+ 
+ script_folder = os.path.dirname(os.path.abspath(__file__))
+ verify_script = os.path.join(script_folder,
+                              'gcc-changelog/git_check_commit.py')
+ 
+ 
+ def replace_file_in_changelog(lines, filename, fixed):
+     # consider all componenets of a path: gcc/ipa-icf.cc
+     while filename:
+         for i, line in enumerate(lines):
+             if filename in line:
+                 lines[i] = line.replace(filename, fixed)
+                 return
+ 
+         parts = filename.split('/')
+         if len(parts) == 1:
+             return
+         filename = '/'.join(parts[1:])
+         fixed = '/'.join(fixed.split('/')[1:])
+ 
+ 
+ if __name__ == '__main__':
+     parser = argparse.ArgumentParser(description=DESCRIPTION)
+     args = parser.parse_args()
+ 
+     # Update commit message if change for a .cc file was taken
+     r = subprocess.run(f'{verify_script} HEAD', shell=True, encoding='utf8',
+                        stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+     if r.returncode != 0:
+         lines = r.stdout.splitlines()
+         cmd = 'git show -s --format=%B'
+         commit_message = subprocess.check_output(cmd, shell=True,
+                                                  encoding='utf8').strip()
+         commit_message = commit_message.splitlines()
+ 
+         # Parse the following lines:
+         # ERR: unchanged file mentioned in a ChangeLog \
+         # (did you mean "gcc/ipa-icf.cc"?): "gcc/ipa-icf.c"
+         replaced = 0
+         for line in lines:
+             if ('unchanged file mentioned' in line and
+                     'did you mean' in line):
+                 filename = line.split()[-1].strip('"')
+                 fixed = line[line.index('did you mean'):]
+                 fixed = fixed[fixed.index('"') + 1:]
+                 fixed = fixed[:fixed.index('"')]
+ 
+                 if filename.count('/') == fixed.count('/'):
+                     replace_file_in_changelog(commit_message, filename, fixed)
+                     replaced += 1
+ 
+         if replaced:
+             with tempfile.NamedTemporaryFile('w', encoding='utf8',
+                                              delete=False) as w:
+                 w.write('\n'.join(commit_message))
+                 w.close()
+                 subprocess.check_output(f'git commit --amend -F {w.name}',
+                                         shell=True, encoding='utf8')
+                 os.unlink(w.name)
+                 print(f'Commit message updated: {replaced} file(s) renamed.')
+         else:
+             print('Commit message has not been updated.')
diff -Nrcpad gcc-9.4.0/contrib/header-tools/ChangeLog gcc-9.5.0/contrib/header-tools/ChangeLog
*** gcc-9.4.0/contrib/header-tools/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/contrib/header-tools/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/contrib/mklog.py gcc-9.5.0/contrib/mklog.py
*** gcc-9.4.0/contrib/mklog.py	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/contrib/mklog.py	Fri May 27 07:21:10 2022
***************
*** 0 ****
--- 1,356 ----
+ #!/usr/bin/env python3
+ 
+ # Copyright (C) 2020 Free Software Foundation, Inc.
+ #
+ # 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 COPYING.  If not, write to
+ # the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ # Boston, MA 02110-1301, USA.
+ 
+ # This script parses a .diff file generated with 'diff -up' or 'diff -cp'
+ # and adds a skeleton ChangeLog file to the file. It does not try to be
+ # too smart when parsing function names, but it produces a reasonable
+ # approximation.
+ #
+ # Author: Martin Liska <mliska@suse.cz>
+ 
+ import argparse
+ import datetime
+ import os
+ import re
+ import subprocess
+ import sys
+ from itertools import takewhile
+ 
+ import requests
+ 
+ from unidiff import PatchSet
+ 
+ pr_regex = re.compile(r'(\/(\/|\*)|[Cc*!])\s+(?P<pr>PR [a-z+-]+\/[0-9]+)')
+ prnum_regex = re.compile(r'PR (?P<comp>[a-z+-]+)/(?P<num>[0-9]+)')
+ dr_regex = re.compile(r'(\/(\/|\*)|[Cc*!])\s+(?P<dr>DR [0-9]+)')
+ dg_regex = re.compile(r'{\s+dg-(error|warning)')
+ pr_filename_regex = re.compile(r'(^|[\W_])[Pp][Rr](?P<pr>\d{4,})')
+ identifier_regex = re.compile(r'^([a-zA-Z0-9_#].*)')
+ comment_regex = re.compile(r'^\/\*')
+ struct_regex = re.compile(r'^(class|struct|union|enum)\s+'
+                           r'(GTY\(.*\)\s+)?([a-zA-Z0-9_]+)')
+ macro_regex = re.compile(r'#\s*(define|undef)\s+([a-zA-Z0-9_]+)')
+ super_macro_regex = re.compile(r'^DEF[A-Z0-9_]+\s*\(([a-zA-Z0-9_]+)')
+ fn_regex = re.compile(r'([a-zA-Z_][^()\s]*)\s*\([^*]')
+ template_and_param_regex = re.compile(r'<[^<>]*>')
+ md_def_regex = re.compile(r'\(define.*\s+"(.*)"')
+ bugzilla_url = 'https://gcc.gnu.org/bugzilla/rest.cgi/bug?id=%s&' \
+                'include_fields=summary,component'
+ 
+ function_extensions = {'.c', '.cpp', '.C', '.cc', '.h', '.inc', '.def', '.md'}
+ 
+ # NB: Makefile.in isn't listed as it's not always generated.
+ generated_files = {'aclocal.m4', 'config.h.in', 'configure'}
+ 
+ help_message = """\
+ Generate ChangeLog template for PATCH.
+ PATCH must be generated using diff(1)'s -up or -cp options
+ (or their equivalent in git).
+ """
+ 
+ script_folder = os.path.realpath(__file__)
+ root = os.path.dirname(os.path.dirname(script_folder))
+ 
+ firstpr = ''
+ 
+ 
+ def find_changelog(path):
+     folder = os.path.split(path)[0]
+     while True:
+         if os.path.exists(os.path.join(root, folder, 'ChangeLog')):
+             return folder
+         folder = os.path.dirname(folder)
+         if folder == '':
+             return folder
+     raise AssertionError()
+ 
+ 
+ def extract_function_name(line):
+     if comment_regex.match(line):
+         return None
+     m = struct_regex.search(line)
+     if m:
+         # Struct declaration
+         return m.group(1) + ' ' + m.group(3)
+     m = macro_regex.search(line)
+     if m:
+         # Macro definition
+         return m.group(2)
+     m = super_macro_regex.search(line)
+     if m:
+         # Supermacro
+         return m.group(1)
+     m = fn_regex.search(line)
+     if m:
+         # Discard template and function parameters.
+         fn = m.group(1)
+         fn = re.sub(template_and_param_regex, '', fn)
+         return fn.rstrip()
+     return None
+ 
+ 
+ def try_add_function(functions, line):
+     fn = extract_function_name(line)
+     if fn and fn not in functions:
+         functions.append(fn)
+     return bool(fn)
+ 
+ 
+ def sort_changelog_files(changed_file):
+     return (changed_file.is_added_file, changed_file.is_removed_file)
+ 
+ 
+ def get_pr_titles(prs):
+     output = []
+     for idx, pr in enumerate(prs):
+         pr_id = pr.split('/')[-1]
+         r = requests.get(bugzilla_url % pr_id)
+         bugs = r.json()['bugs']
+         if len(bugs) == 1:
+             prs[idx] = 'PR %s/%s' % (bugs[0]['component'], pr_id)
+             out = '%s - %s\n' % (prs[idx], bugs[0]['summary'])
+             if out not in output:
+                 output.append(out)
+     if output:
+         output.append('')
+     return '\n'.join(output)
+ 
+ 
+ def generate_changelog(data, no_functions=False, fill_pr_titles=False,
+                        additional_prs=None):
+     changelogs = {}
+     changelog_list = []
+     prs = []
+     out = ''
+     diff = PatchSet(data)
+     global firstpr
+ 
+     if additional_prs:
+         prs = [pr for pr in additional_prs if pr not in prs]
+     for file in diff:
+         # skip files that can't be parsed
+         if file.path == '/dev/null':
+             continue
+         changelog = find_changelog(file.path)
+         if changelog not in changelogs:
+             changelogs[changelog] = []
+             changelog_list.append(changelog)
+         changelogs[changelog].append(file)
+ 
+         # Extract PR entries from newly added tests
+         if 'testsuite' in file.path and file.is_added_file:
+             # Only search first ten lines as later lines may
+             # contains commented code which a note that it
+             # has not been tested due to a certain PR or DR.
+             this_file_prs = []
+             for line in list(file)[0][0:10]:
+                 m = pr_regex.search(line.value)
+                 if m:
+                     pr = m.group('pr')
+                     if pr not in prs:
+                         prs.append(pr)
+                         this_file_prs.append(pr.split('/')[-1])
+                 else:
+                     m = dr_regex.search(line.value)
+                     if m:
+                         dr = m.group('dr')
+                         if dr not in prs:
+                             prs.append(dr)
+                             this_file_prs.append(dr.split('/')[-1])
+                     elif dg_regex.search(line.value):
+                         # Found dg-warning/dg-error line
+                         break
+             # PR number in the file name
+             fname = os.path.basename(file.path)
+             m = pr_filename_regex.search(fname)
+             if m:
+                 pr = m.group('pr')
+                 pr2 = 'PR ' + pr
+                 if pr not in this_file_prs and pr2 not in prs:
+                     prs.append(pr2)
+ 
+     if prs:
+         firstpr = prs[0]
+ 
+     if fill_pr_titles:
+         out += get_pr_titles(prs)
+ 
+     # print list of PR entries before ChangeLog entries
+     if prs:
+         if not out:
+             out += '\n'
+         for pr in prs:
+             out += '\t%s\n' % pr
+         out += '\n'
+ 
+     # sort ChangeLog so that 'testsuite' is at the end
+     for changelog in sorted(changelog_list, key=lambda x: 'testsuite' in x):
+         files = changelogs[changelog]
+         out += '%s:\n' % os.path.join(changelog, 'ChangeLog')
+         out += '\n'
+         # new and deleted files should be at the end
+         for file in sorted(files, key=sort_changelog_files):
+             assert file.path.startswith(changelog)
+             in_tests = 'testsuite' in changelog or 'testsuite' in file.path
+             relative_path = file.path[len(changelog):].lstrip('/')
+             functions = []
+             if file.is_added_file:
+                 msg = 'New test' if in_tests else 'New file'
+                 out += '\t* %s: %s.\n' % (relative_path, msg)
+             elif file.is_removed_file:
+                 out += '\t* %s: Removed.\n' % (relative_path)
+             elif hasattr(file, 'is_rename') and file.is_rename:
+                 out += '\t* %s: Moved to...\n' % (relative_path)
+                 new_path = file.target_file[2:]
+                 # A file can be theoretically moved to a location that
+                 # belongs to a different ChangeLog.  Let user fix it.
+                 if new_path.startswith(changelog):
+                     new_path = new_path[len(changelog):].lstrip('/')
+                 out += '\t* %s: ...here.\n' % (new_path)
+             elif os.path.basename(file.path) in generated_files:
+                 out += '\t* %s: Regenerate.\n' % (relative_path)
+             else:
+                 if not no_functions:
+                     for hunk in file:
+                         # Do not add function names for testsuite files
+                         extension = os.path.splitext(relative_path)[1]
+                         if not in_tests and extension in function_extensions:
+                             last_fn = None
+                             modified_visited = False
+                             success = False
+                             for line in hunk:
+                                 m = identifier_regex.match(line.value)
+                                 if line.is_added or line.is_removed:
+                                     # special-case definition in .md files
+                                     m2 = md_def_regex.match(line.value)
+                                     if extension == '.md' and m2:
+                                         fn = m2.group(1)
+                                         if fn not in functions:
+                                             functions.append(fn)
+                                             last_fn = None
+                                             success = True
+ 
+                                     if not line.value.strip():
+                                         continue
+                                     modified_visited = True
+                                     if m and try_add_function(functions,
+                                                               m.group(1)):
+                                         last_fn = None
+                                         success = True
+                                 elif line.is_context:
+                                     if last_fn and modified_visited:
+                                         try_add_function(functions, last_fn)
+                                         last_fn = None
+                                         modified_visited = False
+                                         success = True
+                                     elif m:
+                                         last_fn = m.group(1)
+                                         modified_visited = False
+                             if not success:
+                                 try_add_function(functions,
+                                                  hunk.section_header)
+                 if functions:
+                     out += '\t* %s (%s):\n' % (relative_path, functions[0])
+                     for fn in functions[1:]:
+                         out += '\t(%s):\n' % fn
+                 else:
+                     out += '\t* %s:\n' % relative_path
+         out += '\n'
+     return out
+ 
+ 
+ def update_copyright(data):
+     current_timestamp = datetime.datetime.now().strftime('%Y-%m-%d')
+     username = subprocess.check_output('git config user.name', shell=True,
+                                        encoding='utf8').strip()
+     email = subprocess.check_output('git config user.email', shell=True,
+                                     encoding='utf8').strip()
+ 
+     changelogs = set()
+     diff = PatchSet(data)
+ 
+     for file in diff:
+         changelog = os.path.join(find_changelog(file.path), 'ChangeLog')
+         if changelog not in changelogs:
+             changelogs.add(changelog)
+             with open(changelog) as f:
+                 content = f.read()
+             with open(changelog, 'w+') as f:
+                 f.write(f'{current_timestamp}  {username}  <{email}>\n\n')
+                 f.write('\tUpdate copyright years.\n\n')
+                 f.write(content)
+ 
+ 
+ if __name__ == '__main__':
+     parser = argparse.ArgumentParser(description=help_message)
+     parser.add_argument('input', nargs='?',
+                         help='Patch file (or missing, read standard input)')
+     parser.add_argument('-b', '--pr-numbers', action='store',
+                         type=lambda arg: arg.split(','), nargs='?',
+                         help='Add the specified PRs (comma separated)')
+     parser.add_argument('-s', '--no-functions', action='store_true',
+                         help='Do not generate function names in ChangeLogs')
+     parser.add_argument('-p', '--fill-up-bug-titles', action='store_true',
+                         help='Download title of mentioned PRs')
+     parser.add_argument('-d', '--directory',
+                         help='Root directory where to search for ChangeLog '
+                         'files')
+     parser.add_argument('-c', '--changelog',
+                         help='Append the ChangeLog to a git commit message '
+                              'file')
+     parser.add_argument('--update-copyright', action='store_true',
+                         help='Update copyright in ChangeLog files')
+     args = parser.parse_args()
+     if args.input == '-':
+         args.input = None
+     if args.directory:
+         root = args.directory
+ 
+     data = open(args.input) if args.input else sys.stdin
+     if args.update_copyright:
+         update_copyright(data)
+     else:
+         output = generate_changelog(data, args.no_functions,
+                                     args.fill_up_bug_titles, args.pr_numbers)
+         if args.changelog:
+             lines = open(args.changelog).read().split('\n')
+             start = list(takewhile(lambda l: not l.startswith('#'), lines))
+             end = lines[len(start):]
+             with open(args.changelog, 'w') as f:
+                 if not start or not start[0]:
+                     # initial commit subject line 'component: [PRnnnnn]'
+                     m = prnum_regex.match(firstpr)
+                     if m:
+                         title = f'{m.group("comp")}: [PR{m.group("num")}]'
+                         start.insert(0, title)
+                 if start:
+                     # append empty line
+                     if start[-1] != '':
+                         start.append('')
+                 else:
+                     # append 2 empty lines
+                     start = 2 * ['']
+                 f.write('\n'.join(start))
+                 f.write('\n')
+                 f.write(output)
+                 f.write('\n'.join(end))
+         else:
+             print(output, end='')
diff -Nrcpad gcc-9.4.0/contrib/reghunt/ChangeLog gcc-9.5.0/contrib/reghunt/ChangeLog
*** gcc-9.4.0/contrib/reghunt/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/contrib/reghunt/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/contrib/regression/ChangeLog gcc-9.5.0/contrib/regression/ChangeLog
*** gcc-9.4.0/contrib/regression/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/contrib/regression/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/contrib/test_mklog.py gcc-9.5.0/contrib/test_mklog.py
*** gcc-9.4.0/contrib/test_mklog.py	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/contrib/test_mklog.py	Fri May 27 07:21:10 2022
***************
*** 0 ****
--- 1,487 ----
+ #!/usr/bin/env python3
+ 
+ # Copyright (C) 2020 Free Software Foundation, Inc.
+ #
+ # 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 COPYING.  If not, write to
+ # the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ # Boston, MA 02110-1301, USA.
+ 
+ # This script parses a .diff file generated with 'diff -up' or 'diff -cp'
+ # and adds a skeleton ChangeLog file to the file. It does not try to be
+ # too smart when parsing function names, but it produces a reasonable
+ # approximation.
+ #
+ # Author: Martin Liska <mliska@suse.cz>
+ 
+ import unittest
+ 
+ from mklog import generate_changelog
+ 
+ import unidiff
+ 
+ unidiff_supports_renaming = hasattr(unidiff.PatchedFile(), 'is_rename')
+ 
+ 
+ PATCH1 = '''\
+ diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
+ index 567c23380fe..e6209ede9d6 100644
+ --- a/gcc/config/riscv/riscv.h
+ +++ b/gcc/config/riscv/riscv.h
+ @@ -920,6 +920,7 @@ extern unsigned riscv_stack_boundary;
+  #define SHIFT_RS1 15
+  #define SHIFT_IMM 20
+  #define IMM_BITS 12
+ +#define C_S_BITS 5
+  #define C_SxSP_BITS 6
+  
+  #define IMM_REACH (1LL << IMM_BITS)
+ @@ -929,6 +930,10 @@ extern unsigned riscv_stack_boundary;
+  #define SWSP_REACH (4LL << C_SxSP_BITS)
+  #define SDSP_REACH (8LL << C_SxSP_BITS)
+  
+ +/* This is the maximum value that can be represented in a compressed load/store
+ +   offset (an unsigned 5-bit value scaled by 4).  */
+ +#define CSW_MAX_OFFSET ((4LL << C_S_BITS) - 1) & ~3
+ +
+  /* Called from RISCV_REORG, this is defined in riscv-sr.c.  */
+  
+  extern void riscv_remove_unneeded_save_restore_calls (void);
+ 
+ '''
+ 
+ EXPECTED1 = '''\
+ gcc/ChangeLog:
+ 
+ 	* config/riscv/riscv.h (C_S_BITS):
+ 	(CSW_MAX_OFFSET):
+ 
+ '''
+ 
+ PATCH2 = '''\
+ diff --git a/gcc/targhooks.h b/gcc/targhooks.h
+ index 9704d23f1db..b572a36e8cf 100644
+ --- a/gcc/targhooks.h
+ +++ b/gcc/targhooks.h
+ @@ -120,7 +120,7 @@ extern bool default_empty_mask_is_expensive (unsigned);
+  extern void *default_init_cost (class loop *);
+  extern unsigned default_add_stmt_cost (class vec_info *, void *, int,
+  				       enum vect_cost_for_stmt,
+ -				       class _stmt_vec_info *, int,
+ +				       class _stmt_vec_info *, tree, int,
+  				       enum vect_cost_model_location);
+  extern void default_finish_cost (void *, unsigned *, unsigned *, unsigned *);
+  extern void default_destroy_cost_data (void *);
+ @@ -186,6 +186,7 @@ extern tree default_emutls_var_init (tree, tree, tree);
+  extern unsigned int default_hard_regno_nregs (unsigned int, machine_mode);
+  extern bool default_hard_regno_scratch_ok (unsigned int);
+  extern bool default_mode_dependent_address_p (const_rtx, addr_space_t);
+ +extern bool default_new_address_profitable_p (rtx, rtx_insn *, rtx);
+  extern bool default_target_option_valid_attribute_p (tree, tree, tree, int);
+  extern bool default_target_option_pragma_parse (tree, tree);
+  extern bool default_target_can_inline_p (tree, tree);
+ 
+ '''
+ 
+ EXPECTED2 = '''\
+ gcc/ChangeLog:
+ 
+ 	* targhooks.h (default_add_stmt_cost):
+ 	(default_new_address_profitable_p):
+ 
+ '''
+ 
+ PATCH3 = '''\
+ diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
+ index 2b1e33f94ae..7f47402f9b9 100644
+ --- a/libcpp/include/cpplib.h
+ +++ b/libcpp/include/cpplib.h
+ @@ -173,7 +173,7 @@ enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_GNUC17, CLK_GNUC2X,
+  	     CLK_STDC2X,
+  	     CLK_GNUCXX, CLK_CXX98, CLK_GNUCXX11, CLK_CXX11,
+  	     CLK_GNUCXX14, CLK_CXX14, CLK_GNUCXX17, CLK_CXX17,
+ -	     CLK_GNUCXX2A, CLK_CXX2A, CLK_ASM};
+ +	     CLK_GNUCXX20, CLK_CXX20, CLK_ASM};
+  
+  /* Payload of a NUMBER, STRING, CHAR or COMMENT token.  */
+  struct GTY(()) cpp_string {
+ @@ -484,7 +484,7 @@ struct cpp_options
+    /* Nonzero for C2X decimal floating-point constants.  */
+    unsigned char dfp_constants;
+  
+ -  /* Nonzero for C++2a __VA_OPT__ feature.  */
+ +  /* Nonzero for C++20 __VA_OPT__ feature.  */
+    unsigned char va_opt;
+  
+    /* Nonzero for the '::' token.  */
+ 
+ '''
+ 
+ EXPECTED3 = '''\
+ libcpp/ChangeLog:
+ 
+ 	* include/cpplib.h (enum c_lang):
+ 	(struct cpp_options):
+ 
+ '''
+ 
+ EXPECTED3B = '''\
+ libcpp/ChangeLog:
+ 
+ 	* include/cpplib.h:
+ 
+ '''
+ 
+ PATCH4 = '''\
+ diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
+ index aab79492357..f0df1002488 100644
+ --- a/gcc/ipa-icf.c
+ +++ b/gcc/ipa-icf.c
+ @@ -1,5 +1,7 @@
+  
+  
+ +
+ +
+  /* Interprocedural Identical Code Folding pass
+     Copyright (C) 2014-2020 Free Software Foundation, Inc.
+  
+ diff --git a/gcc/testsuite/gcc.dg/pr32374.c b/gcc/testsuite/gcc.dg/pr32374.c
+ deleted file mode 100644
+ index de15d559f5b..00000000000
+ --- a/gcc/testsuite/gcc.dg/pr32374.c
+ +++ /dev/null
+ @@ -1,20 +0,0 @@
+ -/* { dg-do compile } */
+ -/* { dg-options "-O2" } */
+ -
+ -extern int *stderr;
+ -
+ -void f (int *, const char *, ...);
+ -
+ -void g (const char *conf_name)
+ -{
+ -  typedef struct
+ -  {
+ -    const char *label;
+ -    const int value;
+ -  } Section;
+ -
+ -  const Section sections[2] = { {"", 0}, {"", 1} };
+ -
+ -  f (stderr, "", "", conf_name, 0, sections[0]);
+ -  f (stderr, "", "", conf_name, 0, sections[0]);
+ -}
+ diff --git a/gcc/testsuite/gcc.dg/pr40209.c b/gcc/testsuite/gcc.dg/pr40209.c
+ index 4e77df5c2e6..c23d69d1f1b 100644
+ --- a/gcc/testsuite/gcc.dg/pr40209.c
+ +++ b/gcc/testsuite/gcc.dg/pr40209.c
+ @@ -1,6 +1,8 @@
+  /* { dg-do compile } */
+  /* { dg-options "-O2 -fprofile-use -fopt-info -Wno-missing-profile" } */
+  
+ +
+ +
+  void process(const char *s);
+  
+  struct BaseHolder {
+ diff --git a/gcc/testsuite/gcc.dg/pr50209.c b/gcc/testsuite/gcc.dg/pr50209.c
+ new file mode 100644
+ index 00000000000..b28b04f6431
+ --- /dev/null
+ +++ b/gcc/testsuite/gcc.dg/pr50209.c
+ @@ -0,0 +1,3 @@
+ +
+ +
+ +
+ diff --git a/gcc/testsuite/gcc.dg/pr63567-1.c b/gcc/testsuite/gcc.dg/pr63567-1.c
+ index 97da171563e..00c5ecc11fa 100644
+ --- a/gcc/testsuite/gcc.dg/pr63567-1.c
+ +++ b/gcc/testsuite/gcc.dg/pr63567-1.c
+ @@ -1,3 +1,4 @@
+ +
+  /* PR c/63567 */
+  /* { dg-do compile } */
+  /* { dg-options "" } */
+ diff --git a/gcc/varasm.c b/gcc/varasm.c
+ index f062e48071f..fd3c7ca8cf3 100644
+ --- a/gcc/varasm.c
+ +++ b/gcc/varasm.c
+ @@ -1,3 +1,5 @@
+ +
+ +
+  /* Output variables, constants and external declarations, for GNU compiler.
+     Copyright (C) 1987-2020 Free Software Foundation, Inc.
+  
+ diff --git a/libssp/gets-chk.c b/libssp/gets-chk.c
+ index 4ad78c1f77b..6687b368038 100644
+ --- a/libssp/gets-chk.c
+ +++ b/libssp/gets-chk.c
+ @@ -32,6 +32,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+  <http://www.gnu.org/licenses/>.  */
+  
+  
+ +
+ +
+  #include "config.h"
+  #include <ssp/ssp.h>
+  #include <stdarg.h>
+ '''
+ 
+ EXPECTED4 = '''\
+ 
+ 	PR 50209
+ 
+ gcc/ChangeLog:
+ 
+ 	* ipa-icf.c:
+ 	* varasm.c:
+ 
+ libssp/ChangeLog:
+ 
+ 	* gets-chk.c:
+ 
+ gcc/testsuite/ChangeLog:
+ 
+ 	* gcc.dg/pr40209.c:
+ 	* gcc.dg/pr63567-1.c:
+ 	* gcc.dg/pr32374.c: Removed.
+ 	* gcc.dg/pr50209.c: New test.
+ 
+ '''
+ 
+ PATCH5 = '''\
+ diff --git a/gcc/testsuite/gcc.target/i386/pr95046-6.c b/gcc/testsuite/gcc.target/i386/pr95046-6.c
+ new file mode 100644
+ index 00000000000..dcc8999c446
+ --- /dev/null
+ +++ b/gcc/testsuite/gcc.target/i386/pr95046-6.c
+ @@ -0,0 +1,44 @@
+ +/* PR target/95046 */
+ +/* { dg-do compile { target { ! ia32 } } } */
+ +/* { dg-options "-O3 -mavx512vl" } */
+ +
+ +
+ +double r[2];
+ +int s[2];
+ +unsigned int u[2];
+ +
+ +void
+ +test_float (void)
+ +{
+ +  for (int i = 0; i < 2; i++)
+ +    r[i] = s[i];
+ +}
+ +
+ +/* { dg-final { scan-assembler "\tvcvtdq2pd" } } */
+ +
+ +void
+ +test_ufloat (void)
+ +{
+ +  for (int i = 0; i < 2; i++)
+ +    r[i] = u[i];
+ +}
+ +
+ +/* { dg-final { scan-assembler "\tvcvtudq2pd" } } */
+ +
+ +void
+ +test_fix (void)
+ +{
+ +  for (int i = 0; i < 2; i++)
+ +    s[i] = r[i];
+ +}
+ +
+ +/* { dg-final { scan-assembler "\tvcvttpd2dqx" } } */
+ +
+ +void
+ +test_ufix (void)
+ +{
+ +  for (int i = 0; i < 2; i++)
+ +    u[i] = r[i];
+ +}
+ +
+ +/* { dg-final { scan-assembler "\tvcvttpd2udqx" } } */
+ -- 
+ 2.26.2
+ 
+ '''
+ 
+ EXPECTED5 = '''\
+ PR target/95046 - Vectorize V2SFmode operations
+ 
+ 	PR target/95046
+ 
+ gcc/testsuite/ChangeLog:
+ 
+ 	* gcc.target/i386/pr95046-6.c: New test.
+ 
+ '''
+ 
+ PATCH6 = '''\
+ diff --git a/gcc/cgraph.h b/gcc/cgraph.h
+ index 5ddeb65269b..cfae6e91da9 100644
+ --- a/gcc/cgraph.h
+ +++ b/gcc/cgraph.h
+ @@ -937,7 +937,8 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
+        split_part (false), indirect_call_target (false), local (false),
+        versionable (false), can_change_signature (false),
+        redefined_extern_inline (false), tm_may_enter_irr (false),
+ -      ipcp_clone (false), m_uid (uid), m_summary_id (-1)
+ +      ipcp_clone (false), declare_variant_alt (false),
+ +      calls_declare_variant_alt (false), m_uid (uid), m_summary_id (-1)
+    {}
+  
+    /* Remove the node from cgraph and all inline clones inlined into it.
+ 
+ '''
+ 
+ EXPECTED6 = '''\
+ gcc/ChangeLog:
+ 
+ 	* cgraph.h (struct cgraph_node):
+ 
+ '''
+ 
+ PATCH7 = '''\
+ diff --git a/gcc/testsuite/g++.dg/DRs/dr2237.C b/gcc/testsuite/g++.dg/DRs/dr2237.C
+ new file mode 100644
+ index 00000000000..f3d6d11e61e
+ --- /dev/null
+ +++ b/gcc/testsuite/g++.dg/DRs/dr2237.C
+ @@ -0,0 +1,18 @@
+ +// DR 2237 - Can a template-id name a constructor?
+ +
+ +template<class T>
+ +struct X {
+ +  X<T>(); // { dg-error "expected" "" { target c++20 } }
+ +  X(int); // OK, injected-class-name used
+ +  ~X<T>(); // { dg-error "template-id not allowed for destructor" "" { target c++20 } }
+ +};
+ +
+ +// ill-formed since DR1435
+ +template<typename T> X<T>::X<T>() {} // { dg-error "names the constructor|as no template constructors" }
+ +template<typename T> X<T>::~X<T>() {} // { dg-error "template-id not allowed for destructor" "" { target c++20 } }
+ +
+ +struct Q {
+ +  // ill-formed since DR1435
+ +  template<typename T> friend X<T>::X<T>(); // { dg-error "names the constructor|as no template constructors" }
+ +  template<typename T> friend X<T>::~X<T>(); // { dg-error "template-id not allowed for destructor" "" { target c++20 } }
+ +};
+ '''
+ 
+ EXPECTED7 = '''\
+ 
+ 	DR 2237
+ 
+ gcc/testsuite/ChangeLog:
+ 
+ 	* g++.dg/DRs/dr2237.C: New test.
+ 
+ '''
+ 
+ PATCH8 = '''\
+ diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf2.c
+ similarity index 100%
+ rename from gcc/ipa-icf.c
+ rename to gcc/ipa-icf2.c
+ '''
+ 
+ EXPECTED8 = '''\
+ gcc/ChangeLog:
+ 
+ 	* ipa-icf.c: Moved to...
+ 	* ipa-icf2.c: ...here.
+ 
+ '''
+ 
+ PATCH9 = '''\
+ diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
+ index 2a260c1cfbd..7f03fc491c3 100644
+ --- a/gcc/config/i386/sse.md
+ +++ b/gcc/config/i386/sse.md
+ @@ -17611,6 +17611,23 @@ (define_insn "avx2_<code>v16qiv16hi2<mask_name>"
+     (set_attr "prefix" "maybe_evex")
+     (set_attr "mode" "OI")])
+  
+ +(define_insn_and_split "*avx2_zero_extendv16qiv16hi2_1"
+ +  [(set (match_operand:V32QI 0 "register_operand" "=v")
+ +	(vec_select:V32QI
+ +	  (vec_concat:V64QI
+ +	    (match_operand:V32QI 1 "nonimmediate_operand" "vm")
+ +	    (match_operand:V32QI 2 "const0_operand" "C"))
+ +	  (match_parallel 3 "pmovzx_parallel"
+ +	    [(match_operand 4 "const_int_operand" "n")])))]
+ +  "TARGET_AVX2"
+ +  "#"
+ +  "&& reload_completed"
+ +  [(set (match_dup 0) (zero_extend:V16HI (match_dup 1)))]
+ +{
+ +  operands[0] = lowpart_subreg (V16HImode, operands[0], V32QImode);
+ +  operands[1] = lowpart_subreg (V16QImode, operands[1], V32QImode);
+ +})
+ +
+  (define_expand "<insn>v16qiv16hi2"
+    [(set (match_operand:V16HI 0 "register_operand")
+  	(any_extend:V16HI
+ '''
+ 
+ EXPECTED9 = '''\
+ gcc/ChangeLog:
+ 
+ 	* config/i386/sse.md (*avx2_zero_extendv16qiv16hi2_1):
+ 
+ '''
+ 
+ class TestMklog(unittest.TestCase):
+     def test_macro_definition(self):
+         changelog = generate_changelog(PATCH1)
+         assert changelog == EXPECTED1
+ 
+     def test_changed_argument(self):
+         changelog = generate_changelog(PATCH2)
+         assert changelog == EXPECTED2
+ 
+     def test_enum_and_struct(self):
+         changelog = generate_changelog(PATCH3)
+         assert changelog == EXPECTED3
+ 
+     def test_no_function(self):
+         changelog = generate_changelog(PATCH3, True)
+         assert changelog == EXPECTED3B
+ 
+     def test_sorting(self):
+         changelog = generate_changelog(PATCH4)
+         assert changelog == EXPECTED4
+ 
+     def test_pr_bugzilla_download(self):
+         changelog = generate_changelog(PATCH5, fill_pr_titles=True)
+         assert changelog == EXPECTED5
+ 
+     def test_gty_in_struct(self):
+         changelog = generate_changelog(PATCH6, fill_pr_titles=True)
+         assert changelog == EXPECTED6
+ 
+     def test_dr_detection_in_test_case(self):
+         changelog = generate_changelog(PATCH7)
+         assert changelog == EXPECTED7
+ 
+     @unittest.skipIf(not unidiff_supports_renaming,
+                      'Newer version of unidiff is needed (0.6.0+)')
+     def test_renaming(self):
+         changelog = generate_changelog(PATCH8)
+         assert changelog == EXPECTED8
+ 
+     def test_define_macro_parsing(self):
+         changelog = generate_changelog(PATCH9)
+         assert changelog == EXPECTED9
diff -Nrcpad gcc-9.4.0/fixincludes/ChangeLog gcc-9.5.0/fixincludes/ChangeLog
*** gcc-9.4.0/fixincludes/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/fixincludes/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/BASE-VER gcc-9.5.0/gcc/BASE-VER
*** gcc-9.4.0/gcc/BASE-VER	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/BASE-VER	Fri May 27 07:21:30 2022
***************
*** 1 ****
! 9.4.0
--- 1 ----
! 9.5.0
diff -Nrcpad gcc-9.4.0/gcc/ChangeLog gcc-9.5.0/gcc/ChangeLog
*** gcc-9.4.0/gcc/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,1089 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-16  Sebastian Pop  <spop@amazon.com>
+ 
+ 	PR target/105162
+ 	* config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
+ 	of str array.
+ 	* config/aarch64/aarch64.c (aarch64_atomic_ool_func): Call
+ 	memmodel_from_int and handle MEMMODEL_SYNC_*.
+ 	(DEF0): Add __aarch64_*_sync functions.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/105396
+ 	* asan.c (asan_redzone_buffer::emit_redzone_byte): Handle the case
+ 	where offset is bigger than off but smaller than m_prev_offset + 32
+ 	bits by pushing one or more 0 bytes.  Sink the
+ 	m_shadow_bytes.safe_push (value); flush_if_full (); statements from
+ 	all cases to the end of the function.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/105257
+ 	* config/sparc/sparc.c (epilogue_renumber): If ORIGINAL_REGNO,
+ 	use gen_raw_REG instead of gen_rtx_REG and copy over also
+ 	ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/105214
+ 	* config/i386/i386.c (ix86_emit_i387_log1p): Call
+ 	do_pending_stack_adjust.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/105211
+ 	* builtins.c (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
+ 	fails for TREE_TYPE (arg), retry it with
+ 	TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
+ 	fails, emit call normally.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/105189
+ 	* fold-const.c (make_range_step): Fix up handling of
+ 	(unsigned) x +[low, -] ranges for signed x if low fits into
+ 	typeof (x).
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/104985
+ 	* combine.c (struct undo): Add where.regno member.
+ 	(do_SUBST_MODE): Rename to ...
+ 	(subst_mode): ... this.  Change first argument from rtx * into int,
+ 	operate on regno_reg_rtx[regno] and save regno into where.regno.
+ 	(SUBST_MODE): Remove.
+ 	(try_combine): Use subst_mode instead of SUBST_MODE, change first
+ 	argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
+ 	regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
+ 	(undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
+ 	instead of *undo->where.r.
+ 	(simplify_set): Use subst_mode instead of SUBST_MODE, change first
+ 	argument from regno_reg_rtx[whatever] to whatever.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/105123
+ 	* config/i386/i386.c (ix86_expand_vector_init_general): Avoid
+ 	using word as target for expand_simple_binop when doing ASHIFT and
+ 	IOR.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/105093
+ 	* ubsan.c (instrument_object_size): If t is equal to inner and
+ 	is a decl other than global var, punt.  When emitting call to
+ 	UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/104971
+ 	* config/i386/i386.c
+ 	(ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
+ 	don't push/pop anything and just return const0_rtx.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/104711
+ 	* doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
+ 	is enabled by it only for C++11 to C++17 rather than for C++03 or
+ 	later.
+ 	(-Wshift-negative-value): Similarly (except here we stated
+ 	that it is enabled for C++11 or later).
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/104775
+ 	* config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
+ 	S constraint instead of T in the last alternative.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-25  Jakub Jelinek  <jakub@redhat.com>
+ 		    Marc Glisse  <marc.glisse@inria.fr>
+ 
+ 	PR tree-optimization/104675
+ 	* match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
+ 	Restrict simplifications to INTEGRAL_TYPE_P.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/104681
+ 	* config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/104675
+ 	* match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
+ 	COMPLEX_TYPE.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/104557
+ 	* valtrack.c (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
+ 	if expr has VOIDmode.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/104517
+ 	* omp-low.c (task_cpyfns): New variable.
+ 	(delete_omp_context): Don't call finalize_task_copyfn from here.
+ 	(create_task_copyfn): Push task_stmt into task_cpyfns.
+ 	(execute_lower_omp): Call finalize_task_copyfn here on entries from
+ 	task_cpyfns vector and release the vector.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/104449
+ 	* asan.c: Include tree-eh.h.
+ 	(handle_builtin_alloca): Handle the case when __builtin_alloca or
+ 	__builtin_alloca_with_align can throw.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/104502
+ 	* config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
+ 	and AVX512VL isn't available, move operands[1] to operands[0] first.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/104446
+ 	* combine.c (subst): Don't substitute CONST_INTs into RTX_AUTOINC
+ 	operands.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/102140
+ 	* config/rs6000/rs6000.c (vspltis_shifted): Return false also if
+ 	split1 pass has finished already.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/102478
+ 	* optabs.c (prepare_cmp_insn): If !can_create_pseudo_p (), don't
+ 	force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
+ 	would be needed.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/102860
+ 	* match.pd (x %[fl] y -> x % y): New simplification for
+ 	unsigned integral types.
+ 	* optabs-tree.c (optab_for_tree_code): Return unknown_optab
+ 	for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/103908
+ 	* ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
+ 	asm goto.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/103860
+ 	* shrink-wrap.c (try_shrink_wrapping): Make sure can_get_prologue is
+ 	called on pro even if nothing further is pushed into vec.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-12-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/103837
+ 	* loop-invariant.c (can_move_invariant_reg): Ignore DEBUG_INSNs in
+ 	the decisions whether to return false or continue and right before
+ 	returning true reset those debug insns that previously caused
+ 	returning false.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/103435
+ 	* gimple-ssa-store-merging.c (find_bswap_or_nop_finalize): Avoid UB if
+ 	n->range - rsize == 8, just clear both *cmpnop and *cmpxchg in that
+ 	case.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/103192
+ 	* tree-ssa-loop-im.c (move_computations_worker): Use
+ 	reset_flow_sensitive_info instead of manually clearing
+ 	SSA_NAME_RANGE_INFO and do it for all SSA_NAMEs, not just ones
+ 	with integral types.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/103205
+ 	* config/i386/sync.md (atomic_bit_test_and_set<mode>,
+ 	atomic_bit_test_and_complement<mode>,
+ 	atomic_bit_test_and_reset<mode>): Use OPTAB_WIDEN instead of
+ 	OPTAB_DIRECT.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/101378
+ 	* dwarf2out.c (field_byte_offset): Do the PCC_BITFIELD_TYPE_MATTERS
+ 	handling only for DECL_BIT_FIELD_TYPE decls.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/102498
+ 	* config/i386/i386.c (standard_80387_constant_p): Don't recognize
+ 	special 80387 instruction XFmode constants if flag_rounding_math.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/88578
+ 	PR c++/102295
+ 	* varasm.c (output_constructor_regular_field): Instead of assertion
+ 	that array_size_for_constructor result is equal to size of
+ 	TREE_TYPE (local->val) in bytes, assert that the type size is greater
+ 	or equal to array_size_for_constructor result and use type size as
+ 	fieldsize.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/102224
+ 	* config/i386/i386.md (xorsign<mode>3): If operands[1] is equal to
+ 	operands[2], emit abs<mode>2 instead.
+ 	(@xorsign<mode>3_1): Add early-clobber for output operand.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-08-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/101905
+ 	* dwarf2out.c (gen_variable_die): Add DW_AT_location for global
+ 	register variables already during early_dwarf if possible.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/101624
+ 	* ubsan.c (maybe_instrument_pointer_overflow,
+ 	instrument_object_size): Only test DECL_REGISTER on VAR_DECLs,
+ 	PARM_DECLs or RESULT_DECLs.
+ 	* sanopt.c (maybe_optimize_ubsan_ptr_ifn): Likewise.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/101562
+ 	* expmed.c (store_integral_bit_field): Only use movstrict_optab
+ 	if the operand isn't paradoxical.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/101535
+ 	* gimplify.c (omp_check_private): Properly skip ORT_TARGET_DATA
+ 	contexts in which decl isn't privatized and for ORT_TARGET return
+ 	false if decl is mapped.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/101384
+ 	* config/rs6000/rs6000.c (vspltis_constant): Accept EASY_VECTOR_MSB
+ 	only if step and copies are equal to 1.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/94366
+ 	* omp-low.c (lower_rec_input_clauses): Rename is_fp_and_or to
+ 	is_truth_op, set it for TRUTH_*IF_EXPR regardless of new_var's type,
+ 	use boolean_type_node instead of integer_type_node as NE_EXPR type.
+ 	(lower_reduction_clauses): Likewise.
+ 
+ 2022-05-11  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	* omp-low.c (lower_rec_input_clauses, lower_reduction_clauses): Handle
+ 	&& and || with floating-point and complex arguments.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR go/101407
+ 	* godump.c (godump_str_hash): New type.
+ 	(godump_container::pot_dummy_types): Use string_hash instead of
+ 	ptr_hash in the hash_set.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/101266
+ 	* dwarf2out.c (loc_list_from_tree_1): Handle COMPOUND_LITERAL_EXPR.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/101210
+ 	* match.pd ((intptr_t)x eq/ne CST to x eq/ne (typeof x) CST): Don't
+ 	perform the optimization in GENERIC when sanitizing and x has a
+ 	reference type.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/101167
+ 	* omp-low.c (lower_omp_regimplify_p): Regimplify also PARM_DECLs
+ 	and RESULT_DECLs that have DECL_HAS_VALUE_EXPR_P set.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR inline-asm/100785
+ 	* cfgexpand.c (expand_asm_stmt): If errors are emitted,
+ 	remove all inputs, outputs and clobbers from the asm and
+ 	set template to "".
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/101062
+ 	* stor-layout.c (finish_bitfield_layout): Don't add bitfield
+ 	representatives in QUAL_UNION_TYPE.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/101062
+ 	* stor-layout.c (finish_bitfield_representative): For fields in unions
+ 	assume nextf is always NULL.
+ 	(finish_bitfield_layout): Compute bit field representatives also in
+ 	unions, but handle it as if each bitfield was the only field in the
+ 	aggregate.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/101046
+ 	* expr.c (expand_expr_real_2) <case VEC_PACK_FIX_TRUNC_EXPR,
+ 	case VEC_PACK_TRUNC_EXPR>: Clear subtarget when changing mode.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/100898
+ 	* tree-inline.c (copy_bb): Only use gimple_call_arg_ptr if memcpy
+ 	should copy any arguments.  Don't call gimple_call_num_args
+ 	on id->call_stmt or call_stmt more than once.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/100887
+ 	* config/i386/i386.c (ix86_expand_vector_init): Handle
+ 	concatenation from half-sized modes with TImode elements.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-05-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/100508
+ 	* cfgexpand.c (expand_debug_expr): For DEBUG_EXPR_DECL with vector
+ 	type, don't reuse DECL_RTL if it has different mode, instead force
+ 	creation of a new DEBUG_EXPR.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/100471
+ 	* omp-low.c (lower_omp_task_reductions): For OMP_TASKLOOP, if data
+ 	is 0, bypass the reduction loop including
+ 	GOMP_taskgroup_reduction_unregister call.
+ 
+ 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR target/105292
+ 	* config/sparc/sparc.c (sparc_vectorize_vec_perm_const): Return
+ 	true only for 8-byte vector modes.
+ 
+ 2022-05-06  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2022-04-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/105070
+ 	* tree-switch-conversion.h
+ 	(bit_test_cluster::hoist_edge_and_branch_if_true): Add location
+ 	argument.
+ 	* tree-switch-conversion.c
+ 	(bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
+ 	cond with location.
+ 	(bit_test_cluster::emit): Annotate all generated expressions
+ 	with location.
+ 
+ 2022-05-06  Tom de Vries  <tdevries@suse.de>
+ 
+ 	Backported from master:
+ 	2021-02-05  Tom de Vries  <tdevries@suse.de>
+ 
+ 	PR debug/98656
+ 	* tree-switch-conversion.c (jump_table_cluster::emit): Add loc
+ 	argument.
+ 	(bit_test_cluster::emit): Reuse location_t for newly created
+ 	gswitch statement.
+ 	(switch_decision_tree::try_switch_expansion): Preserve
+ 	location_t.
+ 	* tree-switch-conversion.h: Change function signatures.
+ 
+ 2022-05-06  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2022-03-09  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/104786
+ 	* cfgexpand.c (expand_asm_stmt): Do not generate a copy
+ 	for VLAs without an upper size bound.
+ 
+ 2022-05-06  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-11-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/103361
+ 	* gimple-loop-jam.c (adjust_unroll_factor): Use lambda_int
+ 	for the dependence distance.
+ 	* tree-data-ref.c (print_lambda_vector): Properly print a lambda_int.
+ 
+ 2022-05-06  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2022-01-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/100786
+ 	* gimple-fold.c (get_symbol_constant_value): Only return
+ 	values of compatible type to the symbol.
+ 
+ 2022-04-27  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	Backported from master:
+ 	2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	PR target/105339
+ 	* config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
+ 	Add parentheses for parameters and djust format.
+ 	(_mm512_mask_scalef_round_pd): Ditto.
+ 	(_mm512_maskz_scalef_round_pd): Ditto.
+ 	(_mm512_scalef_round_ps): Ditto.
+ 	(_mm512_mask_scalef_round_ps): Ditto.
+ 	(_mm512_maskz_scalef_round_ps): Ditto.
+ 	(_mm_scalef_round_sd): Use _mm_undefined_pd.
+ 	(_mm_scalef_round_ss): Use _mm_undefined_ps.
+ 	(_mm_mask_scalef_round_sd): New macro.
+ 	(_mm_mask_scalef_round_ss): Ditto.
+ 	(_mm_maskz_scalef_round_sd): Ditto.
+ 	(_mm_maskz_scalef_round_ss): Ditto.
+ 
+ 2022-04-06  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	PR target/99977
+ 	* config/arm/arm.c (arm_split_compare_and_swap): Fix up codegen
+ 	with negative immediates: ensure we expand cbranchsi4_scratch
+ 	correctly and ensure we satisfy its constraints.
+ 	* config/arm/sync.md
+ 	(@atomic_compare_and_swap<CCSI:arch><NARROW:mode>_1): Don't
+ 	attempt to tie two output operands together with constraints;
+ 	collapse two alternatives.
+ 	(@atomic_compare_and_swap<CCSI:arch><SIDI:mode>_1): Likewise.
+ 	* config/arm/thumb1.md (cbranchsi4_neg_late): New.
+ 
+ 2022-03-30  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2020-10-19  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/97456
+ 	PR middle-end/105071
+ 	* tree-complex.c (set_component_ssa_name): Do not replace ignored decl
+ 	default definitions with new component vars.  Reorder if conditions.
+ 
+ 2022-03-16  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2022-02-09  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR target/104453
+ 	* config/i386/i386.c (ix86_gimple_fold_builtin): Guard shift
+ 	folding for NULL LHS.
+ 
+ 2022-02-18  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2020-09-14  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/97043
+ 	* tree-vect-slp.c (vect_analyze_slp_instance): Do not
+ 	elide a load permutation if the current vectorization
+ 	factor is one.
+ 
+ 2022-02-18  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2020-08-27  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/96522
+ 	* tree-ssa-address.c (copy_ref_info): Reset flow-sensitive
+ 	info of the copied points-to.  Transfer bigger alignment
+ 	via the access type.
+ 	* tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt):
+ 	Reset all flow-sensitive info.
+ 
+ 2022-02-17  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-11-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/102798
+ 	* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
+ 	Only copy points-to info to newly generated SSA names.
+ 
+ 2022-02-17  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-11-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/103181
+ 	PR middle-end/103248
+ 	* tree-eh.c (operation_could_trap_helper_p): Properly
+ 	check vector constants for a zero element for integer
+ 	division.  Separate floating point and integer division code.
+ 	Properly handle fixed-point RDIV_EXPR.
+ 
+ 2022-02-17  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-11-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/103237
+ 	* tree-vect-loop.c (vect_is_simple_reduction): Fail for
+ 	double reductions with multiple inner loop LC PHI nodes.
+ 
+ 2022-02-10  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/104469
+ 	* config/i386/sse.md (vec_unpacks_float_lo_v4si):
+ 	Change operand 1 constraint to register_operand.
+ 
+ 2022-02-09  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	PR target/104451
+ 	* config/i386/sse.md (<insn><mode>3): lowpart_subreg
+ 	operands[2] from SImode to QImode.
+ 
+ 2022-01-12  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2020-11-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/97953
+ 	* gimple-ssa-evrp-analyze.c
+ 	(evrp_range_analyzer::record_ranges_from_incoming_edge): Make
+ 	sure the condition post-dominates the SSA definition before
+ 	recording into SSA_NAME_RANGE_INFO.
+ 
+ 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR target/103465
+ 	* coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
+ 
+ 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* doc/invoke.texi (%X): Remove obsolete reference to -Wl.
+ 
+ 2021-12-27  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR target/100985
+ 	* config/aarch64/arm_acle.h: Remove unclosed extern "C" block.
+ 
+ 2021-12-15  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2021-11-30  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/102347
+ 	* config/rs6000/rs6000.c (rs6000_builtin_decl): Remove builtin mask
+ 	check.
+ 
+ 2021-12-01  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR ipa/103267
+ 	* tree-sra.c (scan_function): Also check ECF_LOOPING_CONST_OR_PURE
+ 	flag.
+ 
+ 2021-11-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Backported from master:
+ 	2021-11-20  Jan Hubicka  <hubicka@ucw.cz>
+ 
+ 	PR ipa/103052
+ 	* ipa-pure-const.c (propagate_pure_const): Fix merging of loping flag.
+ 
+ 2021-11-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+ 
+ 	PR target/101985
+ 	* config/rs6000/altivec.h (vec_cpsgn): Swap operand order.
+ 
+ 2021-11-22  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2021-11-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+ 
+ 	* config/s390/s390.md (define_peephole2): Variable insn points
+ 	to the first matched insn.  Use peep2_next_insn(1) to refer to
+ 	the second matched insn.
+ 
+ 2021-11-09  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-05-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/100672
+ 	* fold-const.c (fold_negate_expr_1): Use element_precision.
+ 	(negate_expr_p): Likewise.
+ 
+ 2021-11-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-08-17  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/101373
+ 	PR tree-optimization/101868
+ 	* tree-ssa-pre.c (prune_clobbered_mems): Also prune trapping
+ 	references when the BB may not return.
+ 
+ 2021-11-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-08-10  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/101824
+ 	* tree-nested.c (get_frame_field): Mark the COMPONENT_REF as
+ 	volatile in case the variable was.
+ 
+ 2021-11-08  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2021-10-26  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR tree-optimization/102789
+ 	* tree-vect-loop-manip.c (vect_update_inits_of_drs): Do not
+ 	update inits of simd_lane_access.
+ 
+ 2021-10-26  Piotr Kubaj  <pkubaj@FreeBSD.org>
+ 
+ 	Backported from master:
+ 	2021-10-16  Piotr Kubaj  <pkubaj@FreeBSD.org>
+ 
+ 	* configure.ac: Treat powerpc64*-*-freebsd* the same as
+ 	powerpc64-*-freebsd*.
+ 	* configure: Regenerate.
+ 
+ 2021-10-24  John David Anglin  <danglin@gcc.gnu.org>
+ 
+ 	* config/pa/pa.md: Don't use 'G' constraint in integer move patterns.
+ 
+ 2021-10-21  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	Backported from master:
+ 	2021-10-21  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/98667
+ 	* doc/invoke.texi: Document -fcf-protection requires i686 or
+ 	new.
+ 
+ 2021-10-15  John David Anglin  <danglin@gcc.gnu.org>
+ 
+ 	* config/pa/pa.md: Consistently use "rG" constraint for copy
+ 	instruction in move patterns.
+ 
+ 2021-10-14  John David Anglin  <danglin@gcc.gnu.org>
+ 
+ 	* config/pa/pa.md (cbranchsf4): Disable if TARGET_SOFT_FLOAT.
+ 	(cbranchdf4): Likewise.
+ 	Add missing move patterns for TARGET_SOFT_FLOAT.
+ 
+ 2021-10-13  John David Anglin  <danglin@gcc.gnu.org>
+ 
+ 	* config/pa/pa.md (muldi3): Add support for inlining 64-bit
+ 	multiplication on 32-bit PA 1.1 and 2.0 targets.
+ 
+ 2021-10-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-07-07  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/101173
+ 	PR tree-optimization/101280
+ 	* gimple-loop-interchange.cc
+ 	(tree_loop_interchange::valid_data_dependences): Properly
+ 	guard all dependence checks with DDR_REVERSED_P or its
+ 	inverse.
+ 
+ 2021-10-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-07-12  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/101394
+ 	* tree-ssa-pre.c (do_pre_regular_insertion): Avoid inserting
+ 	copies from abnormals for a full redundancy.
+ 
+ 2021-10-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/101105
+ 	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
+ 	Only ignore steps when they are equal or scalar order is preserved.
+ 
+ 2021-10-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-06-14  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/100934
+ 	* tree-ssa-dom.c (pass_dominator::execute): Properly
+ 	mark irreducible regions.
+ 
+ 2021-10-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-05-11  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/100509
+ 	* gimple-fold.c (fold_gimple_assign): Only call
+ 	get_symbol_constant_value on register type symbols.
+ 
+ 2021-10-11  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	Backported from master:
+ 	2021-10-11  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	PR tree-optimization/102622
+ 	* tree-ssa-phiopt.c (conditional_replacement): Set neg
+ 	to false for one bit signed types.
+ 
+ 2021-10-11  Diane Meirowitz  <diane.meirowitz@oracle.com>
+ 
+ 	Backported from master:
+ 	2021-10-11  Diane Meirowitz  <diane.meirowitz@oracle.com>
+ 
+ 	* doc/invoke.texi: Add link to UndefinedBehaviorSanitizer
+ 	documentation, mention UBSAN_OPTIONS, similar to what is done
+ 	for AddressSanitizer.
+ 
+ 2021-09-22  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2021-09-22  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	* ipa-fnsummary.c (inline_read_section): Unpack a dummy bit
+ 	to keep consistent with the side of streaming out.
+ 
+ 2021-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR rtl-optimization/102306
+ 	* combine.c (try_combine): Abort the combination if we are about to
+ 	duplicate volatile references.
+ 
+ 2021-09-08  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-08  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR c++/60318
+ 	* doc/trouble.texi (Copy Assignment): Fix description of
+ 	behaviour and fix code in example.
+ 
+ 2021-08-31  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-08-31  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	* tree.c (walk_tree_1) <OMP_CLAUSE_TILE>: Handle three operands.
+ 
+ 2021-08-25  konglin1  <lingling.kong@intel.com>
+ 
+ 	PR target/101471
+ 	* config/i386/avx512dqintrin.h (_mm512_fpclass_ps_mask): Fix
+ 	macro define in O0.
+ 	(_mm512_mask_fpclass_ps_mask): Ditto.
+ 
+ 2021-08-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Backported from master:
+ 	2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/101723
+ 	* config/arm/arm-cpus.in (quirk_no_asmcpu): New feature bit.
+ 	(ALL_QUIRKS): Add it.
+ 	(generic-armv7-a): Add quirk to suppress writing .cpu directive in
+ 	asm output.
+ 	* config/arm/arm.c (arm_identify_fpu_from_isa): New variable.
+ 	(arm_last_printed_arch_string): Delete.
+ 	(arm_last-printed_fpu_string): Delete.
+ 	(arm_configure_build_target): If use of floating-point/SIMD is
+ 	disabled, remove all fp/simd related features from the target ISA.
+ 	(last_arm_targ_options): New variable.
+ 	(arm_print_asm_arch_directives): Add new parameters.  Change order
+ 	of emitted directives and handle all cases here.
+ 	(arm_file_start): Always call arm_print_asm_arch_directives, move
+ 	all generation of .arch/.arch_extension here.
+ 	(arm_file_end): Call arm_print_asm_arch.
+ 	(arm_declare_function_name): Call arm_print_asm_arch_directives
+ 	instead of printing .arch/.fpu directives directly.
+ 
+ 2021-08-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Backported from master:
+ 	2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* config/arm/arm.c (arm_configure_build_target): Don't call
+ 	arm_option_reconfigure_globals.
+ 	(arm_option_restore): Call arm_option_reconfigure_globals after
+ 	reconfiguring the target.
+ 	* config/arm/arm-c.c (arm_pragma_target_parse): Likewise.
+ 
+ 2021-08-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Backported from master:
+ 	2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* config/arm/arm.c (arm_configure_build_target): Ensure the target's
+ 	arch_name is always set.
+ 
+ 2021-08-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Backported from master:
+ 	2019-12-11  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* config/arm/arm-cpus.in (ALL_SIMD_EXTERNAL): New fgroup.
+ 	(ALL_SIMD): Use it.
+ 	(ALL_FPU_EXTERNAL): New fgroup.
+ 	(ALL_FP): Use it.
+ 	(cortex-a55, cortex-a75, cortex-a76): Remove redundant
+ 	+simd from architecture specification.
+ 	(neoverse-n1, cortex-a75.cortex-a55): Likewise.
+ 	* config/arm/arm.c (isa_all_fpubits, fpu_bitlist): Rename to ...
+ 	(isa_all_fpubits_internal, fpu_bitlist_internal): ... these.
+ 	(isa_all_fpbits): New bitmap.
+ 	(arm_option_override): Initialize it.
+ 	(arm_configure_build_target): If the target isa does not have any
+ 	FP enabled, do not warn about mismatches in FP-related feature bits.
+ 
+ 2021-08-19  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Backported from master:
+ 	2021-05-27  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/100767
+ 	* config/arm/arm.c (arm_configure_build_target): Remove parameter
+ 	opts_set, directly check opts parameters for being non-null.
+ 	(arm_option_restore): Update call to arm_configure_build_target.
+ 	(arm_option_override): Likewise.
+ 	(arm_can_inline_p): Likewise.
+ 	(arm_valid_target_attribute_tree): Likewise.
+ 	* config/arm/arm-c.c (arm_pragma_target_parse): Likewise.
+ 	* config/arm/arm-protos.h (arm_configure_build_target): Adjust
+ 	prototype.
+ 
+ 2021-08-17  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2021-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* doc/invoke.texi: Document -mtune=neoverse-512tvb and
+ 	-mcpu=neoverse-512tvb.
+ 	* config/aarch64/aarch64-cores.def (neoverse-512tvb): New entry.
+ 	* config/aarch64/aarch64-tune.md: Regenerate.
+ 
+ 2021-07-31  Xi Ruoyao  <xry111@mengyan1223.wang>
+ 
+ 	Backported from master:
+ 	2021-07-30  Xi Ruoyao  <xry111@mengyan1223.wang>
+ 
+ 	PR target/94780
+ 	* config/mips/mips.c (mips_atomic_assign_expand_fenv): Use
+ 	  TARGET_EXPR instead of MODIFY_EXPR.
+ 
+ 2021-07-20  Uroš Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/100182
+ 	* config/i386/sync.md (define_peephole2 atomic_storedi_fpu):
+ 	Remove.
+ 	(define_peephole2 atomic_loaddi_fpu): Ditto.
+ 
+ 2021-07-19  Bill Schmidt  <wschmidt@linux.ibm.com>
+ 
+ 	PR target/101129
+ 	* config/rs6000/rs6000-p8swap.c (has_part_mult): New.
+ 	(rs6000_analyze_swaps): Insns containing a subreg of a mult are
+ 	not swappable.
+ 
+ 2021-07-19  Segher Boessenkool  <segher@kernel.crashing.org>
+ 
+ 	Backported from master:
+ 	2021-04-18  Segher Boessenkool  <segher@kernel.crashing.org>
+ 
+ 	PR rtl-optimization/99927
+ 	* combine.c (distribute_notes) [REG_UNUSED]: If the register already
+ 	is dead, just drop it.
+ 
+ 2021-06-24  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2021-06-23  Uroš Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/101175
+ 	* config/i386/i386.md (bsr_rex64): Add zero-flag setting RTX.
+ 	(bsr): Ditto.
+ 	(*bsrhi): Remove.
+ 	(clz<mode>2): Update RTX pattern for additions.
+ 
+ 2021-06-17  Marius Hillenbrand  <mhillen@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2021-06-17  Marius Hillenbrand  <mhillen@linux.ibm.com>
+ 
+ 	PR target/100871
+ 	* config/s390/vecintrin.h (vec_doublee): Fix to use
+ 	  __builtin_s390_vflls.
+ 	(vec_floate): Fix to use __builtin_s390_vflrd.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/DATESTAMP gcc-9.5.0/gcc/DATESTAMP
*** gcc-9.4.0/gcc/DATESTAMP	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/DATESTAMP	Fri May 27 07:21:10 2022
***************
*** 1 ****
! 20210601
--- 1 ----
! 20220527
diff -Nrcpad gcc-9.4.0/gcc/ada/ChangeLog gcc-9.5.0/gcc/ada/ChangeLog
*** gcc-9.4.0/gcc/ada/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/ada/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,17 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gcc-interface/decl.c (gnat_to_gnu_entity): For vector types, make
+ 	the representative array the debug type.
+ 
+ 2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gcc-interface/utils.c (update_pointer_to): Set TYPE_CANONICAL on
+ 	pointer and reference types.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/ada/gcc-interface/decl.c gcc-9.5.0/gcc/ada/gcc-interface/decl.c
*** gcc-9.4.0/gcc/ada/gcc-interface/decl.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/ada/gcc-interface/decl.c	Fri May 27 07:21:10 2022
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 4646,4651 ****
--- 4646,4659 ----
        else
  	gnu_decl = create_type_decl (gnu_entity_name, gnu_type, artificial_p,
  				     debug_info_p, gnat_entity);
+ 
+       /* For vector types, make the representative array the debug type.  */
+       if (VECTOR_TYPE_P (gnu_type))
+ 	{
+ 	  tree rep = TYPE_REPRESENTATIVE_ARRAY (gnu_type);
+ 	  TYPE_NAME (rep) = DECL_NAME (gnu_decl);
+ 	  SET_TYPE_DEBUG_TYPE (gnu_type, rep);
+ 	}
      }
  
    /* Otherwise, for a type reusing an existing DECL, back-annotate values.  */
diff -Nrcpad gcc-9.4.0/gcc/ada/gcc-interface/utils.c gcc-9.5.0/gcc/ada/gcc-interface/utils.c
*** gcc-9.4.0/gcc/ada/gcc-interface/utils.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/ada/gcc-interface/utils.c	Fri May 27 07:21:10 2022
*************** update_pointer_to (tree old_type, tree n
*** 4144,4149 ****
--- 4144,4150 ----
  	    TREE_TYPE (t) = new_type;
  	    if (TYPE_NULL_BOUNDS (t))
  	      TREE_TYPE (TREE_OPERAND (TYPE_NULL_BOUNDS (t), 0)) = new_type;
+ 	    TYPE_CANONICAL (t) = TYPE_CANONICAL (TYPE_POINTER_TO (new_type));
  	  }
  
        /* Chain REF and its variants at the end.  */
*************** update_pointer_to (tree old_type, tree n
*** 4160,4166 ****
        /* Now adjust them.  */
        for (; ref; ref = TYPE_NEXT_REF_TO (ref))
  	for (t = TYPE_MAIN_VARIANT (ref); t; t = TYPE_NEXT_VARIANT (t))
! 	  TREE_TYPE (t) = new_type;
  
        TYPE_POINTER_TO (old_type) = NULL_TREE;
        TYPE_REFERENCE_TO (old_type) = NULL_TREE;
--- 4161,4170 ----
        /* Now adjust them.  */
        for (; ref; ref = TYPE_NEXT_REF_TO (ref))
  	for (t = TYPE_MAIN_VARIANT (ref); t; t = TYPE_NEXT_VARIANT (t))
! 	  {
! 	    TREE_TYPE (t) = new_type;
! 	    TYPE_CANONICAL (t) = TYPE_CANONICAL (TYPE_REFERENCE_TO (new_type));
! 	  }
  
        TYPE_POINTER_TO (old_type) = NULL_TREE;
        TYPE_REFERENCE_TO (old_type) = NULL_TREE;
diff -Nrcpad gcc-9.4.0/gcc/asan.c gcc-9.5.0/gcc/asan.c
*** gcc-9.4.0/gcc/asan.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/asan.c	Fri May 27 07:21:10 2022
*************** along with GCC; see the file COPYING3.
*** 63,68 ****
--- 63,69 ----
  #include "builtins.h"
  #include "fnmatch.h"
  #include "tree-inline.h"
+ #include "tree-eh.h"
  
  /* AddressSanitizer finds out-of-bounds and use-after-free bugs
     with <2x slowdown on average.
*************** handle_builtin_alloca (gcall *call, gimp
*** 623,636 ****
  
    tree last_alloca = get_last_alloca_addr ();
    tree callee = gimple_call_fndecl (call);
    tree old_size = gimple_call_arg (call, 0);
!   tree ptr_type = gimple_call_lhs (call) ? TREE_TYPE (gimple_call_lhs (call))
! 					 : ptr_type_node;
    tree partial_size = NULL_TREE;
    unsigned int align
      = DECL_FUNCTION_CODE (callee) == BUILT_IN_ALLOCA
        ? 0 : tree_to_uhwi (gimple_call_arg (call, 1));
  
    /* If ALIGN > ASAN_RED_ZONE_SIZE, we embed left redzone into first ALIGN
       bytes of allocated space.  Otherwise, align alloca to ASAN_RED_ZONE_SIZE
       manually.  */
--- 624,647 ----
  
    tree last_alloca = get_last_alloca_addr ();
    tree callee = gimple_call_fndecl (call);
+   tree lhs = gimple_call_lhs (call);
    tree old_size = gimple_call_arg (call, 0);
!   tree ptr_type = lhs ? TREE_TYPE (lhs) : ptr_type_node;
    tree partial_size = NULL_TREE;
    unsigned int align
      = DECL_FUNCTION_CODE (callee) == BUILT_IN_ALLOCA
        ? 0 : tree_to_uhwi (gimple_call_arg (call, 1));
  
+   bool throws = false;
+   edge e = NULL;
+   if (stmt_can_throw_internal (cfun, call))
+     {
+       if (!lhs)
+ 	return;
+       throws = true;
+       e = find_fallthru_edge (gsi_bb (*iter)->succs);
+     }
+ 
    /* If ALIGN > ASAN_RED_ZONE_SIZE, we embed left redzone into first ALIGN
       bytes of allocated space.  Otherwise, align alloca to ASAN_RED_ZONE_SIZE
       manually.  */
*************** handle_builtin_alloca (gcall *call, gimp
*** 687,715 ****
  			  build_int_cst (size_type_node, align));
    tree new_alloca_with_rz = make_ssa_name (ptr_type, gg);
    gimple_call_set_lhs (gg, new_alloca_with_rz);
!   gsi_insert_before (iter, gg, GSI_SAME_STMT);
  
    /* new_alloca = new_alloca_with_rz + align.  */
    g = gimple_build_assign (make_ssa_name (ptr_type), POINTER_PLUS_EXPR,
  			   new_alloca_with_rz,
  			   build_int_cst (size_type_node,
  					  align / BITS_PER_UNIT));
!   gsi_insert_before (iter, g, GSI_SAME_STMT);
    tree new_alloca = gimple_assign_lhs (g);
  
    /* Poison newly created alloca redzones:
        __asan_alloca_poison (new_alloca, old_size).  */
    fn = builtin_decl_implicit (BUILT_IN_ASAN_ALLOCA_POISON);
    gg = gimple_build_call (fn, 2, new_alloca, old_size);
!   gsi_insert_before (iter, gg, GSI_SAME_STMT);
  
    /* Save new_alloca_with_rz value into last_alloca to use it during
       allocas unpoisoning.  */
    g = gimple_build_assign (last_alloca, new_alloca_with_rz);
!   gsi_insert_before (iter, g, GSI_SAME_STMT);
  
    /* Finally, replace old alloca ptr with NEW_ALLOCA.  */
!   replace_call_with_value (iter, new_alloca);
  }
  
  /* Return the memory references contained in a gimple statement
--- 698,751 ----
  			  build_int_cst (size_type_node, align));
    tree new_alloca_with_rz = make_ssa_name (ptr_type, gg);
    gimple_call_set_lhs (gg, new_alloca_with_rz);
!   if (throws)
!     {
!       gimple_call_set_lhs (call, NULL);
!       gsi_replace (iter, gg, true);
!     }
!   else
!     gsi_insert_before (iter, gg, GSI_SAME_STMT);
  
    /* new_alloca = new_alloca_with_rz + align.  */
    g = gimple_build_assign (make_ssa_name (ptr_type), POINTER_PLUS_EXPR,
  			   new_alloca_with_rz,
  			   build_int_cst (size_type_node,
  					  align / BITS_PER_UNIT));
!   gimple_stmt_iterator gsi = gsi_none ();
!   if (throws)
!     {
!       gsi_insert_on_edge_immediate (e, g);
!       gsi = gsi_for_stmt (g);
!     }
!   else
!     gsi_insert_before (iter, g, GSI_SAME_STMT);
    tree new_alloca = gimple_assign_lhs (g);
  
    /* Poison newly created alloca redzones:
        __asan_alloca_poison (new_alloca, old_size).  */
    fn = builtin_decl_implicit (BUILT_IN_ASAN_ALLOCA_POISON);
    gg = gimple_build_call (fn, 2, new_alloca, old_size);
!   if (throws)
!     gsi_insert_after (&gsi, gg, GSI_NEW_STMT);
!   else
!     gsi_insert_before (iter, gg, GSI_SAME_STMT);
  
    /* Save new_alloca_with_rz value into last_alloca to use it during
       allocas unpoisoning.  */
    g = gimple_build_assign (last_alloca, new_alloca_with_rz);
!   if (throws)
!     gsi_insert_after (&gsi, g, GSI_NEW_STMT);
!   else
!     gsi_insert_before (iter, g, GSI_SAME_STMT);
  
    /* Finally, replace old alloca ptr with NEW_ALLOCA.  */
!   if (throws)
!     {
!       g = gimple_build_assign (lhs, new_alloca);
!       gsi_insert_after (&gsi, g, GSI_NEW_STMT);
!     }
!   else
!     replace_call_with_value (iter, new_alloca);
  }
  
  /* Return the memory references contained in a gimple statement
*************** asan_redzone_buffer::emit_redzone_byte (
*** 1270,1279 ****
    HOST_WIDE_INT off
      = m_prev_offset + ASAN_SHADOW_GRANULARITY * m_shadow_bytes.length ();
    if (off == offset)
      {
!       /* Consecutive shadow memory byte.  */
!       m_shadow_bytes.safe_push (value);
!       flush_if_full ();
      }
    else
      {
--- 1306,1319 ----
    HOST_WIDE_INT off
      = m_prev_offset + ASAN_SHADOW_GRANULARITY * m_shadow_bytes.length ();
    if (off == offset)
+     /* Consecutive shadow memory byte.  */;
+   else if (offset < m_prev_offset + (HOST_WIDE_INT) (ASAN_SHADOW_GRANULARITY
+ 						     * RZ_BUFFER_SIZE)
+ 	   && !m_shadow_bytes.is_empty ())
      {
!       /* Shadow memory byte with a small gap.  */
!       for (; off < offset; off += ASAN_SHADOW_GRANULARITY)
! 	m_shadow_bytes.safe_push (0);
      }
    else
      {
*************** asan_redzone_buffer::emit_redzone_byte (
*** 1294,1302 ****
        m_shadow_mem = adjust_address (m_shadow_mem, VOIDmode,
  				     diff >> ASAN_SHADOW_SHIFT);
        m_prev_offset = offset;
-       m_shadow_bytes.safe_push (value);
-       flush_if_full ();
      }
  }
  
  /* Emit RTX emission of the content of the buffer.  */
--- 1334,1342 ----
        m_shadow_mem = adjust_address (m_shadow_mem, VOIDmode,
  				     diff >> ASAN_SHADOW_SHIFT);
        m_prev_offset = offset;
      }
+   m_shadow_bytes.safe_push (value);
+   flush_if_full ();
  }
  
  /* Emit RTX emission of the content of the buffer.  */
diff -Nrcpad gcc-9.4.0/gcc/brig/ChangeLog gcc-9.5.0/gcc/brig/ChangeLog
*** gcc-9.4.0/gcc/brig/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/brig/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/builtins.c gcc-9.5.0/gcc/builtins.c
*** gcc-9.4.0/gcc/builtins.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/builtins.c	Fri May 27 07:21:10 2022
*************** expand_builtin_int_roundingfn_2 (tree ex
*** 2897,2912 ****
  	 BUILT_IN_IROUND and if __builtin_iround is called directly, emit
  	 a call to lround in the hope that the target provides at least some
  	 C99 functions.  This should result in the best user experience for
! 	 not full C99 targets.  */
!       tree fallback_fndecl = mathfn_built_in_1
! 	(TREE_TYPE (arg), as_combined_fn (fallback_fn), 0);
! 
!       exp = build_call_nofold_loc (EXPR_LOCATION (exp),
! 				   fallback_fndecl, 1, arg);
  
!       target = expand_call (exp, NULL_RTX, target == const0_rtx);
!       target = maybe_emit_group_store (target, TREE_TYPE (exp));
!       return convert_to_mode (mode, target, 0);
      }
  
    return expand_call (exp, target, target == const0_rtx);
--- 2897,2924 ----
  	 BUILT_IN_IROUND and if __builtin_iround is called directly, emit
  	 a call to lround in the hope that the target provides at least some
  	 C99 functions.  This should result in the best user experience for
! 	 not full C99 targets.
! 	 As scalar float conversions with same mode are useless in GIMPLE,
! 	 we can end up e.g. with _Float32 argument passed to float builtin,
! 	 try to get the type from the builtin prototype first.  */
!       tree fallback_fndecl = NULL_TREE;
!       if (tree argtypes = TYPE_ARG_TYPES (TREE_TYPE (fndecl)))
!         fallback_fndecl
!           = mathfn_built_in_1 (TREE_VALUE (argtypes),
! 			       as_combined_fn (fallback_fn), 0);
!       if (fallback_fndecl == NULL_TREE)
! 	fallback_fndecl
! 	  = mathfn_built_in_1 (TREE_TYPE (arg),
! 			       as_combined_fn (fallback_fn), 0);
!       if (fallback_fndecl)
! 	{
! 	  exp = build_call_nofold_loc (EXPR_LOCATION (exp),
! 				       fallback_fndecl, 1, arg);
  
! 	  target = expand_call (exp, NULL_RTX, target == const0_rtx);
! 	  target = maybe_emit_group_store (target, TREE_TYPE (exp));
! 	  return convert_to_mode (mode, target, 0);
! 	}
      }
  
    return expand_call (exp, target, target == const0_rtx);
diff -Nrcpad gcc-9.4.0/gcc/c/ChangeLog gcc-9.5.0/gcc/c/ChangeLog
*** gcc-9.4.0/gcc/c/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/c/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,52 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/104711
+ 	* c-fold.c (c_fully_fold_internal): Don't emit
+ 	-Wshift-negative-value warning if TYPE_OVERFLOW_WRAPS.
+ 	* c-typeck.c (build_binary_op): Likewise.
+ 
+ 2022-05-11  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	* c-typeck.c (c_finish_omp_clauses): Accept float + complex
+ 	for || and && reductions.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/101176
+ 	* c-parser.c (c_parser_has_attribute_expression): Set source range for
+ 	the result.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/101171
+ 	* c-typeck.c (build_c_cast): Don't call note_integer_operands on
+ 	error_mark_node.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR inline-asm/100785
+ 	* c-typeck.c (c_mark_addressable): Diagnose trying to make
+ 	bit-fields addressable.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/c/c-fold.c gcc-9.5.0/gcc/c/c-fold.c
*** gcc-9.4.0/gcc/c/c-fold.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/c/c-fold.c	Fri May 27 07:21:10 2022
*************** c_fully_fold_internal (tree expr, bool i
*** 380,385 ****
--- 380,386 ----
  	  && TREE_CODE (TREE_TYPE (orig_op0)) == INTEGER_TYPE
  	  && TREE_CODE (op0) == INTEGER_CST
  	  && c_inhibit_evaluation_warnings == 0
+ 	  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (orig_op0))
  	  && tree_int_cst_sgn (op0) < 0)
  	warning_at (loc, OPT_Wshift_negative_value,
  		    "left shift of negative value");
diff -Nrcpad gcc-9.4.0/gcc/c/c-parser.c gcc-9.5.0/gcc/c/c-parser.c
*** gcc-9.4.0/gcc/c/c-parser.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/c/c-parser.c	Fri May 27 07:21:10 2022
*************** c_parser_has_attribute_expression (c_par
*** 7590,7595 ****
--- 7590,7596 ----
  {
    gcc_assert (c_parser_next_token_is_keyword (parser,
  					      RID_BUILTIN_HAS_ATTRIBUTE));
+   location_t start = c_parser_peek_token (parser)->location;
    c_parser_consume_token (parser);
  
    c_inhibit_evaluation_warnings++;
*************** c_parser_has_attribute_expression (c_par
*** 7668,7673 ****
--- 7669,7675 ----
  
    parser->lex_untranslated_string = false;
  
+   location_t finish = c_parser_peek_token (parser)->location;
    if (c_parser_next_token_is (parser, CPP_CLOSE_PAREN))
      c_parser_consume_token (parser);
    else
*************** c_parser_has_attribute_expression (c_par
*** 7696,7701 ****
--- 7698,7704 ----
    else
      result.value =  boolean_false_node;
  
+   set_c_expr_source_range (&result, start, finish);
    return result;
  }
  
diff -Nrcpad gcc-9.4.0/gcc/c/c-typeck.c gcc-9.5.0/gcc/c/c-typeck.c
*** gcc-9.4.0/gcc/c/c-typeck.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/c/c-typeck.c	Fri May 27 07:21:10 2022
*************** c_mark_addressable (tree exp, bool array
*** 4989,4996 ****
  	    && TREE_CODE (TREE_TYPE (x)) == ARRAY_TYPE
  	    && VECTOR_TYPE_P (TREE_TYPE (TREE_OPERAND (x, 0))))
  	  return true;
! 	/* FALLTHRU */
        case COMPONENT_REF:
        case ADDR_EXPR:
        case ARRAY_REF:
        case REALPART_EXPR:
--- 4989,5005 ----
  	    && TREE_CODE (TREE_TYPE (x)) == ARRAY_TYPE
  	    && VECTOR_TYPE_P (TREE_TYPE (TREE_OPERAND (x, 0))))
  	  return true;
! 	x = TREE_OPERAND (x, 0);
! 	break;
! 
        case COMPONENT_REF:
+ 	if (DECL_C_BIT_FIELD (TREE_OPERAND (x, 1)))
+ 	  {
+ 	    error ("cannot take address of bit-field %qD",
+ 		   TREE_OPERAND (x, 1));
+ 	    return false;
+ 	  }
+ 	/* FALLTHRU */
        case ADDR_EXPR:
        case ARRAY_REF:
        case REALPART_EXPR:
*************** build_c_cast (location_t loc, tree type,
*** 5999,6004 ****
--- 6008,6014 ----
       return value reflects this.  */
    if (int_operands
        && INTEGRAL_TYPE_P (type)
+       && value != error_mark_node
        && !EXPR_INT_CONST_OPERANDS (value))
      value = note_integer_operands (value);
  
*************** build_binary_op (location_t location, en
*** 11901,11907 ****
  	{
  	  doing_shift = true;
  	  if (TREE_CODE (op0) == INTEGER_CST
! 	      && tree_int_cst_sgn (op0) < 0)
  	    {
  	      /* Don't reject a left shift of a negative value in a context
  		 where a constant expression is needed in C90.  */
--- 11911,11918 ----
  	{
  	  doing_shift = true;
  	  if (TREE_CODE (op0) == INTEGER_CST
! 	      && tree_int_cst_sgn (op0) < 0
! 	      && !TYPE_OVERFLOW_WRAPS (type0))
  	    {
  	      /* Don't reject a left shift of a negative value in a context
  		 where a constant expression is needed in C90.  */
*************** c_finish_omp_clauses (tree clauses, enum
*** 13875,13880 ****
--- 13886,13893 ----
  		case PLUS_EXPR:
  		case MULT_EXPR:
  		case MINUS_EXPR:
+ 		case TRUTH_ANDIF_EXPR:
+ 		case TRUTH_ORIF_EXPR:
  		  break;
  		case MIN_EXPR:
  		  if (TREE_CODE (type) == COMPLEX_TYPE)
*************** c_finish_omp_clauses (tree clauses, enum
*** 13893,13906 ****
  		case BIT_IOR_EXPR:
  		  r_name = "|";
  		  break;
- 		case TRUTH_ANDIF_EXPR:
- 		  if (FLOAT_TYPE_P (type))
- 		    r_name = "&&";
- 		  break;
- 		case TRUTH_ORIF_EXPR:
- 		  if (FLOAT_TYPE_P (type))
- 		    r_name = "||";
- 		  break;
  		default:
  		  gcc_unreachable ();
  		}
--- 13906,13911 ----
diff -Nrcpad gcc-9.4.0/gcc/c-family/ChangeLog gcc-9.5.0/gcc/c-family/ChangeLog
*** gcc-9.4.0/gcc/c-family/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/c-family/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,58 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/105186
+ 	* c-common.c (c_common_nodes_and_builtins): After registering __int%d
+ 	and __int%d__ builtin types, initialize corresponding ridpointers
+ 	entry.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/104711
+ 	* c-opts.c (c_common_post_options): Don't enable
+ 	-Wshift-negative-value from -Wextra for C++20 or later.
+ 	* c-ubsan.c (ubsan_instrument_shift): Adjust comments.
+ 	* c-warn.c (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS
+ 	instead of TYPE_UNSIGNED.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/104510
+ 	* c-common.c (shorten_compare): Convert original arguments to
+ 	the original *restype_ptr when mixing binary and decimal float.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/64888
+ 	* c-omp.c (c_omp_predefined_variable): Return true also for
+ 	ubsan_create_data created artificial variables.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+ 		    Richard Biener  <rguenther@suse.de>
+ 
+ 	PR sanitizer/102515
+ 	* c-ubsan.c (ubsan_instrument_division): Check the right
+ 	flag_sanitize_recover bit, depending on which sanitization
+ 	is done.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/c-family/c-common.c gcc-9.5.0/gcc/c-family/c-common.c
*** gcc-9.4.0/gcc/c-family/c-common.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/c-family/c-common.c	Fri May 27 07:21:10 2022
*************** shorten_compare (location_t loc, tree *o
*** 2993,2999 ****
    else if (real1 && real2
  	   && (DECIMAL_FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (primop0)))
  	       || DECIMAL_FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (primop1)))))
!     return NULL_TREE;
  
    else if (real1 && real2
  	   && (TYPE_PRECISION (TREE_TYPE (primop0))
--- 2993,3003 ----
    else if (real1 && real2
  	   && (DECIMAL_FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (primop0)))
  	       || DECIMAL_FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (primop1)))))
!     {
!       type = *restype_ptr;
!       primop0 = op0;
!       primop1 = op1;
!     }
  
    else if (real1 && real2
  	   && (TYPE_PRECISION (TREE_TYPE (primop0))
*************** c_common_nodes_and_builtins (void)
*** 4022,4027 ****
--- 4026,4034 ----
        sprintf (name, "__int%d", int_n_data[i].bitsize);
        record_builtin_type ((enum rid)(RID_FIRST_INT_N + i), name,
  			   int_n_trees[i].signed_type);
+       ridpointers[RID_FIRST_INT_N + i]
+ 	= DECL_NAME (TYPE_NAME (int_n_trees[i].signed_type));
+ 
        sprintf (name, "__int%d unsigned", int_n_data[i].bitsize);
        record_builtin_type (RID_MAX, name, int_n_trees[i].unsigned_type);
      }
diff -Nrcpad gcc-9.4.0/gcc/c-family/c-omp.c gcc-9.5.0/gcc/c-family/c-omp.c
*** gcc-9.4.0/gcc/c-family/c-omp.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/c-family/c-omp.c	Fri May 27 07:21:10 2022
*************** c_omp_predefined_variable (tree decl)
*** 2032,2044 ****
  {
    if (VAR_P (decl)
        && DECL_ARTIFICIAL (decl)
-       && TREE_READONLY (decl)
        && TREE_STATIC (decl)
!       && DECL_NAME (decl)
!       && (DECL_NAME (decl) == ridpointers[RID_C99_FUNCTION_NAME]
! 	  || DECL_NAME (decl) == ridpointers[RID_FUNCTION_NAME]
! 	  || DECL_NAME (decl) == ridpointers[RID_PRETTY_FUNCTION_NAME]))
!     return true;
    return false;
  }
  
--- 2032,2075 ----
  {
    if (VAR_P (decl)
        && DECL_ARTIFICIAL (decl)
        && TREE_STATIC (decl)
!       && DECL_NAME (decl))
!     {
!       if (TREE_READONLY (decl)
! 	  && (DECL_NAME (decl) == ridpointers[RID_C99_FUNCTION_NAME]
! 	      || DECL_NAME (decl) == ridpointers[RID_FUNCTION_NAME]
! 	      || DECL_NAME (decl) == ridpointers[RID_PRETTY_FUNCTION_NAME]))
! 	return true;
!       /* For UBSan handle the same also ubsan_create_data created
! 	 variables.  There is no magic flag for those, but user variables
! 	 shouldn't be DECL_ARTIFICIAL or have TYPE_ARTIFICIAL type with
! 	 such names.  */
!       if ((flag_sanitize & (SANITIZE_UNDEFINED
! 			    | SANITIZE_UNDEFINED_NONDEFAULT)) != 0
! 	  && DECL_IGNORED_P (decl)
! 	  && !TREE_READONLY (decl)
! 	  && TREE_CODE (DECL_NAME (decl)) == IDENTIFIER_NODE
! 	  && TREE_CODE (TREE_TYPE (decl)) == RECORD_TYPE
! 	  && TYPE_ARTIFICIAL (TREE_TYPE (decl))
! 	  && TYPE_NAME (TREE_TYPE (decl))
! 	  && TREE_CODE (TYPE_NAME (TREE_TYPE (decl))) == TYPE_DECL
! 	  && DECL_NAME (TYPE_NAME (TREE_TYPE (decl)))
! 	  && (TREE_CODE (DECL_NAME (TYPE_NAME (TREE_TYPE (decl))))
! 	      == IDENTIFIER_NODE))
! 	{
! 	  tree id1 = DECL_NAME (decl);
! 	  tree id2 = DECL_NAME (TYPE_NAME (TREE_TYPE (decl)));
! 	  if (IDENTIFIER_LENGTH (id1) >= sizeof ("ubsan_data") - 1
! 	      && IDENTIFIER_LENGTH (id2) >= sizeof ("__ubsan__data")
! 	      && !memcmp (IDENTIFIER_POINTER (id2), "__ubsan_",
! 			  sizeof ("__ubsan_") - 1)
! 	      && !memcmp (IDENTIFIER_POINTER (id2) + IDENTIFIER_LENGTH (id2)
! 			  - sizeof ("_data") + 1, "_data",
! 			  sizeof ("_data") - 1)
! 	      && strstr (IDENTIFIER_POINTER (id1), "ubsan_data"))
! 	    return true;
! 	}
!     }
    return false;
  }
  
diff -Nrcpad gcc-9.4.0/gcc/c-family/c-opts.c gcc-9.5.0/gcc/c-family/c-opts.c
*** gcc-9.4.0/gcc/c-family/c-opts.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/c-family/c-opts.c	Fri May 27 07:21:10 2022
*************** c_common_post_options (const char **pfil
*** 907,916 ****
    if (warn_shift_overflow == -1)
      warn_shift_overflow = cxx_dialect >= cxx11 || flag_isoc99;
  
!   /* -Wshift-negative-value is enabled by -Wextra in C99 and C++11 modes.  */
    if (warn_shift_negative_value == -1)
      warn_shift_negative_value = (extra_warnings
! 				 && (cxx_dialect >= cxx11 || flag_isoc99));
  
    /* -Wregister is enabled by default in C++17.  */
    if (!global_options_set.x_warn_register)
--- 907,918 ----
    if (warn_shift_overflow == -1)
      warn_shift_overflow = cxx_dialect >= cxx11 || flag_isoc99;
  
!   /* -Wshift-negative-value is enabled by -Wextra in C99 and C++11 to C++17
!      modes.  */
    if (warn_shift_negative_value == -1)
      warn_shift_negative_value = (extra_warnings
! 				 && (cxx_dialect >= cxx11 || flag_isoc99)
! 				 && cxx_dialect < cxx2a);
  
    /* -Wregister is enabled by default in C++17.  */
    if (!global_options_set.x_warn_register)
diff -Nrcpad gcc-9.4.0/gcc/c-family/c-ubsan.c gcc-9.5.0/gcc/c-family/c-ubsan.c
*** gcc-9.4.0/gcc/c-family/c-ubsan.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/c-family/c-ubsan.c	Fri May 27 07:21:10 2022
*************** ubsan_instrument_division (location_t lo
*** 41,46 ****
--- 41,47 ----
  {
    tree t, tt;
    tree type = TREE_TYPE (op0);
+   enum sanitize_code flag = SANITIZE_DIVIDE;
  
    /* At this point both operands should have the same type,
       because they are already converted to RESULT_TYPE.
*************** ubsan_instrument_division (location_t lo
*** 58,65 ****
  		     op1, build_int_cst (type, 0));
    else if (TREE_CODE (type) == REAL_TYPE
  	   && sanitize_flags_p (SANITIZE_FLOAT_DIVIDE))
!     t = fold_build2 (EQ_EXPR, boolean_type_node,
! 		     op1, build_real (type, dconst0));
    else
      return NULL_TREE;
  
--- 59,69 ----
  		     op1, build_int_cst (type, 0));
    else if (TREE_CODE (type) == REAL_TYPE
  	   && sanitize_flags_p (SANITIZE_FLOAT_DIVIDE))
!     {
!       t = fold_build2 (EQ_EXPR, boolean_type_node,
! 		       op1, build_real (type, dconst0));
!       flag = SANITIZE_FLOAT_DIVIDE;
!     }
    else
      return NULL_TREE;
  
*************** ubsan_instrument_division (location_t lo
*** 95,101 ****
  				     NULL_TREE);
        data = build_fold_addr_expr_loc (loc, data);
        enum built_in_function bcode
! 	= (flag_sanitize_recover & SANITIZE_DIVIDE)
  	  ? BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW
  	  : BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT;
        tt = builtin_decl_explicit (bcode);
--- 99,105 ----
  				     NULL_TREE);
        data = build_fold_addr_expr_loc (loc, data);
        enum built_in_function bcode
! 	= (flag_sanitize_recover & flag)
  	  ? BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW
  	  : BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT;
        tt = builtin_decl_explicit (bcode);
*************** ubsan_instrument_shift (location_t loc,
*** 142,148 ****
        || cxx_dialect >= cxx2a)
      ;
  
!   /* For signed x << y, in C99/C11, the following:
       (unsigned) x >> (uprecm1 - y)
       if non-zero, is undefined.  */
    else if (code == LSHIFT_EXPR && flag_isoc99 && cxx_dialect < cxx11)
--- 146,152 ----
        || cxx_dialect >= cxx2a)
      ;
  
!   /* For signed x << y, in C99 and later, the following:
       (unsigned) x >> (uprecm1 - y)
       if non-zero, is undefined.  */
    else if (code == LSHIFT_EXPR && flag_isoc99 && cxx_dialect < cxx11)
*************** ubsan_instrument_shift (location_t loc,
*** 155,161 ****
  			build_int_cst (TREE_TYPE (tt), 0));
      }
  
!   /* For signed x << y, in C++11 and later, the following:
       x < 0 || ((unsigned) x >> (uprecm1 - y))
       if > 1, is undefined.  */
    else if (code == LSHIFT_EXPR && cxx_dialect >= cxx11)
--- 159,165 ----
  			build_int_cst (TREE_TYPE (tt), 0));
      }
  
!   /* For signed x << y, in C++11 to C++17, the following:
       x < 0 || ((unsigned) x >> (uprecm1 - y))
       if > 1, is undefined.  */
    else if (code == LSHIFT_EXPR && cxx_dialect >= cxx11)
diff -Nrcpad gcc-9.4.0/gcc/c-family/c-warn.c gcc-9.5.0/gcc/c-family/c-warn.c
*** gcc-9.4.0/gcc/c-family/c-warn.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/c-family/c-warn.c	Fri May 27 07:21:10 2022
*************** maybe_warn_shift_overflow (location_t lo
*** 2464,2470 ****
    unsigned int prec0 = TYPE_PRECISION (type0);
  
    /* Left-hand operand must be signed.  */
!   if (TYPE_UNSIGNED (type0) || cxx_dialect >= cxx2a)
      return false;
  
    unsigned int min_prec = (wi::min_precision (wi::to_wide (op0), SIGNED)
--- 2464,2470 ----
    unsigned int prec0 = TYPE_PRECISION (type0);
  
    /* Left-hand operand must be signed.  */
!   if (TYPE_OVERFLOW_WRAPS (type0) || cxx_dialect >= cxx2a)
      return false;
  
    unsigned int min_prec = (wi::min_precision (wi::to_wide (op0), SIGNED)
diff -Nrcpad gcc-9.4.0/gcc/cfgexpand.c gcc-9.5.0/gcc/cfgexpand.c
*** gcc-9.4.0/gcc/cfgexpand.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cfgexpand.c	Fri May 27 07:21:10 2022
*************** expand_asm_stmt (gasm *stmt)
*** 2950,2955 ****
--- 2950,2956 ----
    unsigned ninputs = gimple_asm_ninputs (stmt);
    unsigned nlabels = gimple_asm_nlabels (stmt);
    unsigned i;
+   bool error_seen = false;
  
    /* ??? Diagnose during gimplification?  */
    if (ninputs + noutputs + nlabels > MAX_RECOG_OPERANDS)
*************** expand_asm_stmt (gasm *stmt)
*** 3008,3013 ****
--- 3009,3015 ----
  		{
  		  /* ??? Diagnose during gimplification?  */
  		  error ("unknown register name %qs in %<asm%>", regname);
+ 		  error_seen = true;
  		}
  	      else if (j == -4)
  		{
*************** expand_asm_stmt (gasm *stmt)
*** 3071,3077 ****
  		&& REG_P (DECL_RTL (output_tvec[j]))
  		&& HARD_REGISTER_P (DECL_RTL (output_tvec[j]))
  		&& output_hregno == REGNO (DECL_RTL (output_tvec[j])))
! 	      error ("invalid hard register usage between output operands");
  
  	  /* Verify matching constraint operands use the same hard register
  	     and that the non-matching constraint operands do not use the same
--- 3073,3082 ----
  		&& REG_P (DECL_RTL (output_tvec[j]))
  		&& HARD_REGISTER_P (DECL_RTL (output_tvec[j]))
  		&& output_hregno == REGNO (DECL_RTL (output_tvec[j])))
! 	      {
! 		error ("invalid hard register usage between output operands");
! 		error_seen = true;
! 	      }
  
  	  /* Verify matching constraint operands use the same hard register
  	     and that the non-matching constraint operands do not use the same
*************** expand_asm_stmt (gasm *stmt)
*** 3094,3106 ****
  		  }
  		if (i == match
  		    && output_hregno != input_hregno)
! 		  error ("invalid hard register usage between output operand "
! 			 "and matching constraint operand");
  		else if (early_clobber_p
  			 && i != match
  			 && output_hregno == input_hregno)
! 		  error ("invalid hard register usage between earlyclobber "
! 			 "operand and input operand");
  	      }
  	}
  
--- 3099,3117 ----
  		  }
  		if (i == match
  		    && output_hregno != input_hregno)
! 		  {
! 		    error ("invalid hard register usage between output "
! 			   "operand and matching constraint operand");
! 		    error_seen = true;
! 		  }
  		else if (early_clobber_p
  			 && i != match
  			 && output_hregno == input_hregno)
! 		  {
! 		    error ("invalid hard register usage between "
! 			   "earlyclobber operand and input operand");
! 		    error_seen = true;
! 		  }
  	      }
  	}
  
*************** expand_asm_stmt (gasm *stmt)
*** 3168,3174 ****
  		    && GET_MODE (DECL_RTL (val)) != TYPE_MODE (type)))
  	  || ! allows_reg
  	  || is_inout
! 	  || TREE_ADDRESSABLE (type))
  	{
  	  op = expand_expr (val, NULL_RTX, VOIDmode,
  			    !allows_reg ? EXPAND_MEMORY : EXPAND_WRITE);
--- 3179,3187 ----
  		    && GET_MODE (DECL_RTL (val)) != TYPE_MODE (type)))
  	  || ! allows_reg
  	  || is_inout
! 	  || TREE_ADDRESSABLE (type)
! 	  || (!tree_fits_poly_int64_p (TYPE_SIZE (type))
! 	      && !known_size_p (max_int_size_in_bytes (type))))
  	{
  	  op = expand_expr (val, NULL_RTX, VOIDmode,
  			    !allows_reg ? EXPAND_MEMORY : EXPAND_WRITE);
*************** expand_asm_stmt (gasm *stmt)
*** 3176,3182 ****
  	    op = validize_mem (op);
  
  	  if (! allows_reg && !MEM_P (op))
! 	    error ("output number %d not directly addressable", i);
  	  if ((! allows_mem && MEM_P (op) && GET_MODE (op) != BLKmode)
  	      || GET_CODE (op) == CONCAT)
  	    {
--- 3189,3198 ----
  	    op = validize_mem (op);
  
  	  if (! allows_reg && !MEM_P (op))
! 	    {
! 	      error ("output number %d not directly addressable", i);
! 	      error_seen = true;
! 	    }
  	  if ((! allows_mem && MEM_P (op) && GET_MODE (op) != BLKmode)
  	      || GET_CODE (op) == CONCAT)
  	    {
*************** expand_asm_stmt (gasm *stmt)
*** 3216,3221 ****
--- 3232,3250 ----
  	inout_opnum.safe_push (i);
      }
  
+   const char *str = gimple_asm_string (stmt);
+   if (error_seen)
+     {
+       ninputs = 0;
+       noutputs = 0;
+       inout_opnum.truncate (0);
+       output_rvec.truncate (0);
+       clobber_rvec.truncate (0);
+       constraints.truncate (0);
+       CLEAR_HARD_REG_SET (clobbered_regs);
+       str = "";
+     }
+ 
    auto_vec<rtx, MAX_RECOG_OPERANDS> input_rvec;
    auto_vec<machine_mode, MAX_RECOG_OPERANDS> input_mode;
  
*************** expand_asm_stmt (gasm *stmt)
*** 3273,3279 ****
      }
  
    /* For in-out operands, copy output rtx to input rtx.  */
!   unsigned ninout = inout_opnum.length();
    for (i = 0; i < ninout; i++)
      {
        int j = inout_opnum[i];
--- 3302,3308 ----
      }
  
    /* For in-out operands, copy output rtx to input rtx.  */
!   unsigned ninout = inout_opnum.length ();
    for (i = 0; i < ninout; i++)
      {
        int j = inout_opnum[i];
*************** expand_asm_stmt (gasm *stmt)
*** 3327,3333 ****
  
    rtx body = gen_rtx_ASM_OPERANDS ((noutputs == 0 ? VOIDmode
  				    : GET_MODE (output_rvec[0])),
! 				   ggc_strdup (gimple_asm_string (stmt)),
  				   "", 0, argvec, constraintvec,
  				   labelvec, locus);
    MEM_VOLATILE_P (body) = gimple_asm_volatile_p (stmt);
--- 3356,3362 ----
  
    rtx body = gen_rtx_ASM_OPERANDS ((noutputs == 0 ? VOIDmode
  				    : GET_MODE (output_rvec[0])),
! 				   ggc_strdup (str),
  				   "", 0, argvec, constraintvec,
  				   labelvec, locus);
    MEM_VOLATILE_P (body) = gimple_asm_volatile_p (stmt);
*************** expand_debug_expr (tree exp)
*** 4356,4362 ****
        op0 = DECL_RTL_IF_SET (exp);
  
        if (op0)
! 	return op0;
  
        op0 = gen_rtx_DEBUG_EXPR (mode);
        DEBUG_EXPR_TREE_DECL (op0) = exp;
--- 4385,4396 ----
        op0 = DECL_RTL_IF_SET (exp);
  
        if (op0)
! 	{
! 	  if (GET_MODE (op0) != mode)
! 	    gcc_assert (VECTOR_TYPE_P (TREE_TYPE (exp)));
! 	  else
! 	    return op0;
! 	}
  
        op0 = gen_rtx_DEBUG_EXPR (mode);
        DEBUG_EXPR_TREE_DECL (op0) = exp;
diff -Nrcpad gcc-9.4.0/gcc/combine.c gcc-9.5.0/gcc/combine.c
*** gcc-9.4.0/gcc/combine.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/combine.c	Fri May 27 07:21:10 2022
*************** struct undo
*** 396,402 ****
    struct undo *next;
    enum undo_kind kind;
    union { rtx r; int i; machine_mode m; struct insn_link *l; } old_contents;
!   union { rtx *r; int *i; struct insn_link **l; } where;
  };
  
  /* Record a bunch of changes to be undone, up to MAX_UNDO of them.
--- 396,402 ----
    struct undo *next;
    enum undo_kind kind;
    union { rtx r; int i; machine_mode m; struct insn_link *l; } old_contents;
!   union { rtx *r; int *i; int regno; struct insn_link **l; } where;
  };
  
  /* Record a bunch of changes to be undone, up to MAX_UNDO of them.
*************** do_SUBST_INT (int *into, int newval)
*** 793,802 ****
     well.  */
  
  static void
! do_SUBST_MODE (rtx *into, machine_mode newval)
  {
    struct undo *buf;
!   machine_mode oldval = GET_MODE (*into);
  
    if (oldval == newval)
      return;
--- 793,803 ----
     well.  */
  
  static void
! subst_mode (int regno, machine_mode newval)
  {
    struct undo *buf;
!   rtx reg = regno_reg_rtx[regno];
!   machine_mode oldval = GET_MODE (reg);
  
    if (oldval == newval)
      return;
*************** do_SUBST_MODE (rtx *into, machine_mode n
*** 807,821 ****
      buf = XNEW (struct undo);
  
    buf->kind = UNDO_MODE;
!   buf->where.r = into;
    buf->old_contents.m = oldval;
!   adjust_reg_mode (*into, newval);
  
    buf->next = undobuf.undos, undobuf.undos = buf;
  }
  
- #define SUBST_MODE(INTO, NEWVAL)  do_SUBST_MODE (&(INTO), (NEWVAL))
- 
  /* Similar to SUBST, but NEWVAL is a LOG_LINKS expression.  */
  
  static void
--- 808,820 ----
      buf = XNEW (struct undo);
  
    buf->kind = UNDO_MODE;
!   buf->where.regno = regno;
    buf->old_contents.m = oldval;
!   adjust_reg_mode (reg, newval);
  
    buf->next = undobuf.undos, undobuf.undos = buf;
  }
  
  /* Similar to SUBST, but NEWVAL is a LOG_LINKS expression.  */
  
  static void
*************** try_combine (rtx_insn *i3, rtx_insn *i2,
*** 3222,3227 ****
--- 3221,3236 ----
        return 0;
      }
  
+   /* We cannot safely duplicate volatile references in any case.  */
+ 
+   if ((added_sets_2 && volatile_refs_p (PATTERN (i2)))
+       || (added_sets_1 && volatile_refs_p (PATTERN (i1)))
+       || (added_sets_0 && volatile_refs_p (PATTERN (i0))))
+     {
+       undo_all ();
+       return 0;
+     }
+ 
    /* Count how many auto_inc expressions there were in the original insns;
       we need to have the same number in the resulting patterns.  */
  
*************** try_combine (rtx_insn *i3, rtx_insn *i2,
*** 3334,3340 ****
  		    newpat_dest = gen_rtx_REG (compare_mode, regno);
  		  else
  		    {
! 		      SUBST_MODE (regno_reg_rtx[regno], compare_mode);
  		      newpat_dest = regno_reg_rtx[regno];
  		    }
  		}
--- 3343,3349 ----
  		    newpat_dest = gen_rtx_REG (compare_mode, regno);
  		  else
  		    {
! 		      subst_mode (regno, compare_mode);
  		      newpat_dest = regno_reg_rtx[regno];
  		    }
  		}
*************** try_combine (rtx_insn *i3, rtx_insn *i2,
*** 3724,3730 ****
  		ni2dest = gen_rtx_REG (new_mode, REGNO (i2dest));
  	      else
  		{
! 		  SUBST_MODE (regno_reg_rtx[REGNO (i2dest)], new_mode);
  		  ni2dest = regno_reg_rtx[REGNO (i2dest)];
  		}
  
--- 3733,3739 ----
  		ni2dest = gen_rtx_REG (new_mode, REGNO (i2dest));
  	      else
  		{
! 		  subst_mode (REGNO (i2dest), new_mode);
  		  ni2dest = regno_reg_rtx[REGNO (i2dest)];
  		}
  
*************** try_combine (rtx_insn *i3, rtx_insn *i2,
*** 3861,3867 ****
  		newdest = gen_rtx_REG (split_mode, REGNO (i2dest));
  	      else
  		{
! 		  SUBST_MODE (regno_reg_rtx[REGNO (i2dest)], split_mode);
  		  newdest = regno_reg_rtx[REGNO (i2dest)];
  		}
  	    }
--- 3870,3876 ----
  		newdest = gen_rtx_REG (split_mode, REGNO (i2dest));
  	      else
  		{
! 		  subst_mode (REGNO (i2dest), split_mode);
  		  newdest = regno_reg_rtx[REGNO (i2dest)];
  		}
  	    }
*************** try_combine (rtx_insn *i3, rtx_insn *i2,
*** 4229,4235 ****
        for (undo = undobuf.undos; undo; undo = undo->next)
  	if (undo->kind == UNDO_MODE)
  	  {
! 	    rtx reg = *undo->where.r;
  	    machine_mode new_mode = GET_MODE (reg);
  	    machine_mode old_mode = undo->old_contents.m;
  
--- 4238,4244 ----
        for (undo = undobuf.undos; undo; undo = undo->next)
  	if (undo->kind == UNDO_MODE)
  	  {
! 	    rtx reg = regno_reg_rtx[undo->where.regno];
  	    machine_mode new_mode = GET_MODE (reg);
  	    machine_mode old_mode = undo->old_contents.m;
  
*************** undo_to_marker (void *marker)
*** 4896,4902 ****
  	  *undo->where.i = undo->old_contents.i;
  	  break;
  	case UNDO_MODE:
! 	  adjust_reg_mode (*undo->where.r, undo->old_contents.m);
  	  break;
  	case UNDO_LINKS:
  	  *undo->where.l = undo->old_contents.l;
--- 4905,4912 ----
  	  *undo->where.i = undo->old_contents.i;
  	  break;
  	case UNDO_MODE:
! 	  adjust_reg_mode (regno_reg_rtx[undo->where.regno],
! 			   undo->old_contents.m);
  	  break;
  	case UNDO_LINKS:
  	  *undo->where.l = undo->old_contents.l;
*************** subst (rtx x, rtx from, rtx to, int in_d
*** 5697,5702 ****
--- 5707,5718 ----
  		  if (!x)
  		    return gen_rtx_CLOBBER (VOIDmode, const0_rtx);
  		}
+ 	      /* CONST_INTs shouldn't be substituted into PRE_DEC, PRE_MODIFY
+ 		 etc. arguments, otherwise we can ICE before trying to recog
+ 		 it.  See PR104446.  */
+ 	      else if (CONST_SCALAR_INT_P (new_rtx)
+ 		       && GET_RTX_CLASS (GET_CODE (x)) == RTX_AUTOINC)
+ 		return gen_rtx_CLOBBER (VOIDmode, const0_rtx);
  	      else
  		SUBST (XEXP (x, i), new_rtx);
  	    }
*************** simplify_set (rtx x)
*** 6970,6976 ****
  		new_dest = gen_rtx_REG (compare_mode, regno);
  	      else
  		{
! 		  SUBST_MODE (regno_reg_rtx[regno], compare_mode);
  		  new_dest = regno_reg_rtx[regno];
  		}
  
--- 6986,6992 ----
  		new_dest = gen_rtx_REG (compare_mode, regno);
  	      else
  		{
! 		  subst_mode (regno, compare_mode);
  		  new_dest = regno_reg_rtx[regno];
  		}
  
*************** distribute_notes (rtx notes, rtx_insn *f
*** 14392,14397 ****
--- 14408,14418 ----
  	     we keep notes from i2 or i1 if they will turn into REG_DEAD
  	     notes.  */
  
+ 	  /* If this register is set or clobbered between FROM_INSN and I3,
+ 	     we should not create a note for it.  */
+ 	  if (reg_set_between_p (XEXP (note, 0), from_insn, i3))
+ 	    break;
+ 
  	  /* If this register is set or clobbered in I3, put the note there
  	     unless there is one already.  */
  	  if (reg_set_p (XEXP (note, 0), PATTERN (i3)))
diff -Nrcpad gcc-9.4.0/gcc/config/aarch64/aarch64-cores.def gcc-9.5.0/gcc/config/aarch64/aarch64-cores.def
*** gcc-9.4.0/gcc/config/aarch64/aarch64-cores.def	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/aarch64/aarch64-cores.def	Fri May 27 07:21:10 2022
*************** AARCH64_CORE("tsv110",  tsv110, tsv110,
*** 115,121 ****
  /* ARM ('A') cores. */
  AARCH64_CORE("zeus", zeus, cortexa57, 8_4A,  AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_RNG | AARCH64_FL_RCPC | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS, neoversev1, 0x41, 0xd40, -1)
  AARCH64_CORE("neoverse-v1", neoversev1, cortexa57, 8_4A,  AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_RNG | AARCH64_FL_RCPC | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS, neoversev1, 0x41, 0xd40, -1)
! 
  
  /* Qualcomm ('Q') cores. */
  AARCH64_CORE("saphira",     saphira,    saphira,    8_4A,  AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_CRYPTO | AARCH64_FL_RCPC, saphira,   0x51, 0xC01, -1)
--- 115,121 ----
  /* ARM ('A') cores. */
  AARCH64_CORE("zeus", zeus, cortexa57, 8_4A,  AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_RNG | AARCH64_FL_RCPC | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS, neoversev1, 0x41, 0xd40, -1)
  AARCH64_CORE("neoverse-v1", neoversev1, cortexa57, 8_4A,  AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_RNG | AARCH64_FL_RCPC | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS, neoversev1, 0x41, 0xd40, -1)
! AARCH64_CORE("neoverse-512tvb", neoverse512tvb, cortexa57, 8_4A,  AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_RNG | AARCH64_FL_RCPC | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS, neoversev1, INVALID_IMP, INVALID_CORE, -1)
  
  /* Qualcomm ('Q') cores. */
  AARCH64_CORE("saphira",     saphira,    saphira,    8_4A,  AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_CRYPTO | AARCH64_FL_RCPC, saphira,   0x51, 0xC01, -1)
diff -Nrcpad gcc-9.4.0/gcc/config/aarch64/aarch64-protos.h gcc-9.5.0/gcc/config/aarch64/aarch64-protos.h
*** gcc-9.4.0/gcc/config/aarch64/aarch64-protos.h	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/aarch64/aarch64-protos.h	Fri May 27 07:21:10 2022
*************** bool aarch64_high_bits_all_ones_p (HOST_
*** 647,653 ****
  
  struct atomic_ool_names
  {
!     const char *str[5][4];
  };
  
  rtx aarch64_atomic_ool_func(machine_mode mode, rtx model_rtx,
--- 647,653 ----
  
  struct atomic_ool_names
  {
!     const char *str[5][5];
  };
  
  rtx aarch64_atomic_ool_func(machine_mode mode, rtx model_rtx,
diff -Nrcpad gcc-9.4.0/gcc/config/aarch64/aarch64-tune.md gcc-9.5.0/gcc/config/aarch64/aarch64-tune.md
*** gcc-9.4.0/gcc/config/aarch64/aarch64-tune.md	Tue Jun  1 07:53:40 2021
--- gcc-9.5.0/gcc/config/aarch64/aarch64-tune.md	Fri May 27 07:21:46 2022
***************
*** 1,5 ****
  ;; -*- buffer-read-only: t -*-
  ;; Generated automatically by gentune.sh from aarch64-cores.def
  (define_attr "tune"
! 	"cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,ares,neoversen1,neoversee1,a64fx,tsv110,zeus,neoversev1,saphira,neoversen2,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55"
  	(const (symbol_ref "((enum attr_tune) aarch64_tune)")))
--- 1,5 ----
  ;; -*- buffer-read-only: t -*-
  ;; Generated automatically by gentune.sh from aarch64-cores.def
  (define_attr "tune"
! 	"cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,ares,neoversen1,neoversee1,a64fx,tsv110,zeus,neoversev1,neoverse512tvb,saphira,neoversen2,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55"
  	(const (symbol_ref "((enum attr_tune) aarch64_tune)")))
diff -Nrcpad gcc-9.4.0/gcc/config/aarch64/aarch64.c gcc-9.5.0/gcc/config/aarch64/aarch64.c
*** gcc-9.4.0/gcc/config/aarch64/aarch64.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/aarch64/aarch64.c	Fri May 27 07:21:10 2022
*************** aarch64_emit_unlikely_jump (rtx insn)
*** 15764,15777 ****
    add_reg_br_prob_note (jump, profile_probability::very_unlikely ());
  }
  
! /* We store the names of the various atomic helpers in a 5x4 array.
     Return the libcall function given MODE, MODEL and NAMES.  */
  
  rtx
  aarch64_atomic_ool_func(machine_mode mode, rtx model_rtx,
  			const atomic_ool_names *names)
  {
!   memmodel model = memmodel_base (INTVAL (model_rtx));
    int mode_idx, model_idx;
  
    switch (mode)
--- 15764,15777 ----
    add_reg_br_prob_note (jump, profile_probability::very_unlikely ());
  }
  
! /* We store the names of the various atomic helpers in a 5x5 array.
     Return the libcall function given MODE, MODEL and NAMES.  */
  
  rtx
  aarch64_atomic_ool_func(machine_mode mode, rtx model_rtx,
  			const atomic_ool_names *names)
  {
!   memmodel model = memmodel_from_int (INTVAL (model_rtx));
    int mode_idx, model_idx;
  
    switch (mode)
*************** aarch64_atomic_ool_func(machine_mode mod
*** 15811,15816 ****
--- 15811,15821 ----
      case MEMMODEL_SEQ_CST:
        model_idx = 3;
        break;
+     case MEMMODEL_SYNC_ACQUIRE:
+     case MEMMODEL_SYNC_RELEASE:
+     case MEMMODEL_SYNC_SEQ_CST:
+       model_idx = 4;
+       break;
      default:
        gcc_unreachable ();
      }
*************** aarch64_atomic_ool_func(machine_mode mod
*** 15823,15829 ****
    { "__aarch64_" #B #N "_relax", \
      "__aarch64_" #B #N "_acq", \
      "__aarch64_" #B #N "_rel", \
!     "__aarch64_" #B #N "_acq_rel" }
  
  #define DEF4(B)  DEF0(B, 1), DEF0(B, 2), DEF0(B, 4), DEF0(B, 8), \
  		 { NULL, NULL, NULL, NULL }
--- 15828,15835 ----
    { "__aarch64_" #B #N "_relax", \
      "__aarch64_" #B #N "_acq", \
      "__aarch64_" #B #N "_rel", \
!     "__aarch64_" #B #N "_acq_rel", \
!     "__aarch64_" #B #N "_sync" }
  
  #define DEF4(B)  DEF0(B, 1), DEF0(B, 2), DEF0(B, 4), DEF0(B, 8), \
  		 { NULL, NULL, NULL, NULL }
diff -Nrcpad gcc-9.4.0/gcc/config/aarch64/arm_acle.h gcc-9.5.0/gcc/config/aarch64/arm_acle.h
*** gcc-9.4.0/gcc/config/aarch64/arm_acle.h	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/aarch64/arm_acle.h	Fri May 27 07:21:10 2022
*************** __rint64x (double __a)
*** 98,107 ****
  
  #pragma GCC target ("+nothing+crc")
  
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
  __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
  __crc32b (uint32_t __a, uint8_t __b)
  {
--- 98,103 ----
diff -Nrcpad gcc-9.4.0/gcc/config/arm/arm-c.c gcc-9.5.0/gcc/config/arm/arm-c.c
*** gcc-9.4.0/gcc/config/arm/arm-c.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/arm/arm-c.c	Fri May 27 07:21:10 2022
*************** arm_pragma_target_parse (tree args, tree
*** 266,273 ****
         target_option_current_node, but not handle_pragma_target.  */
        target_option_current_node = cur_tree;
        arm_configure_build_target (&arm_active_target,
! 				  TREE_TARGET_OPTION (cur_tree),
! 				  &global_options_set, false);
      }
  
    /* Update macros if target_node changes. The global state will be restored
--- 266,273 ----
         target_option_current_node, but not handle_pragma_target.  */
        target_option_current_node = cur_tree;
        arm_configure_build_target (&arm_active_target,
! 				  TREE_TARGET_OPTION (cur_tree), false);
!       arm_option_reconfigure_globals ();
      }
  
    /* Update macros if target_node changes. The global state will be restored
diff -Nrcpad gcc-9.4.0/gcc/config/arm/arm-cpus.in gcc-9.5.0/gcc/config/arm/arm-cpus.in
*** gcc-9.4.0/gcc/config/arm/arm-cpus.in	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/arm/arm-cpus.in	Fri May 27 07:21:10 2022
*************** define feature quirk_armv6kz
*** 180,185 ****
--- 180,188 ----
  # Cortex-M3 LDRD quirk.
  define feature quirk_cm3_ldrd
  
+ # Don't use .cpu assembly directive
+ define feature quirk_no_asmcpu
+ 
  # (Very) slow multiply operations.  Should probably be a tuning bit.
  define feature smallmul
  
*************** define fgroup ALL_CRYPTO	crypto
*** 213,227 ****
  # strip off 32 D-registers, but does not remove support for
  # double-precision FP.
  define fgroup ALL_SIMD_INTERNAL	fp_d32 neon ALL_CRYPTO
! define fgroup ALL_SIMD	ALL_SIMD_INTERNAL dotprod fp16fml
  
  # List of all FPU bits to strip out if -mfpu is used to override the
  # default.  fp16 is deliberately missing from this list.
  define fgroup ALL_FPU_INTERNAL	vfpv2 vfpv3 vfpv4 fpv5 fp16conv fp_dbl ALL_SIMD_INTERNAL
- 
  # Similarly, but including fp16 and other extensions that aren't part of
  # -mfpu support.
! define fgroup ALL_FP	fp16 ALL_FPU_INTERNAL
  
  define fgroup ARMv4       armv4 notm
  define fgroup ARMv4t      ARMv4 thumb
--- 216,233 ----
  # strip off 32 D-registers, but does not remove support for
  # double-precision FP.
  define fgroup ALL_SIMD_INTERNAL	fp_d32 neon ALL_CRYPTO
! define fgroup ALL_SIMD_EXTERNAL dotprod fp16fml
! define fgroup ALL_SIMD	ALL_SIMD_INTERNAL ALL_SIMD_EXTERNAL
  
  # List of all FPU bits to strip out if -mfpu is used to override the
  # default.  fp16 is deliberately missing from this list.
  define fgroup ALL_FPU_INTERNAL	vfpv2 vfpv3 vfpv4 fpv5 fp16conv fp_dbl ALL_SIMD_INTERNAL
  # Similarly, but including fp16 and other extensions that aren't part of
  # -mfpu support.
! define fgroup ALL_FPU_EXTERNAL fp16
! 
! # Everything related to the FPU extensions (FP or SIMD).
! define fgroup ALL_FP	ALL_FPU_EXTERNAL ALL_FPU_INTERNAL ALL_SIMD
  
  define fgroup ARMv4       armv4 notm
  define fgroup ARMv4t      ARMv4 thumb
*************** define fgroup DOTPROD	NEON dotprod
*** 274,280 ****
  # architectures.
  # xscale isn't really a 'quirk', but it isn't an architecture either and we
  # need to ignore it for matching purposes.
! define fgroup ALL_QUIRKS   quirk_no_volatile_ce quirk_armv6kz quirk_cm3_ldrd xscale
  
  # Architecture entries
  # format:
--- 280,286 ----
  # architectures.
  # xscale isn't really a 'quirk', but it isn't an architecture either and we
  # need to ignore it for matching purposes.
! define fgroup ALL_QUIRKS   quirk_no_volatile_ce quirk_armv6kz quirk_cm3_ldrd xscale quirk_no_asmcpu
  
  # Architecture entries
  # format:
*************** begin cpu generic-armv7-a
*** 976,981 ****
--- 982,988 ----
   cname genericv7a
   tune flags LDSCHED
   architecture armv7-a+fp
+  isa quirk_no_asmcpu
   option mp add mp
   option sec add sec
   option vfpv3-d16 add VFPv3 FP_DBL
*************** begin cpu cortex-a55
*** 1301,1307 ****
   cname cortexa55
   tune for cortex-a53
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod+simd
   option crypto add FP_ARMv8 CRYPTO
   option nofp remove ALL_FP
   costs cortex_a53
--- 1308,1314 ----
   cname cortexa55
   tune for cortex-a53
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod
   option crypto add FP_ARMv8 CRYPTO
   option nofp remove ALL_FP
   costs cortex_a53
*************** begin cpu cortex-a75
*** 1313,1319 ****
   cname cortexa75
   tune for cortex-a57
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod+simd
   option crypto add FP_ARMv8 CRYPTO
   costs cortex_a73
   vendor 41
--- 1320,1326 ----
   cname cortexa75
   tune for cortex-a57
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod
   option crypto add FP_ARMv8 CRYPTO
   costs cortex_a73
   vendor 41
*************** begin cpu cortex-a76
*** 1324,1330 ****
   cname cortexa76
   tune for cortex-a57
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod+simd
   option crypto add FP_ARMv8 CRYPTO
   costs cortex_a57
   vendor 41
--- 1331,1337 ----
   cname cortexa76
   tune for cortex-a57
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod
   option crypto add FP_ARMv8 CRYPTO
   costs cortex_a57
   vendor 41
*************** begin cpu neoverse-n1
*** 1336,1342 ****
   alias !ares
   tune for cortex-a57
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod+simd
   option crypto add FP_ARMv8 CRYPTO
   costs cortex_a57
   vendor 41
--- 1343,1349 ----
   alias !ares
   tune for cortex-a57
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod
   option crypto add FP_ARMv8 CRYPTO
   costs cortex_a57
   vendor 41
*************** begin cpu cortex-a75.cortex-a55
*** 1348,1354 ****
   cname cortexa75cortexa55
   tune for cortex-a53
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod+simd
   option crypto add FP_ARMv8 CRYPTO
   costs cortex_a73
  end cpu cortex-a75.cortex-a55
--- 1355,1361 ----
   cname cortexa75cortexa55
   tune for cortex-a53
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod
   option crypto add FP_ARMv8 CRYPTO
   costs cortex_a73
  end cpu cortex-a75.cortex-a55
*************** begin cpu cortex-a76.cortex-a55
*** 1357,1363 ****
   cname cortexa76cortexa55
   tune for cortex-a53
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod+simd
   option crypto add FP_ARMv8 CRYPTO
   costs cortex_a57
  end cpu cortex-a76.cortex-a55
--- 1364,1370 ----
   cname cortexa76cortexa55
   tune for cortex-a53
   tune flags LDSCHED
!  architecture armv8.2-a+fp16+dotprod
   option crypto add FP_ARMv8 CRYPTO
   costs cortex_a57
  end cpu cortex-a76.cortex-a55
diff -Nrcpad gcc-9.4.0/gcc/config/arm/arm-protos.h gcc-9.5.0/gcc/config/arm/arm-protos.h
*** gcc-9.4.0/gcc/config/arm/arm-protos.h	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/arm/arm-protos.h	Fri May 27 07:21:10 2022
*************** extern bool arm_change_mode_p (tree);
*** 229,236 ****
  extern tree arm_valid_target_attribute_tree (tree, struct gcc_options *,
  					     struct gcc_options *);
  extern void arm_configure_build_target (struct arm_build_target *,
! 					struct cl_target_option *,
! 					struct gcc_options *, bool);
  extern void arm_option_reconfigure_globals (void);
  extern void arm_options_perform_arch_sanity_checks (void);
  extern void arm_pr_long_calls (struct cpp_reader *);
--- 229,235 ----
  extern tree arm_valid_target_attribute_tree (tree, struct gcc_options *,
  					     struct gcc_options *);
  extern void arm_configure_build_target (struct arm_build_target *,
! 					struct cl_target_option *, bool);
  extern void arm_option_reconfigure_globals (void);
  extern void arm_options_perform_arch_sanity_checks (void);
  extern void arm_pr_long_calls (struct cpp_reader *);
diff -Nrcpad gcc-9.4.0/gcc/config/arm/arm.c gcc-9.5.0/gcc/config/arm/arm.c
*** gcc-9.4.0/gcc/config/arm/arm.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/arm/arm.c	Fri May 27 07:21:10 2022
***************
*** 78,87 ****
  typedef struct minipool_node    Mnode;
  typedef struct minipool_fixup   Mfix;
  
- /* The last .arch and .fpu assembly strings that we printed.  */
- static std::string arm_last_printed_arch_string;
- static std::string arm_last_printed_fpu_string;
- 
  void (*arm_lang_output_object_attributes_hook)(void);
  
  struct four_ints
--- 78,83 ----
*************** static unsigned int arm_hard_regno_nregs
*** 325,330 ****
--- 321,327 ----
  static bool arm_hard_regno_mode_ok (unsigned int, machine_mode);
  static bool arm_modes_tieable_p (machine_mode, machine_mode);
  static HOST_WIDE_INT arm_constant_alignment (const_tree, HOST_WIDE_INT);
+ static const char *arm_identify_fpu_from_isa (sbitmap);
  
  /* Table of machine attributes.  */
  static const struct attribute_spec arm_attribute_table[] =
*************** arm_override_options_after_change (void)
*** 2985,2991 ****
  {
    arm_configure_build_target (&arm_active_target,
  			      TREE_TARGET_OPTION (target_option_default_node),
! 			      &global_options_set, false);
  
    arm_override_options_after_change_1 (&global_options);
  }
--- 2982,2988 ----
  {
    arm_configure_build_target (&arm_active_target,
  			      TREE_TARGET_OPTION (target_option_default_node),
! 			      false);
  
    arm_override_options_after_change_1 (&global_options);
  }
*************** arm_option_restore (struct gcc_options *
*** 3006,3013 ****
    opts->x_arm_arch_string = ptr->x_arm_arch_string;
    opts->x_arm_cpu_string = ptr->x_arm_cpu_string;
    opts->x_arm_tune_string = ptr->x_arm_tune_string;
!   arm_configure_build_target (&arm_active_target, ptr, &global_options_set,
! 			      false);
  }
  
  /* Reset options between modes that the user has specified.  */
--- 3003,3010 ----
    opts->x_arm_arch_string = ptr->x_arm_arch_string;
    opts->x_arm_cpu_string = ptr->x_arm_cpu_string;
    opts->x_arm_tune_string = ptr->x_arm_tune_string;
!   arm_configure_build_target (&arm_active_target, ptr, false);
!   arm_option_reconfigure_globals ();
  }
  
  /* Reset options between modes that the user has specified.  */
*************** arm_option_override_internal (struct gcc
*** 3115,3121 ****
  #endif
  }
  
! static sbitmap isa_all_fpubits;
  static sbitmap isa_quirkbits;
  
  /* Configure a build target TARGET from the user-specified options OPTS and
--- 3112,3119 ----
  #endif
  }
  
! static sbitmap isa_all_fpubits_internal;
! static sbitmap isa_all_fpbits;
  static sbitmap isa_quirkbits;
  
  /* Configure a build target TARGET from the user-specified options OPTS and
*************** static sbitmap isa_quirkbits;
*** 3124,3130 ****
  void
  arm_configure_build_target (struct arm_build_target *target,
  			    struct cl_target_option *opts,
- 			    struct gcc_options *opts_set,
  			    bool warn_compatible)
  {
    const cpu_option *arm_selected_tune = NULL;
--- 3122,3127 ----
*************** arm_configure_build_target (struct arm_b
*** 3139,3145 ****
    target->core_name = NULL;
    target->arch_name = NULL;
  
!   if (opts_set->x_arm_arch_string)
      {
        arm_selected_arch = arm_parse_arch_option_name (all_architectures,
  						      "-march",
--- 3136,3142 ----
    target->core_name = NULL;
    target->arch_name = NULL;
  
!   if (opts->x_arm_arch_string)
      {
        arm_selected_arch = arm_parse_arch_option_name (all_architectures,
  						      "-march",
*************** arm_configure_build_target (struct arm_b
*** 3147,3153 ****
        arch_opts = strchr (opts->x_arm_arch_string, '+');
      }
  
!   if (opts_set->x_arm_cpu_string)
      {
        arm_selected_cpu = arm_parse_cpu_option_name (all_cores, "-mcpu",
  						    opts->x_arm_cpu_string);
--- 3144,3150 ----
        arch_opts = strchr (opts->x_arm_arch_string, '+');
      }
  
!   if (opts->x_arm_cpu_string)
      {
        arm_selected_cpu = arm_parse_cpu_option_name (all_cores, "-mcpu",
  						    opts->x_arm_cpu_string);
*************** arm_configure_build_target (struct arm_b
*** 3157,3163 ****
  	 options for tuning.  */
      }
  
!   if (opts_set->x_arm_tune_string)
      {
        arm_selected_tune = arm_parse_cpu_option_name (all_cores, "-mtune",
  						     opts->x_arm_tune_string);
--- 3154,3160 ----
  	 options for tuning.  */
      }
  
!   if (opts->x_arm_tune_string)
      {
        arm_selected_tune = arm_parse_cpu_option_name (all_cores, "-mtune",
  						     opts->x_arm_tune_string);
*************** arm_configure_build_target (struct arm_b
*** 3182,3188 ****
  	  /* Ignore any bits that are quirk bits.  */
  	  bitmap_and_compl (isa_delta, isa_delta, isa_quirkbits);
  	  /* Ignore (for now) any bits that might be set by -mfpu.  */
! 	  bitmap_and_compl (isa_delta, isa_delta, isa_all_fpubits);
  
  	  if (!bitmap_empty_p (isa_delta))
  	    {
--- 3179,3190 ----
  	  /* Ignore any bits that are quirk bits.  */
  	  bitmap_and_compl (isa_delta, isa_delta, isa_quirkbits);
  	  /* Ignore (for now) any bits that might be set by -mfpu.  */
! 	  bitmap_and_compl (isa_delta, isa_delta, isa_all_fpubits_internal);
! 
! 	  /* And if the target ISA lacks floating point, ignore any
! 	     extensions that depend on that.  */
! 	  if (!bitmap_bit_p (target->isa, isa_bit_vfpv2))
! 	    bitmap_and_compl (isa_delta, isa_delta, isa_all_fpbits);
  
  	  if (!bitmap_empty_p (isa_delta))
  	    {
*************** arm_configure_build_target (struct arm_b
*** 3341,3350 ****
        auto_sbitmap fpu_bits (isa_num_bits);
  
        arm_initialize_isa (fpu_bits, arm_selected_fpu->isa_bits);
!       bitmap_and_compl (target->isa, target->isa, isa_all_fpubits);
        bitmap_ior (target->isa, target->isa, fpu_bits);
      }
  
    if (!arm_selected_tune)
      arm_selected_tune = arm_selected_cpu;
    else /* Validate the features passed to -mtune.  */
--- 3343,3357 ----
        auto_sbitmap fpu_bits (isa_num_bits);
  
        arm_initialize_isa (fpu_bits, arm_selected_fpu->isa_bits);
!       bitmap_and_compl (target->isa, target->isa, isa_all_fpubits_internal);
        bitmap_ior (target->isa, target->isa, fpu_bits);
      }
  
+   /* If we have the soft-float ABI, clear any feature bits relating to use of
+      floating-point operations.  They'll just confuse things later on.  */
+   if (arm_float_abi == ARM_FLOAT_ABI_SOFT)
+     bitmap_and_compl (target->isa, target->isa, isa_all_fpbits);
+ 
    if (!arm_selected_tune)
      arm_selected_tune = arm_selected_cpu;
    else /* Validate the features passed to -mtune.  */
*************** arm_configure_build_target (struct arm_b
*** 3353,3358 ****
--- 3360,3367 ----
    const cpu_tune *tune_data = &all_tunes[arm_selected_tune - all_cores];
  
    /* Finish initializing the target structure.  */
+   if (!target->arch_name)
+     target->arch_name = arm_selected_arch->common.name;
    target->arch_pp_name = arm_selected_arch->arch;
    target->base_arch = arm_selected_arch->base_arch;
    target->profile = arm_selected_arch->profile;
*************** arm_configure_build_target (struct arm_b
*** 3360,3382 ****
    target->tune_flags = tune_data->tune_flags;
    target->tune = tune_data->tune;
    target->tune_core = tune_data->scheduler;
-   arm_option_reconfigure_globals ();
  }
  
  /* Fix up any incompatible options that the user has specified.  */
  static void
  arm_option_override (void)
  {
!   static const enum isa_feature fpu_bitlist[]
      = { ISA_ALL_FPU_INTERNAL, isa_nobit };
    static const enum isa_feature quirk_bitlist[] = { ISA_ALL_QUIRKS, isa_nobit};
    cl_target_option opts;
  
    isa_quirkbits = sbitmap_alloc (isa_num_bits);
    arm_initialize_isa (isa_quirkbits, quirk_bitlist);
  
!   isa_all_fpubits = sbitmap_alloc (isa_num_bits);
!   arm_initialize_isa (isa_all_fpubits, fpu_bitlist);
  
    arm_active_target.isa = sbitmap_alloc (isa_num_bits);
  
--- 3369,3394 ----
    target->tune_flags = tune_data->tune_flags;
    target->tune = tune_data->tune;
    target->tune_core = tune_data->scheduler;
  }
  
  /* Fix up any incompatible options that the user has specified.  */
  static void
  arm_option_override (void)
  {
!   static const enum isa_feature fpu_bitlist_internal[]
      = { ISA_ALL_FPU_INTERNAL, isa_nobit };
+   static const enum isa_feature fp_bitlist[]
+     = { ISA_ALL_FP, isa_nobit };
    static const enum isa_feature quirk_bitlist[] = { ISA_ALL_QUIRKS, isa_nobit};
    cl_target_option opts;
  
    isa_quirkbits = sbitmap_alloc (isa_num_bits);
    arm_initialize_isa (isa_quirkbits, quirk_bitlist);
  
!   isa_all_fpubits_internal = sbitmap_alloc (isa_num_bits);
!   isa_all_fpbits = sbitmap_alloc (isa_num_bits);
!   arm_initialize_isa (isa_all_fpubits_internal, fpu_bitlist_internal);
!   arm_initialize_isa (isa_all_fpbits, fp_bitlist);
  
    arm_active_target.isa = sbitmap_alloc (isa_num_bits);
  
*************** arm_option_override (void)
*** 3392,3399 ****
      }
  
    cl_target_option_save (&opts, &global_options);
!   arm_configure_build_target (&arm_active_target, &opts, &global_options_set,
! 			      true);
  
  #ifdef SUBTARGET_OVERRIDE_OPTIONS
    SUBTARGET_OVERRIDE_OPTIONS;
--- 3404,3410 ----
      }
  
    cl_target_option_save (&opts, &global_options);
!   arm_configure_build_target (&arm_active_target, &opts, true);
  
  #ifdef SUBTARGET_OVERRIDE_OPTIONS
    SUBTARGET_OVERRIDE_OPTIONS;
*************** arm_print_tune_info (void)
*** 26654,26673 ****
  	       (int) current_tune->sched_autopref);
  }
  
  /* Print .arch and .arch_extension directives corresponding to the
     current architecture configuration.  */
  static void
! arm_print_asm_arch_directives ()
  {
    const arch_option *arch
      = arm_parse_arch_option_name (all_architectures, "-march",
! 				  arm_active_target.arch_name);
    auto_sbitmap opt_bits (isa_num_bits);
  
    gcc_assert (arch);
  
!   asm_fprintf (asm_out_file, "\t.arch %s\n", arm_active_target.arch_name);
!   arm_last_printed_arch_string = arm_active_target.arch_name;
    if (!arch->common.extensions)
      return;
  
--- 26665,26729 ----
  	       (int) current_tune->sched_autopref);
  }
  
+ /* The last set of target options used to emit .arch directives, etc.  This
+    could be a function-local static if it were not required to expose it as a
+    root to the garbage collector.  */
+ static GTY(()) cl_target_option *last_asm_targ_options = NULL;
+ 
  /* Print .arch and .arch_extension directives corresponding to the
     current architecture configuration.  */
  static void
! arm_print_asm_arch_directives (FILE *stream, cl_target_option *targ_options)
  {
+   arm_build_target build_target;
+   /* If the target options haven't changed since the last time we were called
+      there is nothing to do.  This should be sufficient to suppress the
+      majority of redundant work.  */
+   if (last_asm_targ_options == targ_options)
+     return;
+ 
+   last_asm_targ_options = targ_options;
+ 
+   build_target.isa = sbitmap_alloc (isa_num_bits);
+   arm_configure_build_target (&build_target, targ_options, false);
+ 
+   if (build_target.core_name
+       && !bitmap_bit_p (build_target.isa, isa_bit_quirk_no_asmcpu))
+     {
+       const char* truncated_name
+ 	= arm_rewrite_selected_cpu (build_target.core_name);
+       asm_fprintf (stream, "\t.cpu %s\n", truncated_name);
+     }
+ 
    const arch_option *arch
      = arm_parse_arch_option_name (all_architectures, "-march",
! 				  build_target.arch_name);
    auto_sbitmap opt_bits (isa_num_bits);
  
    gcc_assert (arch);
  
!   if (strcmp (build_target.arch_name, "armv7ve") == 0)
!     {
!       /* Keep backward compatability for assemblers which don't support
! 	 armv7ve.  Fortunately, none of the following extensions are reset
! 	 by a .fpu directive.  */
!       asm_fprintf (stream, "\t.arch armv7-a\n");
!       asm_fprintf (stream, "\t.arch_extension virt\n");
!       asm_fprintf (stream, "\t.arch_extension idiv\n");
!       asm_fprintf (stream, "\t.arch_extension sec\n");
!       asm_fprintf (stream, "\t.arch_extension mp\n");
!     }
!   else
!     asm_fprintf (stream, "\t.arch %s\n", build_target.arch_name);
! 
!   /* The .fpu directive will reset any architecture extensions from the
!      assembler that relate to the fp/vector extensions.  So put this out before
!      any .arch_extension directives.  */
!   const char *fpu_name = (TARGET_SOFT_FLOAT
! 			  ? "softvfp"
! 			  : arm_identify_fpu_from_isa (build_target.isa));
!   asm_fprintf (stream, "\t.fpu %s\n", fpu_name);
! 
    if (!arch->common.extensions)
      return;
  
*************** arm_print_asm_arch_directives ()
*** 26679,26691 ****
  	{
  	  arm_initialize_isa (opt_bits, opt->isa_bits);
  
! 	  /* If every feature bit of this option is set in the target
! 	     ISA specification, print out the option name.  However,
! 	     don't print anything if all the bits are part of the
! 	     FPU specification.  */
! 	  if (bitmap_subset_p (opt_bits, arm_active_target.isa)
! 	      && !bitmap_subset_p (opt_bits, isa_all_fpubits))
! 	    asm_fprintf (asm_out_file, "\t.arch_extension %s\n", opt->name);
  	}
      }
  }
--- 26735,26746 ----
  	{
  	  arm_initialize_isa (opt_bits, opt->isa_bits);
  
! 	  /* If every feature bit of this option is set in the target ISA
! 	     specification, print out the option name.  However, don't print
! 	     anything if all the bits are part of the FPU specification.  */
! 	  if (bitmap_subset_p (opt_bits, build_target.isa)
! 	      && !bitmap_subset_p (opt_bits, isa_all_fpubits_internal))
! 	    asm_fprintf (stream, "\t.arch_extension %s\n", opt->name);
  	}
      }
  }
*************** arm_file_start (void)
*** 26695,26736 ****
  {
    int val;
  
    if (TARGET_BPABI)
      {
!       /* We don't have a specified CPU.  Use the architecture to
! 	 generate the tags.
! 
! 	 Note: it might be better to do this unconditionally, then the
! 	 assembler would not need to know about all new CPU names as
! 	 they are added.  */
!       if (!arm_active_target.core_name)
! 	{
! 	  /* armv7ve doesn't support any extensions.  */
! 	  if (strcmp (arm_active_target.arch_name, "armv7ve") == 0)
! 	    {
! 	      /* Keep backward compatability for assemblers
! 		 which don't support armv7ve.  */
! 	      asm_fprintf (asm_out_file, "\t.arch armv7-a\n");
! 	      asm_fprintf (asm_out_file, "\t.arch_extension virt\n");
! 	      asm_fprintf (asm_out_file, "\t.arch_extension idiv\n");
! 	      asm_fprintf (asm_out_file, "\t.arch_extension sec\n");
! 	      asm_fprintf (asm_out_file, "\t.arch_extension mp\n");
! 	      arm_last_printed_arch_string = "armv7ve";
! 	    }
! 	  else
! 	    arm_print_asm_arch_directives ();
! 	}
!       else if (strncmp (arm_active_target.core_name, "generic", 7) == 0)
! 	{
! 	  asm_fprintf (asm_out_file, "\t.arch %s\n",
! 		       arm_active_target.core_name + 8);
! 	  arm_last_printed_arch_string = arm_active_target.core_name + 8;
! 	}
!       else
  	{
  	  const char* truncated_name
  	    = arm_rewrite_selected_cpu (arm_active_target.core_name);
! 	  asm_fprintf (asm_out_file, "\t.cpu %s\n", truncated_name);
  	}
  
        if (print_tune_info)
--- 26750,26772 ----
  {
    int val;
  
+   arm_print_asm_arch_directives
+     (asm_out_file, TREE_TARGET_OPTION (target_option_default_node));
+ 
    if (TARGET_BPABI)
      {
!       /* If we have a named cpu, but we the assembler does not support that
! 	 name via .cpu, put out a cpu name attribute; but don't do this if the
! 	 name starts with the fictitious prefix, 'generic'.  */
!       if (arm_active_target.core_name
! 	  && bitmap_bit_p (arm_active_target.isa, isa_bit_quirk_no_asmcpu)
! 	  && strncmp (arm_active_target.core_name, "generic", 7) != 0)
  	{
  	  const char* truncated_name
  	    = arm_rewrite_selected_cpu (arm_active_target.core_name);
! 	  if (bitmap_bit_p (arm_active_target.isa, isa_bit_quirk_no_asmcpu))
! 	    asm_fprintf (asm_out_file, "\t.eabi_attribute 5, \"%s\"\n",
! 			 truncated_name);
  	}
  
        if (print_tune_info)
*************** arm_file_end (void)
*** 26798,26803 ****
--- 26834,26846 ----
  {
    int regno;
  
+   /* Just in case the last function output in the assembler had non-default
+      architecture directives, we force the assembler state back to the default
+      set, so that any 'calculated' build attributes are based on the default
+      options rather than the special options for that function.  */
+   arm_print_asm_arch_directives
+     (asm_out_file, TREE_TARGET_OPTION (target_option_default_node));
+ 
    if (NEED_INDICATE_EXEC_STACK)
      /* Add .note.GNU-stack.  */
      file_end_indicate_exec_stack ();
*************** arm_split_compare_and_swap (rtx operands
*** 29010,29022 ****
      }
    else
      {
-       emit_move_insn (neg_bval, const1_rtx);
        cond = gen_rtx_NE (VOIDmode, rval, oldval);
        if (thumb1_cmpneg_operand (oldval, SImode))
! 	emit_unlikely_jump (gen_cbranchsi4_scratch (neg_bval, rval, oldval,
! 						    label2, cond));
        else
! 	emit_unlikely_jump (gen_cbranchsi4_insn (cond, rval, oldval, label2));
      }
  
    arm_emit_store_exclusive (mode, neg_bval, mem, newval, use_release);
--- 29053,29083 ----
      }
    else
      {
        cond = gen_rtx_NE (VOIDmode, rval, oldval);
        if (thumb1_cmpneg_operand (oldval, SImode))
! 	{
! 	  rtx src = rval;
! 	  if (!satisfies_constraint_L (oldval))
! 	    {
! 	      gcc_assert (satisfies_constraint_J (oldval));
! 
! 	      /* For such immediates, ADDS needs the source and destination regs
! 		 to be the same.
! 
! 		 Normally this would be handled by RA, but this is all happening
! 		 after RA.  */
! 	      emit_move_insn (neg_bval, rval);
! 	      src = neg_bval;
! 	    }
! 
! 	  emit_unlikely_jump (gen_cbranchsi4_neg_late (neg_bval, src, oldval,
! 						       label2, cond));
! 	}
        else
! 	{
! 	  emit_move_insn (neg_bval, const1_rtx);
! 	  emit_unlikely_jump (gen_cbranchsi4_insn (cond, rval, oldval, label2));
! 	}
      }
  
    arm_emit_store_exclusive (mode, neg_bval, mem, newval, use_release);
*************** arm_can_inline_p (tree caller, tree call
*** 30938,30947 ****
    caller_target.isa = sbitmap_alloc (isa_num_bits);
    callee_target.isa = sbitmap_alloc (isa_num_bits);
  
!   arm_configure_build_target (&caller_target, caller_opts, &global_options_set,
! 			      false);
!   arm_configure_build_target (&callee_target, callee_opts, &global_options_set,
! 			      false);
    if (!bitmap_subset_p (callee_target.isa, caller_target.isa))
      can_inline = false;
  
--- 30999,31006 ----
    caller_target.isa = sbitmap_alloc (isa_num_bits);
    callee_target.isa = sbitmap_alloc (isa_num_bits);
  
!   arm_configure_build_target (&caller_target, caller_opts, false);
!   arm_configure_build_target (&callee_target, callee_opts, false);
    if (!bitmap_subset_p (callee_target.isa, caller_target.isa))
      can_inline = false;
  
*************** arm_valid_target_attribute_tree (tree ar
*** 31073,31079 ****
      return NULL_TREE;
  
    cl_target_option_save (&cl_opts, opts);
!   arm_configure_build_target (&arm_active_target, &cl_opts, opts_set, false);
    arm_option_check_internal (opts);
    /* Do any overrides, such as global options arch=xxx.
       We do this since arm_active_target was overridden.  */
--- 31132,31138 ----
      return NULL_TREE;
  
    cl_target_option_save (&cl_opts, opts);
!   arm_configure_build_target (&arm_active_target, &cl_opts, false);
    arm_option_check_internal (opts);
    /* Do any overrides, such as global options arch=xxx.
       We do this since arm_active_target was overridden.  */
*************** arm_identify_fpu_from_isa (sbitmap isa)
*** 31188,31194 ****
    auto_sbitmap fpubits (isa_num_bits);
    auto_sbitmap cand_fpubits (isa_num_bits);
  
!   bitmap_and (fpubits, isa, isa_all_fpubits);
  
    /* If there are no ISA feature bits relating to the FPU, we must be
       doing soft-float.  */
--- 31247,31253 ----
    auto_sbitmap fpubits (isa_num_bits);
    auto_sbitmap cand_fpubits (isa_num_bits);
  
!   bitmap_and (fpubits, isa, isa_all_fpubits_internal);
  
    /* If there are no ISA feature bits relating to the FPU, we must be
       doing soft-float.  */
*************** arm_declare_function_name (FILE *stream,
*** 31219,31262 ****
      targ_options = TREE_TARGET_OPTION (target_option_current_node);
    gcc_assert (targ_options);
  
!   /* Only update the assembler .arch string if it is distinct from the last
!      such string we printed. arch_to_print is set conditionally in case
!      targ_options->x_arm_arch_string is NULL which can be the case
!      when cc1 is invoked directly without passing -march option.  */
!   std::string arch_to_print;
!   if (targ_options->x_arm_arch_string)
!     arch_to_print = targ_options->x_arm_arch_string;
! 
!   if (arch_to_print != arm_last_printed_arch_string)
!     {
!       std::string arch_name
! 	= arch_to_print.substr (0, arch_to_print.find ("+"));
!       asm_fprintf (asm_out_file, "\t.arch %s\n", arch_name.c_str ());
!       const arch_option *arch
! 	= arm_parse_arch_option_name (all_architectures, "-march",
! 				      targ_options->x_arm_arch_string);
!       auto_sbitmap opt_bits (isa_num_bits);
! 
!       gcc_assert (arch);
!       if (arch->common.extensions)
! 	{
! 	  for (const struct cpu_arch_extension *opt = arch->common.extensions;
! 	       opt->name != NULL;
! 	       opt++)
! 	    {
! 	      if (!opt->remove)
! 		{
! 		  arm_initialize_isa (opt_bits, opt->isa_bits);
! 		  if (bitmap_subset_p (opt_bits, arm_active_target.isa)
! 		      && !bitmap_subset_p (opt_bits, isa_all_fpubits))
! 		    asm_fprintf (asm_out_file, "\t.arch_extension %s\n",
! 				 opt->name);
! 		}
! 	     }
! 	}
! 
!       arm_last_printed_arch_string = arch_to_print;
!     }
  
    fprintf (stream, "\t.syntax unified\n");
  
--- 31278,31284 ----
      targ_options = TREE_TARGET_OPTION (target_option_current_node);
    gcc_assert (targ_options);
  
!   arm_print_asm_arch_directives (stream, targ_options);
  
    fprintf (stream, "\t.syntax unified\n");
  
*************** arm_declare_function_name (FILE *stream,
*** 31274,31289 ****
    else
      fprintf (stream, "\t.arm\n");
  
-   std::string fpu_to_print
-     = TARGET_SOFT_FLOAT
- 	? "softvfp" : arm_identify_fpu_from_isa (arm_active_target.isa);
- 
-   if (fpu_to_print != arm_last_printed_arch_string)
-     {
-       asm_fprintf (asm_out_file, "\t.fpu %s\n", fpu_to_print.c_str ());
-       arm_last_printed_fpu_string = fpu_to_print;
-     }
- 
    if (TARGET_POKE_FUNCTION_NAME)
      arm_poke_function_name (stream, (const char *) name);
  }
--- 31296,31301 ----
*************** arm_test_cpu_arch_data (void)
*** 31934,31961 ****
  static void
  arm_test_fpu_data (void)
  {
!   auto_sbitmap isa_all_fpubits (isa_num_bits);
    auto_sbitmap fpubits (isa_num_bits);
    auto_sbitmap tmpset (isa_num_bits);
  
!   static const enum isa_feature fpu_bitlist[]
      = { ISA_ALL_FPU_INTERNAL, isa_nobit };
!   arm_initialize_isa (isa_all_fpubits, fpu_bitlist);
  
    for (unsigned int i = 0; i < TARGET_FPU_auto; i++)
    {
      arm_initialize_isa (fpubits, all_fpus[i].isa_bits);
!     bitmap_and_compl (tmpset, isa_all_fpubits, fpubits);
!     bitmap_clear (isa_all_fpubits);
!     bitmap_copy (isa_all_fpubits, tmpset);
    }
  
!   if (!bitmap_empty_p (isa_all_fpubits))
      {
  	fprintf (stderr, "Error: found feature bits in the ALL_FPU_INTERAL"
  			 " group that are not defined by any FPU.\n"
  			 "       Check your arm-cpus.in.\n");
! 	ASSERT_TRUE (bitmap_empty_p (isa_all_fpubits));
      }
  }
  
--- 31946,31973 ----
  static void
  arm_test_fpu_data (void)
  {
!   auto_sbitmap isa_all_fpubits_internal (isa_num_bits);
    auto_sbitmap fpubits (isa_num_bits);
    auto_sbitmap tmpset (isa_num_bits);
  
!   static const enum isa_feature fpu_bitlist_internal[]
      = { ISA_ALL_FPU_INTERNAL, isa_nobit };
!   arm_initialize_isa (isa_all_fpubits_internal, fpu_bitlist_internal);
  
    for (unsigned int i = 0; i < TARGET_FPU_auto; i++)
    {
      arm_initialize_isa (fpubits, all_fpus[i].isa_bits);
!     bitmap_and_compl (tmpset, isa_all_fpubits_internal, fpubits);
!     bitmap_clear (isa_all_fpubits_internal);
!     bitmap_copy (isa_all_fpubits_internal, tmpset);
    }
  
!   if (!bitmap_empty_p (isa_all_fpubits_internal))
      {
  	fprintf (stderr, "Error: found feature bits in the ALL_FPU_INTERAL"
  			 " group that are not defined by any FPU.\n"
  			 "       Check your arm-cpus.in.\n");
! 	ASSERT_TRUE (bitmap_empty_p (isa_all_fpubits_internal));
      }
  }
  
diff -Nrcpad gcc-9.4.0/gcc/config/arm/sync.md gcc-9.5.0/gcc/config/arm/sync.md
*** gcc-9.4.0/gcc/config/arm/sync.md	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/arm/sync.md	Fri May 27 07:21:10 2022
***************
*** 187,206 ****
  ;; Constraints of this pattern must be at least as strict as those of the
  ;; cbranchsi operations in thumb1.md and aim to be as permissive.
  (define_insn_and_split "@atomic_compare_and_swap<CCSI:arch><NARROW:mode>_1"
!   [(set (match_operand:CCSI 0 "cc_register_operand" "=&c,&l,&l,&l")	;; bool out
  	(unspec_volatile:CCSI [(const_int 0)] VUNSPEC_ATOMIC_CAS))
!    (set (match_operand:SI 1 "s_register_operand" "=&r,&l,&0,&l*h")	;; val out
  	(zero_extend:SI
! 	  (match_operand:NARROW 2 "mem_noofs_operand" "+Ua,Ua,Ua,Ua")))	;; memory
     (set (match_dup 2)
  	(unspec_volatile:NARROW
! 	  [(match_operand:SI 3 "arm_add_operand" "rIL,lIL*h,J,*r")	;; expected
! 	   (match_operand:NARROW 4 "s_register_operand" "r,r,r,r")	;; desired
  	   (match_operand:SI 5 "const_int_operand")		;; is_weak
  	   (match_operand:SI 6 "const_int_operand")		;; mod_s
  	   (match_operand:SI 7 "const_int_operand")]		;; mod_f
  	  VUNSPEC_ATOMIC_CAS))
!    (clobber (match_scratch:SI 8 "=&r,X,X,X"))]
    "<sync_predtab>"
    "#"
    "&& reload_completed"
--- 187,206 ----
  ;; Constraints of this pattern must be at least as strict as those of the
  ;; cbranchsi operations in thumb1.md and aim to be as permissive.
  (define_insn_and_split "@atomic_compare_and_swap<CCSI:arch><NARROW:mode>_1"
!   [(set (match_operand:CCSI 0 "cc_register_operand" "=&c,&l,&l")	;; bool out
  	(unspec_volatile:CCSI [(const_int 0)] VUNSPEC_ATOMIC_CAS))
!    (set (match_operand:SI 1 "s_register_operand" "=&r,&l,&l*h")	;; val out
  	(zero_extend:SI
! 	  (match_operand:NARROW 2 "mem_noofs_operand" "+Ua,Ua,Ua")))	;; memory
     (set (match_dup 2)
  	(unspec_volatile:NARROW
! 	  [(match_operand:SI 3 "arm_add_operand" "rIL,lILJ*h,*r")	;; expected
! 	   (match_operand:NARROW 4 "s_register_operand" "r,r,r")	;; desired
  	   (match_operand:SI 5 "const_int_operand")		;; is_weak
  	   (match_operand:SI 6 "const_int_operand")		;; mod_s
  	   (match_operand:SI 7 "const_int_operand")]		;; mod_f
  	  VUNSPEC_ATOMIC_CAS))
!    (clobber (match_scratch:SI 8 "=&r,X,X"))]
    "<sync_predtab>"
    "#"
    "&& reload_completed"
***************
*** 209,215 ****
      arm_split_compare_and_swap (operands);
      DONE;
    }
!   [(set_attr "arch" "32,v8mb,v8mb,v8mb")])
  
  (define_mode_attr cas_cmp_operand
    [(SI "arm_add_operand") (DI "cmpdi_operand")])
--- 209,215 ----
      arm_split_compare_and_swap (operands);
      DONE;
    }
!   [(set_attr "arch" "32,v8mb,v8mb")])
  
  (define_mode_attr cas_cmp_operand
    [(SI "arm_add_operand") (DI "cmpdi_operand")])
***************
*** 219,237 ****
  ;; Constraints of this pattern must be at least as strict as those of the
  ;; cbranchsi operations in thumb1.md and aim to be as permissive.
  (define_insn_and_split "@atomic_compare_and_swap<CCSI:arch><SIDI:mode>_1"
!   [(set (match_operand:CCSI 0 "cc_register_operand" "=&c,&l,&l,&l")	;; bool out
  	(unspec_volatile:CCSI [(const_int 0)] VUNSPEC_ATOMIC_CAS))
!    (set (match_operand:SIDI 1 "s_register_operand" "=&r,&l,&0,&l*h")	;; val out
! 	(match_operand:SIDI 2 "mem_noofs_operand" "+Ua,Ua,Ua,Ua"))	;; memory
     (set (match_dup 2)
  	(unspec_volatile:SIDI
! 	  [(match_operand:SIDI 3 "<cas_cmp_operand>" "<cas_cmp_str>,lIL*h,J,*r") ;; expect
! 	   (match_operand:SIDI 4 "s_register_operand" "r,r,r,r")	;; desired
  	   (match_operand:SI 5 "const_int_operand")		;; is_weak
  	   (match_operand:SI 6 "const_int_operand")		;; mod_s
  	   (match_operand:SI 7 "const_int_operand")]		;; mod_f
  	  VUNSPEC_ATOMIC_CAS))
!    (clobber (match_scratch:SI 8 "=&r,X,X,X"))]
    "<sync_predtab>"
    "#"
    "&& reload_completed"
--- 219,237 ----
  ;; Constraints of this pattern must be at least as strict as those of the
  ;; cbranchsi operations in thumb1.md and aim to be as permissive.
  (define_insn_and_split "@atomic_compare_and_swap<CCSI:arch><SIDI:mode>_1"
!   [(set (match_operand:CCSI 0 "cc_register_operand" "=&c,&l,&l")	;; bool out
  	(unspec_volatile:CCSI [(const_int 0)] VUNSPEC_ATOMIC_CAS))
!    (set (match_operand:SIDI 1 "s_register_operand" "=&r,&l,&l*h")	;; val out
! 	(match_operand:SIDI 2 "mem_noofs_operand" "+Ua,Ua,Ua"))	;; memory
     (set (match_dup 2)
  	(unspec_volatile:SIDI
! 	  [(match_operand:SIDI 3 "<cas_cmp_operand>" "<cas_cmp_str>,lILJ*h,*r") ;; expect
! 	   (match_operand:SIDI 4 "s_register_operand" "r,r,r")	;; desired
  	   (match_operand:SI 5 "const_int_operand")		;; is_weak
  	   (match_operand:SI 6 "const_int_operand")		;; mod_s
  	   (match_operand:SI 7 "const_int_operand")]		;; mod_f
  	  VUNSPEC_ATOMIC_CAS))
!    (clobber (match_scratch:SI 8 "=&r,X,X"))]
    "<sync_predtab>"
    "#"
    "&& reload_completed"
***************
*** 240,246 ****
      arm_split_compare_and_swap (operands);
      DONE;
    }
!   [(set_attr "arch" "32,v8mb,v8mb,v8mb")])
  
  (define_insn_and_split "atomic_exchange<mode>"
    [(set (match_operand:QHSD 0 "s_register_operand" "=&r,&r")	;; output
--- 240,246 ----
      arm_split_compare_and_swap (operands);
      DONE;
    }
!   [(set_attr "arch" "32,v8mb,v8mb")])
  
  (define_insn_and_split "atomic_exchange<mode>"
    [(set (match_operand:QHSD 0 "s_register_operand" "=&r,&r")	;; output
diff -Nrcpad gcc-9.4.0/gcc/config/arm/thumb1.md gcc-9.5.0/gcc/config/arm/thumb1.md
*** gcc-9.4.0/gcc/config/arm/thumb1.md	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/arm/thumb1.md	Fri May 27 07:21:10 2022
***************
*** 1242,1247 ****
--- 1242,1262 ----
     (set_attr "type" "multiple")]
  )
  
+ ;; An expander which makes use of the cbranchsi4_scratch insn, but can
+ ;; be used safely after RA.
+ (define_expand "cbranchsi4_neg_late"
+   [(parallel [
+      (set (pc) (if_then_else
+ 		(match_operator 4 "arm_comparison_operator"
+ 		 [(match_operand:SI 1 "s_register_operand")
+ 		  (match_operand:SI 2 "thumb1_cmpneg_operand")])
+ 		(label_ref (match_operand 3 "" ""))
+ 		(pc)))
+      (clobber (match_operand:SI 0 "s_register_operand"))
+   ])]
+   "TARGET_THUMB1"
+ )
+ 
  ;; Changes to the constraints of this pattern must be propagated to those of
  ;; atomic compare_and_swap splitters in sync.md.  These must be at least as
  ;; strict as the constraints here and aim to be as permissive.
diff -Nrcpad gcc-9.4.0/gcc/config/i386/avx512dqintrin.h gcc-9.5.0/gcc/config/i386/avx512dqintrin.h
*** gcc-9.4.0/gcc/config/i386/avx512dqintrin.h	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/i386/avx512dqintrin.h	Fri May 27 07:21:10 2022
*************** _mm512_fpclass_ps_mask (__m512 __A, cons
*** 2629,2635 ****
  
  #define _mm512_mask_fpclass_ps_mask(u, x, c)				\
    ((__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) (__m512) (x),\
! 						 (int) (c),(__mmask8)(u)))
  
  #define _mm512_fpclass_pd_mask(X, C)                                    \
    ((__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) (__m512d) (X), \
--- 2629,2635 ----
  
  #define _mm512_mask_fpclass_ps_mask(u, x, c)				\
    ((__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) (__m512) (x),\
! 						 (int) (c),(__mmask16)(u)))
  
  #define _mm512_fpclass_pd_mask(X, C)                                    \
    ((__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) (__m512d) (X), \
*************** _mm512_fpclass_ps_mask (__m512 __A, cons
*** 2637,2643 ****
  
  #define _mm512_fpclass_ps_mask(x, c)                                    \
    ((__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) (__m512) (x),\
! 						 (int) (c),(__mmask8)-1))
  
  #define _mm_reduce_sd(A, B, C)						\
    ((__m128d) __builtin_ia32_reducesd_mask ((__v2df)(__m128d)(A),	\
--- 2637,2643 ----
  
  #define _mm512_fpclass_ps_mask(x, c)                                    \
    ((__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) (__m512) (x),\
! 						 (int) (c),(__mmask16)-1))
  
  #define _mm_reduce_sd(A, B, C)						\
    ((__m128d) __builtin_ia32_reducesd_mask ((__v2df)(__m128d)(A),	\
diff -Nrcpad gcc-9.4.0/gcc/config/i386/avx512fintrin.h gcc-9.5.0/gcc/config/i386/avx512fintrin.h
*** gcc-9.4.0/gcc/config/i386/avx512fintrin.h	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/i386/avx512fintrin.h	Fri May 27 07:21:10 2022
*************** _mm_maskz_scalef_round_ss (__mmask8 __U,
*** 3237,3267 ****
  						      (__mmask8) __U, __R);
  }
  #else
! #define _mm512_scalef_round_pd(A, B, C)            \
!     (__m512d)__builtin_ia32_scalefpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
  
! #define _mm512_mask_scalef_round_pd(W, U, A, B, C) \
!     (__m512d)__builtin_ia32_scalefpd512_mask(A, B, W, U, C)
  
! #define _mm512_maskz_scalef_round_pd(U, A, B, C)   \
!     (__m512d)__builtin_ia32_scalefpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
  
! #define _mm512_scalef_round_ps(A, B, C)            \
!     (__m512)__builtin_ia32_scalefps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
  
! #define _mm512_mask_scalef_round_ps(W, U, A, B, C) \
!     (__m512)__builtin_ia32_scalefps512_mask(A, B, W, U, C)
  
! #define _mm512_maskz_scalef_round_ps(U, A, B, C)   \
!     (__m512)__builtin_ia32_scalefps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
  
! #define _mm_scalef_round_sd(A, B, C)            \
!     (__m128d)__builtin_ia32_scalefsd_mask_round (A, B, \
! 	(__v2df)_mm_setzero_pd (), -1, C)
  
! #define _mm_scalef_round_ss(A, B, C)            \
!     (__m128)__builtin_ia32_scalefss_mask_round (A, B, \
! 	(__v4sf)_mm_setzero_ps (), -1, C)
  #endif
  
  #ifdef __OPTIMIZE__
--- 3237,3303 ----
  						      (__mmask8) __U, __R);
  }
  #else
! #define _mm512_scalef_round_pd(A, B, C)					\
!   ((__m512d)								\
!    __builtin_ia32_scalefpd512_mask((A), (B),				\
! 				   (__v8df) _mm512_undefined_pd(),	\
! 				   -1, (C)))
  
! #define _mm512_mask_scalef_round_pd(W, U, A, B, C)			\
!   ((__m512d) __builtin_ia32_scalefpd512_mask((A), (B), (W), (U), (C)))
  
! #define _mm512_maskz_scalef_round_pd(U, A, B, C)			\
!   ((__m512d)								\
!    __builtin_ia32_scalefpd512_mask((A), (B),				\
! 				   (__v8df) _mm512_setzero_pd(),	\
! 				   (U), (C)))
  
! #define _mm512_scalef_round_ps(A, B, C)					\
!   ((__m512)								\
!    __builtin_ia32_scalefps512_mask((A), (B),				\
! 				   (__v16sf) _mm512_undefined_ps(),	\
! 				   -1, (C)))
  
! #define _mm512_mask_scalef_round_ps(W, U, A, B, C)			\
!   ((__m512) __builtin_ia32_scalefps512_mask((A), (B), (W), (U), (C)))
  
! #define _mm512_maskz_scalef_round_ps(U, A, B, C)			\
!   ((__m512)								\
!    __builtin_ia32_scalefps512_mask((A), (B),				\
! 				   (__v16sf) _mm512_setzero_ps(),	\
! 				   (U), (C)))
  
! #define _mm_scalef_round_sd(A, B, C)					\
!   ((__m128d)								\
!    __builtin_ia32_scalefsd_mask_round ((A), (B),			\
! 				       (__v2df) _mm_undefined_pd (),	\
! 				       -1, (C)))
  
! #define _mm_scalef_round_ss(A, B, C)					\
!   ((__m128)								\
!    __builtin_ia32_scalefss_mask_round ((A), (B),			\
! 				       (__v4sf) _mm_undefined_ps (),	\
! 				       -1, (C)))
! 
! #define _mm_mask_scalef_round_sd(W, U, A, B, C)				\
!   ((__m128d)								\
!    __builtin_ia32_scalefsd_mask_round ((A), (B), (W), (U), (C)))
! 
! #define _mm_mask_scalef_round_ss(W, U, A, B, C)				\
!   ((__m128)								\
!    __builtin_ia32_scalefss_mask_round ((A), (B), (W), (U), (C)))
! 
! #define _mm_maskz_scalef_round_sd(U, A, B, C)				\
!   ((__m128d)								\
!    __builtin_ia32_scalefsd_mask_round ((A), (B),			\
! 				       (__v2df) _mm_setzero_pd (),	\
! 				       (U), (C)))
! 
! #define _mm_maskz_scalef_round_ss(U, A, B, C)				\
!   ((__m128)								\
!    __builtin_ia32_scalefss_mask_round ((A), (B),			\
! 				       (__v4sf) _mm_setzero_ps (),	\
! 				       (U), (C)))
  #endif
  
  #ifdef __OPTIMIZE__
diff -Nrcpad gcc-9.4.0/gcc/config/i386/i386.c gcc-9.5.0/gcc/config/i386/i386.c
*** gcc-9.4.0/gcc/config/i386/i386.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/i386/i386.c	Fri May 27 07:21:10 2022
*************** standard_80387_constant_p (rtx x)
*** 10222,10228 ****
    /* For XFmode constants, try to find a special 80387 instruction when
       optimizing for size or on those CPUs that benefit from them.  */
    if (mode == XFmode
!       && (optimize_function_for_size_p (cfun) || TARGET_EXT_80387_CONSTANTS))
      {
        int i;
  
--- 10222,10229 ----
    /* For XFmode constants, try to find a special 80387 instruction when
       optimizing for size or on those CPUs that benefit from them.  */
    if (mode == XFmode
!       && (optimize_function_for_size_p (cfun) || TARGET_EXT_80387_CONSTANTS)
!       && !flag_rounding_math)
      {
        int i;
  
*************** ix86_gimple_fold_builtin (gimple_stmt_it
*** 33801,33806 ****
--- 33802,33809 ----
  
      do_shift:
        gcc_assert (n_args >= 2);
+       if (!gimple_call_lhs (stmt))
+ 	break;
        arg0 = gimple_call_arg (stmt, 0);
        arg1 = gimple_call_arg (stmt, 1);
        if (n_args > 2)
*************** rdseed_step:
*** 37592,37597 ****
--- 37595,37603 ----
        return target;
  
      case IX86_BUILTIN_READ_FLAGS:
+       if (ignore)
+ 	return const0_rtx;
+ 
        emit_insn (gen_push (gen_rtx_REG (word_mode, FLAGS_REG)));
  
        if (optimize
*************** quarter:
*** 43370,43378 ****
  	      else
  		{
  		  word = expand_simple_binop (word_mode, ASHIFT, word, shift,
! 					      word, 1, OPTAB_LIB_WIDEN);
  		  word = expand_simple_binop (word_mode, IOR, word, elt,
! 					      word, 1, OPTAB_LIB_WIDEN);
  		}
  	    }
  
--- 43376,43384 ----
  	      else
  		{
  		  word = expand_simple_binop (word_mode, ASHIFT, word, shift,
! 					      NULL_RTX, 1, OPTAB_LIB_WIDEN);
  		  word = expand_simple_binop (word_mode, IOR, word, elt,
! 					      NULL_RTX, 1, OPTAB_LIB_WIDEN);
  		}
  	    }
  
*************** ix86_expand_vector_init (bool mmx_ok, rt
*** 43425,43435 ****
        if (GET_MODE_NUNITS (GET_MODE (x)) * 2 == n_elts)
  	{
  	  rtx ops[2] = { XVECEXP (vals, 0, 0), XVECEXP (vals, 0, 1) };
! 	  if (inner_mode == QImode || inner_mode == HImode)
  	    {
  	      unsigned int n_bits = n_elts * GET_MODE_SIZE (inner_mode);
! 	      mode = mode_for_vector (SImode, n_bits / 4).require ();
! 	      inner_mode = mode_for_vector (SImode, n_bits / 8).require ();
  	      ops[0] = gen_lowpart (inner_mode, ops[0]);
  	      ops[1] = gen_lowpart (inner_mode, ops[1]);
  	      subtarget = gen_reg_rtx (mode);
--- 43431,43445 ----
        if (GET_MODE_NUNITS (GET_MODE (x)) * 2 == n_elts)
  	{
  	  rtx ops[2] = { XVECEXP (vals, 0, 0), XVECEXP (vals, 0, 1) };
! 	  if (inner_mode == QImode
! 	      || inner_mode == HImode
! 	      || inner_mode == TImode)
  	    {
  	      unsigned int n_bits = n_elts * GET_MODE_SIZE (inner_mode);
! 	      scalar_mode elt_mode = inner_mode == TImode ? DImode : SImode;
! 	      n_bits /= GET_MODE_SIZE (elt_mode);
! 	      mode = mode_for_vector (elt_mode, n_bits).require ();
! 	      inner_mode = mode_for_vector (elt_mode, n_bits / 2).require ();
  	      ops[0] = gen_lowpart (inner_mode, ops[0]);
  	      ops[1] = gen_lowpart (inner_mode, ops[1]);
  	      subtarget = gen_reg_rtx (mode);
*************** void ix86_emit_i387_log1p (rtx op0, rtx
*** 44830,44835 ****
--- 44840,44850 ----
    rtx cst, cstln2, cst1;
    rtx_insn *insn;
  
+   /* The emit_jump call emits pending stack adjust, make sure it is emitted
+      before the conditional jump, otherwise the stack adjustment will be
+      only conditional.  */
+   do_pending_stack_adjust ();
+ 
    cst = const_double_from_real_value
      (REAL_VALUE_ATOF ("0.29289321881345247561810596348408353", XFmode), XFmode);
    cstln2 = force_reg (XFmode, standard_80387_constant_rtx (4)); /* fldln2 */
diff -Nrcpad gcc-9.4.0/gcc/config/i386/i386.md gcc-9.5.0/gcc/config/i386/i386.md
*** gcc-9.4.0/gcc/config/i386/i386.md	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/i386/i386.md	Fri May 27 07:21:10 2022
***************
*** 4613,4620 ****
       movddup is available.  */
    if (REG_P (operands[1]))
      {
!       if (!TARGET_SSE3
! 	  && REGNO (operands[0]) != REGNO (operands[1]))
  	{
  	  rtx tmp = lowpart_subreg (DFmode, operands[0], SFmode);
  	  emit_move_insn (tmp, operands[1]);
--- 4613,4620 ----
       movddup is available.  */
    if (REG_P (operands[1]))
      {
!       if ((!TARGET_SSE3 && REGNO (operands[0]) != REGNO (operands[1]))
! 	  || (EXT_REX_SSE_REG_P (operands[1]) && !TARGET_AVX512VL))
  	{
  	  rtx tmp = lowpart_subreg (DFmode, operands[0], SFmode);
  	  emit_move_insn (tmp, operands[1]);
***************
*** 9823,9832 ****
     (match_operand:MODEF 1 "register_operand")
     (match_operand:MODEF 2 "register_operand")]
    "SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH"
!   "ix86_expand_xorsign (operands); DONE;")
  
  (define_insn_and_split "xorsign<mode>3_1"
!   [(set (match_operand:MODEF 0 "register_operand" "=Yv")
  	(unspec:MODEF
  	  [(match_operand:MODEF 1 "register_operand" "Yv")
  	   (match_operand:MODEF 2 "register_operand" "0")
--- 9823,9838 ----
     (match_operand:MODEF 1 "register_operand")
     (match_operand:MODEF 2 "register_operand")]
    "SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH"
! {
!   if (rtx_equal_p (operands[1], operands[2]))
!     emit_insn (gen_abs<mode>2 (operands[0], operands[1]));
!   else
!     ix86_expand_xorsign (operands);
!   DONE;
! })
  
  (define_insn_and_split "xorsign<mode>3_1"
!   [(set (match_operand:MODEF 0 "register_operand" "=&Yv")
  	(unspec:MODEF
  	  [(match_operand:MODEF 1 "register_operand" "Yv")
  	   (match_operand:MODEF 2 "register_operand" "0")
***************
*** 13451,13460 ****
     (set_attr "mode" "<MODE>")])
  
  (define_insn "bsr_rex64"
!   [(set (match_operand:DI 0 "register_operand" "=r")
  	(minus:DI (const_int 63)
! 		  (clz:DI (match_operand:DI 1 "nonimmediate_operand" "rm"))))
!    (clobber (reg:CC FLAGS_REG))]
    "TARGET_64BIT"
    "bsr{q}\t{%1, %0|%0, %1}"
    [(set_attr "type" "alu1")
--- 13457,13468 ----
     (set_attr "mode" "<MODE>")])
  
  (define_insn "bsr_rex64"
!   [(set (reg:CCZ FLAGS_REG)
! 	(compare:CCZ (match_operand:DI 1 "nonimmediate_operand" "rm")
! 		     (const_int 0)))
!    (set (match_operand:DI 0 "register_operand" "=r")
  	(minus:DI (const_int 63)
! 		  (clz:DI (match_dup 1))))]
    "TARGET_64BIT"
    "bsr{q}\t{%1, %0|%0, %1}"
    [(set_attr "type" "alu1")
***************
*** 13463,13472 ****
     (set_attr "mode" "DI")])
  
  (define_insn "bsr"
!   [(set (match_operand:SI 0 "register_operand" "=r")
  	(minus:SI (const_int 31)
! 		  (clz:SI (match_operand:SI 1 "nonimmediate_operand" "rm"))))
!    (clobber (reg:CC FLAGS_REG))]
    ""
    "bsr{l}\t{%1, %0|%0, %1}"
    [(set_attr "type" "alu1")
--- 13471,13482 ----
     (set_attr "mode" "DI")])
  
  (define_insn "bsr"
!   [(set (reg:CCZ FLAGS_REG)
! 	(compare:CCZ (match_operand:SI 1 "nonimmediate_operand" "rm")
! 		     (const_int 0)))
!    (set (match_operand:SI 0 "register_operand" "=r")
  	(minus:SI (const_int 31)
! 		  (clz:SI (match_dup 1))))]
    ""
    "bsr{l}\t{%1, %0|%0, %1}"
    [(set_attr "type" "alu1")
***************
*** 13474,13498 ****
     (set_attr "znver1_decode" "vector")
     (set_attr "mode" "SI")])
  
- (define_insn "*bsrhi"
-   [(set (match_operand:HI 0 "register_operand" "=r")
- 	(minus:HI (const_int 15)
- 		  (clz:HI (match_operand:HI 1 "nonimmediate_operand" "rm"))))
-    (clobber (reg:CC FLAGS_REG))]
-   ""
-   "bsr{w}\t{%1, %0|%0, %1}"
-   [(set_attr "type" "alu1")
-    (set_attr "prefix_0f" "1")
-    (set_attr "znver1_decode" "vector")
-    (set_attr "mode" "HI")])
- 
  (define_expand "clz<mode>2"
    [(parallel
!      [(set (match_operand:SWI48 0 "register_operand")
  	   (minus:SWI48
  	     (match_dup 2)
! 	     (clz:SWI48 (match_operand:SWI48 1 "nonimmediate_operand"))))
!       (clobber (reg:CC FLAGS_REG))])
     (parallel
       [(set (match_dup 0) (xor:SWI48 (match_dup 0) (match_dup 2)))
        (clobber (reg:CC FLAGS_REG))])]
--- 13484,13498 ----
     (set_attr "znver1_decode" "vector")
     (set_attr "mode" "SI")])
  
  (define_expand "clz<mode>2"
    [(parallel
!      [(set (reg:CCZ FLAGS_REG)
! 	(compare:CCZ (match_operand:SWI48 1 "nonimmediate_operand" "rm")
! 		     (const_int 0)))
!       (set (match_operand:SWI48 0 "register_operand")
  	   (minus:SWI48
  	     (match_dup 2)
! 	     (clz:SWI48 (match_dup 1))))])
     (parallel
       [(set (match_dup 0) (xor:SWI48 (match_dup 0) (match_dup 2)))
        (clobber (reg:CC FLAGS_REG))])]
diff -Nrcpad gcc-9.4.0/gcc/config/i386/sse.md gcc-9.5.0/gcc/config/i386/sse.md
*** gcc-9.4.0/gcc/config/i386/sse.md	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/i386/sse.md	Fri May 27 07:21:10 2022
***************
*** 6393,6399 ****
  (define_expand "vec_unpacks_float_hi_v8si"
    [(set (match_dup 2)
  	(vec_select:V4SI
! 	  (match_operand:V8SI 1 "vector_operand")
  	  (parallel [(const_int 4) (const_int 5)
  		     (const_int 6) (const_int 7)])))
     (set (match_operand:V4DF 0 "register_operand")
--- 6393,6399 ----
  (define_expand "vec_unpacks_float_hi_v8si"
    [(set (match_dup 2)
  	(vec_select:V4SI
! 	  (match_operand:V8SI 1 "register_operand")
  	  (parallel [(const_int 4) (const_int 5)
  		     (const_int 6) (const_int 7)])))
     (set (match_operand:V4DF 0 "register_operand")
***************
*** 18713,18720 ****
  	    negate = true;
  	}
        par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
        for (i = 0; i < 16; i++)
!         XVECEXP (par, 0, i) = operands[2];
  
        tmp = gen_reg_rtx (V16QImode);
        emit_insn (gen_vec_initv16qiqi (tmp, par));
--- 18713,18721 ----
  	    negate = true;
  	}
        par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
+       tmp = lowpart_subreg (QImode, operands[2], SImode);
        for (i = 0; i < 16; i++)
! 	XVECEXP (par, 0, i) = tmp;
  
        tmp = gen_reg_rtx (V16QImode);
        emit_insn (gen_vec_initv16qiqi (tmp, par));
diff -Nrcpad gcc-9.4.0/gcc/config/i386/sync.md gcc-9.5.0/gcc/config/i386/sync.md
*** gcc-9.4.0/gcc/config/i386/sync.md	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/i386/sync.md	Fri May 27 07:21:10 2022
***************
*** 212,293 ****
    DONE;
  })
  
- (define_peephole2
-   [(set (match_operand:DF 0 "fp_register_operand")
- 	(unspec:DF [(match_operand:DI 1 "memory_operand")]
- 		   UNSPEC_FILD_ATOMIC))
-    (set (match_operand:DI 2 "memory_operand")
- 	(unspec:DI [(match_dup 0)]
- 		   UNSPEC_FIST_ATOMIC))
-    (set (match_operand:DF 3 "sse_reg_operand")
- 	(match_operand:DF 4 "memory_operand"))]
-   "!TARGET_64BIT
-    && peep2_reg_dead_p (2, operands[0])
-    && rtx_equal_p (XEXP (operands[4], 0), XEXP (operands[2], 0))"
-   [(set (match_dup 3) (match_dup 5))
-    (set (match_dup 4) (match_dup 3))]
-   "operands[5] = gen_lowpart (DFmode, operands[1]);")
- 
- (define_peephole2
-   [(set (match_operand:DF 0 "fp_register_operand")
- 	(unspec:DF [(match_operand:DI 1 "memory_operand")]
- 		   UNSPEC_FILD_ATOMIC))
-    (set (match_operand:DI 2 "memory_operand")
- 	(unspec:DI [(match_dup 0)]
- 		   UNSPEC_FIST_ATOMIC))
-    (set (mem:BLK (scratch:SI))
- 	(unspec:BLK [(mem:BLK (scratch:SI))] UNSPEC_MEMORY_BLOCKAGE))
-    (set (match_operand:DF 3 "sse_reg_operand")
- 	(match_operand:DF 4 "memory_operand"))]
-   "!TARGET_64BIT
-    && peep2_reg_dead_p (2, operands[0])
-    && rtx_equal_p (XEXP (operands[4], 0), XEXP (operands[2], 0))"
-   [(const_int 0)]
- {
-   emit_move_insn (operands[3], gen_lowpart (DFmode, operands[1]));
-   emit_move_insn (operands[4], operands[3]);
-   emit_insn (gen_memory_blockage ());
-   DONE;
- })
- 
- (define_peephole2
-   [(set (match_operand:DF 0 "sse_reg_operand")
- 	(unspec:DF [(match_operand:DI 1 "memory_operand")]
- 		   UNSPEC_LDX_ATOMIC))
-    (set (match_operand:DI 2 "memory_operand")
- 	(unspec:DI [(match_dup 0)]
- 		   UNSPEC_STX_ATOMIC))
-    (set (match_operand:DF 3 "sse_reg_operand")
- 	(match_operand:DF 4 "memory_operand"))]
-   "!TARGET_64BIT
-    && peep2_reg_dead_p (2, operands[0])
-    && rtx_equal_p (XEXP (operands[4], 0), XEXP (operands[2], 0))"
-   [(set (match_dup 3) (match_dup 5))
-    (set (match_dup 4) (match_dup 3))]
-   "operands[5] = gen_lowpart (DFmode, operands[1]);")
- 
- (define_peephole2
-   [(set (match_operand:DF 0 "sse_reg_operand")
- 	(unspec:DF [(match_operand:DI 1 "memory_operand")]
- 		   UNSPEC_LDX_ATOMIC))
-    (set (match_operand:DI 2 "memory_operand")
- 	(unspec:DI [(match_dup 0)]
- 		   UNSPEC_STX_ATOMIC))
-    (set (mem:BLK (scratch:SI))
- 	(unspec:BLK [(mem:BLK (scratch:SI))] UNSPEC_MEMORY_BLOCKAGE))
-    (set (match_operand:DF 3 "sse_reg_operand")
- 	(match_operand:DF 4 "memory_operand"))]
-   "!TARGET_64BIT
-    && peep2_reg_dead_p (2, operands[0])
-    && rtx_equal_p (XEXP (operands[4], 0), XEXP (operands[2], 0))"
-   [(const_int 0)]
- {
-   emit_move_insn (operands[3], gen_lowpart (DFmode, operands[1]));
-   emit_move_insn (operands[4], operands[3]);
-   emit_insn (gen_memory_blockage ());
-   DONE;
- })
- 
  (define_expand "atomic_store<mode>"
    [(set (match_operand:ATOMIC 0 "memory_operand")
  	(unspec:ATOMIC [(match_operand:ATOMIC 1 "nonimmediate_operand")
--- 212,217 ----
***************
*** 375,456 ****
    DONE;
  })
  
- (define_peephole2
-   [(set (match_operand:DF 0 "memory_operand")
- 	(match_operand:DF 1 "any_fp_register_operand"))
-    (set (match_operand:DF 2 "fp_register_operand")
- 	(unspec:DF [(match_operand:DI 3 "memory_operand")]
- 		   UNSPEC_FILD_ATOMIC))
-    (set (match_operand:DI 4 "memory_operand")
- 	(unspec:DI [(match_dup 2)]
- 		   UNSPEC_FIST_ATOMIC))]
-   "!TARGET_64BIT
-    && peep2_reg_dead_p (3, operands[2])
-    && rtx_equal_p (XEXP (operands[0], 0), XEXP (operands[3], 0))"
-   [(set (match_dup 0) (match_dup 1))
-    (set (match_dup 5) (match_dup 1))]
-   "operands[5] = gen_lowpart (DFmode, operands[4]);")
- 
- (define_peephole2
-   [(set (match_operand:DF 0 "memory_operand")
- 	(match_operand:DF 1 "any_fp_register_operand"))
-    (set (mem:BLK (scratch:SI))
- 	(unspec:BLK [(mem:BLK (scratch:SI))] UNSPEC_MEMORY_BLOCKAGE))
-    (set (match_operand:DF 2 "fp_register_operand")
- 	(unspec:DF [(match_operand:DI 3 "memory_operand")]
- 		   UNSPEC_FILD_ATOMIC))
-    (set (match_operand:DI 4 "memory_operand")
- 	(unspec:DI [(match_dup 2)]
- 		   UNSPEC_FIST_ATOMIC))]
-   "!TARGET_64BIT
-    && peep2_reg_dead_p (4, operands[2])
-    && rtx_equal_p (XEXP (operands[0], 0), XEXP (operands[3], 0))"
-   [(const_int 0)]
- {
-   emit_move_insn (operands[0], operands[1]);
-   emit_insn (gen_memory_blockage ());
-   emit_move_insn (gen_lowpart (DFmode, operands[4]), operands[1]);
-   DONE;
- })
- 
- (define_peephole2
-   [(set (match_operand:DF 0 "memory_operand")
- 	(match_operand:DF 1 "any_fp_register_operand"))
-    (set (match_operand:DF 2 "sse_reg_operand")
- 	(unspec:DF [(match_operand:DI 3 "memory_operand")]
- 		   UNSPEC_LDX_ATOMIC))
-    (set (match_operand:DI 4 "memory_operand")
- 	(unspec:DI [(match_dup 2)]
- 		   UNSPEC_STX_ATOMIC))]
-   "!TARGET_64BIT
-    && peep2_reg_dead_p (3, operands[2])
-    && rtx_equal_p (XEXP (operands[0], 0), XEXP (operands[3], 0))"
-   [(set (match_dup 0) (match_dup 1))
-    (set (match_dup 5) (match_dup 1))]
-   "operands[5] = gen_lowpart (DFmode, operands[4]);")
- 
- (define_peephole2
-   [(set (match_operand:DF 0 "memory_operand")
- 	(match_operand:DF 1 "any_fp_register_operand"))
-    (set (mem:BLK (scratch:SI))
- 	(unspec:BLK [(mem:BLK (scratch:SI))] UNSPEC_MEMORY_BLOCKAGE))
-    (set (match_operand:DF 2 "sse_reg_operand")
- 	(unspec:DF [(match_operand:DI 3 "memory_operand")]
- 		   UNSPEC_LDX_ATOMIC))
-    (set (match_operand:DI 4 "memory_operand")
- 	(unspec:DI [(match_dup 2)]
- 		   UNSPEC_STX_ATOMIC))]
-   "!TARGET_64BIT
-    && peep2_reg_dead_p (4, operands[2])
-    && rtx_equal_p (XEXP (operands[0], 0), XEXP (operands[3], 0))"
-   [(const_int 0)]
- {
-   emit_move_insn (operands[0], operands[1]);
-   emit_insn (gen_memory_blockage ());
-   emit_move_insn (gen_lowpart (DFmode, operands[4]), operands[1]);
-   DONE;
- })
- 
  ;; ??? You'd think that we'd be able to perform this via FLOAT + FIX_TRUNC
  ;; operations.  But the fix_trunc patterns want way more setup than we want
  ;; to provide.  Note that the scratch is DFmode instead of XFmode in order
--- 299,304 ----
***************
*** 800,806 ****
    rtx result = convert_modes (<MODE>mode, QImode, tem, 1);
    if (operands[4] == const0_rtx)
      result = expand_simple_binop (<MODE>mode, ASHIFT, result,
! 				  operands[2], operands[0], 0, OPTAB_DIRECT);
    if (result != operands[0])
      emit_move_insn (operands[0], result);
    DONE;
--- 648,654 ----
    rtx result = convert_modes (<MODE>mode, QImode, tem, 1);
    if (operands[4] == const0_rtx)
      result = expand_simple_binop (<MODE>mode, ASHIFT, result,
! 				  operands[2], operands[0], 0, OPTAB_WIDEN);
    if (result != operands[0])
      emit_move_insn (operands[0], result);
    DONE;
***************
*** 837,843 ****
    rtx result = convert_modes (<MODE>mode, QImode, tem, 1);
    if (operands[4] == const0_rtx)
      result = expand_simple_binop (<MODE>mode, ASHIFT, result,
! 				  operands[2], operands[0], 0, OPTAB_DIRECT);
    if (result != operands[0])
      emit_move_insn (operands[0], result);
    DONE;
--- 685,691 ----
    rtx result = convert_modes (<MODE>mode, QImode, tem, 1);
    if (operands[4] == const0_rtx)
      result = expand_simple_binop (<MODE>mode, ASHIFT, result,
! 				  operands[2], operands[0], 0, OPTAB_WIDEN);
    if (result != operands[0])
      emit_move_insn (operands[0], result);
    DONE;
***************
*** 875,881 ****
    rtx result = convert_modes (<MODE>mode, QImode, tem, 1);
    if (operands[4] == const0_rtx)
      result = expand_simple_binop (<MODE>mode, ASHIFT, result,
! 				  operands[2], operands[0], 0, OPTAB_DIRECT);
    if (result != operands[0])
      emit_move_insn (operands[0], result);
    DONE;
--- 723,729 ----
    rtx result = convert_modes (<MODE>mode, QImode, tem, 1);
    if (operands[4] == const0_rtx)
      result = expand_simple_binop (<MODE>mode, ASHIFT, result,
! 				  operands[2], operands[0], 0, OPTAB_WIDEN);
    if (result != operands[0])
      emit_move_insn (operands[0], result);
    DONE;
diff -Nrcpad gcc-9.4.0/gcc/config/mips/mips.c gcc-9.5.0/gcc/config/mips/mips.c
*** gcc-9.4.0/gcc/config/mips/mips.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/mips/mips.c	Fri May 27 07:21:11 2022
*************** mips_atomic_assign_expand_fenv (tree *ho
*** 22370,22381 ****
    tree get_fcsr = mips_builtin_decls[MIPS_GET_FCSR];
    tree set_fcsr = mips_builtin_decls[MIPS_SET_FCSR];
    tree get_fcsr_hold_call = build_call_expr (get_fcsr, 0);
!   tree hold_assign_orig = build2 (MODIFY_EXPR, MIPS_ATYPE_USI,
! 				  fcsr_orig_var, get_fcsr_hold_call);
    tree hold_mod_val = build2 (BIT_AND_EXPR, MIPS_ATYPE_USI, fcsr_orig_var,
  			      build_int_cst (MIPS_ATYPE_USI, 0xfffff003));
!   tree hold_assign_mod = build2 (MODIFY_EXPR, MIPS_ATYPE_USI,
! 				 fcsr_mod_var, hold_mod_val);
    tree set_fcsr_hold_call = build_call_expr (set_fcsr, 1, fcsr_mod_var);
    tree hold_all = build2 (COMPOUND_EXPR, MIPS_ATYPE_USI,
  			  hold_assign_orig, hold_assign_mod);
--- 22370,22381 ----
    tree get_fcsr = mips_builtin_decls[MIPS_GET_FCSR];
    tree set_fcsr = mips_builtin_decls[MIPS_SET_FCSR];
    tree get_fcsr_hold_call = build_call_expr (get_fcsr, 0);
!   tree hold_assign_orig = build4 (TARGET_EXPR, MIPS_ATYPE_USI,
! 				  fcsr_orig_var, get_fcsr_hold_call, NULL, NULL);
    tree hold_mod_val = build2 (BIT_AND_EXPR, MIPS_ATYPE_USI, fcsr_orig_var,
  			      build_int_cst (MIPS_ATYPE_USI, 0xfffff003));
!   tree hold_assign_mod = build4 (TARGET_EXPR, MIPS_ATYPE_USI,
! 				 fcsr_mod_var, hold_mod_val, NULL, NULL);
    tree set_fcsr_hold_call = build_call_expr (set_fcsr, 1, fcsr_mod_var);
    tree hold_all = build2 (COMPOUND_EXPR, MIPS_ATYPE_USI,
  			  hold_assign_orig, hold_assign_mod);
*************** mips_atomic_assign_expand_fenv (tree *ho
*** 22385,22392 ****
    *clear = build_call_expr (set_fcsr, 1, fcsr_mod_var);
  
    tree get_fcsr_update_call = build_call_expr (get_fcsr, 0);
!   *update = build2 (MODIFY_EXPR, MIPS_ATYPE_USI,
! 		    exceptions_var, get_fcsr_update_call);
    tree set_fcsr_update_call = build_call_expr (set_fcsr, 1, fcsr_orig_var);
    *update = build2 (COMPOUND_EXPR, void_type_node, *update,
  		    set_fcsr_update_call);
--- 22385,22392 ----
    *clear = build_call_expr (set_fcsr, 1, fcsr_mod_var);
  
    tree get_fcsr_update_call = build_call_expr (get_fcsr, 0);
!   *update = build4 (TARGET_EXPR, MIPS_ATYPE_USI,
! 		    exceptions_var, get_fcsr_update_call, NULL, NULL);
    tree set_fcsr_update_call = build_call_expr (set_fcsr, 1, fcsr_orig_var);
    *update = build2 (COMPOUND_EXPR, void_type_node, *update,
  		    set_fcsr_update_call);
diff -Nrcpad gcc-9.4.0/gcc/config/pa/pa.md gcc-9.5.0/gcc/config/pa/pa.md
*** gcc-9.4.0/gcc/config/pa/pa.md	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/pa/pa.md	Fri May 27 07:21:11 2022
***************
*** 1383,1389 ****
                          (match_operand:SF 2 "reg_or_0_operand" "")])
  		      (label_ref (match_operand 3 "" ""))
  		      (pc)))]
!   ""
    "
  {
    pa_emit_bcond_fp (operands);
--- 1383,1389 ----
                          (match_operand:SF 2 "reg_or_0_operand" "")])
  		      (label_ref (match_operand 3 "" ""))
  		      (pc)))]
!   "! TARGET_SOFT_FLOAT"
    "
  {
    pa_emit_bcond_fp (operands);
***************
*** 1398,1404 ****
                          (match_operand:DF 2 "reg_or_0_operand" "")])
  		      (label_ref (match_operand 3 "" ""))
  		      (pc)))]
!   ""
    "
  {
    pa_emit_bcond_fp (operands);
--- 1398,1404 ----
                          (match_operand:DF 2 "reg_or_0_operand" "")])
  		      (label_ref (match_operand 3 "" ""))
  		      (pc)))]
!   "! TARGET_SOFT_FLOAT"
    "
  {
    pa_emit_bcond_fp (operands);
***************
*** 2237,2242 ****
--- 2237,2265 ----
     (set_attr "length" "4,4,4,4,4,4,4,4,4,4,4,4")])
  
  (define_insn ""
+   [(set (match_operand:SI 0 "move_dest_operand"
+ 			  "=r,r,r,r,r,r,Q,!*q,!r")
+ 	(match_operand:SI 1 "move_src_operand"
+ 			  "A,r,J,N,K,RQ,rM,!rM,!*q"))]
+   "(register_operand (operands[0], SImode)
+     || reg_or_0_operand (operands[1], SImode))
+    && TARGET_SOFT_FLOAT
+    && TARGET_64BIT"
+   "@
+    ldw RT'%A1,%0
+    copy %1,%0
+    ldi %1,%0
+    ldil L'%1,%0
+    {zdepi|depwi,z} %Z1,%0
+    ldw%M1 %1,%0
+    stw%M0 %r1,%0
+    mtsar %r1
+    {mfctl|mfctl,w} %%sar,%0"
+   [(set_attr "type" "load,move,move,move,shift,load,store,move,move")
+    (set_attr "pa_combine_type" "addmove")
+    (set_attr "length" "4,4,4,4,4,4,4,4,4")])
+ 
+ (define_insn ""
    [(set (match_operand:SI 0 "indexed_memory_operand" "=R")
  	(match_operand:SI 1 "register_operand" "f"))]
    "!TARGET_SOFT_FLOAT
***************
*** 4024,4035 ****
    [(set (match_operand:DF 0 "move_dest_operand"
  			  "=!*r,*r,*r,*r,*r,Q,f,f,T")
  	(match_operand:DF 1 "move_src_operand"
! 			  "!*r,J,N,K,RQ,*rG,fG,RT,f"))]
    "(register_operand (operands[0], DFmode)
      || reg_or_0_operand (operands[1], DFmode))
     && !TARGET_SOFT_FLOAT && TARGET_64BIT"
    "@
!    copy %1,%0
     ldi %1,%0
     ldil L'%1,%0
     depdi,z %z1,%0
--- 4047,4058 ----
    [(set (match_operand:DF 0 "move_dest_operand"
  			  "=!*r,*r,*r,*r,*r,Q,f,f,T")
  	(match_operand:DF 1 "move_src_operand"
! 			  "!*rG,J,N,K,RQ,*rG,fG,RT,f"))]
    "(register_operand (operands[0], DFmode)
      || reg_or_0_operand (operands[1], DFmode))
     && !TARGET_SOFT_FLOAT && TARGET_64BIT"
    "@
!    copy %r1,%0
     ldi %1,%0
     ldil L'%1,%0
     depdi,z %z1,%0
***************
*** 4042,4047 ****
--- 4065,4089 ----
     (set_attr "pa_combine_type" "addmove")
     (set_attr "length" "4,4,4,4,4,4,4,4,4")])
  
+ (define_insn ""
+   [(set (match_operand:DF 0 "move_dest_operand"
+ 			  "=!*r,*r,*r,*r,*r,Q")
+ 	(match_operand:DF 1 "move_src_operand"
+ 			  "!*rG,J,N,K,RQ,*rG"))]
+   "(register_operand (operands[0], DFmode)
+     || reg_or_0_operand (operands[1], DFmode))
+    && TARGET_SOFT_FLOAT && TARGET_64BIT"
+   "@
+    copy %r1,%0
+    ldi %1,%0
+    ldil L'%1,%0
+    depdi,z %z1,%0
+    ldd%M1 %1,%0
+    std%M0 %r1,%0"
+   [(set_attr "type" "move,move,move,shift,load,store")
+    (set_attr "pa_combine_type" "addmove")
+    (set_attr "length" "4,4,4,4,4,4")])
+ 
  
  (define_expand "movdi"
    [(set (match_operand:DI 0 "general_operand" "")
***************
*** 4201,4206 ****
--- 4243,4270 ----
     (set_attr "length" "4,4,4,4,4,4,4,4,4,4,4,4")])
  
  (define_insn ""
+   [(set (match_operand:DI 0 "move_dest_operand"
+ 			  "=r,r,r,r,r,r,Q,!*q,!r")
+ 	(match_operand:DI 1 "move_src_operand"
+ 			  "A,r,J,N,K,RQ,rM,!rM,!*q"))]
+   "(register_operand (operands[0], DImode)
+     || reg_or_0_operand (operands[1], DImode))
+    && TARGET_SOFT_FLOAT && TARGET_64BIT"
+   "@
+    ldd RT'%A1,%0
+    copy %1,%0
+    ldi %1,%0
+    ldil L'%1,%0
+    depdi,z %z1,%0
+    ldd%M1 %1,%0
+    std%M0 %r1,%0
+    mtsar %r1
+    {mfctl|mfctl,w} %%sar,%0"
+   [(set_attr "type" "load,move,move,move,shift,load,store,move,move")
+    (set_attr "pa_combine_type" "addmove")
+    (set_attr "length" "4,4,4,4,4,4,4,4,4")])
+ 
+ (define_insn ""
    [(set (match_operand:DI 0 "indexed_memory_operand" "=R")
  	(match_operand:DI 1 "register_operand" "f"))]
    "!TARGET_SOFT_FLOAT
***************
*** 4406,4411 ****
--- 4470,4492 ----
     (set_attr "length" "4,4,4,4,4,4")])
  
  (define_insn ""
+   [(set (match_operand:SF 0 "move_dest_operand"
+ 			  "=!*r,*r,Q")
+ 	(match_operand:SF 1 "reg_or_0_or_nonsymb_mem_operand"
+ 			  "!*rG,RQ,*rG"))]
+   "(register_operand (operands[0], SFmode)
+     || reg_or_0_operand (operands[1], SFmode))
+    && TARGET_SOFT_FLOAT
+    && TARGET_64BIT"
+   "@
+    copy %r1,%0
+    ldw%M1 %1,%0
+    stw%M0 %r1,%0"
+   [(set_attr "type" "move,load,store")
+    (set_attr "pa_combine_type" "addmove")
+    (set_attr "length" "4,4,4")])
+ 
+ (define_insn ""
    [(set (match_operand:SF 0 "indexed_memory_operand" "=R")
  	(match_operand:SF 1 "register_operand" "f"))]
    "!TARGET_SOFT_FLOAT
***************
*** 5374,5405 ****
    [(set (match_operand:DI 0 "register_operand" "")
          (mult:DI (match_operand:DI 1 "register_operand" "")
  		 (match_operand:DI 2 "register_operand" "")))]
!   "TARGET_64BIT && ! TARGET_DISABLE_FPREGS && ! TARGET_SOFT_FLOAT"
    "
  {
    rtx low_product = gen_reg_rtx (DImode);
    rtx cross_product1 = gen_reg_rtx (DImode);
    rtx cross_product2 = gen_reg_rtx (DImode);
-   rtx cross_scratch = gen_reg_rtx (DImode);
-   rtx cross_product = gen_reg_rtx (DImode);
    rtx op1l, op1r, op2l, op2r;
-   rtx op1shifted, op2shifted;
  
!   op1shifted = gen_reg_rtx (DImode);
!   op2shifted = gen_reg_rtx (DImode);
!   op1l = gen_reg_rtx (SImode);
!   op1r = gen_reg_rtx (SImode);
!   op2l = gen_reg_rtx (SImode);
!   op2r = gen_reg_rtx (SImode);
  
!   emit_move_insn (op1shifted, gen_rtx_LSHIFTRT (DImode, operands[1],
! 						GEN_INT (32)));
!   emit_move_insn (op2shifted, gen_rtx_LSHIFTRT (DImode, operands[2],
! 						GEN_INT (32)));
!   op1r = force_reg (SImode, gen_rtx_SUBREG (SImode, operands[1], 4));
!   op2r = force_reg (SImode, gen_rtx_SUBREG (SImode, operands[2], 4));
!   op1l = force_reg (SImode, gen_rtx_SUBREG (SImode, op1shifted, 4));
!   op2l = force_reg (SImode, gen_rtx_SUBREG (SImode, op2shifted, 4));
  
    /* Emit multiplies for the cross products.  */
    emit_insn (gen_umulsidi3 (cross_product1, op2r, op1l));
--- 5455,5492 ----
    [(set (match_operand:DI 0 "register_operand" "")
          (mult:DI (match_operand:DI 1 "register_operand" "")
  		 (match_operand:DI 2 "register_operand" "")))]
!   "! optimize_size
!    && TARGET_PA_11
!    && ! TARGET_DISABLE_FPREGS
!    && ! TARGET_SOFT_FLOAT"
    "
  {
    rtx low_product = gen_reg_rtx (DImode);
    rtx cross_product1 = gen_reg_rtx (DImode);
    rtx cross_product2 = gen_reg_rtx (DImode);
    rtx op1l, op1r, op2l, op2r;
  
!   if (TARGET_64BIT)
!     {
!       rtx op1shifted = gen_reg_rtx (DImode);
!       rtx op2shifted = gen_reg_rtx (DImode);
  
!       emit_move_insn (op1shifted, gen_rtx_LSHIFTRT (DImode, operands[1],
! 						    GEN_INT (32)));
!       emit_move_insn (op2shifted, gen_rtx_LSHIFTRT (DImode, operands[2],
! 						    GEN_INT (32)));
!       op1r = force_reg (SImode, gen_rtx_SUBREG (SImode, operands[1], 4));
!       op2r = force_reg (SImode, gen_rtx_SUBREG (SImode, operands[2], 4));
!       op1l = force_reg (SImode, gen_rtx_SUBREG (SImode, op1shifted, 4));
!       op2l = force_reg (SImode, gen_rtx_SUBREG (SImode, op2shifted, 4));
!     }
!   else
!     {
!       op1r = force_reg (SImode, gen_lowpart (SImode, operands[1]));
!       op2r = force_reg (SImode, gen_lowpart (SImode, operands[2]));
!       op1l = force_reg (SImode, gen_highpart (SImode, operands[1]));
!       op2l = force_reg (SImode, gen_highpart (SImode, operands[2]));
!     }
  
    /* Emit multiplies for the cross products.  */
    emit_insn (gen_umulsidi3 (cross_product1, op2r, op1l));
***************
*** 5408,5420 ****
    /* Emit a multiply for the low sub-word.  */
    emit_insn (gen_umulsidi3 (low_product, copy_rtx (op2r), copy_rtx (op1r)));
  
!   /* Sum the cross products and shift them into proper position.  */
!   emit_insn (gen_adddi3 (cross_scratch, cross_product1, cross_product2));
!   emit_insn (gen_ashldi3 (cross_product, cross_scratch, GEN_INT (32)));
  
!   /* Add the cross product to the low product and store the result
!      into the output operand .  */
!   emit_insn (gen_adddi3 (operands[0], cross_product, low_product));
    DONE;
  }")
  
--- 5495,5529 ----
    /* Emit a multiply for the low sub-word.  */
    emit_insn (gen_umulsidi3 (low_product, copy_rtx (op2r), copy_rtx (op1r)));
  
!   if (TARGET_64BIT)
!     {
!       rtx cross_scratch = gen_reg_rtx (DImode);
!       rtx cross_product = gen_reg_rtx (DImode);
  
!       /* Sum the cross products and shift them into proper position.  */
!       emit_insn (gen_adddi3 (cross_scratch, cross_product1, cross_product2));
!       emit_insn (gen_ashldi3 (cross_product, cross_scratch, GEN_INT (32)));
! 
!       /* Add the cross product to the low product and store the result
! 	 into the output operand .  */
!       emit_insn (gen_adddi3 (operands[0], cross_product, low_product));
!     }
!   else
!     {
!       rtx cross_scratch = gen_reg_rtx (SImode);
! 
!       /* Sum cross products.  */
!       emit_move_insn (cross_scratch,
! 		      gen_rtx_PLUS (SImode,
! 				    gen_lowpart (SImode, cross_product1),
! 				    gen_lowpart (SImode, cross_product2)));
!       emit_move_insn (gen_lowpart (SImode, operands[0]),
! 		      gen_lowpart (SImode, low_product));
!       emit_move_insn (gen_highpart (SImode, operands[0]),
! 		      gen_rtx_PLUS (SImode,
! 				    gen_highpart (SImode, low_product),
! 				    cross_scratch));
!     }
    DONE;
  }")
  
diff -Nrcpad gcc-9.4.0/gcc/config/rs6000/altivec.h gcc-9.5.0/gcc/config/rs6000/altivec.h
*** gcc-9.4.0/gcc/config/rs6000/altivec.h	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/rs6000/altivec.h	Fri May 27 07:21:11 2022
***************
*** 127,133 ****
  #define vec_vcfux __builtin_vec_vcfux
  #define vec_cts __builtin_vec_cts
  #define vec_ctu __builtin_vec_ctu
! #define vec_cpsgn __builtin_vec_copysign
  #define vec_double __builtin_vec_double
  #define vec_doublee __builtin_vec_doublee
  #define vec_doubleo __builtin_vec_doubleo
--- 127,133 ----
  #define vec_vcfux __builtin_vec_vcfux
  #define vec_cts __builtin_vec_cts
  #define vec_ctu __builtin_vec_ctu
! #define vec_cpsgn(x,y) __builtin_vec_copysign(y,x)
  #define vec_double __builtin_vec_double
  #define vec_doublee __builtin_vec_doublee
  #define vec_doubleo __builtin_vec_doubleo
diff -Nrcpad gcc-9.4.0/gcc/config/rs6000/rs6000-p8swap.c gcc-9.5.0/gcc/config/rs6000/rs6000-p8swap.c
*** gcc-9.4.0/gcc/config/rs6000/rs6000-p8swap.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/rs6000/rs6000-p8swap.c	Fri May 27 07:21:11 2022
*************** replace_swap_with_copy (swap_web_entry *
*** 1501,1506 ****
--- 1501,1522 ----
    insn->set_deleted ();
  }
  
+ /* INSN is known to contain a SUBREG, which we can normally handle,
+    but if the SUBREG itself contains a MULT then we need to leave it alone
+    to avoid turning a mult_hipart into a mult_lopart, for example.  */
+ static bool
+ has_part_mult (rtx_insn *insn)
+ {
+   rtx body = PATTERN (insn);
+   if (GET_CODE (body) != SET)
+     return false;
+   rtx src = SET_SRC (body);
+   if (GET_CODE (src) != SUBREG)
+     return false;
+   rtx inner = XEXP (src, 0);
+   return (GET_CODE (inner) == MULT);
+ }
+ 
  /* Make NEW_MEM_EXP's attributes and flags resemble those of
     ORIGINAL_MEM_EXP.  */
  static void
*************** rs6000_analyze_swaps (function *fun)
*** 2437,2442 ****
--- 2453,2461 ----
  		    insn_entry[uid].is_swappable = 0;
  		  else if (special != SH_NONE)
  		    insn_entry[uid].special_handling = special;
+ 		  else if (insn_entry[uid].contains_subreg
+ 			   && has_part_mult (insn))
+ 		    insn_entry[uid].is_swappable = 0;
  		  else if (insn_entry[uid].contains_subreg)
  		    insn_entry[uid].special_handling = SH_SUBREG;
  		}
diff -Nrcpad gcc-9.4.0/gcc/config/rs6000/rs6000.c gcc-9.5.0/gcc/config/rs6000/rs6000.c
*** gcc-9.4.0/gcc/config/rs6000/rs6000.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/rs6000/rs6000.c	Fri May 27 07:21:11 2022
*************** vspltis_constant (rtx op, unsigned step,
*** 6081,6087 ****
  
    /* Also check if are loading up the most significant bit which can be done by
       loading up -1 and shifting the value left by -1.  */
!   else if (EASY_VECTOR_MSB (splat_val, inner))
      ;
  
    else
--- 6081,6087 ----
  
    /* Also check if are loading up the most significant bit which can be done by
       loading up -1 and shifting the value left by -1.  */
!   else if (EASY_VECTOR_MSB (splat_val, inner) && step == 1 && copies == 1)
      ;
  
    else
*************** vspltis_shifted (rtx op)
*** 6130,6137 ****
      return false;
  
    /* We need to create pseudo registers to do the shift, so don't recognize
!      shift vector constants after reload.  */
!   if (!can_create_pseudo_p ())
      return false;
  
    nunits = GET_MODE_NUNITS (mode);
--- 6130,6140 ----
      return false;
  
    /* We need to create pseudo registers to do the shift, so don't recognize
!      shift vector constants after reload.  Don't match it even before RA
!      after split1 is done, because there won't be further splitting pass
!      before RA to do the splitting.  */
!   if (!can_create_pseudo_p ()
!       || (cfun->curr_properties & PROP_rtl_split_insns))
      return false;
  
    nunits = GET_MODE_NUNITS (mode);
*************** rs6000_init_builtins (void)
*** 17110,17132 ****
  #endif
  }
  
! /* Returns the rs6000 builtin decl for CODE.  */
  
  static tree
  rs6000_builtin_decl (unsigned code, bool initialize_p ATTRIBUTE_UNUSED)
  {
-   HOST_WIDE_INT fnmask;
- 
    if (code >= RS6000_BUILTIN_COUNT)
      return error_mark_node;
  
-   fnmask = rs6000_builtin_info[code].mask;
-   if ((fnmask & rs6000_builtin_mask) != fnmask)
-     {
-       rs6000_invalid_builtin ((enum rs6000_builtins)code);
-       return error_mark_node;
-     }
- 
    return rs6000_builtin_decls[code];
  }
  
--- 17113,17129 ----
  #endif
  }
  
! /* Returns the rs6000 builtin decl for CODE.  Note that we don't check
!    the builtin mask here since there could be some #pragma/attribute
!    target functions and the rs6000_builtin_mask could be wrong when
!    this checking happens, though it will be updated properly later.  */
  
  static tree
  rs6000_builtin_decl (unsigned code, bool initialize_p ATTRIBUTE_UNUSED)
  {
    if (code >= RS6000_BUILTIN_COUNT)
      return error_mark_node;
  
    return rs6000_builtin_decls[code];
  }
  
diff -Nrcpad gcc-9.4.0/gcc/config/rs6000/vector.md gcc-9.5.0/gcc/config/rs6000/vector.md
*** gcc-9.4.0/gcc/config/rs6000/vector.md	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/rs6000/vector.md	Fri May 27 07:21:11 2022
***************
*** 1290,1296 ****
   [(set (match_operand:VEC_N 0 "nonimmediate_operand")
         (match_operand:VEC_N 1 "any_operand"))]
   "VECTOR_MEM_VSX_P (<MODE>mode) && TARGET_ALLOW_MOVMISALIGN"
!  "")
  
  ;; Vector shift right in bits. Currently supported ony for shift
  ;; amounts that can be expressed as byte shifts (divisible by 8).
--- 1290,1299 ----
   [(set (match_operand:VEC_N 0 "nonimmediate_operand")
         (match_operand:VEC_N 1 "any_operand"))]
   "VECTOR_MEM_VSX_P (<MODE>mode) && TARGET_ALLOW_MOVMISALIGN"
! {
!   rs6000_emit_move (operands[0], operands[1], <MODE>mode);
!   DONE;
! })
  
  ;; Vector shift right in bits. Currently supported ony for shift
  ;; amounts that can be expressed as byte shifts (divisible by 8).
diff -Nrcpad gcc-9.4.0/gcc/config/s390/s390.md gcc-9.5.0/gcc/config/s390/s390.md
*** gcc-9.4.0/gcc/config/s390/s390.md	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/s390/s390.md	Fri May 27 07:21:11 2022
***************
*** 973,979 ****
  	(match_operand:GPR 2 "memory_operand"))
     (set (reg CC_REGNUM)
  	(compare (match_dup 0) (match_operand:GPR 1 "const0_operand")))]
!   "s390_match_ccmode(insn, CCSmode) && TARGET_EXTIMM
     && GENERAL_REG_P (operands[0])
     && satisfies_constraint_T (operands[2])
     && !contains_constant_pool_address_p (operands[2])"
--- 973,979 ----
  	(match_operand:GPR 2 "memory_operand"))
     (set (reg CC_REGNUM)
  	(compare (match_dup 0) (match_operand:GPR 1 "const0_operand")))]
!   "s390_match_ccmode (peep2_next_insn (1), CCSmode) && TARGET_EXTIMM
     && GENERAL_REG_P (operands[0])
     && satisfies_constraint_T (operands[2])
     && !contains_constant_pool_address_p (operands[2])"
***************
*** 9268,9274 ****
  (define_insn "*cmp_and_trap_unsigned_int<mode>"
    [(trap_if (match_operator 0 "s390_unsigned_integer_comparison"
  	       [(match_operand:GPR 1 "register_operand" "d,d,d")
! 		(match_operand:GPR 2 "general_operand"  "d,D,T")])
  	    (const_int 0))]
    "TARGET_Z10"
    "@
--- 9268,9274 ----
  (define_insn "*cmp_and_trap_unsigned_int<mode>"
    [(trap_if (match_operator 0 "s390_unsigned_integer_comparison"
  	       [(match_operand:GPR 1 "register_operand" "d,d,d")
! 		(match_operand:GPR 2 "general_operand"  "d,D,S")])
  	    (const_int 0))]
    "TARGET_Z10"
    "@
diff -Nrcpad gcc-9.4.0/gcc/config/s390/vecintrin.h gcc-9.5.0/gcc/config/s390/vecintrin.h
*** gcc-9.4.0/gcc/config/s390/vecintrin.h	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/s390/vecintrin.h	Fri May 27 07:21:11 2022
*************** __lcbb(const void *ptr, int bndry)
*** 109,116 ****
  #define vec_rint(X)   __builtin_s390_vfi((X), 0, 0)
  #define vec_roundc(X) __builtin_s390_vfi((X), 4, 0)
  #define vec_round(X)  __builtin_s390_vfi((X), 4, 4)
! #define vec_doublee(X) __builtin_s390_vfll((X))
! #define vec_floate(X) __builtin_s390_vflr((X), 0, 0)
  #define vec_load_len_r(X,L)				\
    (__vector unsigned char)__builtin_s390_vlrlr((L),(X))
  #define vec_store_len_r(X,Y,L) \
--- 109,116 ----
  #define vec_rint(X)   __builtin_s390_vfi((X), 0, 0)
  #define vec_roundc(X) __builtin_s390_vfi((X), 4, 0)
  #define vec_round(X)  __builtin_s390_vfi((X), 4, 4)
! #define vec_doublee(X) __builtin_s390_vflls((X))
! #define vec_floate(X) __builtin_s390_vflrd((X), 0, 0)
  #define vec_load_len_r(X,L)				\
    (__vector unsigned char)__builtin_s390_vlrlr((L),(X))
  #define vec_store_len_r(X,Y,L) \
diff -Nrcpad gcc-9.4.0/gcc/config/sparc/sparc.c gcc-9.5.0/gcc/config/sparc/sparc.c
*** gcc-9.4.0/gcc/config/sparc/sparc.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/config/sparc/sparc.c	Fri May 27 07:21:11 2022
*************** epilogue_renumber (register rtx *where,
*** 8883,8890 ****
        if (REGNO (*where) >= 8 && REGNO (*where) < 24)      /* oX or lX */
  	return 1;
        if (! test && REGNO (*where) >= 24 && REGNO (*where) < 32)
! 	*where = gen_rtx_REG (GET_MODE (*where), OUTGOING_REGNO (REGNO(*where)));
!       /* fallthrough */
      case SCRATCH:
      case CC0:
      case PC:
--- 8883,8902 ----
        if (REGNO (*where) >= 8 && REGNO (*where) < 24)      /* oX or lX */
  	return 1;
        if (! test && REGNO (*where) >= 24 && REGNO (*where) < 32)
! 	{
! 	  if (ORIGINAL_REGNO (*where))
! 	    {
! 	      rtx n = gen_raw_REG (GET_MODE (*where),
! 				   OUTGOING_REGNO (REGNO (*where)));
! 	      ORIGINAL_REGNO (n) = ORIGINAL_REGNO (*where);
! 	      *where = n;
! 	    }
! 	  else
! 	    *where = gen_rtx_REG (GET_MODE (*where),
! 				  OUTGOING_REGNO (REGNO (*where)));
! 	}
!       return 0;
! 
      case SCRATCH:
      case CC0:
      case PC:
*************** sparc_vectorize_vec_perm_const (machine_
*** 12941,12949 ****
    if (!TARGET_VIS2)
      return false;
  
!   /* All permutes are supported.  */
    if (!target)
!     return true;
  
    /* Force target-independent code to convert constant permutations on other
       modes down to V8QI.  Rely on this to avoid the complexity of the byte
--- 12953,12961 ----
    if (!TARGET_VIS2)
      return false;
  
!   /* All 8-byte permutes are supported.  */
    if (!target)
!     return GET_MODE_SIZE (vmode) == 8;
  
    /* Force target-independent code to convert constant permutations on other
       modes down to V8QI.  Rely on this to avoid the complexity of the byte
diff -Nrcpad gcc-9.4.0/gcc/configure gcc-9.5.0/gcc/configure
*** gcc-9.4.0/gcc/configure	Tue Jun  1 07:53:40 2021
--- gcc-9.5.0/gcc/configure	Fri May 27 07:21:46 2022
*************** $as_echo "#define HAVE_LD_PPC_GNU_ATTR_L
*** 28944,28950 ****
  esac
  
  case "$target:$tm_file" in
!   powerpc64-*-freebsd* | powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*)
    case "$target" in
       *le-*-linux*)
       emul_name="-melf64lppc"
--- 28944,28950 ----
  esac
  
  case "$target:$tm_file" in
!   powerpc64*-*-freebsd* | powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*)
    case "$target" in
       *le-*-linux*)
       emul_name="-melf64lppc"
diff -Nrcpad gcc-9.4.0/gcc/configure.ac gcc-9.5.0/gcc/configure.ac
*** gcc-9.4.0/gcc/configure.ac	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/configure.ac	Fri May 27 07:21:11 2022
*************** EOF
*** 5671,5677 ****
  esac
  
  case "$target:$tm_file" in
!   powerpc64-*-freebsd* | powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*)
    case "$target" in
       *le-*-linux*)
       emul_name="-melf64lppc"
--- 5671,5677 ----
  esac
  
  case "$target:$tm_file" in
!   powerpc64*-*-freebsd* | powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*)
    case "$target" in
       *le-*-linux*)
       emul_name="-melf64lppc"
diff -Nrcpad gcc-9.4.0/gcc/coretypes.h gcc-9.5.0/gcc/coretypes.h
*** gcc-9.4.0/gcc/coretypes.h	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/coretypes.h	Fri May 27 07:21:11 2022
*************** enum profile_update {
*** 202,216 ****
    PROFILE_UPDATE_PREFER_ATOMIC
  };
  
! /* Types of unwind/exception handling info that can be generated.  */
  
  enum unwind_info_type
  {
    UI_NONE,
    UI_SJLJ,
    UI_DWARF2,
!   UI_TARGET,
!   UI_SEH
  };
  
  /* Callgraph node profile representation.  */
--- 202,218 ----
    PROFILE_UPDATE_PREFER_ATOMIC
  };
  
! /* Types of unwind/exception handling info that can be generated.
!    Note that a UI_TARGET (or larger) setting is considered to be
!    incompatible with -freorder-blocks-and-partition.  */
  
  enum unwind_info_type
  {
    UI_NONE,
    UI_SJLJ,
    UI_DWARF2,
!   UI_SEH,
!   UI_TARGET
  };
  
  /* Callgraph node profile representation.  */
diff -Nrcpad gcc-9.4.0/gcc/cp/ChangeLog gcc-9.5.0/gcc/cp/ChangeLog
*** gcc-9.4.0/gcc/cp/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/cp/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,325 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/101078
+ 	* pt.c (tsubst_baselink): Update binfos in non-dependent case.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/99066
+ 	* pt.c (mark_decl_instantiated): Set DECL_EXTERNAL.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/100838
+ 	PR c++/105265
+ 	* call.c (convert_like_internal): Clear tf_no_cleanup when
+ 	recursing.
+ 	(build_user_type_conversion_1): Only add ck_rvalue if
+ 	LOOKUP_ONLYCONVERTING.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/91217
+ 	* pt.c (tsubst_lambda_expr): Skip the body block from
+ 	DECL_SAVED_TREE.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/99643
+ 	* typeck2.c (massage_init_elt): Don't strip TARGET_EXPR.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/65211
+ 	* pt.c (tsubst_decl) [TYPE_DECL]: Copy TYPE_ALIGN.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/101698
+ 	* pt.c (tsubst_baselink): Also check dependent optype.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/101442
+ 	* decl.c (cp_finish_decl): Don't pass decl to push_cleanup.
+ 	* init.c (perform_member_init): Likewise.
+ 	* semantics.c (push_cleanup): Adjust comment.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/98249
+ 	* call.c (build_operator_new_call): Just look in ::.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/104646
+ 	* constexpr.c (maybe_save_constexpr_fundef): Don't do extra
+ 	checks for defaulted ctors.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/59950
+ 	* call.c (build_over_call): Use cp_build_indirect_ref.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/99901
+ 	* decl.c (cp_finish_decl): mark_needed an implicitly inline
+ 	static data member with an out-of-class redeclaration.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/101717
+ 	* lambda.c (lambda_expr_this_capture): Check all enclosing
+ 	lambdas for completeness.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/90664
+ 	* cvt.c (can_convert_qual): Check fnptr_conv_p.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/95870
+ 	* pt.c (enclosing_instantiation_of): Compare DECL_SOURCE_LOCATION if
+ 	there is no enclosing non-lambda function.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/96311
+ 	* typeck.c (check_return_expr): Call mark_exp_read in dependent
+ 	case.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/96673
+ 	* init.c (get_nsdmi): Don't defer access checking.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/91933
+ 	* class.c (build_base_path): Shortcut simple non-pointer case.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/100032
+ 	* pt.c (get_underlying_template): Compare TYPE_QUALS.
+ 
+ 2022-05-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/67184
+ 	PR c++/69445
+ 	* call.c (build_new_method_call_1): Remove set but not used variable
+ 	binfo.
+ 
+ 2022-05-11  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-26  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/103455
+ 	* call.c (add_builtin_candidate) <case MEMBER_REF>: Test
+ 	CLASS_TYPE_P instead of MAYBE_CLASS_TYPE_P.
+ 
+ 2022-05-11  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-25  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/101532
+ 	PR c++/104225
+ 	* decl2.c (mark_used): Don't consider maybe_instantiate_noexcept
+ 	on a deleted function.
+ 
+ 2022-05-11  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-04-14  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/83476
+ 	PR c++/99885
+ 	* pt.c (deducible_expression): Look through implicit
+ 	INDIRECT_REFs as well.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/105256
+ 	* typeck2.c (process_init_constructor_array,
+ 	process_init_constructor_record, process_init_constructor_union): Move
+ 	CONSTRUCTOR_PLACEHOLDER_BOUNDARY flag from CONSTRUCTOR elements to the
+ 	containing CONSTRUCTOR.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* parser.c (cp_parser_postfix_expression)
+ 	<case RID_BILTIN_CONVERTVECTOR>: Don't
+ 	return cp_build_vec_convert result right away, instead
+ 	set postfix_expression to it and break.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/104994
+ 	* constexpr.c (potential_constant_expression_1): Don't diagnose extern
+ 	thread_local declarations.
+ 	* decl.c (start_decl): Likewise.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/104711
+ 	* constexpr.c (cxx_eval_check_shift_p): Use TYPE_OVERFLOW_WRAPS
+ 	instead of TYPE_UNSIGNED.
+ 	* typeck.c (cp_build_binary_op): Don't emit
+ 	-Wshift-negative-value warning if TYPE_OVERFLOW_WRAPS.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/104806
+ 	* search.c (lookup_field_fuzzy_info::fuzzy_lookup_field): Ignore
+ 	identifiers with space at the end.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/104513
+ 	* constexpr.c (potential_constant_expression_1) <case GOTO_EXPR>:
+ 	Don't punt if returns (target).
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/104472
+ 	* constexpr.c (cxx_eval_internal_function) <case IFN_VEC_CONVERT>:
+ 	Only return fold_const_call result if it is non-NULL.  Otherwise
+ 	fall through into the default: case to return t, set *non_constant_p
+ 	and emit diagnostics if needed.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/70796
+ 	* cp-gimplify.c (cp_gimplify_arg): New function.
+ 	(cp_gimplify_expr): Use cp_gimplify_arg instead of gimplify_arg,
+ 	pass true as last argument to it if there are any following
+ 	arguments in strong evaluation order with side-effects.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/102786
+ 	* constexpr.c (cxx_eval_constant_expression): Don't reject
+ 	INTEGER_CSTs with type POINTER_TYPE to METHOD_TYPE.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/102548
+ 	* tree.c (apply_identity_attributes): Fix handling of the
+ 	case where an attribute in the list doesn't affect type
+ 	identity but some attribute before it does.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/88578
+ 	PR c++/102295
+ 	* typeck2.c (split_nonconstant_init_1): Don't throw away empty
+ 	initializers of flexible array members if they have non-zero type
+ 	size.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/102295
+ 	* decl.c (layout_var_decl): For aggregates ending with a flexible
+ 	array member, add the size of the initializer for that member to
+ 	DECL_SIZE and DECL_SIZE_UNIT.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/102305
+ 	* method.c (is_xible_helper): Call complete_type on to.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/101516
+ 	* semantics.c (finish_omp_reduction_clause): Also call
+ 	complete_type_or_else and return true if it fails.
+ 
+ 2022-05-11  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	* semantics.c (finish_omp_reduction_clause): Accept float + complex
+ 	for || and && reductions.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/101443
+ 	* cp-gimplify.c (cp_fold): For comparisons with NULLPTR_TYPE
+ 	operands, fold them right away to true or false.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR inline-asm/100785
+ 	* typeck.c (cxx_mark_addressable): Diagnose trying to make
+ 	bit-fields addressable.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-05-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/100666
+ 	* call.c (convert_arg_to_ellipsis): For expressions with NULLPTR_TYPE
+ 	and side-effects, temporarily disable -Wunused-result warning when
+ 	building COMPOUND_EXPR.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/cp/call.c gcc-9.5.0/gcc/cp/call.c
*** gcc-9.4.0/gcc/cp/call.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/call.c	Fri May 27 07:21:11 2022
*************** add_builtin_candidate (struct z_candidat
*** 2684,2690 ****
  	  tree c1 = TREE_TYPE (type1);
  	  tree c2 = TYPE_PTRMEM_CLASS_TYPE (type2);
  
! 	  if (MAYBE_CLASS_TYPE_P (c1) && DERIVED_FROM_P (c2, c1)
  	      && (TYPE_PTRMEMFUNC_P (type2)
  		  || is_complete (TYPE_PTRMEM_POINTED_TO_TYPE (type2))))
  	    break;
--- 2684,2690 ----
  	  tree c1 = TREE_TYPE (type1);
  	  tree c2 = TYPE_PTRMEM_CLASS_TYPE (type2);
  
! 	  if (CLASS_TYPE_P (c1) && DERIVED_FROM_P (c2, c1)
  	      && (TYPE_PTRMEMFUNC_P (type2)
  		  || is_complete (TYPE_PTRMEM_POINTED_TO_TYPE (type2))))
  	    break;
*************** build_user_type_conversion_1 (tree totyp
*** 3959,3965 ****
  	{
  	  cand->second_conv = build_identity_conv (totype, NULL_TREE);
  
! 	  /* If totype isn't a reference, and LOOKUP_NO_TEMP_BIND isn't
  	     set, then this is copy-initialization.  In that case, "The
  	     result of the call is then used to direct-initialize the
  	     object that is the destination of the copy-initialization."
--- 3959,3965 ----
  	{
  	  cand->second_conv = build_identity_conv (totype, NULL_TREE);
  
! 	  /* If totype isn't a reference, and LOOKUP_ONLYCONVERTING is
  	     set, then this is copy-initialization.  In that case, "The
  	     result of the call is then used to direct-initialize the
  	     object that is the destination of the copy-initialization."
*************** build_user_type_conversion_1 (tree totyp
*** 3968,3973 ****
--- 3968,3975 ----
  	     We represent this in the conversion sequence with an
  	     rvalue conversion, which means a constructor call.  */
  	  if (!TYPE_REF_P (totype)
+ 	      && cxx_dialect < cxx17
+ 	      && (flags & LOOKUP_ONLYCONVERTING)
  	      && !(convflags & LOOKUP_NO_TEMP_BIND))
  	    cand->second_conv
  	      = build_conv (ck_rvalue, totype, cand->second_conv);
*************** build_operator_new_call (tree fnname, ve
*** 4584,4590 ****
  
       we disregard block-scope declarations of "operator new".  */
    fns = lookup_name_real (fnname, 0, 1, /*block_p=*/false, 0, 0);
-   fns = lookup_arg_dependent (fnname, fns, *args);
  
    if (align_arg)
      {
--- 4586,4591 ----
*************** convert_like_real (conversion *convs, tr
*** 7315,7321 ****
    expr = convert_like_real (next_conversion (convs), expr, fn, argnum,
  			    convs->kind == ck_ref_bind
  			    ? issue_conversion_warnings : false, 
! 			    c_cast_p, complain);
    if (expr == error_mark_node)
      return error_mark_node;
  
--- 7316,7322 ----
    expr = convert_like_real (next_conversion (convs), expr, fn, argnum,
  			    convs->kind == ck_ref_bind
  			    ? issue_conversion_warnings : false, 
! 			    c_cast_p, complain & ~tf_no_cleanup);
    if (expr == error_mark_node)
      return error_mark_node;
  
*************** convert_arg_to_ellipsis (tree arg, tsubs
*** 7564,7570 ****
    else if (NULLPTR_TYPE_P (arg_type))
      {
        if (TREE_SIDE_EFFECTS (arg))
! 	arg = cp_build_compound_expr (arg, null_pointer_node, complain);
        else
  	arg = null_pointer_node;
      }
--- 7565,7574 ----
    else if (NULLPTR_TYPE_P (arg_type))
      {
        if (TREE_SIDE_EFFECTS (arg))
! 	{
! 	  warning_sentinel w(warn_unused_result);
! 	  arg = cp_build_compound_expr (arg, null_pointer_node, complain);
! 	}
        else
  	arg = null_pointer_node;
      }
*************** build_over_call (struct z_candidate *can
*** 8659,8666 ****
  	   && DECL_OVERLOADED_OPERATOR_IS (fn, NOP_EXPR)
  	   && trivial_fn_p (fn))
      {
!       tree to = cp_stabilize_reference
! 	(cp_build_fold_indirect_ref (argarray[0]));
        tree type = TREE_TYPE (to);
        tree as_base = CLASSTYPE_AS_BASE (type);
        tree arg = argarray[1];
--- 8663,8673 ----
  	   && DECL_OVERLOADED_OPERATOR_IS (fn, NOP_EXPR)
  	   && trivial_fn_p (fn))
      {
!       /* Don't use cp_build_fold_indirect_ref, op= returns an lvalue even if
! 	 the object argument isn't one.  */
!       tree to = cp_build_indirect_ref (argarray[0],
! 				       RO_ARROW, complain);
!       to = cp_stabilize_reference (to);
        tree type = TREE_TYPE (to);
        tree as_base = CLASSTYPE_AS_BASE (type);
        tree arg = argarray[1];
*************** build_new_method_call_1 (tree instance,
*** 9641,9647 ****
    struct z_candidate *candidates = 0, *cand;
    tree explicit_targs = NULL_TREE;
    tree basetype = NULL_TREE;
!   tree access_binfo, binfo;
    tree optype;
    tree first_mem_arg = NULL_TREE;
    tree name;
--- 9648,9654 ----
    struct z_candidate *candidates = 0, *cand;
    tree explicit_targs = NULL_TREE;
    tree basetype = NULL_TREE;
!   tree access_binfo;
    tree optype;
    tree first_mem_arg = NULL_TREE;
    tree name;
*************** build_new_method_call_1 (tree instance,
*** 9680,9686 ****
    if (!conversion_path)
      conversion_path = BASELINK_BINFO (fns);
    access_binfo = BASELINK_ACCESS_BINFO (fns);
-   binfo = BASELINK_BINFO (fns);
    optype = BASELINK_OPTYPE (fns);
    fns = BASELINK_FUNCTIONS (fns);
    if (TREE_CODE (fns) == TEMPLATE_ID_EXPR)
--- 9687,9692 ----
diff -Nrcpad gcc-9.4.0/gcc/cp/class.c gcc-9.5.0/gcc/cp/class.c
*** gcc-9.4.0/gcc/cp/class.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/class.c	Fri May 27 07:21:11 2022
*************** build_base_path (enum tree_code code,
*** 331,336 ****
--- 331,345 ----
        return error_mark_node;
      }
  
+   bool uneval = (cp_unevaluated_operand != 0
+ 		 || processing_template_decl
+ 		 || in_template_function ());
+ 
+   /* For a non-pointer simple base reference, express it as a COMPONENT_REF
+      without taking its address (and so causing lambda capture, 91933).  */
+   if (code == PLUS_EXPR && !v_binfo && !want_pointer && !has_empty && !uneval)
+     return build_simple_base_path (expr, binfo);
+ 
    if (!want_pointer)
      {
        rvalue = !lvalue_p (expr);
*************** build_base_path (enum tree_code code,
*** 358,366 ****
       template (even in instantiate_non_dependent_expr), we don't have vtables
       set up properly yet, and the value doesn't matter there either; we're
       just interested in the result of overload resolution.  */
!   if (cp_unevaluated_operand != 0
!       || processing_template_decl
!       || in_template_function ())
      {
        expr = build_nop (ptr_target_type, expr);
        goto indout;
--- 367,373 ----
       template (even in instantiate_non_dependent_expr), we don't have vtables
       set up properly yet, and the value doesn't matter there either; we're
       just interested in the result of overload resolution.  */
!   if (uneval)
      {
        expr = build_nop (ptr_target_type, expr);
        goto indout;
diff -Nrcpad gcc-9.4.0/gcc/cp/constexpr.c gcc-9.5.0/gcc/cp/constexpr.c
*** gcc-9.4.0/gcc/cp/constexpr.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/constexpr.c	Fri May 27 07:21:11 2022
*************** register_constexpr_fundef (tree fun, tre
*** 890,896 ****
        return NULL;
      }
  
!   if (DECL_CONSTRUCTOR_P (fun)
        && cx_check_missing_mem_inits (DECL_CONTEXT (fun),
  				     massaged, !DECL_GENERATED_P (fun)))
      return NULL;
--- 890,896 ----
        return NULL;
      }
  
!   if (DECL_CONSTRUCTOR_P (fun) && !DECL_DEFAULTED_FN (fun)
        && cx_check_missing_mem_inits (DECL_CONTEXT (fun),
  				     massaged, !DECL_GENERATED_P (fun)))
      return NULL;
*************** cxx_eval_internal_function (const conste
*** 1529,1541 ****
  						 false, non_constant_p,
  						 overflow_p);
  	if (TREE_CODE (arg) == VECTOR_CST)
! 	  return fold_const_call (CFN_VEC_CONVERT, TREE_TYPE (t), arg);
! 	else
! 	  {
! 	    *non_constant_p = true;
! 	    return t;
! 	  }
        }
  
      default:
        if (!ctx->quiet)
--- 1529,1538 ----
  						 false, non_constant_p,
  						 overflow_p);
  	if (TREE_CODE (arg) == VECTOR_CST)
! 	  if (tree r = fold_const_call (CFN_VEC_CONVERT, TREE_TYPE (t), arg))
! 	    return r;
        }
+       /* FALLTHRU */
  
      default:
        if (!ctx->quiet)
*************** cxx_eval_check_shift_p (location_t loc,
*** 2063,2069 ****
       The value of E1 << E2 is the unique value congruent to E1 x 2^E2 modulo
       2^N, where N is the range exponent of the type of the result.  */
    if (code == LSHIFT_EXPR
!       && !TYPE_UNSIGNED (lhstype)
        && cxx_dialect >= cxx11
        && cxx_dialect < cxx2a)
      {
--- 2060,2066 ----
       The value of E1 << E2 is the unique value congruent to E1 x 2^E2 modulo
       2^N, where N is the range exponent of the type of the result.  */
    if (code == LSHIFT_EXPR
!       && !TYPE_OVERFLOW_WRAPS (lhstype)
        && cxx_dialect >= cxx11
        && cxx_dialect < cxx2a)
      {
*************** cxx_eval_constant_expression (const cons
*** 4469,4474 ****
--- 4466,4475 ----
  
        if (TREE_CODE (t) == INTEGER_CST
  	  && TYPE_PTR_P (TREE_TYPE (t))
+ 	  /* INTEGER_CST with pointer-to-method type is only used
+ 	     for a virtual method in a pointer to member function.
+ 	     Don't reject those.  */
+ 	  && TREE_CODE (TREE_TYPE (TREE_TYPE (t))) != METHOD_TYPE
  	  && !integer_zerop (t))
  	{
  	  if (!ctx->quiet)
*************** potential_constant_expression_1 (tree t,
*** 6662,6679 ****
        tmp = DECL_EXPR_DECL (t);
        if (VAR_P (tmp) && !DECL_ARTIFICIAL (tmp))
  	{
! 	  if (TREE_STATIC (tmp))
  	    {
  	      if (flags & tf_error)
  		error_at (DECL_SOURCE_LOCATION (tmp), "%qD declared "
! 			  "%<static%> in %<constexpr%> context", tmp);
  	      return false;
  	    }
! 	  else if (CP_DECL_THREAD_LOCAL_P (tmp))
  	    {
  	      if (flags & tf_error)
  		error_at (DECL_SOURCE_LOCATION (tmp), "%qD declared "
! 			  "%<thread_local%> in %<constexpr%> context", tmp);
  	      return false;
  	    }
  	  else if (!check_for_uninitialized_const_var
--- 6663,6680 ----
        tmp = DECL_EXPR_DECL (t);
        if (VAR_P (tmp) && !DECL_ARTIFICIAL (tmp))
  	{
! 	  if (CP_DECL_THREAD_LOCAL_P (tmp) && !DECL_REALLY_EXTERN (tmp))
  	    {
  	      if (flags & tf_error)
  		error_at (DECL_SOURCE_LOCATION (tmp), "%qD declared "
! 			  "%<thread_local%> in %<constexpr%> context", tmp);
  	      return false;
  	    }
! 	  else if (TREE_STATIC (tmp))
  	    {
  	      if (flags & tf_error)
  		error_at (DECL_SOURCE_LOCATION (tmp), "%qD declared "
! 			  "%<static%> in %<constexpr%> context", tmp);
  	      return false;
  	    }
  	  else if (!check_for_uninitialized_const_var
*************** potential_constant_expression_1 (tree t,
*** 6927,6934 ****
      case GOTO_EXPR:
        {
  	tree *target = &TREE_OPERAND (t, 0);
! 	/* Gotos representing break and continue are OK.  */
! 	if (breaks (target) || continues (target))
  	  {
  	    *jump_target = *target;
  	    return true;
--- 6928,6935 ----
      case GOTO_EXPR:
        {
  	tree *target = &TREE_OPERAND (t, 0);
! 	/* Gotos representing break, continue and cdtor return are OK.  */
! 	if (breaks (target) || continues (target) || returns (target))
  	  {
  	    *jump_target = *target;
  	    return true;
diff -Nrcpad gcc-9.4.0/gcc/cp/cp-gimplify.c gcc-9.5.0/gcc/cp/cp-gimplify.c
*** gcc-9.4.0/gcc/cp/cp-gimplify.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/cp-gimplify.c	Fri May 27 07:21:11 2022
*************** lvalue_has_side_effects (tree e)
*** 637,642 ****
--- 637,683 ----
      return TREE_SIDE_EFFECTS (e);
  }
  
+ /* Like gimplify_arg, but if ORDERED is set (which should be set if
+    any of the arguments this argument is sequenced before has
+    TREE_SIDE_EFFECTS set, make sure expressions with is_gimple_reg_type type
+    are gimplified into SSA_NAME or a fresh temporary and for
+    non-is_gimple_reg_type we don't optimize away TARGET_EXPRs.  */
+ 
+ static enum gimplify_status
+ cp_gimplify_arg (tree *arg_p, gimple_seq *pre_p, location_t call_location,
+ 		 bool ordered)
+ {
+   enum gimplify_status t;
+   if (ordered
+       && !is_gimple_reg_type (TREE_TYPE (*arg_p))
+       && TREE_CODE (*arg_p) == TARGET_EXPR)
+     {
+       /* gimplify_arg would strip away the TARGET_EXPR, but
+ 	 that can mean we don't copy the argument and some following
+ 	 argument with side-effect could modify it.  */
+       protected_set_expr_location (*arg_p, call_location);
+       return gimplify_expr (arg_p, pre_p, NULL, is_gimple_lvalue, fb_either);
+     }
+   else
+     {
+       t = gimplify_arg (arg_p, pre_p, call_location);
+       if (t == GS_ERROR)
+ 	return GS_ERROR;
+       else if (ordered
+ 	       && is_gimple_reg_type (TREE_TYPE (*arg_p))
+ 	       && is_gimple_variable (*arg_p)
+ 	       && TREE_CODE (*arg_p) != SSA_NAME
+ 	       /* No need to force references into register, references
+ 		  can't be modified.  */
+ 	       && !TYPE_REF_P (TREE_TYPE (*arg_p))
+ 	       /* And this can't be modified either.  */
+ 	       && *arg_p != current_class_ptr)
+ 	*arg_p = get_initialized_tmp_var (*arg_p, pre_p, NULL);
+       return t;
+     }
+ 
+ }
+ 
  /* Do C++-specific gimplification.  Args are as for gimplify_expr.  */
  
  int
*************** cp_gimplify_expr (tree *expr_p, gimple_s
*** 846,852 ****
  	  gcc_assert (call_expr_nargs (*expr_p) == 2);
  	  gcc_assert (!CALL_EXPR_ORDERED_ARGS (*expr_p));
  	  enum gimplify_status t
! 	    = gimplify_arg (&CALL_EXPR_ARG (*expr_p, 1), pre_p, loc);
  	  if (t == GS_ERROR)
  	    ret = GS_ERROR;
  	}
--- 887,894 ----
  	  gcc_assert (call_expr_nargs (*expr_p) == 2);
  	  gcc_assert (!CALL_EXPR_ORDERED_ARGS (*expr_p));
  	  enum gimplify_status t
! 	    = cp_gimplify_arg (&CALL_EXPR_ARG (*expr_p, 1), pre_p, loc,
! 			       TREE_SIDE_EFFECTS (CALL_EXPR_ARG (*expr_p, 0)));
  	  if (t == GS_ERROR)
  	    ret = GS_ERROR;
  	}
*************** cp_gimplify_expr (tree *expr_p, gimple_s
*** 855,864 ****
  	  /* Leave the last argument for gimplify_call_expr, to avoid problems
  	     with __builtin_va_arg_pack().  */
  	  int nargs = call_expr_nargs (*expr_p) - 1;
  	  for (int i = 0; i < nargs; ++i)
  	    {
  	      enum gimplify_status t
! 		= gimplify_arg (&CALL_EXPR_ARG (*expr_p, i), pre_p, loc);
  	      if (t == GS_ERROR)
  		ret = GS_ERROR;
  	    }
--- 897,914 ----
  	  /* Leave the last argument for gimplify_call_expr, to avoid problems
  	     with __builtin_va_arg_pack().  */
  	  int nargs = call_expr_nargs (*expr_p) - 1;
+ 	  int last_side_effects_arg = -1;
+ 	  for (int i = nargs; i > 0; --i)
+ 	    if (TREE_SIDE_EFFECTS (CALL_EXPR_ARG (*expr_p, i)))
+ 	      {
+ 		last_side_effects_arg = i;
+ 		break;
+ 	      }
  	  for (int i = 0; i < nargs; ++i)
  	    {
  	      enum gimplify_status t
! 		= cp_gimplify_arg (&CALL_EXPR_ARG (*expr_p, i), pre_p, loc,
! 				   i < last_side_effects_arg);
  	      if (t == GS_ERROR)
  		ret = GS_ERROR;
  	    }
*************** cp_gimplify_expr (tree *expr_p, gimple_s
*** 872,879 ****
  	    fntype = TREE_TYPE (fntype);
  	  if (TREE_CODE (fntype) == METHOD_TYPE)
  	    {
  	      enum gimplify_status t
! 		= gimplify_arg (&CALL_EXPR_ARG (*expr_p, 0), pre_p, loc);
  	      if (t == GS_ERROR)
  		ret = GS_ERROR;
  	    }
--- 922,938 ----
  	    fntype = TREE_TYPE (fntype);
  	  if (TREE_CODE (fntype) == METHOD_TYPE)
  	    {
+ 	      int nargs = call_expr_nargs (*expr_p);
+ 	      bool side_effects = false;
+ 	      for (int i = 1; i < nargs; ++i)
+ 		if (TREE_SIDE_EFFECTS (CALL_EXPR_ARG (*expr_p, i)))
+ 		  {
+ 		    side_effects = true;
+ 		    break;
+ 		  }
  	      enum gimplify_status t
! 		= cp_gimplify_arg (&CALL_EXPR_ARG (*expr_p, 0), pre_p, loc,
! 				   side_effects);
  	      if (t == GS_ERROR)
  		ret = GS_ERROR;
  	    }
*************** cp_fold (tree x)
*** 2537,2542 ****
--- 2596,2627 ----
        op0 = cp_fold_maybe_rvalue (TREE_OPERAND (x, 0), rval_ops);
        op1 = cp_fold_rvalue (TREE_OPERAND (x, 1));
  
+       /* decltype(nullptr) has only one value, so optimize away all comparisons
+ 	 with that type right away, keeping them in the IL causes troubles for
+ 	 various optimizations.  */
+       if (COMPARISON_CLASS_P (org_x)
+ 	  && TREE_CODE (TREE_TYPE (op0)) == NULLPTR_TYPE
+ 	  && TREE_CODE (TREE_TYPE (op1)) == NULLPTR_TYPE)
+ 	{
+ 	  switch (code)
+ 	    {
+ 	    case EQ_EXPR:
+ 	    case LE_EXPR:
+ 	    case GE_EXPR:
+ 	      x = constant_boolean_node (true, TREE_TYPE (x));
+ 	      break;
+ 	    case NE_EXPR:
+ 	    case LT_EXPR:
+ 	    case GT_EXPR:
+ 	      x = constant_boolean_node (false, TREE_TYPE (x));
+ 	      break;
+ 	    default:
+ 	      gcc_unreachable ();
+ 	    }
+ 	  return omit_two_operands_loc (loc, TREE_TYPE (x), x,
+ 					op0, op1);
+ 	}
+ 
        if (op0 != TREE_OPERAND (x, 0) || op1 != TREE_OPERAND (x, 1))
  	{
  	  if (op0 == error_mark_node || op1 == error_mark_node)
diff -Nrcpad gcc-9.4.0/gcc/cp/cvt.c gcc-9.5.0/gcc/cp/cvt.c
*** gcc-9.4.0/gcc/cp/cvt.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/cvt.c	Fri May 27 07:21:11 2022
*************** can_convert_qual (tree type, tree expr)
*** 1960,1965 ****
--- 1960,1970 ----
    tree expr_type = TREE_TYPE (expr);
    gcc_assert (!same_type_p (type, expr_type));
  
+   /* A function pointer conversion also counts as a Qualification Adjustment
+      under [over.ics.scs].  */
+   if (fnptr_conv_p (type, expr_type))
+     return true;
+ 
    if (TYPE_PTR_P (type) && TYPE_PTR_P (expr_type))
      return comp_ptr_ttypes (TREE_TYPE (type), TREE_TYPE (expr_type));
    else if (TYPE_PTRMEM_P (type) && TYPE_PTRMEM_P (expr_type))
diff -Nrcpad gcc-9.4.0/gcc/cp/decl.c gcc-9.5.0/gcc/cp/decl.c
*** gcc-9.4.0/gcc/cp/decl.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/decl.c	Fri May 27 07:21:11 2022
*************** start_decl (const cp_declarator *declara
*** 5267,5273 ****
        && DECL_DECLARED_CONSTEXPR_P (current_function_decl))
      {
        bool ok = false;
!       if (CP_DECL_THREAD_LOCAL_P (decl))
  	error_at (DECL_SOURCE_LOCATION (decl),
  		  "%qD declared %<thread_local%> in %<constexpr%> function",
  		  decl);
--- 5267,5273 ----
        && DECL_DECLARED_CONSTEXPR_P (current_function_decl))
      {
        bool ok = false;
!       if (CP_DECL_THREAD_LOCAL_P (decl) && !DECL_REALLY_EXTERN (decl))
  	error_at (DECL_SOURCE_LOCATION (decl),
  		  "%qD declared %<thread_local%> in %<constexpr%> function",
  		  decl);
*************** layout_var_decl (tree decl)
*** 5616,5621 ****
--- 5616,5653 ----
  	  error_at (DECL_SOURCE_LOCATION (decl),
  		    "storage size of %qD isn%'t constant", decl);
  	  TREE_TYPE (decl) = error_mark_node;
+ 	  type = error_mark_node;
+ 	}
+     }
+ 
+   /* If the final element initializes a flexible array field, add the size of
+      that initializer to DECL's size.  */
+   if (type != error_mark_node
+       && DECL_INITIAL (decl)
+       && TREE_CODE (DECL_INITIAL (decl)) == CONSTRUCTOR
+       && !vec_safe_is_empty (CONSTRUCTOR_ELTS (DECL_INITIAL (decl)))
+       && DECL_SIZE (decl) != NULL_TREE
+       && TREE_CODE (DECL_SIZE (decl)) == INTEGER_CST
+       && TYPE_SIZE (type) != NULL_TREE
+       && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
+       && tree_int_cst_equal (DECL_SIZE (decl), TYPE_SIZE (type)))
+     {
+       constructor_elt &elt = CONSTRUCTOR_ELTS (DECL_INITIAL (decl))->last ();
+       if (elt.index)
+ 	{
+ 	  tree itype = TREE_TYPE (elt.index);
+ 	  tree vtype = TREE_TYPE (elt.value);
+ 	  if (TREE_CODE (itype) == ARRAY_TYPE
+ 	      && TYPE_DOMAIN (itype) == NULL
+ 	      && TREE_CODE (vtype) == ARRAY_TYPE
+ 	      && COMPLETE_TYPE_P (vtype))
+ 	    {
+ 	      DECL_SIZE (decl)
+ 		= size_binop (PLUS_EXPR, DECL_SIZE (decl), TYPE_SIZE (vtype));
+ 	      DECL_SIZE_UNIT (decl)
+ 		= size_binop (PLUS_EXPR, DECL_SIZE_UNIT (decl),
+ 			      TYPE_SIZE_UNIT (vtype));
+ 	    }
  	}
      }
  }
*************** cp_finish_decl (tree decl, tree init, bo
*** 6978,6987 ****
    if (asmspec_tree && asmspec_tree != error_mark_node)
      asmspec = TREE_STRING_POINTER (asmspec_tree);
  
!   if (current_class_type
!       && CP_DECL_CONTEXT (decl) == current_class_type
!       && TYPE_BEING_DEFINED (current_class_type)
!       && !CLASSTYPE_TEMPLATE_INSTANTIATION (current_class_type)
        && (DECL_INITIAL (decl) || init))
      DECL_INITIALIZED_IN_CLASS_P (decl) = 1;
  
--- 7010,7022 ----
    if (asmspec_tree && asmspec_tree != error_mark_node)
      asmspec = TREE_STRING_POINTER (asmspec_tree);
  
!   bool in_class_decl
!     = (current_class_type
!        && CP_DECL_CONTEXT (decl) == current_class_type
!        && TYPE_BEING_DEFINED (current_class_type)
!        && !CLASSTYPE_TEMPLATE_INSTANTIATION (current_class_type));
! 
!   if (in_class_decl
        && (DECL_INITIAL (decl) || init))
      DECL_INITIALIZED_IN_CLASS_P (decl) = 1;
  
*************** cp_finish_decl (tree decl, tree init, bo
*** 7313,7318 ****
--- 7348,7360 ----
  	{
  	  layout_var_decl (decl);
  	  maybe_commonize_var (decl);
+ 	  /* A class-scope constexpr variable with an out-of-class declaration.
+ 	     C++17 makes them implicitly inline, but still force it out.  */
+ 	  if (DECL_INLINE_VAR_P (decl)
+ 	      && !DECL_VAR_DECLARED_INLINE_P (decl)
+ 	      && !DECL_TEMPLATE_INSTANTIATION (decl)
+ 	      && !in_class_decl)
+ 	    mark_needed (decl);
  	}
  
        /* This needs to happen after the linkage is set. */
*************** cp_finish_decl (tree decl, tree init, bo
*** 7400,7406 ****
      {
        unsigned i; tree t;
        FOR_EACH_VEC_ELT (*cleanups, i, t)
! 	push_cleanup (decl, t, false);
        release_tree_vector (cleanups);
      }
  
--- 7442,7448 ----
      {
        unsigned i; tree t;
        FOR_EACH_VEC_ELT (*cleanups, i, t)
! 	push_cleanup (NULL_TREE, t, false);
        release_tree_vector (cleanups);
      }
  
diff -Nrcpad gcc-9.4.0/gcc/cp/decl2.c gcc-9.5.0/gcc/cp/decl2.c
*** gcc-9.4.0/gcc/cp/decl2.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/decl2.c	Fri May 27 07:21:11 2022
*************** mark_used (tree decl, tsubst_flags_t com
*** 5403,5408 ****
--- 5403,5409 ----
      used_types_insert (DECL_CONTEXT (decl));
  
    if (TREE_CODE (decl) == FUNCTION_DECL
+       && !DECL_DELETED_FN (decl)
        && !maybe_instantiate_noexcept (decl, complain))
      return false;
  
diff -Nrcpad gcc-9.4.0/gcc/cp/init.c gcc-9.5.0/gcc/cp/init.c
*** gcc-9.4.0/gcc/cp/init.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/init.c	Fri May 27 07:21:11 2022
*************** get_nsdmi (tree member, bool in_ctor, ts
*** 591,596 ****
--- 591,597 ----
  	    {
  	      push_to_top_level ();
  	      push_nested_class (ctx);
+ 	      push_deferring_access_checks (dk_no_deferred);
  	      pushed = true;
  	    }
  
*************** get_nsdmi (tree member, bool in_ctor, ts
*** 620,625 ****
--- 621,627 ----
  
  	  if (pushed)
  	    {
+ 	      pop_deferring_access_checks ();
  	      pop_nested_class ();
  	      pop_from_top_level ();
  	    }
*************** perform_member_init (tree member, tree i
*** 876,882 ****
        init = build2 (INIT_EXPR, type, decl, init);
        finish_expr_stmt (init);
        FOR_EACH_VEC_ELT (*cleanups, i, t)
! 	push_cleanup (decl, t, false);
        release_tree_vector (cleanups);
      }
    else if (type_build_ctor_call (type)
--- 878,884 ----
        init = build2 (INIT_EXPR, type, decl, init);
        finish_expr_stmt (init);
        FOR_EACH_VEC_ELT (*cleanups, i, t)
! 	push_cleanup (NULL_TREE, t, false);
        release_tree_vector (cleanups);
      }
    else if (type_build_ctor_call (type)
diff -Nrcpad gcc-9.4.0/gcc/cp/lambda.c gcc-9.5.0/gcc/cp/lambda.c
*** gcc-9.4.0/gcc/cp/lambda.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/lambda.c	Fri May 27 07:21:11 2022
*************** lambda_expr_this_capture (tree lambda, i
*** 745,750 ****
--- 745,751 ----
      {
        tree lambda_stack = NULL_TREE;
        tree init = NULL_TREE;
+       bool saw_complete = false;
  
        /* If we are in a lambda function, we can move out until we hit:
             1. a non-lambda function or NSDMI,
*************** lambda_expr_this_capture (tree lambda, i
*** 763,768 ****
--- 764,774 ----
  				      lambda_stack);
  
  	  tree closure = LAMBDA_EXPR_CLOSURE (tlambda);
+ 	  if (COMPLETE_TYPE_P (closure))
+ 	    /* We're instantiating a generic lambda op(), the containing
+ 	       scope may be gone.  */
+ 	    saw_complete = true;
+ 
  	  tree containing_function
  	    = decl_function_context (TYPE_NAME (closure));
  
*************** lambda_expr_this_capture (tree lambda, i
*** 772,778 ****
  	      /* Lambda in an NSDMI.  We don't have a function to look up
  		 'this' in, but we can find (or rebuild) the fake one from
  		 inject_this_parameter.  */
! 	      if (!containing_function && !COMPLETE_TYPE_P (closure))
  		/* If we're parsing a lambda in a non-local class,
  		   we can find the fake 'this' in scope_chain.  */
  		init = scope_chain->x_current_class_ptr;
--- 778,784 ----
  	      /* Lambda in an NSDMI.  We don't have a function to look up
  		 'this' in, but we can find (or rebuild) the fake one from
  		 inject_this_parameter.  */
! 	      if (!containing_function && !saw_complete)
  		/* If we're parsing a lambda in a non-local class,
  		   we can find the fake 'this' in scope_chain.  */
  		init = scope_chain->x_current_class_ptr;
diff -Nrcpad gcc-9.4.0/gcc/cp/method.c gcc-9.5.0/gcc/cp/method.c
*** gcc-9.4.0/gcc/cp/method.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/method.c	Fri May 27 07:21:11 2022
*************** constructible_expr (tree to, tree from)
*** 1196,1201 ****
--- 1196,1202 ----
  static tree
  is_xible_helper (enum tree_code code, tree to, tree from, bool trivial)
  {
+   to = complete_type (to);
    if (VOID_TYPE_P (to) || ABSTRACT_CLASS_TYPE_P (to)
        || (from && FUNC_OR_METHOD_TYPE_P (from)
  	  && (TYPE_READONLY (from) || FUNCTION_REF_QUALIFIED (from))))
diff -Nrcpad gcc-9.4.0/gcc/cp/parser.c gcc-9.5.0/gcc/cp/parser.c
*** gcc-9.4.0/gcc/cp/parser.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/parser.c	Fri May 27 07:21:11 2022
*************** cp_parser_postfix_expression (cp_parser
*** 7077,7084 ****
  	}
  	/* Look for the closing `)'.  */
  	parens.require_close (parser);
! 	return cp_build_vec_convert (expression, type_location, type,
! 				     tf_warning_or_error);
        }
  
      default:
--- 7077,7086 ----
  	}
  	/* Look for the closing `)'.  */
  	parens.require_close (parser);
! 	postfix_expression
! 	  = cp_build_vec_convert (expression, type_location, type,
! 				  tf_warning_or_error);
! 	break;
        }
  
      default:
diff -Nrcpad gcc-9.4.0/gcc/cp/pt.c gcc-9.5.0/gcc/cp/pt.c
*** gcc-9.4.0/gcc/cp/pt.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/pt.c	Fri May 27 07:21:11 2022
*************** get_underlying_template (tree tmpl)
*** 6255,6260 ****
--- 6255,6264 ----
  	      != num_innermost_template_parms (underlying)))
  	break;
  
+       /* Does the alias add cv-quals?  */
+       if (TYPE_QUALS (TREE_TYPE (underlying)) != TYPE_QUALS (TREE_TYPE (tmpl)))
+ 	break;
+ 
        tree alias_args = INNERMOST_TEMPLATE_ARGS
  	(template_parms_to_args (DECL_TEMPLATE_PARMS (tmpl)));
        if (!comp_template_args (TI_ARGS (tinfo), alias_args))
*************** enclosing_instantiation_of (tree otctx)
*** 13522,13527 ****
--- 13526,13544 ----
  		  || instantiated_lambda_fn_p (tctx));
         tctx = decl_function_context (tctx))
      ++lambda_count;
+ 
+   if (!tctx)
+     {
+       /* Match using DECL_SOURCE_LOCATION, which is unique for all lambdas.
+ 
+ 	 For GCC 11 the above condition limits this to the previously failing
+ 	 case where all enclosing functions are lambdas (95870).  FIXME.  */
+       for (tree ofn = fn; ofn; ofn = decl_function_context (ofn))
+ 	if (DECL_SOURCE_LOCATION (ofn) == DECL_SOURCE_LOCATION (otctx))
+ 	  return ofn;
+       gcc_unreachable ();
+     }
+ 
    for (; fn; fn = decl_function_context (fn))
      {
        tree ofn = fn;
*************** tsubst_decl (tree t, tree args, tsubst_f
*** 14078,14083 ****
--- 14095,14107 ----
  	  {
  	    DECL_ORIGINAL_TYPE (r) = NULL_TREE;
  	    set_underlying_type (r);
+ 
+ 	    /* common_handle_aligned_attribute doesn't apply the alignment
+ 	       to DECL_ORIGINAL_TYPE.  */
+ 	    if (TYPE_USER_ALIGN (TREE_TYPE (t)))
+ 	      TREE_TYPE (r) = build_aligned_type (TREE_TYPE (r),
+ 						  TYPE_ALIGN (TREE_TYPE (t)));
+ 
  	    if (TYPE_DECL_ALIAS_P (r))
  	      /* An alias template specialization can be dependent
  		 even if its underlying type is not.  */
*************** tsubst_baselink (tree baselink, tree obj
*** 15409,15415 ****
  
    tree binfo_type = BINFO_TYPE (BASELINK_BINFO (baselink));
    binfo_type = tsubst (binfo_type, args, complain, in_decl);
!   bool dependent_p = binfo_type != BINFO_TYPE (BASELINK_BINFO (baselink));
  
    if (dependent_p)
      {
--- 15433,15440 ----
  
    tree binfo_type = BINFO_TYPE (BASELINK_BINFO (baselink));
    binfo_type = tsubst (binfo_type, args, complain, in_decl);
!   bool dependent_p = (binfo_type != BINFO_TYPE (BASELINK_BINFO (baselink))
! 		      || optype != BASELINK_OPTYPE (baselink));
  
    if (dependent_p)
      {
*************** tsubst_baselink (tree baselink, tree obj
*** 15435,15442 ****
  	fns = BASELINK_FUNCTIONS (baselink);
      }
    else
!     /* We're going to overwrite pieces below, make a duplicate.  */
!     baselink = copy_node (baselink);
  
    /* If lookup found a single function, mark it as used at this point.
       (If lookup found multiple functions the one selected later by
--- 15460,15478 ----
  	fns = BASELINK_FUNCTIONS (baselink);
      }
    else
!     {
!       /* We're going to overwrite pieces below, make a duplicate.  */
!       baselink = copy_node (baselink);
! 
!       if (qualifying_scope != BINFO_TYPE (BASELINK_ACCESS_BINFO (baselink)))
! 	{
! 	  /* The decl we found was from non-dependent scope, but we still need
! 	     to update the binfos for the instantiated qualifying_scope.  */
! 	  BASELINK_ACCESS_BINFO (baselink) = TYPE_BINFO (qualifying_scope);
! 	  BASELINK_BINFO (baselink) = lookup_base (qualifying_scope, binfo_type,
! 						   ba_unique, NULL, complain);
! 	}
!     }
  
    /* If lookup found a single function, mark it as used at this point.
       (If lookup found multiple functions the one selected later by
*************** tsubst_lambda_expr (tree t, tree args, t
*** 18447,18454 ****
  	 the purposes of template argument deduction. */
        complain = tf_warning_or_error;
  
!       tsubst_expr (DECL_SAVED_TREE (oldfn), args, complain, r,
! 		   /*constexpr*/false);
  
        finish_lambda_function (body);
  
--- 18483,18495 ----
  	 the purposes of template argument deduction. */
        complain = tf_warning_or_error;
  
!       tree saved = DECL_SAVED_TREE (oldfn);
!       if (TREE_CODE (saved) == BIND_EXPR && BIND_EXPR_BODY_BLOCK (saved))
! 	/* We already have a body block from start_lambda_function, we don't
! 	   need another to confuse NRV (91217).  */
! 	saved = BIND_EXPR_BODY (saved);
! 
!       tsubst_expr (saved, args, complain, r, /*constexpr*/false);
  
        finish_lambda_function (body);
  
*************** static bool uses_deducible_template_parm
*** 20824,20831 ****
  static bool
  deducible_expression (tree expr)
  {
!   /* Strip implicit conversions.  */
!   while (CONVERT_EXPR_P (expr) || TREE_CODE (expr) == VIEW_CONVERT_EXPR)
      expr = TREE_OPERAND (expr, 0);
    return (TREE_CODE (expr) == TEMPLATE_PARM_INDEX);
  }
--- 20865,20874 ----
  static bool
  deducible_expression (tree expr)
  {
!   /* Strip implicit conversions and implicit INDIRECT_REFs.  */
!   while (CONVERT_EXPR_P (expr)
! 	 || TREE_CODE (expr) == VIEW_CONVERT_EXPR
! 	 || REFERENCE_REF_P (expr))
      expr = TREE_OPERAND (expr, 0);
    return (TREE_CODE (expr) == TEMPLATE_PARM_INDEX);
  }
*************** mark_decl_instantiated (tree result, int
*** 23139,23145 ****
    DECL_COMDAT (result) = 0;
  
    if (extern_p)
!     DECL_NOT_REALLY_EXTERN (result) = 0;
    else
      {
        mark_definable (result);
--- 23182,23191 ----
    DECL_COMDAT (result) = 0;
  
    if (extern_p)
!     {
!       DECL_EXTERNAL (result) = 1;
!       DECL_NOT_REALLY_EXTERN (result) = 0;
!     }
    else
      {
        mark_definable (result);
diff -Nrcpad gcc-9.4.0/gcc/cp/search.c gcc-9.5.0/gcc/cp/search.c
*** gcc-9.4.0/gcc/cp/search.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/search.c	Fri May 27 07:21:11 2022
*************** lookup_field_fuzzy_info::fuzzy_lookup_fi
*** 1249,1254 ****
--- 1249,1261 ----
        if (is_lambda_ignored_entity (field))
  	continue;
  
+       /* Ignore special identifiers with space at the end like cdtor or
+ 	 conversion op identifiers.  */
+       if (TREE_CODE (DECL_NAME (field)) == IDENTIFIER_NODE)
+ 	if (unsigned int len = IDENTIFIER_LENGTH (DECL_NAME (field)))
+ 	  if (IDENTIFIER_POINTER (DECL_NAME (field))[len - 1] == ' ')
+ 	    continue;
+ 
        m_candidates.safe_push (DECL_NAME (field));
      }
  }
diff -Nrcpad gcc-9.4.0/gcc/cp/semantics.c gcc-9.5.0/gcc/cp/semantics.c
*** gcc-9.4.0/gcc/cp/semantics.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/semantics.c	Fri May 27 07:21:11 2022
*************** do_pushlevel (scope_kind sk)
*** 476,482 ****
  
  /* Queue a cleanup.  CLEANUP is an expression/statement to be executed
     when the current scope is exited.  EH_ONLY is true when this is not
!    meant to apply to normal control flow transfer.  */
  
  void
  push_cleanup (tree decl, tree cleanup, bool eh_only)
--- 476,483 ----
  
  /* Queue a cleanup.  CLEANUP is an expression/statement to be executed
     when the current scope is exited.  EH_ONLY is true when this is not
!    meant to apply to normal control flow transfer.  DECL is the VAR_DECL
!    being cleaned up, if any, or null for temporaries or subobjects.  */
  
  void
  push_cleanup (tree decl, tree cleanup, bool eh_only)
*************** finish_omp_reduction_clause (tree c, boo
*** 5682,5688 ****
        if (!processing_template_decl)
  	{
  	  t = require_complete_type (t);
! 	  if (t == error_mark_node)
  	    return true;
  	  tree size = size_binop (EXACT_DIV_EXPR, TYPE_SIZE_UNIT (oatype),
  				  TYPE_SIZE_UNIT (type));
--- 5683,5690 ----
        if (!processing_template_decl)
  	{
  	  t = require_complete_type (t);
! 	  if (t == error_mark_node
! 	      || !complete_type_or_else (oatype, NULL_TREE))
  	    return true;
  	  tree size = size_binop (EXACT_DIV_EXPR, TYPE_SIZE_UNIT (oatype),
  				  TYPE_SIZE_UNIT (type));
*************** finish_omp_reduction_clause (tree c, boo
*** 5712,5717 ****
--- 5714,5721 ----
        case PLUS_EXPR:
        case MULT_EXPR:
        case MINUS_EXPR:
+       case TRUTH_ANDIF_EXPR:
+       case TRUTH_ORIF_EXPR:
  	predefined = true;
  	break;
        case MIN_EXPR:
*************** finish_omp_reduction_clause (tree c, boo
*** 5727,5738 ****
  	  break;
  	predefined = true;
  	break;
-       case TRUTH_ANDIF_EXPR:
-       case TRUTH_ORIF_EXPR:
- 	if (FLOAT_TYPE_P (type))
- 	  break;
- 	predefined = true;
- 	break;
        default:
  	break;
        }
--- 5731,5736 ----
diff -Nrcpad gcc-9.4.0/gcc/cp/tree.c gcc-9.5.0/gcc/cp/tree.c
*** gcc-9.4.0/gcc/cp/tree.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/tree.c	Fri May 27 07:21:11 2022
*************** apply_identity_attributes (tree result,
*** 1408,1416 ****
  	      p = &TREE_CHAIN (*p);
  	    }
  	}
!       else if (first_ident)
  	{
! 	  for (tree a2 = first_ident; a2; a2 = TREE_CHAIN (a2))
  	    {
  	      *p = tree_cons (TREE_PURPOSE (a2), TREE_VALUE (a2), NULL_TREE);
  	      p = &TREE_CHAIN (*p);
--- 1408,1416 ----
  	      p = &TREE_CHAIN (*p);
  	    }
  	}
!       else if (first_ident && first_ident != error_mark_node)
  	{
! 	  for (tree a2 = first_ident; a2 != a; a2 = TREE_CHAIN (a2))
  	    {
  	      *p = tree_cons (TREE_PURPOSE (a2), TREE_VALUE (a2), NULL_TREE);
  	      p = &TREE_CHAIN (*p);
diff -Nrcpad gcc-9.4.0/gcc/cp/typeck.c gcc-9.5.0/gcc/cp/typeck.c
*** gcc-9.4.0/gcc/cp/typeck.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/typeck.c	Fri May 27 07:21:11 2022
*************** cp_build_binary_op (const op_location_t
*** 4838,4843 ****
--- 4838,4844 ----
  	  doing_shift = true;
  	  if (TREE_CODE (const_op0) == INTEGER_CST
  	      && tree_int_cst_sgn (const_op0) < 0
+ 	      && !TYPE_OVERFLOW_WRAPS (type0)
  	      && (complain & tf_warning)
  	      && c_inhibit_evaluation_warnings == 0)
  	    warning (OPT_Wshift_negative_value,
*************** cxx_mark_addressable (tree exp, bool arr
*** 6665,6673 ****
  	    && TREE_CODE (TREE_TYPE (x)) == ARRAY_TYPE
  	    && VECTOR_TYPE_P (TREE_TYPE (TREE_OPERAND (x, 0))))
  	  return true;
  	/* FALLTHRU */
        case ADDR_EXPR:
-       case COMPONENT_REF:
        case ARRAY_REF:
        case REALPART_EXPR:
        case IMAGPART_EXPR:
--- 6666,6679 ----
  	    && TREE_CODE (TREE_TYPE (x)) == ARRAY_TYPE
  	    && VECTOR_TYPE_P (TREE_TYPE (TREE_OPERAND (x, 0))))
  	  return true;
+ 	x = TREE_OPERAND (x, 0);
+ 	break;
+ 
+       case COMPONENT_REF:
+ 	if (bitfield_p (x))
+ 	  error ("attempt to take address of bit-field");
  	/* FALLTHRU */
        case ADDR_EXPR:
        case ARRAY_REF:
        case REALPART_EXPR:
        case IMAGPART_EXPR:
*************** check_return_expr (tree retval, bool *no
*** 9714,9719 ****
--- 9720,9728 ----
      dependent:
        /* We should not have changed the return value.  */
        gcc_assert (retval == saved_retval);
+       /* We don't know if this is an lvalue or rvalue use, but
+ 	 either way we can mark it as read.  */
+       mark_exp_read (retval);
        return retval;
      }
  
diff -Nrcpad gcc-9.4.0/gcc/cp/typeck2.c gcc-9.5.0/gcc/cp/typeck2.c
*** gcc-9.4.0/gcc/cp/typeck2.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/cp/typeck2.c	Fri May 27 07:21:11 2022
*************** split_nonconstant_init_1 (tree dest, tre
*** 654,660 ****
  		sub = build3 (COMPONENT_REF, inner_type, dest, field_index,
  			      NULL_TREE);
  
! 	      if (!split_nonconstant_init_1 (sub, value))
  		complete_p = false;
  	      else
  		CONSTRUCTOR_ELTS (init)->ordered_remove (idx--);
--- 654,673 ----
  		sub = build3 (COMPONENT_REF, inner_type, dest, field_index,
  			      NULL_TREE);
  
! 	      if (!split_nonconstant_init_1 (sub, value)
! 		      /* For flexible array member with initializer we
! 			 can't remove the initializer, because only the
! 			 initializer determines how many elements the
! 			 flexible array member has.  */
! 		  || (!array_type_p
! 		      && TREE_CODE (inner_type) == ARRAY_TYPE
! 		      && TYPE_DOMAIN (inner_type) == NULL
! 		      && TREE_CODE (TREE_TYPE (value)) == ARRAY_TYPE
! 		      && COMPLETE_TYPE_P (TREE_TYPE (value))
! 		      && !integer_zerop (TYPE_SIZE (TREE_TYPE (value)))
! 		      && idx == CONSTRUCTOR_NELTS (init) - 1
! 		      && TYPE_HAS_TRIVIAL_DESTRUCTOR
! 				(strip_array_types (inner_type))))
  		complete_p = false;
  	      else
  		CONSTRUCTOR_ELTS (init)->ordered_remove (idx--);
*************** massage_init_elt (tree type, tree init,
*** 1345,1353 ****
    flags &= LOOKUP_ALLOW_FLEXARRAY_INIT;
    flags |= LOOKUP_IMPLICIT;
    init = digest_init_r (type, init, nested ? 2 : 1, flags, complain);
-   /* Strip a simple TARGET_EXPR when we know this is an initializer.  */
-   if (SIMPLE_TARGET_EXPR_P (init))
-     init = TARGET_EXPR_INITIAL (init);
    /* When we defer constant folding within a statement, we may want to
       defer this folding as well.  */
    tree t = fold_non_dependent_init (init, complain);
--- 1358,1363 ----
*************** process_init_constructor_array (tree typ
*** 1425,1430 ****
--- 1435,1448 ----
  	      strip_array_types (TREE_TYPE (ce->value)))));
  
        picflags |= picflag_from_initializer (ce->value);
+       /* Propagate CONSTRUCTOR_PLACEHOLDER_BOUNDARY to outer
+ 	 CONSTRUCTOR.  */
+       if (TREE_CODE (ce->value) == CONSTRUCTOR
+ 	  && CONSTRUCTOR_PLACEHOLDER_BOUNDARY (ce->value))
+ 	{
+ 	  CONSTRUCTOR_PLACEHOLDER_BOUNDARY (init) = 1;
+ 	  CONSTRUCTOR_PLACEHOLDER_BOUNDARY (ce->value) = 0;
+ 	}
      }
  
    /* No more initializers. If the array is unbounded, we are done. Otherwise,
*************** process_init_constructor_array (tree typ
*** 1459,1464 ****
--- 1477,1490 ----
  	if (next)
  	  {
  	    picflags |= picflag_from_initializer (next);
+ 	    /* Propagate CONSTRUCTOR_PLACEHOLDER_BOUNDARY to outer
+ 	       CONSTRUCTOR.  */
+ 	    if (TREE_CODE (next) == CONSTRUCTOR
+ 		&& CONSTRUCTOR_PLACEHOLDER_BOUNDARY (next))
+ 	      {
+ 		CONSTRUCTOR_PLACEHOLDER_BOUNDARY (init) = 1;
+ 		CONSTRUCTOR_PLACEHOLDER_BOUNDARY (next) = 0;
+ 	      }
  	    if (len > i+1
  		&& (initializer_constant_valid_p (next, TREE_TYPE (next))
  		    == null_pointer_node))
*************** process_init_constructor_record (tree ty
*** 1665,1670 ****
--- 1691,1703 ----
        if (type != TREE_TYPE (field))
  	next = cp_convert_and_check (TREE_TYPE (field), next, complain);
        picflags |= picflag_from_initializer (next);
+       /* Propagate CONSTRUCTOR_PLACEHOLDER_BOUNDARY to outer CONSTRUCTOR.  */
+       if (TREE_CODE (next) == CONSTRUCTOR
+ 	  && CONSTRUCTOR_PLACEHOLDER_BOUNDARY (next))
+ 	{
+ 	  CONSTRUCTOR_PLACEHOLDER_BOUNDARY (init) = 1;
+ 	  CONSTRUCTOR_PLACEHOLDER_BOUNDARY (next) = 0;
+ 	}
        CONSTRUCTOR_APPEND_ELT (v, field, next);
      }
  
*************** process_init_constructor_union (tree typ
*** 1818,1823 ****
--- 1851,1864 ----
      ce->value = massage_init_elt (TREE_TYPE (ce->index), ce->value, nested,
  				  flags, complain);
  
+   /* Propagate CONSTRUCTOR_PLACEHOLDER_BOUNDARY to outer CONSTRUCTOR.  */
+   if (ce->value
+       && TREE_CODE (ce->value) == CONSTRUCTOR
+       && CONSTRUCTOR_PLACEHOLDER_BOUNDARY (ce->value))
+     {
+       CONSTRUCTOR_PLACEHOLDER_BOUNDARY (init) = 1;
+       CONSTRUCTOR_PLACEHOLDER_BOUNDARY (ce->value) = 0;
+     }
    return picflag_from_initializer (ce->value);
  }
  
diff -Nrcpad gcc-9.4.0/gcc/d/ChangeLog gcc-9.5.0/gcc/d/ChangeLog
*** gcc-9.4.0/gcc/d/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/d/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,148 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2021-12-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-12-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	* decl.cc (get_symbol_decl): Align methods to MINIMUM_METHOD_BOUNDARY.
+ 
+ 2021-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	* decl.cc (d_finish_decl): Use HOST_WIDE_INT for type size
+ 	temporaries.
+ 
+ 2021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/102574
+ 	* d-spec.cc (lang_specific_driver): Link libstdc++ statically if
+ 	-static-libstdc++ was given on command-line.
+ 
+ 2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/96435
+ 	* d-convert.cc (convert_for_rvalue): New function.
+ 	* d-tree.h (convert_for_rvalue): Declare.
+ 	* expr.cc (ExprVisitor::visit (CastExp *)): Use convert_for_rvalue.
+ 	(build_return_dtor): Likewise.
+ 
+ 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/101640
+ 	* expr.cc (binary_op): Use build2 instead of fold_build2.
+ 
+ 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/101490
+ 	* d-codegen.cc (build_array_index): Handle void arrays same as byte.
+ 	* d-convert.cc (convert_expr): Handle converting to zero-sized arrays.
+ 	* dmd/dcast.c (castTo): Handle casting to zero-sized arrays.
+ 
+ 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/101441
+ 	* dmd/expression.c (FuncInitExp::resolveLoc): Set type as `string'.
+ 	(PrettyFuncInitExp::resolveLoc): Likewise.
+ 
+ 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/101127
+ 	* d-builtins.cc (d_builtin_function_ext_scope): New function.
+ 	* d-lang.cc (LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE): Define.
+ 	* d-tree.h (d_builtin_function_ext_scope): Declare.
+ 
+ 2021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/100967
+ 	* d-frontend.cc (getTypeInfoType): Move TypeInfo checks to
+ 	check_typeinfo_type and call new function.
+ 	* d-tree.h (check_typeinfo_type): Declare.
+ 	* typeinfo.cc: Include dmd/scope.h.
+ 	(create_frontend_tinfo_types): Generate front-end types even if Object
+ 	is missing.
+ 	(build_typeinfo): Move TypeInfo checks to check_typeinfo_type and call
+ 	new function.
+ 	(check_typeinfo_type): New function.
+ 
+ 2021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2019-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/90651
+ 	* dmd/expressionsem.c (ExpressionSemanticVisitor::visit (TypeidExp)):
+ 	Error when TypeInfo doesn't exist.
+ 	* dmd/func.c (FuncDeclaration::semantic3): Likewise.
+ 	* dmd/mtype.c (TypeClass::dotExp): Likewise.
+ 	* typeinfo.cc (object_module): New variable.
+ 	(make_frontend_typeinfo): Update signature.  Set temporary on
+ 	generated TypeInfo classes.
+ 	(create_tinfo_types): Set object_module.  Move generation of front-end
+ 	typeinfo into ...
+ 	(create_frontend_tinfo_types): ... New function.
+ 	(layout_typeinfo): Call create_frontend_tinfo_types.
+ 	(layout_classinfo): Likewise.
+ 	(layout_cpp_typeinfo): Likewise.
+ 	(create_typeinfo): Likewise.
+ 
+ 2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/100964
+ 	* dmd/expression.c (Expression::checkPostblit): Don't generate
+ 	TypeInfo when RTTI is disabled.
+ 
+ 2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/100935
+ 	* dmd/mtype.c (Type::getProperty): Prefer explicit alignment over
+ 	natural alignment for alignof property.
+ 
+ 2021-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/100882
+ 	* d-codegen.cc (build_assign): Construct initializations inside
+ 	TARGET_EXPR_INITIAL.
+ 	(compound_expr): Remove intermediate expressions that have no
+ 	side-effects.
+ 	(return_expr): Construct returns inside TARGET_EXPR_INITIAL.
+ 	* expr.cc (ExprVisitor::visit (CallExp *)): Remove useless assignment
+ 	to TARGET_EXPR_SLOT.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/d/d-builtins.cc gcc-9.5.0/gcc/d/d-builtins.cc
*** gcc-9.4.0/gcc/d/d-builtins.cc	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/d-builtins.cc	Fri May 27 07:21:11 2022
*************** d_builtin_function (tree decl)
*** 1175,1179 ****
--- 1175,1194 ----
    return decl;
  }
  
+ /* Same as d_builtin_function, but used to delay putting in back-end builtin
+    functions until the ISA that defines the builtin has been declared.
+    However in D, there is no global namespace.  All builtins get pushed into the
+    `gcc.builtins' module, which is constructed during the semantic analysis
+    pass, which has already finished by the time target attributes are evaluated.
+    So builtins are not pushed because they would be ultimately ignored.
+    The purpose of having this function then is to improve compile-time
+    reflection support to allow user-code to determine whether a given back end
+    function is enabled by the ISA.  */
+ 
+ tree
+ d_builtin_function_ext_scope (tree decl)
+ {
+   return decl;
+ }
  
  #include "gt-d-d-builtins.h"
diff -Nrcpad gcc-9.4.0/gcc/d/d-codegen.cc gcc-9.5.0/gcc/d/d-codegen.cc
*** gcc-9.4.0/gcc/d/d-codegen.cc	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/d-codegen.cc	Fri May 27 07:21:11 2022
*************** component_ref (tree object, tree field)
*** 1304,1309 ****
--- 1304,1310 ----
  tree
  build_assign (tree_code code, tree lhs, tree rhs)
  {
+   tree result;
    tree init = stabilize_expr (&lhs);
    init = compound_expr (init, stabilize_expr (&rhs));
  
*************** build_assign (tree_code code, tree lhs,
*** 1322,1340 ****
    if (TREE_CODE (rhs) == TARGET_EXPR)
      {
        /* If CODE is not INIT_EXPR, can't initialize LHS directly,
! 	 since that would cause the LHS to be constructed twice.
! 	 So we force the TARGET_EXPR to be expanded without a target.  */
        if (code != INIT_EXPR)
! 	rhs = compound_expr (rhs, TARGET_EXPR_SLOT (rhs));
        else
  	{
  	  d_mark_addressable (lhs);
! 	  rhs = TARGET_EXPR_INITIAL (rhs);
  	}
      }
  
-   tree result = fold_build2_loc (input_location, code,
- 				 TREE_TYPE (lhs), lhs, rhs);
    return compound_expr (init, result);
  }
  
--- 1323,1349 ----
    if (TREE_CODE (rhs) == TARGET_EXPR)
      {
        /* If CODE is not INIT_EXPR, can't initialize LHS directly,
! 	 since that would cause the LHS to be constructed twice.  */
        if (code != INIT_EXPR)
! 	{
! 	  init = compound_expr (init, rhs);
! 	  result = build_assign (code, lhs, TARGET_EXPR_SLOT (rhs));
! 	}
        else
  	{
  	  d_mark_addressable (lhs);
! 	  TARGET_EXPR_INITIAL (rhs) = build_assign (code, lhs,
! 						    TARGET_EXPR_INITIAL (rhs));
! 	  result = rhs;
  	}
      }
+   else
+     {
+       /* Simple assignment.  */
+       result = fold_build2_loc (input_location, code,
+ 				TREE_TYPE (lhs), lhs, rhs);
+     }
  
    return compound_expr (init, result);
  }
  
*************** compound_expr (tree arg0, tree arg1)
*** 1456,1461 ****
--- 1465,1475 ----
    if (arg0 == NULL_TREE || !TREE_SIDE_EFFECTS (arg0))
      return arg1;
  
+   /* Remove intermediate expressions that have no side-effects.  */
+   while (TREE_CODE (arg0) == COMPOUND_EXPR
+ 	 && !TREE_SIDE_EFFECTS (TREE_OPERAND (arg0, 1)))
+     arg0 = TREE_OPERAND (arg0, 0);
+ 
    if (TREE_CODE (arg1) == TARGET_EXPR)
      {
        /* If the rhs is a TARGET_EXPR, then build the compound expression
*************** compound_expr (tree arg0, tree arg1)
*** 1476,1481 ****
--- 1490,1508 ----
  tree
  return_expr (tree ret)
  {
+   /* Same as build_assign, the DECL_RESULT assignment replaces the temporary
+      in TARGET_EXPR_SLOT.  */
+   if (ret != NULL_TREE && TREE_CODE (ret) == TARGET_EXPR)
+     {
+       tree exp = TARGET_EXPR_INITIAL (ret);
+       tree init = stabilize_expr (&exp);
+ 
+       exp = fold_build1_loc (input_location, RETURN_EXPR, void_type_node, exp);
+       TARGET_EXPR_INITIAL (ret) = compound_expr (init, exp);
+ 
+       return ret;
+     }
+ 
    return fold_build1_loc (input_location, RETURN_EXPR,
  			  void_type_node, ret);
  }
*************** build_array_index (tree ptr, tree index)
*** 1579,1599 ****
    /* Array element size.  */
    tree size_exp = size_in_bytes (target_type);
  
!   if (integer_zerop (size_exp))
!     {
!       /* Test for array of void.  */
!       if (TYPE_MODE (target_type) == TYPE_MODE (void_type_node))
! 	index = fold_convert (type, index);
!       else
! 	{
! 	  /* Should catch this earlier.  */
! 	  error ("invalid use of incomplete type %qD", TYPE_NAME (target_type));
! 	  ptr_type = error_mark_node;
! 	}
!     }
!   else if (integer_onep (size_exp))
      {
!       /* Array of bytes -- No need to multiply.  */
        index = fold_convert (type, index);
      }
    else
--- 1606,1614 ----
    /* Array element size.  */
    tree size_exp = size_in_bytes (target_type);
  
!   if (integer_zerop (size_exp) || integer_onep (size_exp))
      {
!       /* Array of void or bytes -- No need to multiply.  */
        index = fold_convert (type, index);
      }
    else
diff -Nrcpad gcc-9.4.0/gcc/d/d-convert.cc gcc-9.5.0/gcc/d/d-convert.cc
*** gcc-9.4.0/gcc/d/d-convert.cc	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/d-convert.cc	Fri May 27 07:21:11 2022
*************** convert_expr (tree exp, Type *etype, Typ
*** 473,485 ****
  
  	  tree ptrtype = build_ctype (tbtype->nextOf ()->pointerTo ());
  
! 	  if ((dim * esize) % tsize != 0)
  	    {
! 	      error ("cannot cast %qs to %qs since sizes don't line up",
! 		     etype->toChars (), totype->toChars ());
! 	      return error_mark_node;
  	    }
- 	  dim = (dim * esize) / tsize;
  
  	  /* Assumes casting to dynamic array of same type or void.  */
  	  return d_array_value (build_ctype (totype), size_int (dim),
--- 473,490 ----
  
  	  tree ptrtype = build_ctype (tbtype->nextOf ()->pointerTo ());
  
! 	  if (esize != tsize)
  	    {
! 	      /* Array element sizes do not match, so we must adjust the
! 		 dimensions.  */
! 	      if (tsize == 0 || (dim * esize) % tsize != 0)
! 		{
! 		  error ("cannot cast %qs to %qs since sizes don't line up",
! 			 etype->toChars (), totype->toChars ());
! 		  return error_mark_node;
! 		}
! 	      dim = (dim * esize) / tsize;
  	    }
  
  	  /* Assumes casting to dynamic array of same type or void.  */
  	  return d_array_value (build_ctype (totype), size_int (dim),
*************** convert_expr (tree exp, Type *etype, Typ
*** 596,601 ****
--- 601,642 ----
    return result ? result : convert (build_ctype (totype), exp);
  }
  
+ /* Return a TREE represenwation of EXPR, whose type has been converted from
+  * ETYPE to TOTYPE, and is being used in an rvalue context.  */
+ 
+ tree
+ convert_for_rvalue (tree expr, Type *etype, Type *totype)
+ {
+   tree result = NULL_TREE;
+ 
+   Type *ebtype = etype->toBasetype ();
+   Type *tbtype = totype->toBasetype ();
+ 
+   switch (ebtype->ty)
+     {
+     case Tbool:
+       /* If casting from bool, the result is either 0 or 1, any other value
+ 	 violates @safe code, so enforce that it is never invalid.  */
+       if (CONSTANT_CLASS_P (expr))
+ 	result = d_truthvalue_conversion (expr);
+       else
+ 	{
+ 	  /* Reinterpret the boolean as an integer and test the first bit.
+ 	     The generated code should end up being equivalent to:
+ 		*cast(ubyte *)&expr & 1;  */
+ 	  machine_mode bool_mode = TYPE_MODE (TREE_TYPE (expr));
+ 	  tree mtype = lang_hooks.types.type_for_mode (bool_mode, 1);
+ 	  result = fold_build2 (BIT_AND_EXPR, mtype,
+ 				build_vconvert (mtype, expr),
+ 				build_one_cst (mtype));
+ 	}
+ 
+       result = convert (build_ctype (tbtype), result);
+       break;
+     }
+ 
+   return result ? result : convert_expr (expr, etype, totype);
+ }
  
  /* Apply semantics of assignment to a value of type TOTYPE to EXPR
     (e.g., pointer = array -> pointer = &array[0])
diff -Nrcpad gcc-9.4.0/gcc/d/d-frontend.cc gcc-9.5.0/gcc/d/d-frontend.cc
*** gcc-9.4.0/gcc/d/d-frontend.cc	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/d-frontend.cc	Fri May 27 07:21:11 2022
*************** eval_builtin (Loc loc, FuncDeclaration *
*** 614,652 ****
  Type *
  getTypeInfoType (Loc loc, Type *type, Scope *sc)
  {
-   if (!global.params.useTypeInfo)
-     {
-       /* Even when compiling without RTTI we should still be able to evaluate
- 	 TypeInfo at compile-time, just not at run-time.  */
-       if (!sc || !(sc->flags & SCOPEctfe))
- 	{
- 	  static int warned = 0;
- 
- 	  if (!warned)
- 	    {
- 	      error_at (make_location_t (loc),
- 			"%<object.TypeInfo%> cannot be used with -fno-rtti");
- 	      warned = 1;
- 	    }
- 	}
-     }
- 
-   if (Type::dtypeinfo == NULL
-       || (Type::dtypeinfo->storage_class & STCtemp))
-     {
-       /* If TypeInfo has not been declared, warn about each location once.  */
-       static Loc warnloc;
- 
-       if (!loc.equals (warnloc))
- 	{
- 	  error_at (make_location_t (loc),
- 		    "%<object.TypeInfo%> could not be found, "
- 		    "but is implicitly used");
- 	  warnloc = loc;
- 	}
-     }
- 
    gcc_assert (type->ty != Terror);
    create_typeinfo (type, sc ? sc->_module->importedFrom : NULL);
    return type->vtinfo->type;
  }
--- 614,621 ----
  Type *
  getTypeInfoType (Loc loc, Type *type, Scope *sc)
  {
    gcc_assert (type->ty != Terror);
+   check_typeinfo_type (loc, sc);
    create_typeinfo (type, sc ? sc->_module->importedFrom : NULL);
    return type->vtinfo->type;
  }
diff -Nrcpad gcc-9.4.0/gcc/d/d-lang.cc gcc-9.5.0/gcc/d/d-lang.cc
*** gcc-9.4.0/gcc/d/d-lang.cc	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/d-lang.cc	Fri May 27 07:21:11 2022
*************** d_build_eh_runtime_type (tree type)
*** 1783,1788 ****
--- 1783,1789 ----
  #undef LANG_HOOKS_GET_ALIAS_SET
  #undef LANG_HOOKS_TYPES_COMPATIBLE_P
  #undef LANG_HOOKS_BUILTIN_FUNCTION
+ #undef LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE
  #undef LANG_HOOKS_REGISTER_BUILTIN_TYPE
  #undef LANG_HOOKS_FINISH_INCOMPLETE_DECL
  #undef LANG_HOOKS_GIMPLIFY_EXPR
*************** d_build_eh_runtime_type (tree type)
*** 1813,1818 ****
--- 1814,1820 ----
  #define LANG_HOOKS_GET_ALIAS_SET	    d_get_alias_set
  #define LANG_HOOKS_TYPES_COMPATIBLE_P	    d_types_compatible_p
  #define LANG_HOOKS_BUILTIN_FUNCTION	    d_builtin_function
+ #define LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE d_builtin_function_ext_scope
  #define LANG_HOOKS_REGISTER_BUILTIN_TYPE    d_register_builtin_type
  #define LANG_HOOKS_FINISH_INCOMPLETE_DECL   d_finish_incomplete_decl
  #define LANG_HOOKS_GIMPLIFY_EXPR	    d_gimplify_expr
diff -Nrcpad gcc-9.4.0/gcc/d/d-spec.cc gcc-9.5.0/gcc/d/d-spec.cc
*** gcc-9.4.0/gcc/d/d-spec.cc	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/d-spec.cc	Fri May 27 07:21:11 2022
*************** lang_specific_driver (cl_decoded_option
*** 94,99 ****
--- 94,102 ----
    /* "-lstdc++" if it appears on the command line.  */
    const cl_decoded_option *saw_libcxx = 0;
  
+   /* True if we saw `-static-libstdc++'.  */
+   bool saw_static_libcxx = false;
+ 
    /* Whether we need the C++ STD library.  */
    bool need_stdcxx = false;
  
*************** lang_specific_driver (cl_decoded_option
*** 259,264 ****
--- 262,272 ----
  	  shared_libgcc = false;
  	  break;
  
+ 	case OPT_static_libstdc__:
+ 	  saw_static_libcxx = true;
+ 	  args[i] |= SKIPOPT;
+ 	  break;
+ 
  	case OPT_static_libphobos:
  	  if (phobos_library != PHOBOS_NOLINK)
  	    phobos_library = PHOBOS_STATIC;
*************** lang_specific_driver (cl_decoded_option
*** 476,491 ****
        added_libraries++;
      }
  
!   if (saw_libcxx)
!     new_decoded_options[j++] = *saw_libcxx;
!   else if (need_stdcxx)
      {
!       generate_option (OPT_l,
! 		       (saw_profile_flag
! 			? LIBSTDCXX_PROFILE
! 			: LIBSTDCXX),
! 		       1, CL_DRIVER, &new_decoded_options[j++]);
!       added_libraries++;
      }
  
    if (shared_libgcc && !static_link)
--- 484,516 ----
        added_libraries++;
      }
  
!   if (saw_libcxx || need_stdcxx)
      {
! #ifdef HAVE_LD_STATIC_DYNAMIC
!       if (saw_static_libcxx && !static_link)
! 	{
! 	  generate_option (OPT_Wl_, LD_STATIC_OPTION, 1, CL_DRIVER,
! 			   &new_decoded_options[j++]);
! 	}
! #endif
!       if (saw_libcxx)
! 	new_decoded_options[j++] = *saw_libcxx;
!       else if (need_stdcxx)
! 	{
! 	  generate_option (OPT_l,
! 			   (saw_profile_flag
! 			    ? LIBSTDCXX_PROFILE
! 			    : LIBSTDCXX),
! 			   1, CL_DRIVER, &new_decoded_options[j++]);
! 	  added_libraries++;
! 	}
! #ifdef HAVE_LD_STATIC_DYNAMIC
!       if (saw_static_libcxx && !static_link)
! 	{
! 	  generate_option (OPT_Wl_, LD_DYNAMIC_OPTION, 1, CL_DRIVER,
! 			   &new_decoded_options[j++]);
! 	}
! #endif
      }
  
    if (shared_libgcc && !static_link)
diff -Nrcpad gcc-9.4.0/gcc/d/d-tree.h gcc-9.5.0/gcc/d/d-tree.h
*** gcc-9.4.0/gcc/d/d-tree.h	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/d-tree.h	Fri May 27 07:21:11 2022
*************** extern const attribute_spec d_langhook_a
*** 488,493 ****
--- 488,494 ----
  extern const attribute_spec d_langhook_common_attribute_table[];
  
  extern tree d_builtin_function (tree);
+ extern tree d_builtin_function_ext_scope (tree);
  extern void d_init_builtins (void);
  extern void d_register_builtin_type (tree, const char *);
  extern void d_build_builtins_module (Module *);
*************** extern bool decl_with_nonnull_addr_p (co
*** 577,582 ****
--- 578,584 ----
  extern tree d_truthvalue_conversion (tree);
  extern tree d_convert (tree, tree);
  extern tree convert_expr (tree, Type *, Type *);
+ extern tree convert_for_rvalue (tree, Type *, Type *);
  extern tree convert_for_assignment (tree, Type *, Type *);
  extern tree convert_for_argument (tree, Parameter *);
  extern tree convert_for_condition (tree, Type *);
*************** extern tree layout_typeinfo (TypeInfoDec
*** 650,655 ****
--- 652,658 ----
  extern tree layout_classinfo (ClassDeclaration *);
  extern tree get_typeinfo_decl (TypeInfoDeclaration *);
  extern tree get_classinfo_decl (ClassDeclaration *);
+ extern void check_typeinfo_type (const Loc &, Scope *);
  extern tree build_typeinfo (const Loc &, Type *);
  extern void create_typeinfo (Type *, Module *);
  extern void create_tinfo_types (Module *);
diff -Nrcpad gcc-9.4.0/gcc/d/decl.cc gcc-9.5.0/gcc/d/decl.cc
*** gcc-9.4.0/gcc/d/decl.cc	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/decl.cc	Fri May 27 07:21:11 2022
*************** get_symbol_decl (Declaration *decl)
*** 1233,1238 ****
--- 1233,1241 ----
  	      DECL_VINDEX (decl->csym) = size_int (fd->vtblIndex);
  	      DECL_VIRTUAL_P (decl->csym) = 1;
  	    }
+ 
+ 	  /* Align method to the minimum boundary for target.  */
+ 	  SET_DECL_ALIGN (decl->csym, MINIMUM_METHOD_BOUNDARY);
  	}
        else if (fd->isMain () || fd->isCMain ())
  	{
*************** d_finish_decl (tree decl)
*** 1559,1566 ****
    if (flag_checking && DECL_INITIAL (decl))
      {
        /* Initializer must never be bigger than symbol size.  */
!       dinteger_t tsize = int_size_in_bytes (TREE_TYPE (decl));
!       dinteger_t dtsize = int_size_in_bytes (TREE_TYPE (DECL_INITIAL (decl)));
  
        if (tsize < dtsize)
  	{
--- 1562,1570 ----
    if (flag_checking && DECL_INITIAL (decl))
      {
        /* Initializer must never be bigger than symbol size.  */
!       HOST_WIDE_INT tsize = int_size_in_bytes (TREE_TYPE (decl));
!       HOST_WIDE_INT dtsize =
! 	int_size_in_bytes (TREE_TYPE (DECL_INITIAL (decl)));
  
        if (tsize < dtsize)
  	{
diff -Nrcpad gcc-9.4.0/gcc/d/dmd/dcast.c gcc-9.5.0/gcc/d/dmd/dcast.c
*** gcc-9.4.0/gcc/d/dmd/dcast.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/dmd/dcast.c	Fri May 27 07:21:11 2022
*************** Expression *castTo(Expression *e, Scope
*** 1494,1506 ****
                      // cast(U[])sa; // ==> cast(U[])sa[];
                      d_uns64 fsize = t1b->nextOf()->size();
                      d_uns64 tsize = tob->nextOf()->size();
!                     if ((((TypeSArray *)t1b)->dim->toInteger() * fsize) % tsize != 0)
                      {
!                         // copied from sarray_toDarray() in e2ir.c
!                         e->error("cannot cast expression %s of type %s to %s since sizes don't line up",
!                             e->toChars(), e->type->toChars(), t->toChars());
!                         result = new ErrorExp();
!                         return;
                      }
                      goto Lok;
                  }
--- 1494,1509 ----
                      // cast(U[])sa; // ==> cast(U[])sa[];
                      d_uns64 fsize = t1b->nextOf()->size();
                      d_uns64 tsize = tob->nextOf()->size();
!                     if (fsize != tsize)
                      {
!                         dinteger_t dim = ((TypeSArray *)t1b)->dim->toInteger();
!                         if (tsize == 0 || (dim * fsize) % tsize != 0)
!                         {
!                             e->error("cannot cast expression `%s` of type `%s` to `%s` since sizes don't line up",
!                                      e->toChars(), e->type->toChars(), t->toChars());
!                             result = new ErrorExp();
!                             return;
!                         }
                      }
                      goto Lok;
                  }
diff -Nrcpad gcc-9.4.0/gcc/d/dmd/expression.c gcc-9.5.0/gcc/d/dmd/expression.c
*** gcc-9.4.0/gcc/d/dmd/expression.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/dmd/expression.c	Fri May 27 07:21:11 2022
*************** bool Expression::checkPostblit(Scope *sc
*** 2647,2654 ****
      t = t->baseElemOf();
      if (t->ty == Tstruct)
      {
!         // Bugzilla 11395: Require TypeInfo generation for array concatenation
!         semanticTypeInfo(sc, t);
  
          StructDeclaration *sd = ((TypeStruct *)t)->sym;
          if (sd->postblit)
--- 2647,2657 ----
      t = t->baseElemOf();
      if (t->ty == Tstruct)
      {
!         if (global.params.useTypeInfo)
!         {
!             // Bugzilla 11395: Require TypeInfo generation for array concatenation
!             semanticTypeInfo(sc, t);
!         }
  
          StructDeclaration *sd = ((TypeStruct *)t)->sym;
          if (sd->postblit)
*************** Expression *FuncInitExp::resolveLoc(Loc
*** 6714,6720 ****
          s = "";
      Expression *e = new StringExp(loc, const_cast<char *>(s));
      e = semantic(e, sc);
!     e = e->castTo(sc, type);
      return e;
  }
  
--- 6717,6723 ----
          s = "";
      Expression *e = new StringExp(loc, const_cast<char *>(s));
      e = semantic(e, sc);
!     e->type = Type::tstring;
      return e;
  }
  
*************** Expression *PrettyFuncInitExp::resolveLo
*** 6748,6754 ****
  
      Expression *e = new StringExp(loc, const_cast<char *>(s));
      e = semantic(e, sc);
!     e = e->castTo(sc, type);
      return e;
  }
  
--- 6751,6757 ----
  
      Expression *e = new StringExp(loc, const_cast<char *>(s));
      e = semantic(e, sc);
!     e->type = Type::tstring;
      return e;
  }
  
diff -Nrcpad gcc-9.4.0/gcc/d/dmd/expressionsem.c gcc-9.5.0/gcc/d/dmd/expressionsem.c
*** gcc-9.4.0/gcc/d/dmd/expressionsem.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/dmd/expressionsem.c	Fri May 27 07:21:11 2022
*************** public:
*** 1806,1816 ****
          Expression *e;
          if (ea && ta->toBasetype()->ty == Tclass)
          {
!             /* Get the dynamic type, which is .classinfo
!             */
!             ea = semantic(ea, sc);
!             e = new TypeidExp(ea->loc, ea);
!             e->type = Type::typeinfoclass->type;
          }
          else if (ta->ty == Terror)
          {
--- 1806,1824 ----
          Expression *e;
          if (ea && ta->toBasetype()->ty == Tclass)
          {
!             if (!Type::typeinfoclass)
!             {
!                 error(exp->loc, "`object.TypeInfo_Class` could not be found, but is implicitly used");
!                 e = new ErrorExp();
!             }
!             else
!             {
!                 /* Get the dynamic type, which is .classinfo
!                 */
!                 ea = semantic(ea, sc);
!                 e = new TypeidExp(ea->loc, ea);
!                 e->type = Type::typeinfoclass->type;
!             }
          }
          else if (ta->ty == Terror)
          {
diff -Nrcpad gcc-9.4.0/gcc/d/dmd/func.c gcc-9.5.0/gcc/d/dmd/func.c
*** gcc-9.4.0/gcc/d/dmd/func.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/dmd/func.c	Fri May 27 07:21:11 2022
*************** void FuncDeclaration::semantic3(Scope *s
*** 1520,1525 ****
--- 1520,1537 ----
          {
              if (f->linkage == LINKd)
              {
+                 // Variadic arguments depend on Typeinfo being defined
+                 if (!global.params.useTypeInfo || !Type::dtypeinfo || !Type::typeinfotypelist)
+                 {
+                     if (!global.params.useTypeInfo)
+                         error("D-style variadic functions cannot be used with -betterC");
+                     else if (!Type::typeinfotypelist)
+                         error("`object.TypeInfo_Tuple` could not be found, but is implicitly used in D-style variadic functions");
+                     else
+                         error("`object.TypeInfo` could not be found, but is implicitly used in D-style variadic functions");
+                     fatal();
+                 }
+ 
                  // Declare _arguments[]
                  v_arguments = new VarDeclaration(Loc(), Type::typeinfotypelist->type, Id::_arguments_typeinfo, NULL);
                  v_arguments->storage_class |= STCtemp | STCparameter;
diff -Nrcpad gcc-9.4.0/gcc/d/dmd/mtype.c gcc-9.5.0/gcc/d/dmd/mtype.c
*** gcc-9.4.0/gcc/d/dmd/mtype.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/dmd/mtype.c	Fri May 27 07:21:11 2022
*************** Expression *Type::getProperty(Loc loc, I
*** 2059,2065 ****
      }
      else if (ident == Id::__xalignof)
      {
!         e = new IntegerExp(loc, alignsize(), Type::tsize_t);
      }
      else if (ident == Id::_init)
      {
--- 2059,2068 ----
      }
      else if (ident == Id::__xalignof)
      {
!         unsigned explicitAlignment = alignment();
!         unsigned naturalAlignment = alignsize();
!         unsigned actualAlignment = (explicitAlignment == STRUCTALIGN_DEFAULT ? naturalAlignment : explicitAlignment);
!         e = new IntegerExp(loc, actualAlignment, Type::tsize_t);
      }
      else if (ident == Id::_init)
      {
*************** L1:
*** 8344,8350 ****
  
          if (ident == Id::classinfo)
          {
!             assert(Type::typeinfoclass);
              Type *t = Type::typeinfoclass->type;
              if (e->op == TOKtype || e->op == TOKdottype)
              {
--- 8347,8358 ----
  
          if (ident == Id::classinfo)
          {
!             if (!Type::typeinfoclass)
!             {
!                 error(e->loc, "`object.TypeInfo_Class` could not be found, but is implicitly used");
!                 return new ErrorExp();
!             }
! 
              Type *t = Type::typeinfoclass->type;
              if (e->op == TOKtype || e->op == TOKdottype)
              {
diff -Nrcpad gcc-9.4.0/gcc/d/expr.cc gcc-9.5.0/gcc/d/expr.cc
*** gcc-9.4.0/gcc/d/expr.cc	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/expr.cc	Fri May 27 07:21:11 2022
*************** class ExprVisitor : public Visitor
*** 162,168 ****
  	    eptype = type;
  	  }
  
! 	ret = fold_build2 (code, eptype, arg0, arg1);
        }
  
      return d_convert (type, ret);
--- 162,168 ----
  	    eptype = type;
  	  }
  
! 	ret = build2 (code, eptype, arg0, arg1);
        }
  
      return d_convert (type, ret);
*************** public:
*** 1435,1441 ****
      if (tbtype->ty == Tvoid)
        this->result_ = build_nop (build_ctype (tbtype), result);
      else
!       this->result_ = convert_expr (result, ebtype, tbtype);
    }
  
    /* Build a delete expression.  */
--- 1435,1441 ----
      if (tbtype->ty == Tvoid)
        this->result_ = build_nop (build_ctype (tbtype), result);
      else
!       this->result_ = convert_for_rvalue (result, ebtype, tbtype);
    }
  
    /* Build a delete expression.  */
*************** public:
*** 1837,1851 ****
        exp = d_convert (build_ctype (e->type), exp);
  
      /* If this call was found to be a constructor for a temporary with a
!        cleanup, then move the call inside the TARGET_EXPR.  The original
!        initializer is turned into an assignment, to keep its side effect.  */
      if (cleanup != NULL_TREE)
        {
  	tree init = TARGET_EXPR_INITIAL (cleanup);
- 	tree slot = TARGET_EXPR_SLOT (cleanup);
- 	d_mark_addressable (slot);
- 	init = build_assign (INIT_EXPR, slot, init);
- 
  	TARGET_EXPR_INITIAL (cleanup) = compound_expr (init, exp);
  	exp = cleanup;
        }
--- 1837,1846 ----
        exp = d_convert (build_ctype (e->type), exp);
  
      /* If this call was found to be a constructor for a temporary with a
!        cleanup, then move the call inside the TARGET_EXPR.  */
      if (cleanup != NULL_TREE)
        {
  	tree init = TARGET_EXPR_INITIAL (cleanup);
  	TARGET_EXPR_INITIAL (cleanup) = compound_expr (init, exp);
  	exp = cleanup;
        }
*************** build_return_dtor (Expression *e, Type *
*** 3111,3121 ****
    tree result = build_expr (e);
  
    /* Convert for initializing the DECL_RESULT.  */
-   result = convert_expr (result, e->type, type);
- 
-   /* If we are returning a reference, take the address.  */
    if (tf->isref)
!     result = build_address (result);
  
    /* The decl to store the return expression.  */
    tree decl = DECL_RESULT (cfun->decl);
--- 3106,3119 ----
    tree result = build_expr (e);
  
    /* Convert for initializing the DECL_RESULT.  */
    if (tf->isref)
!     {
!       /* If we are returning a reference, take the address.  */
!       result = convert_expr (result, e->type, type);
!       result = build_address (result);
!     }
!   else
!     result = convert_for_rvalue (result, e->type, type);
  
    /* The decl to store the return expression.  */
    tree decl = DECL_RESULT (cfun->decl);
diff -Nrcpad gcc-9.4.0/gcc/d/typeinfo.cc gcc-9.5.0/gcc/d/typeinfo.cc
*** gcc-9.4.0/gcc/d/typeinfo.cc	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/d/typeinfo.cc	Fri May 27 07:21:11 2022
*************** along with GCC; see the file COPYING3.
*** 27,32 ****
--- 27,33 ----
  #include "dmd/identifier.h"
  #include "dmd/module.h"
  #include "dmd/mtype.h"
+ #include "dmd/scope.h"
  #include "dmd/template.h"
  #include "dmd/target.h"
  
*************** make_internal_typeinfo (tinfo_kind tk, I
*** 185,212 ****
    va_end (ap);
  }
  
! /* Helper for create_tinfo_types.  Creates a typeinfo class declaration
!    incase one wasn't supplied by reading `object.d'.  */
  
  static void
! make_frontend_typeinfo (Module *mod, Identifier *ident,
! 			ClassDeclaration *base = NULL)
  {
    if (!base)
      base = Type::dtypeinfo;
  
    /* Create object module in order to complete the semantic.  */
!   if (!mod->_scope)
!     mod->importAll (NULL);
  
    /* Assignment of global typeinfo variables is managed by the ClassDeclaration
       constructor, so only need to new the declaration here.  */
!   Loc loc = (mod->md) ? mod->md->loc : mod->loc;
    ClassDeclaration *tinfo = ClassDeclaration::create (loc, ident, NULL, NULL,
  						      true);
!   tinfo->parent = mod;
!   tinfo->semantic (mod->_scope);
    tinfo->baseClass = base;
  }
  
  /* Make sure the required builtin types exist for generating the TypeInfo
--- 186,221 ----
    va_end (ap);
  }
  
! /* Reference to the `object` module, where all TypeInfo is defined.  */
! 
! static Module *object_module;
! 
! /* Helper for create_frontend_tinfo_types.  Creates a typeinfo class
!    declaration incase one wasn't supplied by reading `object.d'.  */
  
  static void
! make_frontend_typeinfo (Identifier *ident, ClassDeclaration *base = NULL)
  {
    if (!base)
      base = Type::dtypeinfo;
  
+   gcc_assert (object_module);
+ 
    /* Create object module in order to complete the semantic.  */
!   if (!object_module->_scope)
!     object_module->importAll (NULL);
  
    /* Assignment of global typeinfo variables is managed by the ClassDeclaration
       constructor, so only need to new the declaration here.  */
!   Loc loc = (object_module->md) ? object_module->md->loc : object_module->loc;
    ClassDeclaration *tinfo = ClassDeclaration::create (loc, ident, NULL, NULL,
  						      true);
!   tinfo->parent = object_module;
!   tinfo->semantic (object_module->_scope);
    tinfo->baseClass = base;
+   /* This is a compiler generated class, and shouldn't be mistaken for being
+      the type declared in the runtime library.  */
+   tinfo->storage_class |= STCtemp;
  }
  
  /* Make sure the required builtin types exist for generating the TypeInfo
*************** create_tinfo_types (Module *mod)
*** 227,295 ****
  			  ptr_type_node, d_uint_type, ptr_type_node,
  			  array_type_node, ptr_type_node, ptr_type_node, NULL);
  
!   /* If there's no Object class defined, then neither can TypeInfo be.  */
!   if (ClassDeclaration::object == NULL)
      return;
  
    /* Create all frontend TypeInfo classes declarations.  We rely on all
       existing, even if only just as stubs.  */
    if (!Type::dtypeinfo)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo"),
  			    ClassDeclaration::object);
  
    if (!Type::typeinfoclass)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Class"));
  
    if (!Type::typeinfointerface)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Interface"));
  
    if (!Type::typeinfostruct)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Struct"));
  
    if (!Type::typeinfopointer)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Pointer"));
  
    if (!Type::typeinfoarray)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Array"));
  
    if (!Type::typeinfostaticarray)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_StaticArray"));
  
    if (!Type::typeinfoassociativearray)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_AssociativeArray"));
  
    if (!Type::typeinfoenum)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Enum"));
  
    if (!Type::typeinfofunction)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Function"));
  
    if (!Type::typeinfodelegate)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Delegate"));
  
    if (!Type::typeinfotypelist)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Tuple"));
  
    if (!Type::typeinfoconst)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Const"));
  
    if (!Type::typeinfoinvariant)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Invariant"),
  			    Type::typeinfoconst);
  
    if (!Type::typeinfoshared)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Shared"),
  			    Type::typeinfoconst);
  
    if (!Type::typeinfowild)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Wild"),
  			    Type::typeinfoconst);
  
    if (!Type::typeinfovector)
!     make_frontend_typeinfo (mod, Identifier::idPool ("TypeInfo_Vector"));
  
    if (!ClassDeclaration::cpp_type_info_ptr)
!     make_frontend_typeinfo (mod, Identifier::idPool ("__cpp_type_info_ptr"),
  			    ClassDeclaration::object);
  }
  
--- 236,313 ----
  			  ptr_type_node, d_uint_type, ptr_type_node,
  			  array_type_node, ptr_type_node, ptr_type_node, NULL);
  
!   object_module = mod;
! }
! 
! /* Same as create_tinfo_types, but builds all front-end TypeInfo variable
!    definitions.  */
! 
! static void
! create_frontend_tinfo_types (void)
! {
!   /* If there's no object module, then neither can there be TypeInfo.  */
!   if (object_module == NULL)
      return;
  
    /* Create all frontend TypeInfo classes declarations.  We rely on all
       existing, even if only just as stubs.  */
    if (!Type::dtypeinfo)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo"),
  			    ClassDeclaration::object);
  
    if (!Type::typeinfoclass)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Class"));
  
    if (!Type::typeinfointerface)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Interface"));
  
    if (!Type::typeinfostruct)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Struct"));
  
    if (!Type::typeinfopointer)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Pointer"));
  
    if (!Type::typeinfoarray)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Array"));
  
    if (!Type::typeinfostaticarray)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_StaticArray"));
  
    if (!Type::typeinfoassociativearray)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_AssociativeArray"));
  
    if (!Type::typeinfoenum)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Enum"));
  
    if (!Type::typeinfofunction)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Function"));
  
    if (!Type::typeinfodelegate)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Delegate"));
  
    if (!Type::typeinfotypelist)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Tuple"));
  
    if (!Type::typeinfoconst)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Const"));
  
    if (!Type::typeinfoinvariant)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Invariant"),
  			    Type::typeinfoconst);
  
    if (!Type::typeinfoshared)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Shared"),
  			    Type::typeinfoconst);
  
    if (!Type::typeinfowild)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Wild"),
  			    Type::typeinfoconst);
  
    if (!Type::typeinfovector)
!     make_frontend_typeinfo (Identifier::idPool ("TypeInfo_Vector"));
  
    if (!ClassDeclaration::cpp_type_info_ptr)
!     make_frontend_typeinfo (Identifier::idPool ("__cpp_type_info_ptr"),
  			    ClassDeclaration::object);
  }
  
*************** public:
*** 1143,1148 ****
--- 1161,1169 ----
  tree
  layout_typeinfo (TypeInfoDeclaration *d)
  {
+   if (!Type::dtypeinfo)
+     create_frontend_tinfo_types ();
+ 
    TypeInfoVisitor v = TypeInfoVisitor (get_typeinfo_decl (d));
    d->accept (&v);
    return v.result ();
*************** layout_typeinfo (TypeInfoDeclaration *d)
*** 1154,1159 ****
--- 1175,1183 ----
  tree
  layout_classinfo (ClassDeclaration *cd)
  {
+   if (!Type::dtypeinfo)
+     create_frontend_tinfo_types ();
+ 
    TypeInfoClassDeclaration *d = TypeInfoClassDeclaration::create (cd->type);
    TypeInfoVisitor v = TypeInfoVisitor (get_classinfo_decl (cd));
    d->accept (&v);
*************** get_classinfo_decl (ClassDeclaration *de
*** 1347,1362 ****
    return decl->csym;
  }
  
! /* Returns typeinfo reference for TYPE.  */
  
! tree
! build_typeinfo (const Loc &loc, Type *type)
  {
    if (!global.params.useTypeInfo)
      {
        static int warned = 0;
  
!       if (!warned)
  	{
  	  error_at (make_location_t (loc),
  		    "%<object.TypeInfo%> cannot be used with -fno-rtti");
--- 1371,1389 ----
    return decl->csym;
  }
  
! /* Performs sanity checks on the `object.TypeInfo' type, raising an error if
!    RTTI is disabled, or the type is missing.  */
  
! void
! check_typeinfo_type (const Loc &loc, Scope *sc)
  {
    if (!global.params.useTypeInfo)
      {
        static int warned = 0;
  
!       /* Even when compiling without RTTI we should still be able to evaluate
! 	 TypeInfo at compile-time, just not at run-time.  */
!       if (!warned && (!sc || !(sc->flags & SCOPEctfe)))
  	{
  	  error_at (make_location_t (loc),
  		    "%<object.TypeInfo%> cannot be used with -fno-rtti");
*************** build_typeinfo (const Loc &loc, Type *ty
*** 1364,1370 ****
--- 1391,1419 ----
  	}
      }
  
+   if (Type::dtypeinfo == NULL
+       || (Type::dtypeinfo->storage_class & STCtemp))
+     {
+       /* If TypeInfo has not been declared, warn about each location once.  */
+       static Loc warnloc;
+ 
+       if (!warnloc.equals (loc))
+ 	{
+ 	  error_at (make_location_t (loc),
+ 		    "%<object.TypeInfo%> could not be found, "
+ 		    "but is implicitly used");
+ 	  warnloc = loc;
+ 	}
+     }
+ }
+ 
+ /* Returns typeinfo reference for TYPE.  */
+ 
+ tree
+ build_typeinfo (const Loc &loc, Type *type)
+ {
    gcc_assert (type->ty != Terror);
+   check_typeinfo_type (loc, NULL);
    create_typeinfo (type, NULL);
    return build_address (get_typeinfo_decl (type->vtinfo));
  }
*************** build_typeinfo (const Loc &loc, Type *ty
*** 1375,1380 ****
--- 1424,1432 ----
  void
  layout_cpp_typeinfo (ClassDeclaration *cd)
  {
+   if (!Type::dtypeinfo)
+     create_frontend_tinfo_types ();
+ 
    gcc_assert (cd->isCPPclass ());
  
    tree decl = get_cpp_typeinfo_decl (cd);
*************** get_cpp_typeinfo_decl (ClassDeclaration
*** 1443,1448 ****
--- 1495,1503 ----
  void
  create_typeinfo (Type *type, Module *mod)
  {
+   if (!Type::dtypeinfo)
+     create_frontend_tinfo_types ();
+ 
    /* Do this since not all Type's are merged.  */
    Type *t = type->merge2 ();
    Identifier *ident;
diff -Nrcpad gcc-9.4.0/gcc/doc/cpp.1 gcc-9.5.0/gcc/doc/cpp.1
*** gcc-9.4.0/gcc/doc/cpp.1	Tue Jun  1 07:54:17 2021
--- gcc-9.5.0/gcc/doc/cpp.1	Fri May 27 07:22:23 2022
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "CPP 1"
! .TH CPP 1 "2021-06-01" "gcc-9.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "CPP 1"
! .TH CPP 1 "2022-05-27" "gcc-9.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
diff -Nrcpad gcc-9.4.0/gcc/doc/fsf-funding.7 gcc-9.5.0/gcc/doc/fsf-funding.7
*** gcc-9.4.0/gcc/doc/fsf-funding.7	Tue Jun  1 07:54:17 2021
--- gcc-9.5.0/gcc/doc/fsf-funding.7	Fri May 27 07:22:23 2022
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "FSF-FUNDING 7"
! .TH FSF-FUNDING 7 "2021-06-01" "gcc-9.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "FSF-FUNDING 7"
! .TH FSF-FUNDING 7 "2022-05-27" "gcc-9.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
diff -Nrcpad gcc-9.4.0/gcc/doc/g++.1 gcc-9.5.0/gcc/doc/g++.1
*** gcc-9.4.0/gcc/doc/g++.1	Tue Jun  1 08:02:35 2021
--- gcc-9.5.0/gcc/doc/g++.1	Fri May 27 07:30:42 2022
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "GCC 1"
! .TH GCC 1 "2021-06-01" "gcc-9.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GCC 1"
! .TH GCC 1 "2022-05-27" "gcc-9.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** name is still supported, but the newer n
*** 4231,4237 ****
  \&\fB\-Wredundant\-move\fR (only for \*(C+)  
  \&\fB\-Wtype\-limits  
  \&\-Wuninitialized  
! \&\-Wshift\-negative\-value\fR (in \*(C+03 and in C99 and newer)  
  \&\fB\-Wunused\-parameter\fR (only with\fB \fR\fB\-Wunused\fR\fB \fRor\fB \fR\fB\-Wall\fR) 
  \&\fB\-Wunused\-but\-set\-parameter\fR (only with\fB \fR\fB\-Wunused\fR\fB \fRor\fB \fR\fB\-Wall\fR)
  .Sp
--- 4231,4237 ----
  \&\fB\-Wredundant\-move\fR (only for \*(C+)  
  \&\fB\-Wtype\-limits  
  \&\-Wuninitialized  
! \&\-Wshift\-negative\-value\fR (in \*(C+11 to \*(C+17 and in C99 and newer)  
  \&\fB\-Wunused\-parameter\fR (only with\fB \fR\fB\-Wunused\fR\fB \fRor\fB \fR\fB\-Wall\fR) 
  \&\fB\-Wunused\-but\-set\-parameter\fR (only with\fB \fR\fB\-Wunused\fR\fB \fRor\fB \fR\fB\-Wall\fR)
  .Sp
*************** Warn if shift count >= width of type. Th
*** 5005,5011 ****
  .IP "\fB\-Wshift\-negative\-value\fR" 4
  .IX Item "-Wshift-negative-value"
  Warn if left shifting a negative value.  This warning is enabled by
! \&\fB\-Wextra\fR in C99 and \*(C+11 modes (and newer).
  .IP "\fB\-Wshift\-overflow\fR" 4
  .IX Item "-Wshift-overflow"
  .PD 0
--- 5005,5011 ----
  .IP "\fB\-Wshift\-negative\-value\fR" 4
  .IX Item "-Wshift-negative-value"
  Warn if left shifting a negative value.  This warning is enabled by
! \&\fB\-Wextra\fR in C99 (and newer) and \*(C+11 to \*(C+17 modes.
  .IP "\fB\-Wshift\-overflow\fR" 4
  .IX Item "-Wshift-overflow"
  .PD 0
*************** The option cannot be combined with \fB\-
*** 11635,11641 ****
  .IX Item "-fsanitize=undefined"
  Enable UndefinedBehaviorSanitizer, a fast undefined behavior detector.
  Various computations are instrumented to detect undefined behavior
! at runtime.  Current suboptions are:
  .RS 4
  .IP "\fB\-fsanitize=shift\fR" 4
  .IX Item "-fsanitize=shift"
--- 11635,11642 ----
  .IX Item "-fsanitize=undefined"
  Enable UndefinedBehaviorSanitizer, a fast undefined behavior detector.
  Various computations are instrumented to detect undefined behavior
! at runtime.  See <\fBhttps://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html\fR> for more details.   The run-time behavior can be influenced using the
! \&\fB\s-1UBSAN_OPTIONS\s0\fR environment variable.  Current suboptions are:
  .RS 4
  .IP "\fB\-fsanitize=shift\fR" 4
  .IX Item "-fsanitize=shift"
*************** You can also use the \f(CW\*(C`nocf_chec
*** 11874,11880 ****
  which functions and calls should be skipped from instrumentation.
  .Sp
  Currently the x86 GNU/Linux target provides an implementation based
! on Intel Control-flow Enforcement Technology (\s-1CET\s0).
  .IP "\fB\-fstack\-protector\fR" 4
  .IX Item "-fstack-protector"
  Emit extra code to check for buffer overflows, such as stack smashing
--- 11875,11882 ----
  which functions and calls should be skipped from instrumentation.
  .Sp
  Currently the x86 GNU/Linux target provides an implementation based
! on Intel Control-flow Enforcement Technology (\s-1CET\s0) which works for
! i686 processor or newer.
  .IP "\fB\-fstack\-protector\fR" 4
  .IX Item "-fstack-protector"
  Emit extra code to check for buffer overflows, such as stack smashing
*************** performance of the code.  Permissible va
*** 15275,15280 ****
--- 15277,15283 ----
  \&\fBcortex\-a57\fR, \fBcortex\-a72\fR, \fBcortex\-a73\fR, \fBcortex\-a75\fR,
  \&\fBcortex\-a76\fR, \fBares\fR, \fBexynos\-m1\fR, \fBemag\fR, \fBfalkor\fR,
  \&\fBneoverse\-e1\fR, \fBneoverse\-n1\fR, \fBneoverse\-n2\fR, \fBneoverse\-v1\fR,
+ \&\fBneoverse\-512tvb\fR,
  \&\fBqdf24xx\fR, \fBsaphira\fR, \fBphecda\fR, \fBxgene1\fR, \fBvulcan\fR,
  \&\fBocteontx\fR, \fBocteontx81\fR,  \fBocteontx83\fR,
  \&\fBa64fx\fR,
*************** The values \fBcortex\-a57.cortex\-a53\fR
*** 15291,15296 ****
--- 15294,15308 ----
  \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR specify that \s-1GCC\s0
  should tune for a big.LITTLE system.
  .Sp
+ The value \fBneoverse\-512tvb\fR specifies that \s-1GCC\s0 should tune
+ for Neoverse cores that (a) implement \s-1SVE\s0 and (b) have a total vector
+ bandwidth of 512 bits per cycle.  In other words, the option tells \s-1GCC\s0 to
+ tune for Neoverse cores that can execute 4 128\-bit Advanced \s-1SIMD\s0 arithmetic
+ instructions a cycle and that can execute an equivalent number of \s-1SVE\s0
+ arithmetic instructions per cycle (2 for 256\-bit \s-1SVE, 4\s0 for 128\-bit \s-1SVE\s0).
+ This is more general than tuning for a specific core like Neoverse V1
+ but is more specific than the default tuning described below.
+ .Sp
  Additionally on native AArch64 GNU/Linux systems the value
  \&\fBnative\fR tunes performance to the host system.  This option has no effect
  if the compiler is unable to recognize the processor of the host system.
*************** the target processor for which to tune f
*** 15318,15323 ****
--- 15330,15345 ----
  by \fB\-mtune\fR).  Where this option is used in conjunction
  with \fB\-march\fR or \fB\-mtune\fR, those options take precedence
  over the appropriate part of this option.
+ .Sp
+ \&\fB\-mcpu=neoverse\-512tvb\fR is special in that it does not refer
+ to a specific core, but instead refers to all Neoverse cores that
+ (a) implement \s-1SVE\s0 and (b) have a total vector bandwidth of 512 bits
+ a cycle.  Unless overridden by \fB\-march\fR,
+ \&\fB\-mcpu=neoverse\-512tvb\fR generates code that can run on a
+ Neoverse V1 core, since Neoverse V1 is the first Neoverse core with
+ these properties.  Unless overridden by \fB\-mtune\fR,
+ \&\fB\-mcpu=neoverse\-512tvb\fR tunes code in the same way as for
+ \&\fB\-mtune=neoverse\-512tvb\fR.
  .IP "\fB\-moverride=\fR\fIstring\fR" 4
  .IX Item "-moverride=string"
  Override tuning decisions made by the back-end in response to a
diff -Nrcpad gcc-9.4.0/gcc/doc/gcc.1 gcc-9.5.0/gcc/doc/gcc.1
*** gcc-9.4.0/gcc/doc/gcc.1	Tue Jun  1 08:02:35 2021
--- gcc-9.5.0/gcc/doc/gcc.1	Fri May 27 07:30:42 2022
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "GCC 1"
! .TH GCC 1 "2021-06-01" "gcc-9.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GCC 1"
! .TH GCC 1 "2022-05-27" "gcc-9.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** name is still supported, but the newer n
*** 4231,4237 ****
  \&\fB\-Wredundant\-move\fR (only for \*(C+)  
  \&\fB\-Wtype\-limits  
  \&\-Wuninitialized  
! \&\-Wshift\-negative\-value\fR (in \*(C+03 and in C99 and newer)  
  \&\fB\-Wunused\-parameter\fR (only with\fB \fR\fB\-Wunused\fR\fB \fRor\fB \fR\fB\-Wall\fR) 
  \&\fB\-Wunused\-but\-set\-parameter\fR (only with\fB \fR\fB\-Wunused\fR\fB \fRor\fB \fR\fB\-Wall\fR)
  .Sp
--- 4231,4237 ----
  \&\fB\-Wredundant\-move\fR (only for \*(C+)  
  \&\fB\-Wtype\-limits  
  \&\-Wuninitialized  
! \&\-Wshift\-negative\-value\fR (in \*(C+11 to \*(C+17 and in C99 and newer)  
  \&\fB\-Wunused\-parameter\fR (only with\fB \fR\fB\-Wunused\fR\fB \fRor\fB \fR\fB\-Wall\fR) 
  \&\fB\-Wunused\-but\-set\-parameter\fR (only with\fB \fR\fB\-Wunused\fR\fB \fRor\fB \fR\fB\-Wall\fR)
  .Sp
*************** Warn if shift count >= width of type. Th
*** 5005,5011 ****
  .IP "\fB\-Wshift\-negative\-value\fR" 4
  .IX Item "-Wshift-negative-value"
  Warn if left shifting a negative value.  This warning is enabled by
! \&\fB\-Wextra\fR in C99 and \*(C+11 modes (and newer).
  .IP "\fB\-Wshift\-overflow\fR" 4
  .IX Item "-Wshift-overflow"
  .PD 0
--- 5005,5011 ----
  .IP "\fB\-Wshift\-negative\-value\fR" 4
  .IX Item "-Wshift-negative-value"
  Warn if left shifting a negative value.  This warning is enabled by
! \&\fB\-Wextra\fR in C99 (and newer) and \*(C+11 to \*(C+17 modes.
  .IP "\fB\-Wshift\-overflow\fR" 4
  .IX Item "-Wshift-overflow"
  .PD 0
*************** The option cannot be combined with \fB\-
*** 11635,11641 ****
  .IX Item "-fsanitize=undefined"
  Enable UndefinedBehaviorSanitizer, a fast undefined behavior detector.
  Various computations are instrumented to detect undefined behavior
! at runtime.  Current suboptions are:
  .RS 4
  .IP "\fB\-fsanitize=shift\fR" 4
  .IX Item "-fsanitize=shift"
--- 11635,11642 ----
  .IX Item "-fsanitize=undefined"
  Enable UndefinedBehaviorSanitizer, a fast undefined behavior detector.
  Various computations are instrumented to detect undefined behavior
! at runtime.  See <\fBhttps://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html\fR> for more details.   The run-time behavior can be influenced using the
! \&\fB\s-1UBSAN_OPTIONS\s0\fR environment variable.  Current suboptions are:
  .RS 4
  .IP "\fB\-fsanitize=shift\fR" 4
  .IX Item "-fsanitize=shift"
*************** You can also use the \f(CW\*(C`nocf_chec
*** 11874,11880 ****
  which functions and calls should be skipped from instrumentation.
  .Sp
  Currently the x86 GNU/Linux target provides an implementation based
! on Intel Control-flow Enforcement Technology (\s-1CET\s0).
  .IP "\fB\-fstack\-protector\fR" 4
  .IX Item "-fstack-protector"
  Emit extra code to check for buffer overflows, such as stack smashing
--- 11875,11882 ----
  which functions and calls should be skipped from instrumentation.
  .Sp
  Currently the x86 GNU/Linux target provides an implementation based
! on Intel Control-flow Enforcement Technology (\s-1CET\s0) which works for
! i686 processor or newer.
  .IP "\fB\-fstack\-protector\fR" 4
  .IX Item "-fstack-protector"
  Emit extra code to check for buffer overflows, such as stack smashing
*************** performance of the code.  Permissible va
*** 15275,15280 ****
--- 15277,15283 ----
  \&\fBcortex\-a57\fR, \fBcortex\-a72\fR, \fBcortex\-a73\fR, \fBcortex\-a75\fR,
  \&\fBcortex\-a76\fR, \fBares\fR, \fBexynos\-m1\fR, \fBemag\fR, \fBfalkor\fR,
  \&\fBneoverse\-e1\fR, \fBneoverse\-n1\fR, \fBneoverse\-n2\fR, \fBneoverse\-v1\fR,
+ \&\fBneoverse\-512tvb\fR,
  \&\fBqdf24xx\fR, \fBsaphira\fR, \fBphecda\fR, \fBxgene1\fR, \fBvulcan\fR,
  \&\fBocteontx\fR, \fBocteontx81\fR,  \fBocteontx83\fR,
  \&\fBa64fx\fR,
*************** The values \fBcortex\-a57.cortex\-a53\fR
*** 15291,15296 ****
--- 15294,15308 ----
  \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR specify that \s-1GCC\s0
  should tune for a big.LITTLE system.
  .Sp
+ The value \fBneoverse\-512tvb\fR specifies that \s-1GCC\s0 should tune
+ for Neoverse cores that (a) implement \s-1SVE\s0 and (b) have a total vector
+ bandwidth of 512 bits per cycle.  In other words, the option tells \s-1GCC\s0 to
+ tune for Neoverse cores that can execute 4 128\-bit Advanced \s-1SIMD\s0 arithmetic
+ instructions a cycle and that can execute an equivalent number of \s-1SVE\s0
+ arithmetic instructions per cycle (2 for 256\-bit \s-1SVE, 4\s0 for 128\-bit \s-1SVE\s0).
+ This is more general than tuning for a specific core like Neoverse V1
+ but is more specific than the default tuning described below.
+ .Sp
  Additionally on native AArch64 GNU/Linux systems the value
  \&\fBnative\fR tunes performance to the host system.  This option has no effect
  if the compiler is unable to recognize the processor of the host system.
*************** the target processor for which to tune f
*** 15318,15323 ****
--- 15330,15345 ----
  by \fB\-mtune\fR).  Where this option is used in conjunction
  with \fB\-march\fR or \fB\-mtune\fR, those options take precedence
  over the appropriate part of this option.
+ .Sp
+ \&\fB\-mcpu=neoverse\-512tvb\fR is special in that it does not refer
+ to a specific core, but instead refers to all Neoverse cores that
+ (a) implement \s-1SVE\s0 and (b) have a total vector bandwidth of 512 bits
+ a cycle.  Unless overridden by \fB\-march\fR,
+ \&\fB\-mcpu=neoverse\-512tvb\fR generates code that can run on a
+ Neoverse V1 core, since Neoverse V1 is the first Neoverse core with
+ these properties.  Unless overridden by \fB\-mtune\fR,
+ \&\fB\-mcpu=neoverse\-512tvb\fR tunes code in the same way as for
+ \&\fB\-mtune=neoverse\-512tvb\fR.
  .IP "\fB\-moverride=\fR\fIstring\fR" 4
  .IX Item "-moverride=string"
  Override tuning decisions made by the back-end in response to a
diff -Nrcpad gcc-9.4.0/gcc/doc/gcc.info gcc-9.5.0/gcc/doc/gcc.info
*** gcc-9.4.0/gcc/doc/gcc.info	Tue Jun  1 08:02:38 2021
--- gcc-9.5.0/gcc/doc/gcc.info	Fri May 27 07:30:45 2022
*************** Introduction
*** 58,64 ****
  
  This manual documents how to use the GNU compilers, as well as their
  features and incompatibilities, and how to report bugs.  It corresponds
! to the compilers (GCC) version 9.4.0.  The internals of the GNU
  compilers, including how to port them to new targets and some
  information about how to write front ends for new languages, are
  documented in a separate manual.  *Note Introduction: (gccint)Top.
--- 58,64 ----
  
  This manual documents how to use the GNU compilers, as well as their
  features and incompatibilities, and how to report bugs.  It corresponds
! to the compilers (GCC) version 9.5.0.  The internals of the GNU
  compilers, including how to port them to new targets and some
  information about how to write front ends for new languages, are
  documented in a separate manual.  *Note Introduction: (gccint)Top.
*************** unless optimization is enabled.
*** 4357,4363 ****
            -Wredundant-move (only for C++)
            -Wtype-limits
            -Wuninitialized
!           -Wshift-negative-value (in C++03 and in C99 and newer)
            -Wunused-parameter (only with -Wunused or -Wall)
            -Wunused-but-set-parameter (only with -Wunused or -Wall)
  
--- 4357,4363 ----
            -Wredundant-move (only for C++)
            -Wtype-limits
            -Wuninitialized
!           -Wshift-negative-value (in C++11 to C++17 and in C99 and newer)
            -Wunused-parameter (only with -Wunused or -Wall)
            -Wunused-but-set-parameter (only with -Wunused or -Wall)
  
*************** unless optimization is enabled.
*** 5062,5068 ****
  
  '-Wshift-negative-value'
       Warn if left shifting a negative value.  This warning is enabled by
!      '-Wextra' in C99 and C++11 modes (and newer).
  
  '-Wshift-overflow'
  '-Wshift-overflow=N'
--- 5062,5068 ----
  
  '-Wshift-negative-value'
       Warn if left shifting a negative value.  This warning is enabled by
!      '-Wextra' in C99 (and newer) and C++11 to C++17 modes.
  
  '-Wshift-overflow'
  '-Wshift-overflow=N'
*************** program analysis purposes.
*** 11539,11545 ****
  '-fsanitize=undefined'
       Enable UndefinedBehaviorSanitizer, a fast undefined behavior
       detector.  Various computations are instrumented to detect
!      undefined behavior at runtime.  Current suboptions are:
  
       '-fsanitize=shift'
            This option enables checking that the result of a shift
--- 11539,11548 ----
  '-fsanitize=undefined'
       Enable UndefinedBehaviorSanitizer, a fast undefined behavior
       detector.  Various computations are instrumented to detect
!      undefined behavior at runtime.  See
!      <https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html> for
!      more details.  The run-time behavior can be influenced using the
!      'UBSAN_OPTIONS' environment variable.  Current suboptions are:
  
       '-fsanitize=shift'
            This option enables checking that the result of a shift
*************** program analysis purposes.
*** 11789,11795 ****
       Function Attributes::).
  
       Currently the x86 GNU/Linux target provides an implementation based
!      on Intel Control-flow Enforcement Technology (CET).
  
  '-fstack-protector'
       Emit extra code to check for buffer overflows, such as stack
--- 11792,11799 ----
       Function Attributes::).
  
       Currently the x86 GNU/Linux target provides an implementation based
!      on Intel Control-flow Enforcement Technology (CET) which works for
!      i686 processor or newer.
  
  '-fstack-protector'
       Emit extra code to check for buffer overflows, such as stack
*************** These options are defined for AArch64 im
*** 15049,15067 ****
       are: 'generic', 'cortex-a35', 'cortex-a53', 'cortex-a55',
       'cortex-a57', 'cortex-a72', 'cortex-a73', 'cortex-a75',
       'cortex-a76', 'ares', 'exynos-m1', 'emag', 'falkor', 'neoverse-e1',
!      'neoverse-n1', 'neoverse-n2', 'neoverse-v1', 'qdf24xx', 'saphira',
!      'phecda', 'xgene1', 'vulcan', 'octeontx', 'octeontx81',
!      'octeontx83', 'a64fx', 'thunderx', 'thunderxt88', 'thunderxt88p1',
!      'thunderxt81', 'tsv110', 'thunderxt83', 'thunderx2t99', 'zeus',
!      'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53',
!      'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53',
!      'cortex-a75.cortex-a55', 'cortex-a76.cortex-a55' 'native'.
  
       The values 'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53',
       'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53',
       'cortex-a75.cortex-a55', 'cortex-a76.cortex-a55' specify that GCC
       should tune for a big.LITTLE system.
  
       Additionally on native AArch64 GNU/Linux systems the value 'native'
       tunes performance to the host system.  This option has no effect if
       the compiler is unable to recognize the processor of the host
--- 15053,15082 ----
       are: 'generic', 'cortex-a35', 'cortex-a53', 'cortex-a55',
       'cortex-a57', 'cortex-a72', 'cortex-a73', 'cortex-a75',
       'cortex-a76', 'ares', 'exynos-m1', 'emag', 'falkor', 'neoverse-e1',
!      'neoverse-n1', 'neoverse-n2', 'neoverse-v1', 'neoverse-512tvb',
!      'qdf24xx', 'saphira', 'phecda', 'xgene1', 'vulcan', 'octeontx',
!      'octeontx81', 'octeontx83', 'a64fx', 'thunderx', 'thunderxt88',
!      'thunderxt88p1', 'thunderxt81', 'tsv110', 'thunderxt83',
!      'thunderx2t99', 'zeus', 'cortex-a57.cortex-a53',
!      'cortex-a72.cortex-a53', 'cortex-a73.cortex-a35',
!      'cortex-a73.cortex-a53', 'cortex-a75.cortex-a55',
!      'cortex-a76.cortex-a55' 'native'.
  
       The values 'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53',
       'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53',
       'cortex-a75.cortex-a55', 'cortex-a76.cortex-a55' specify that GCC
       should tune for a big.LITTLE system.
  
+      The value 'neoverse-512tvb' specifies that GCC should tune for
+      Neoverse cores that (a) implement SVE and (b) have a total vector
+      bandwidth of 512 bits per cycle.  In other words, the option tells
+      GCC to tune for Neoverse cores that can execute 4 128-bit Advanced
+      SIMD arithmetic instructions a cycle and that can execute an
+      equivalent number of SVE arithmetic instructions per cycle (2 for
+      256-bit SVE, 4 for 128-bit SVE). This is more general than tuning
+      for a specific core like Neoverse V1 but is more specific than the
+      default tuning described below.
+ 
       Additionally on native AArch64 GNU/Linux systems the value 'native'
       tunes performance to the host system.  This option has no effect if
       the compiler is unable to recognize the processor of the host
*************** These options are defined for AArch64 im
*** 15089,15094 ****
--- 15104,15118 ----
       or '-mtune', those options take precedence over the appropriate
       part of this option.
  
+      '-mcpu=neoverse-512tvb' is special in that it does not refer to a
+      specific core, but instead refers to all Neoverse cores that (a)
+      implement SVE and (b) have a total vector bandwidth of 512 bits a
+      cycle.  Unless overridden by '-march', '-mcpu=neoverse-512tvb'
+      generates code that can run on a Neoverse V1 core, since Neoverse
+      V1 is the first Neoverse core with these properties.  Unless
+      overridden by '-mtune', '-mcpu=neoverse-512tvb' tunes code in the
+      same way as for '-mtune=neoverse-512tvb'.
+ 
  '-moverride=STRING'
       Override tuning decisions made by the back-end in response to a
       '-mtune=' switch.  The syntax, semantics, and accepted values for
*************** or combine them with constant text in a
*** 26722,26729 ****
       Accumulate an option for '%X'.
  
  '%X'
!      Output the accumulated linker options specified by '-Wl' or a '%x'
!      spec string.
  
  '%Y'
       Output the accumulated assembler options specified by '-Wa'.
--- 26746,26753 ----
       Accumulate an option for '%X'.
  
  '%X'
!      Output the accumulated linker options specified by a '%x' spec
!      string.
  
  '%Y'
       Output the accumulated assembler options specified by '-Wa'.
*************** such objects behave unspecified when bei
*** 56162,56171 ****
  
       struct Base{
         char *name;
!        Base(char *n) : name(strdup(n)){}
         Base& operator= (const Base& other){
          free (name);
          name = strdup (other.name);
         }
       };
  
--- 56186,56196 ----
  
       struct Base{
         char *name;
!        Base(const char *n) : name(strdup(n)){}
         Base& operator= (const Base& other){
          free (name);
          name = strdup (other.name);
+         return *this;
         }
       };
  
*************** in the example).
*** 56197,56204 ****
   G++ implements the "intuitive" algorithm for copy-assignment: assign
  all direct bases, then assign all members.  In that algorithm, the
  virtual base subobject can be encountered more than once.  In the
! example, copying proceeds in the following order: 'val', 'name' (via
! 'strdup'), 'bval', and 'name' again.
  
   If application code relies on copy-assignment, a user-defined
  copy-assignment operator removes any uncertainties.  With such an
--- 56222,56229 ----
   G++ implements the "intuitive" algorithm for copy-assignment: assign
  all direct bases, then assign all members.  In that algorithm, the
  virtual base subobject can be encountered more than once.  In the
! example, copying proceeds in the following order: 'name' (via 'strdup'),
! 'val', 'name' again, and 'bval'.
  
   If application code relies on copy-assignment, a user-defined
  copy-assignment operator removes any uncertainties.  With such an
*************** look up both forms.
*** 59268,59274 ****
  * fallow-parameterless-variadic-functions: C Dialect Options.
                                                               (line  243)
  * fasan-shadow-offset:                   Instrumentation Options.
!                                                              (line  404)
  * fasm:                                  C Dialect Options.  (line  250)
  * fassociative-math:                     Optimize Options.   (line 2219)
  * fasynchronous-unwind-tables:           Code Gen Options.   (line  156)
--- 59293,59299 ----
  * fallow-parameterless-variadic-functions: C Dialect Options.
                                                               (line  243)
  * fasan-shadow-offset:                   Instrumentation Options.
!                                                              (line  407)
  * fasm:                                  C Dialect Options.  (line  250)
  * fassociative-math:                     Optimize Options.   (line 2219)
  * fasynchronous-unwind-tables:           Code Gen Options.   (line  156)
*************** look up both forms.
*** 59284,59290 ****
  * fcall-used:                            Code Gen Options.   (line  440)
  * fcaller-saves:                         Optimize Options.   (line  917)
  * fcf-protection:                        Instrumentation Options.
!                                                              (line  477)
  * fchar8_t:                              C++ Dialect Options.
                                                               (line  115)
  * fcheck-new:                            C++ Dialect Options.
--- 59309,59315 ----
  * fcall-used:                            Code Gen Options.   (line  440)
  * fcaller-saves:                         Optimize Options.   (line  917)
  * fcf-protection:                        Instrumentation Options.
!                                                              (line  480)
  * fchar8_t:                              C++ Dialect Options.
                                                               (line  115)
  * fcheck-new:                            C++ Dialect Options.
*************** look up both forms.
*** 59530,59542 ****
  * finput-charset:                        Preprocessor Options.
                                                               (line  279)
  * finstrument-functions:                 Instrumentation Options.
!                                                              (line  670)
  * finstrument-functions <1>:             Common Function Attributes.
                                                               (line  620)
  * finstrument-functions-exclude-file-list: Instrumentation Options.
!                                                              (line  706)
  * finstrument-functions-exclude-function-list: Instrumentation Options.
!                                                              (line  727)
  * fipa-bit-cp:                           Optimize Options.   (line 1048)
  * fipa-cp:                               Optimize Options.   (line 1029)
  * fipa-cp-clone:                         Optimize Options.   (line 1038)
--- 59555,59567 ----
  * finput-charset:                        Preprocessor Options.
                                                               (line  279)
  * finstrument-functions:                 Instrumentation Options.
!                                                              (line  674)
  * finstrument-functions <1>:             Common Function Attributes.
                                                               (line  620)
  * finstrument-functions-exclude-file-list: Instrumentation Options.
!                                                              (line  710)
  * finstrument-functions-exclude-function-list: Instrumentation Options.
!                                                              (line  731)
  * fipa-bit-cp:                           Optimize Options.   (line 1048)
  * fipa-cp:                               Optimize Options.   (line 1029)
  * fipa-cp-clone:                         Optimize Options.   (line 1038)
*************** look up both forms.
*** 59700,59708 ****
  * fno-rtti:                              C++ Dialect Options.
                                                               (line  347)
  * fno-sanitize-recover:                  Instrumentation Options.
!                                                              (line  413)
  * fno-sanitize=all:                      Instrumentation Options.
!                                                              (line  398)
  * fno-sched-interblock:                  Optimize Options.   (line  767)
  * fno-sched-spec:                        Optimize Options.   (line  772)
  * fno-set-stack-executable:              x86 Windows Options.
--- 59725,59733 ----
  * fno-rtti:                              C++ Dialect Options.
                                                               (line  347)
  * fno-sanitize-recover:                  Instrumentation Options.
!                                                              (line  416)
  * fno-sanitize=all:                      Instrumentation Options.
!                                                              (line  401)
  * fno-sched-interblock:                  Optimize Options.   (line  767)
  * fno-sched-spec:                        Optimize Options.   (line  772)
  * fno-set-stack-executable:              x86 Windows Options.
*************** look up both forms.
*** 59712,59718 ****
  * fno-signed-bitfields:                  C Dialect Options.  (line  432)
  * fno-signed-zeros:                      Optimize Options.   (line 2258)
  * fno-stack-limit:                       Instrumentation Options.
!                                                              (line  582)
  * fno-threadsafe-statics:                C++ Dialect Options.
                                                               (line  402)
  * fno-toplevel-reorder:                  Optimize Options.   (line 1747)
--- 59737,59743 ----
  * fno-signed-bitfields:                  C Dialect Options.  (line  432)
  * fno-signed-zeros:                      Optimize Options.   (line 2258)
  * fno-stack-limit:                       Instrumentation Options.
!                                                              (line  586)
  * fno-threadsafe-statics:                C++ Dialect Options.
                                                               (line  402)
  * fno-toplevel-reorder:                  Optimize Options.   (line 1747)
*************** look up both forms.
*** 59765,59771 ****
  * fpack-struct:                          Code Gen Options.   (line  471)
  * fpartial-inlining:                     Optimize Options.   (line 1470)
  * fpatchable-function-entry:             Instrumentation Options.
!                                                              (line  739)
  * fpcc-struct-return:                    Code Gen Options.   (line  175)
  * fpcc-struct-return <1>:                Incompatibilities.  (line  170)
  * fpch-deps:                             Preprocessor Options.
--- 59790,59796 ----
  * fpack-struct:                          Code Gen Options.   (line  471)
  * fpartial-inlining:                     Optimize Options.   (line 1470)
  * fpatchable-function-entry:             Instrumentation Options.
!                                                              (line  743)
  * fpcc-struct-return:                    Code Gen Options.   (line  175)
  * fpcc-struct-return <1>:                Incompatibilities.  (line  170)
  * fpch-deps:                             Preprocessor Options.
*************** look up both forms.
*** 59842,59916 ****
  * frtti:                                 C++ Dialect Options.
                                                               (line  347)
  * fsanitize-address-use-after-scope:     Instrumentation Options.
!                                                              (line  449)
  * fsanitize-coverage=trace-cmp:          Instrumentation Options.
!                                                              (line  464)
  * fsanitize-coverage=trace-pc:           Instrumentation Options.
!                                                              (line  460)
  * fsanitize-recover:                     Instrumentation Options.
!                                                              (line  413)
  * fsanitize-sections:                    Instrumentation Options.
!                                                              (line  409)
  * fsanitize-undefined-trap-on-error:     Instrumentation Options.
!                                                              (line  453)
  * fsanitize=address:                     Instrumentation Options.
                                                               (line  187)
  * fsanitize=alignment:                   Instrumentation Options.
!                                                              (line  324)
  * fsanitize=bool:                        Instrumentation Options.
!                                                              (line  362)
  * fsanitize=bounds:                      Instrumentation Options.
!                                                              (line  311)
  * fsanitize=bounds-strict:               Instrumentation Options.
!                                                              (line  317)
  * fsanitize=builtin:                     Instrumentation Options.
!                                                              (line  386)
  * fsanitize=enum:                        Instrumentation Options.
!                                                              (line  367)
  * fsanitize=float-cast-overflow:         Instrumentation Options.
!                                                              (line  342)
  * fsanitize=float-divide-by-zero:        Instrumentation Options.
!                                                              (line  336)
  * fsanitize=integer-divide-by-zero:      Instrumentation Options.
!                                                              (line  274)
  * fsanitize=kernel-address:              Instrumentation Options.
                                                               (line  201)
  * fsanitize=leak:                        Instrumentation Options.
                                                               (line  239)
  * fsanitize=nonnull-attribute:           Instrumentation Options.
!                                                              (line  350)
  * fsanitize=null:                        Instrumentation Options.
!                                                              (line  288)
  * fsanitize=object-size:                 Instrumentation Options.
!                                                              (line  331)
  * fsanitize=pointer-compare:             Instrumentation Options.
                                                               (line  205)
  * fsanitize=pointer-overflow:            Instrumentation Options.
!                                                              (line  380)
  * fsanitize=pointer-subtract:            Instrumentation Options.
                                                               (line  215)
  * fsanitize=return:                      Instrumentation Options.
!                                                              (line  296)
  * fsanitize=returns-nonnull-attribute:   Instrumentation Options.
!                                                              (line  356)
  * fsanitize=shift:                       Instrumentation Options.
!                                                              (line  254)
  * fsanitize=shift-base:                  Instrumentation Options.
!                                                              (line  267)
  * fsanitize=shift-exponent:              Instrumentation Options.
!                                                              (line  262)
  * fsanitize=signed-integer-overflow:     Instrumentation Options.
!                                                              (line  302)
  * fsanitize=thread:                      Instrumentation Options.
                                                               (line  225)
  * fsanitize=undefined:                   Instrumentation Options.
                                                               (line  249)
  * fsanitize=unreachable:                 Instrumentation Options.
!                                                              (line  278)
  * fsanitize=vla-bound:                   Instrumentation Options.
!                                                              (line  284)
  * fsanitize=vptr:                        Instrumentation Options.
!                                                              (line  373)
  * fsave-optimization-record:             Developer Options.  (line  565)
  * fsched-critical-path-heuristic:        Optimize Options.   (line  832)
  * fsched-dep-count-heuristic:            Optimize Options.   (line  859)
--- 59867,59941 ----
  * frtti:                                 C++ Dialect Options.
                                                               (line  347)
  * fsanitize-address-use-after-scope:     Instrumentation Options.
!                                                              (line  452)
  * fsanitize-coverage=trace-cmp:          Instrumentation Options.
!                                                              (line  467)
  * fsanitize-coverage=trace-pc:           Instrumentation Options.
!                                                              (line  463)
  * fsanitize-recover:                     Instrumentation Options.
!                                                              (line  416)
  * fsanitize-sections:                    Instrumentation Options.
!                                                              (line  412)
  * fsanitize-undefined-trap-on-error:     Instrumentation Options.
!                                                              (line  456)
  * fsanitize=address:                     Instrumentation Options.
                                                               (line  187)
  * fsanitize=alignment:                   Instrumentation Options.
!                                                              (line  327)
  * fsanitize=bool:                        Instrumentation Options.
!                                                              (line  365)
  * fsanitize=bounds:                      Instrumentation Options.
!                                                              (line  314)
  * fsanitize=bounds-strict:               Instrumentation Options.
!                                                              (line  320)
  * fsanitize=builtin:                     Instrumentation Options.
!                                                              (line  389)
  * fsanitize=enum:                        Instrumentation Options.
!                                                              (line  370)
  * fsanitize=float-cast-overflow:         Instrumentation Options.
!                                                              (line  345)
  * fsanitize=float-divide-by-zero:        Instrumentation Options.
!                                                              (line  339)
  * fsanitize=integer-divide-by-zero:      Instrumentation Options.
!                                                              (line  277)
  * fsanitize=kernel-address:              Instrumentation Options.
                                                               (line  201)
  * fsanitize=leak:                        Instrumentation Options.
                                                               (line  239)
  * fsanitize=nonnull-attribute:           Instrumentation Options.
!                                                              (line  353)
  * fsanitize=null:                        Instrumentation Options.
!                                                              (line  291)
  * fsanitize=object-size:                 Instrumentation Options.
!                                                              (line  334)
  * fsanitize=pointer-compare:             Instrumentation Options.
                                                               (line  205)
  * fsanitize=pointer-overflow:            Instrumentation Options.
!                                                              (line  383)
  * fsanitize=pointer-subtract:            Instrumentation Options.
                                                               (line  215)
  * fsanitize=return:                      Instrumentation Options.
!                                                              (line  299)
  * fsanitize=returns-nonnull-attribute:   Instrumentation Options.
!                                                              (line  359)
  * fsanitize=shift:                       Instrumentation Options.
!                                                              (line  257)
  * fsanitize=shift-base:                  Instrumentation Options.
!                                                              (line  270)
  * fsanitize=shift-exponent:              Instrumentation Options.
!                                                              (line  265)
  * fsanitize=signed-integer-overflow:     Instrumentation Options.
!                                                              (line  305)
  * fsanitize=thread:                      Instrumentation Options.
                                                               (line  225)
  * fsanitize=undefined:                   Instrumentation Options.
                                                               (line  249)
  * fsanitize=unreachable:                 Instrumentation Options.
!                                                              (line  281)
  * fsanitize=vla-bound:                   Instrumentation Options.
!                                                              (line  287)
  * fsanitize=vptr:                        Instrumentation Options.
!                                                              (line  376)
  * fsave-optimization-record:             Developer Options.  (line  565)
  * fsched-critical-path-heuristic:        Optimize Options.   (line  832)
  * fsched-dep-count-heuristic:            Optimize Options.   (line  859)
*************** look up both forms.
*** 59964,59970 ****
  * fsplit-loops:                          Optimize Options.   (line 2466)
  * fsplit-paths:                          Optimize Options.   (line 1446)
  * fsplit-stack:                          Instrumentation Options.
!                                                              (line  599)
  * fsplit-stack <1>:                      Common Function Attributes.
                                                               (line  670)
  * fsplit-wide-types:                     Optimize Options.   (line  463)
--- 59989,59995 ----
  * fsplit-loops:                          Optimize Options.   (line 2466)
  * fsplit-paths:                          Optimize Options.   (line 1446)
  * fsplit-stack:                          Instrumentation Options.
!                                                              (line  603)
  * fsplit-stack <1>:                      Common Function Attributes.
                                                               (line  670)
  * fsplit-wide-types:                     Optimize Options.   (line  463)
*************** look up both forms.
*** 59972,59992 ****
  * fssa-phiopt:                           Optimize Options.   (line 1170)
  * fsso-struct:                           C Dialect Options.  (line  438)
  * fstack-check:                          Instrumentation Options.
!                                                              (line  525)
  * fstack-clash-protection:               Instrumentation Options.
!                                                              (line  567)
  * fstack-limit-register:                 Instrumentation Options.
!                                                              (line  582)
  * fstack-limit-symbol:                   Instrumentation Options.
!                                                              (line  582)
  * fstack-protector:                      Instrumentation Options.
!                                                              (line  504)
  * fstack-protector-all:                  Instrumentation Options.
!                                                              (line  513)
  * fstack-protector-explicit:             Instrumentation Options.
!                                                              (line  521)
  * fstack-protector-strong:               Instrumentation Options.
!                                                              (line  516)
  * fstack-usage:                          Developer Options.  (line  880)
  * fstack_reuse:                          Code Gen Options.   (line   15)
  * fstats:                                Developer Options.  (line  909)
--- 59997,60017 ----
  * fssa-phiopt:                           Optimize Options.   (line 1170)
  * fsso-struct:                           C Dialect Options.  (line  438)
  * fstack-check:                          Instrumentation Options.
!                                                              (line  529)
  * fstack-clash-protection:               Instrumentation Options.
!                                                              (line  571)
  * fstack-limit-register:                 Instrumentation Options.
!                                                              (line  586)
  * fstack-limit-symbol:                   Instrumentation Options.
!                                                              (line  586)
  * fstack-protector:                      Instrumentation Options.
!                                                              (line  508)
  * fstack-protector-all:                  Instrumentation Options.
!                                                              (line  517)
  * fstack-protector-explicit:             Instrumentation Options.
!                                                              (line  525)
  * fstack-protector-strong:               Instrumentation Options.
!                                                              (line  520)
  * fstack-usage:                          Developer Options.  (line  880)
  * fstack_reuse:                          Code Gen Options.   (line   15)
  * fstats:                                Developer Options.  (line  909)
*************** look up both forms.
*** 60093,60103 ****
                                                               (line  448)
  * fvpt:                                  Optimize Options.   (line 2401)
  * fvtable-verify:                        Instrumentation Options.
!                                                              (line  617)
  * fvtv-counts:                           Instrumentation Options.
!                                                              (line  653)
  * fvtv-debug:                            Instrumentation Options.
!                                                              (line  640)
  * fweak:                                 C++ Dialect Options.
                                                               (line  477)
  * fweb:                                  Optimize Options.   (line 1760)
--- 60118,60128 ----
                                                               (line  448)
  * fvpt:                                  Optimize Options.   (line 2401)
  * fvtable-verify:                        Instrumentation Options.
!                                                              (line  621)
  * fvtv-counts:                           Instrumentation Options.
!                                                              (line  657)
  * fvtv-debug:                            Instrumentation Options.
!                                                              (line  644)
  * fweak:                                 C++ Dialect Options.
                                                               (line  477)
  * fweb:                                  Optimize Options.   (line 1760)
*************** look up both forms.
*** 60465,60471 ****
  * mbranch-index:                         ARC Options.        (line  329)
  * mbranch-likely:                        MIPS Options.       (line  792)
  * mbranch-predict:                       MMIX Options.       (line   48)
! * mbranch-protection:                    AArch64 Options.    (line  276)
  * mbss-plt:                              RS/6000 and PowerPC Options.
                                                               (line  165)
  * mbuild-constants:                      DEC Alpha Options.  (line  141)
--- 60490,60496 ----
  * mbranch-index:                         ARC Options.        (line  329)
  * mbranch-likely:                        MIPS Options.       (line  792)
  * mbranch-predict:                       MMIX Options.       (line   48)
! * mbranch-protection:                    AArch64 Options.    (line  296)
  * mbss-plt:                              RS/6000 and PowerPC Options.
                                                               (line  165)
  * mbuild-constants:                      DEC Alpha Options.  (line  141)
*************** look up both forms.
*** 60567,60573 ****
  * mcorea:                                Blackfin Options.   (line  154)
  * mcoreb:                                Blackfin Options.   (line  161)
  * mcp:                                   C-SKY Options.      (line   74)
! * mcpu:                                  AArch64 Options.    (line  232)
  * mcpu <1>:                              ARC Options.        (line   18)
  * mcpu <2>:                              ARM Options.        (line  526)
  * mcpu <3>:                              CRIS Options.       (line   10)
--- 60592,60598 ----
  * mcorea:                                Blackfin Options.   (line  154)
  * mcoreb:                                Blackfin Options.   (line  161)
  * mcp:                                   C-SKY Options.      (line   74)
! * mcpu:                                  AArch64 Options.    (line  243)
  * mcpu <1>:                              ARC Options.        (line   18)
  * mcpu <2>:                              ARM Options.        (line  526)
  * mcpu <3>:                              CRIS Options.       (line   10)
*************** look up both forms.
*** 60854,60860 ****
  * mhard-float <10>:                      x86 Options.        (line  511)
  * mhard-mul:                             OpenRISC Options.   (line   20)
  * mhard-quad-float:                      SPARC Options.      (line   55)
! * mharden-sls:                           AArch64 Options.    (line  288)
  * mhardlit:                              MCore Options.      (line   10)
  * mhigh-registers:                       C-SKY Options.      (line  104)
  * mhint-max-distance:                    SPU Options.        (line  107)
--- 60879,60885 ----
  * mhard-float <10>:                      x86 Options.        (line  511)
  * mhard-mul:                             OpenRISC Options.   (line   20)
  * mhard-quad-float:                      SPARC Options.      (line   55)
! * mharden-sls:                           AArch64 Options.    (line  308)
  * mhardlit:                              MCore Options.      (line   10)
  * mhigh-registers:                       C-SKY Options.      (line  104)
  * mhint-max-distance:                    SPU Options.        (line  107)
*************** look up both forms.
*** 61324,61330 ****
  * mno-packed-stack:                      S/390 and zSeries Options.
                                                               (line   54)
  * mno-paired-single:                     MIPS Options.       (line  370)
! * mno-pc-relative-literal-loads:         AArch64 Options.    (line  262)
  * mno-pic:                               IA-64 Options.      (line   26)
  * mno-pid:                               RX Options.         (line  117)
  * mno-plt:                               MIPS Options.       (line  219)
--- 61349,61355 ----
  * mno-packed-stack:                      S/390 and zSeries Options.
                                                               (line   54)
  * mno-paired-single:                     MIPS Options.       (line  370)
! * mno-pc-relative-literal-loads:         AArch64 Options.    (line  282)
  * mno-pic:                               IA-64 Options.      (line   26)
  * mno-pid:                               RX Options.         (line  117)
  * mno-plt:                               MIPS Options.       (line  219)
*************** look up both forms.
*** 61484,61490 ****
  * moptimize:                             Nvidia PTX Options. (line   22)
  * moptimize-membar:                      FRV Options.        (line  244)
  * moptimize-membar <1>:                  FRV Options.        (line  249)
! * moverride:                             AArch64 Options.    (line  249)
  * MP:                                    Preprocessor Options.
                                                               (line  132)
  * mpa-risc-1-0:                          HPPA Options.       (line   19)
--- 61509,61515 ----
  * moptimize:                             Nvidia PTX Options. (line   22)
  * moptimize-membar:                      FRV Options.        (line  244)
  * moptimize-membar <1>:                  FRV Options.        (line  249)
! * moverride:                             AArch64 Options.    (line  269)
  * MP:                                    Preprocessor Options.
                                                               (line  132)
  * mpa-risc-1-0:                          HPPA Options.       (line   19)
*************** look up both forms.
*** 61495,61501 ****
                                                               (line   54)
  * mpadstruct:                            SH Options.         (line  189)
  * mpaired-single:                        MIPS Options.       (line  370)
! * mpc-relative-literal-loads:            AArch64 Options.    (line  262)
  * mpc32:                                 x86 Options.        (line  673)
  * mpc64:                                 x86 Options.        (line  673)
  * mpc80:                                 x86 Options.        (line  673)
--- 61520,61526 ----
                                                               (line   54)
  * mpadstruct:                            SH Options.         (line  189)
  * mpaired-single:                        MIPS Options.       (line  370)
! * mpc-relative-literal-loads:            AArch64 Options.    (line  282)
  * mpc32:                                 x86 Options.        (line  673)
  * mpc64:                                 x86 Options.        (line  673)
  * mpc80:                                 x86 Options.        (line  673)
*************** look up both forms.
*** 61705,61711 ****
  * mshstk:                                x86 Options.        (line  934)
  * mside-effects:                         CRIS Options.       (line   46)
  * msign-extend-enabled:                  LM32 Options.       (line   18)
! * msign-return-address:                  AArch64 Options.    (line  268)
  * msilicon-errata:                       MSP430 Options.     (line  102)
  * msilicon-errata-warn:                  MSP430 Options.     (line  106)
  * msim:                                  Blackfin Options.   (line   36)
--- 61730,61736 ----
  * mshstk:                                x86 Options.        (line  934)
  * mside-effects:                         CRIS Options.       (line   46)
  * msign-extend-enabled:                  LM32 Options.       (line   18)
! * msign-return-address:                  AArch64 Options.    (line  288)
  * msilicon-errata:                       MSP430 Options.     (line  102)
  * msilicon-errata-warn:                  MSP430 Options.     (line  106)
  * msim:                                  Blackfin Options.   (line   36)
*************** look up both forms.
*** 61841,61847 ****
  * mstructure-size-boundary:              ARM Options.        (line  639)
  * msubxc:                                SPARC Options.      (line  288)
  * msv-mode:                              Visium Options.     (line   52)
! * msve-vector-bits:                      AArch64 Options.    (line  296)
  * msvr4-struct-return:                   RS/6000 and PowerPC Options.
                                                               (line  553)
  * mswap:                                 ARC Options.        (line  152)
--- 61866,61872 ----
  * mstructure-size-boundary:              ARM Options.        (line  639)
  * msubxc:                                SPARC Options.      (line  288)
  * msv-mode:                              Visium Options.     (line   52)
! * msve-vector-bits:                      AArch64 Options.    (line  316)
  * msvr4-struct-return:                   RS/6000 and PowerPC Options.
                                                               (line  553)
  * mswap:                                 ARC Options.        (line  152)
*************** look up both forms.
*** 61954,61960 ****
  * mvect-double:                          Adapteva Epiphany Options.
                                                               (line  115)
  * mvect8-ret-in-mem:                     x86 Options.        (line  661)
! * mverbose-cost-dump:                    AArch64 Options.    (line  257)
  * mverbose-cost-dump <1>:                ARM Options.        (line  846)
  * mvirt:                                 MIPS Options.       (line  407)
  * mvis:                                  SPARC Options.      (line  221)
--- 61979,61985 ----
  * mvect-double:                          Adapteva Epiphany Options.
                                                               (line  115)
  * mvect8-ret-in-mem:                     x86 Options.        (line  661)
! * mverbose-cost-dump:                    AArch64 Options.    (line  277)
  * mverbose-cost-dump <1>:                ARM Options.        (line  846)
  * mvirt:                                 MIPS Options.       (line  407)
  * mvis:                                  SPARC Options.      (line  221)
*************** Keyword Index
*** 62844,62851 ****
  * + in constraint:                       Modifiers.          (line   12)
  * -lgcc, use with -nodefaultlibs:        Link Options.       (line  155)
  * -lgcc, use with -nostdlib:             Link Options.       (line  155)
! * -march feature modifiers:              AArch64 Options.    (line  318)
! * -mcpu feature modifiers:               AArch64 Options.    (line  318)
  * -nodefaultlibs and unresolved references: Link Options.    (line  155)
  * -nostdlib and unresolved references:   Link Options.       (line  155)
  * .sdata/.sdata2 references (PowerPC):   RS/6000 and PowerPC Options.
--- 62869,62876 ----
  * + in constraint:                       Modifiers.          (line   12)
  * -lgcc, use with -nodefaultlibs:        Link Options.       (line  155)
  * -lgcc, use with -nostdlib:             Link Options.       (line  155)
! * -march feature modifiers:              AArch64 Options.    (line  338)
! * -mcpu feature modifiers:               AArch64 Options.    (line  338)
  * -nodefaultlibs and unresolved references: Link Options.    (line  155)
  * -nostdlib and unresolved references:   Link Options.       (line  155)
  * .sdata/.sdata2 references (PowerPC):   RS/6000 and PowerPC Options.
*************** Node: C++ Dialect Options113185
*** 65484,65892 ****
  Node: Objective-C and Objective-C++ Dialect Options156560
  Node: Diagnostic Message Formatting Options167790
  Node: Warning Options184428
! Ref: Wtrigraphs276997
! Node: Debugging Options315548
! Node: Optimize Options334739
! Ref: Type-punning403539
! Node: Instrumentation Options503527
! Node: Preprocessor Options540568
! Ref: dashMF545415
! Ref: fdollars-in-identifiers549994
! Node: Assembler Options562244
! Node: Link Options562935
! Ref: Link Options-Footnote-1579932
! Node: Directory Options580268
! Node: Code Gen Options588671
! Node: Developer Options617357
! Node: Submodel Options658492
! Node: AArch64 Options660285
! Ref: aarch64-feature-modifiers674592
! Node: Adapteva Epiphany Options678272
! Node: AMD GCN Options684224
! Node: ARC Options685050
! Node: ARM Options706262
! Node: AVR Options742776
! Node: Blackfin Options767367
! Node: C6X Options775259
! Node: CRIS Options776802
! Node: CR16 Options780541
! Node: C-SKY Options781453
! Node: Darwin Options786313
! Node: DEC Alpha Options793754
! Node: FR30 Options805370
! Node: FT32 Options805935
! Node: FRV Options806881
! Node: GNU/Linux Options813645
! Node: H8/300 Options815026
! Node: HPPA Options816478
! Node: IA-64 Options826010
! Node: LM32 Options834138
! Node: M32C Options834661
! Node: M32R/D Options835934
! Node: M680x0 Options839479
! Node: MCore Options853564
! Node: MeP Options855066
! Node: MicroBlaze Options859026
! Node: MIPS Options862116
! Node: MMIX Options898655
! Node: MN10300 Options901132
! Node: Moxie Options903675
! Node: MSP430 Options904162
! Node: NDS32 Options908866
! Node: Nios II Options911036
! Node: Nvidia PTX Options923198
! Node: OpenRISC Options925667
! Node: PDP-11 Options927163
! Node: picoChip Options928412
! Node: PowerPC Options930550
! Node: RISC-V Options930773
! Node: RL78 Options935998
! Node: RS/6000 and PowerPC Options939773
! Node: RX Options980385
! Node: S/390 and zSeries Options988987
! Node: Score Options999366
! Node: SH Options1000215
! Node: Solaris 2 Options1015355
! Node: SPARC Options1016593
! Node: SPU Options1032214
! Node: System V Options1037153
! Node: TILE-Gx Options1037979
! Node: TILEPro Options1038997
! Node: V850 Options1039501
! Node: VAX Options1046188
! Node: Visium Options1046726
! Node: VMS Options1049034
! Node: VxWorks Options1049850
! Node: x86 Options1051002
! Node: x86 Windows Options1112888
! Node: Xstormy16 Options1115693
! Node: Xtensa Options1115987
! Node: zSeries Options1121136
! Node: Spec Files1121332
! Node: Environment Variables1143490
! Node: Precompiled Headers1152216
! Node: C Implementation1158222
! Node: Translation implementation1159912
! Node: Environment implementation1160503
! Node: Identifiers implementation1161057
! Node: Characters implementation1162143
! Node: Integers implementation1165793
! Node: Floating point implementation1167842
! Node: Arrays and pointers implementation1170905
! Ref: Arrays and pointers implementation-Footnote-11172365
! Node: Hints implementation1172491
! Node: Structures unions enumerations and bit-fields implementation1173986
! Node: Qualifiers implementation1176210
! Node: Declarators implementation1177989
! Node: Statements implementation1178330
! Node: Preprocessing directives implementation1178656
! Node: Library functions implementation1180977
! Node: Architecture implementation1181626
! Node: Locale-specific behavior implementation1183271
! Node: C++ Implementation1183576
! Node: Conditionally-supported behavior1184859
! Node: Exception handling1185476
! Node: C Extensions1185943
! Node: Statement Exprs1191147
! Node: Local Labels1196519
! Node: Labels as Values1199492
! Ref: Labels as Values-Footnote-11202019
! Node: Nested Functions1202204
! Node: Nonlocal Gotos1206158
! Node: Constructing Calls1208424
! Node: Typeof1213139
! Node: Conditionals1217068
! Node: __int1281217957
! Node: Long Long1218482
! Node: Complex1219973
! Node: Floating Types1222741
! Node: Half-Precision1226208
! Node: Decimal Float1228619
! Node: Hex Floats1230473
! Node: Fixed-Point1231547
! Node: Named Address Spaces1234805
! Ref: AVR Named Address Spaces1235491
! Node: Zero Length1242514
! Node: Empty Structures1246695
! Node: Variable Length1247101
! Node: Variadic Macros1249819
! Node: Escaped Newlines1252197
! Node: Subscripting1253058
! Node: Pointer Arith1253783
! Node: Variadic Pointer Args1254360
! Node: Pointers to Arrays1255085
! Node: Initializers1255838
! Node: Compound Literals1256339
! Node: Designated Inits1259906
! Node: Case Ranges1263830
! Node: Cast to Union1264511
! Node: Mixed Declarations1266234
! Node: Function Attributes1266744
! Node: Common Function Attributes1271200
! Node: AArch64 Function Attributes1329856
! Node: AMD GCN Function Attributes1336050
! Node: ARC Function Attributes1339103
! Node: ARM Function Attributes1341425
! Node: AVR Function Attributes1346564
! Node: Blackfin Function Attributes1351099
! Node: CR16 Function Attributes1353597
! Node: C-SKY Function Attributes1354121
! Node: Epiphany Function Attributes1355418
! Node: H8/300 Function Attributes1358173
! Node: IA-64 Function Attributes1359371
! Node: M32C Function Attributes1360413
! Node: M32R/D Function Attributes1362751
! Node: m68k Function Attributes1364225
! Node: MCORE Function Attributes1365169
! Node: MeP Function Attributes1365980
! Node: MicroBlaze Function Attributes1367281
! Node: Microsoft Windows Function Attributes1368788
! Node: MIPS Function Attributes1373357
! Node: MSP430 Function Attributes1378975
! Node: NDS32 Function Attributes1383028
! Node: Nios II Function Attributes1385452
! Node: Nvidia PTX Function Attributes1386749
! Node: PowerPC Function Attributes1387364
! Node: RISC-V Function Attributes1394419
! Node: RL78 Function Attributes1395835
! Node: RX Function Attributes1397074
! Node: S/390 Function Attributes1399621
! Node: SH Function Attributes1401449
! Node: SPU Function Attributes1404870
! Node: Symbian OS Function Attributes1405678
! Node: V850 Function Attributes1406015
! Node: Visium Function Attributes1406560
! Node: x86 Function Attributes1407088
! Node: Xstormy16 Function Attributes1429577
! Node: Variable Attributes1430084
! Node: Common Variable Attributes1431645
! Node: ARC Variable Attributes1449446
! Node: AVR Variable Attributes1449828
! Node: Blackfin Variable Attributes1454990
! Node: H8/300 Variable Attributes1455848
! Node: IA-64 Variable Attributes1456921
! Node: M32R/D Variable Attributes1457672
! Node: MeP Variable Attributes1458455
! Node: Microsoft Windows Variable Attributes1460548
! Node: MSP430 Variable Attributes1463001
! Node: Nvidia PTX Variable Attributes1464202
! Node: PowerPC Variable Attributes1464819
! Node: RL78 Variable Attributes1465376
! Node: SPU Variable Attributes1465794
! Node: V850 Variable Attributes1466159
! Node: x86 Variable Attributes1466791
! Node: Xstormy16 Variable Attributes1467847
! Node: Type Attributes1468417
! Node: Common Type Attributes1470105
! Node: ARC Type Attributes1491597
! Node: ARM Type Attributes1492069
! Node: MeP Type Attributes1492851
! Node: PowerPC Type Attributes1493253
! Node: SPU Type Attributes1494242
! Node: x86 Type Attributes1494661
! Node: Label Attributes1495649
! Node: Enumerator Attributes1497582
! Node: Statement Attributes1498901
! Node: Attribute Syntax1500384
! Node: Function Prototypes1511642
! Node: C++ Comments1513422
! Node: Dollar Signs1513941
! Node: Character Escapes1514406
! Node: Alignment1514690
! Node: Inline1516343
! Node: Volatiles1521160
! Node: Using Assembly Language with C1524059
! Node: Basic Asm1525296
! Node: Extended Asm1530746
! Ref: Volatile1534845
! Ref: AssemblerTemplate1538965
! Ref: OutputOperands1543205
! Ref: FlagOutputOperands1550168
! Ref: InputOperands1552209
! Ref: Clobbers and Scratch Registers1556477
! Ref: GotoLabels1565118
! Ref: x86Operandmodifiers1567253
! Ref: x86floatingpointasmoperands1570410
! Node: Constraints1573739
! Node: Simple Constraints1574845
! Node: Multi-Alternative1582159
! Node: Modifiers1583834
! Node: Machine Constraints1586632
! Node: Asm Labels1649826
! Node: Explicit Register Variables1651446
! Ref: Explicit Reg Vars1651660
! Node: Global Register Variables1652269
! Ref: Global Reg Vars1652477
! Node: Local Register Variables1657259
! Ref: Local Reg Vars1657479
! Node: Size of an asm1661107
! Node: Alternate Keywords1662585
! Node: Incomplete Enums1664084
! Node: Function Names1664841
! Node: Return Address1666739
! Node: Vector Extensions1671329
! Node: Offsetof1681094
! Node: __sync Builtins1681927
! Node: __atomic Builtins1688370
! Node: Integer Overflow Builtins1701995
! Node: x86 specific memory model extensions for transactional memory1708478
! Node: Object Size Checking1709744
! Node: Other Builtins1716000
! Node: Target Builtins1765228
! Node: AArch64 Built-in Functions1766892
! Node: Alpha Built-in Functions1767347
! Node: Altera Nios II Built-in Functions1770395
! Node: ARC Built-in Functions1774764
! Node: ARC SIMD Built-in Functions1779976
! Node: ARM iWMMXt Built-in Functions1788872
! Node: ARM C Language Extensions (ACLE)1795868
! Node: ARM Floating Point Status and Control Intrinsics1797145
! Node: ARM ARMv8-M Security Extensions1797630
! Node: AVR Built-in Functions1798910
! Node: Blackfin Built-in Functions1802671
! Node: FR-V Built-in Functions1803290
! Node: Argument Types1804158
! Node: Directly-mapped Integer Functions1805912
! Node: Directly-mapped Media Functions1806996
! Node: Raw read/write Functions1815202
! Node: Other Built-in Functions1816110
! Node: MIPS DSP Built-in Functions1817296
! Node: MIPS Paired-Single Support1829793
! Node: MIPS Loongson Built-in Functions1831292
! Node: Paired-Single Arithmetic1837814
! Node: Paired-Single Built-in Functions1838762
! Node: MIPS-3D Built-in Functions1841429
! Node: MIPS SIMD Architecture (MSA) Support1846823
! Node: MIPS SIMD Architecture Built-in Functions1849663
! Node: Other MIPS Built-in Functions1876493
! Node: MSP430 Built-in Functions1877502
! Node: NDS32 Built-in Functions1878903
! Node: picoChip Built-in Functions1880196
! Node: Basic PowerPC Built-in Functions1881545
! Node: Basic PowerPC Built-in Functions Available on all Configurations1882345
! Node: Basic PowerPC Built-in Functions Available on ISA 2.051890400
! Node: Basic PowerPC Built-in Functions Available on ISA 2.061895259
! Node: Basic PowerPC Built-in Functions Available on ISA 2.071897339
! Node: Basic PowerPC Built-in Functions Available on ISA 3.01898193
! Node: PowerPC AltiVec/VSX Built-in Functions1905109
! Node: PowerPC AltiVec Built-in Functions on ISA 2.051908783
! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.061998021
! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.072022466
! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.02043670
! Node: PowerPC Hardware Transactional Memory Built-in Functions2078806
! Node: PowerPC Atomic Memory Operation Functions2087321
! Node: RX Built-in Functions2089856
! Node: S/390 System z Built-in Functions2093874
! Node: SH Built-in Functions2099104
! Node: SPARC VIS Built-in Functions2100832
! Node: SPU Built-in Functions2109361
! Node: TI C6X Built-in Functions2111078
! Node: TILE-Gx Built-in Functions2112103
! Node: TILEPro Built-in Functions2113222
! Node: x86 Built-in Functions2114322
! Node: x86 transactional memory intrinsics2178069
! Node: x86 control-flow protection intrinsics2181336
! Node: Target Format Checks2183107
! Node: Solaris Format Checks2183539
! Node: Darwin Format Checks2183965
! Node: Pragmas2184928
! Node: AArch64 Pragmas2185853
! Node: ARM Pragmas2186310
! Node: M32C Pragmas2186937
! Node: MeP Pragmas2188009
! Node: RS/6000 and PowerPC Pragmas2190077
! Node: S/390 Pragmas2190817
! Node: Darwin Pragmas2191383
! Node: Solaris Pragmas2192436
! Node: Symbol-Renaming Pragmas2193600
! Node: Structure-Layout Pragmas2195235
! Node: Weak Pragmas2197515
! Node: Diagnostic Pragmas2198250
! Node: Visibility Pragmas2202441
! Node: Push/Pop Macro Pragmas2203126
! Node: Function Specific Option Pragmas2204099
! Node: Loop-Specific Pragmas2206065
! Node: Unnamed Fields2207665
! Node: Thread-Local2209862
! Node: C99 Thread-Local Edits2211968
! Node: C++98 Thread-Local Edits2213966
! Node: Binary constants2217411
! Node: C++ Extensions2218082
! Node: C++ Volatiles2219712
! Node: Restricted Pointers2222060
! Node: Vague Linkage2223651
! Node: C++ Interface2227274
! Ref: C++ Interface-Footnote-12231071
! Node: Template Instantiation2231209
! Node: Bound member functions2238692
! Node: C++ Attributes2240224
! Node: Function Multiversioning2244296
! Node: Type Traits2246103
! Node: C++ Concepts2253053
! Node: Deprecated Features2254559
! Node: Backwards Compatibility2256384
! Node: Objective-C2257456
! Node: GNU Objective-C runtime API2258063
! Node: Modern GNU Objective-C runtime API2259070
! Node: Traditional GNU Objective-C runtime API2261506
! Node: Executing code before main2262233
! Node: What you can and what you cannot do in +load2264977
! Node: Type encoding2267347
! Node: Legacy type encoding2272488
! Node: @encode2273578
! Node: Method signatures2274123
! Node: Garbage Collection2276115
! Node: Constant string objects2278805
! Node: compatibility_alias2281314
! Node: Exceptions2282039
! Node: Synchronization2284749
! Node: Fast enumeration2285933
! Node: Using fast enumeration2286245
! Node: c99-like fast enumeration syntax2287456
! Node: Fast enumeration details2288159
! Node: Fast enumeration protocol2290499
! Node: Messaging with the GNU Objective-C runtime2293651
! Node: Dynamically registering methods2295023
! Node: Forwarding hook2296714
! Node: Compatibility2299754
! Node: Gcov2306310
! Node: Gcov Intro2306845
! Node: Invoking Gcov2309563
! Node: Gcov and Optimization2332398
! Node: Gcov Data Files2336141
! Node: Cross-profiling2337550
! Node: Gcov-tool2339404
! Node: Gcov-tool Intro2339829
! Node: Invoking Gcov-tool2341799
! Node: Gcov-dump2344377
! Node: Gcov-dump Intro2344699
! Node: Invoking Gcov-dump2344966
! Node: Trouble2345567
! Node: Actual Bugs2346985
! Node: Interoperation2347432
! Node: Incompatibilities2354323
! Node: Fixed Headers2362475
! Node: Standard Libraries2364133
! Node: Disappointments2365505
! Node: C++ Misunderstandings2369864
! Node: Static Definitions2370675
! Node: Name lookup2371728
! Ref: Name lookup-Footnote-12376509
! Node: Temporaries2376698
! Node: Copy Assignment2378674
! Node: Non-bugs2380481
! Node: Warnings and Errors2390987
! Node: Bugs2392749
! Node: Bug Criteria2393216
! Node: Bug Reporting2395426
! Node: Service2395644
! Node: Contributing2396464
! Node: Funding2397205
! Node: GNU Project2399695
! Node: Copying2400341
! Node: GNU Free Documentation License2437850
! Node: Contributors2462968
! Node: Option Index2503941
! Node: Keyword Index2767493
  
  End Tag Table
--- 65509,65917 ----
  Node: Objective-C and Objective-C++ Dialect Options156560
  Node: Diagnostic Message Formatting Options167790
  Node: Warning Options184428
! Ref: Wtrigraphs277015
! Node: Debugging Options315566
! Node: Optimize Options334757
! Ref: Type-punning403557
! Node: Instrumentation Options503545
! Node: Preprocessor Options540820
! Ref: dashMF545667
! Ref: fdollars-in-identifiers550246
! Node: Assembler Options562496
! Node: Link Options563187
! Ref: Link Options-Footnote-1580184
! Node: Directory Options580520
! Node: Code Gen Options588923
! Node: Developer Options617609
! Node: Submodel Options658744
! Node: AArch64 Options660537
! Ref: aarch64-feature-modifiers676005
! Node: Adapteva Epiphany Options679685
! Node: AMD GCN Options685637
! Node: ARC Options686463
! Node: ARM Options707675
! Node: AVR Options744189
! Node: Blackfin Options768780
! Node: C6X Options776672
! Node: CRIS Options778215
! Node: CR16 Options781954
! Node: C-SKY Options782866
! Node: Darwin Options787726
! Node: DEC Alpha Options795167
! Node: FR30 Options806783
! Node: FT32 Options807348
! Node: FRV Options808294
! Node: GNU/Linux Options815058
! Node: H8/300 Options816439
! Node: HPPA Options817891
! Node: IA-64 Options827423
! Node: LM32 Options835551
! Node: M32C Options836074
! Node: M32R/D Options837347
! Node: M680x0 Options840892
! Node: MCore Options854977
! Node: MeP Options856479
! Node: MicroBlaze Options860439
! Node: MIPS Options863529
! Node: MMIX Options900068
! Node: MN10300 Options902545
! Node: Moxie Options905088
! Node: MSP430 Options905575
! Node: NDS32 Options910279
! Node: Nios II Options912449
! Node: Nvidia PTX Options924611
! Node: OpenRISC Options927080
! Node: PDP-11 Options928576
! Node: picoChip Options929825
! Node: PowerPC Options931963
! Node: RISC-V Options932186
! Node: RL78 Options937411
! Node: RS/6000 and PowerPC Options941186
! Node: RX Options981798
! Node: S/390 and zSeries Options990400
! Node: Score Options1000779
! Node: SH Options1001628
! Node: Solaris 2 Options1016768
! Node: SPARC Options1018006
! Node: SPU Options1033627
! Node: System V Options1038566
! Node: TILE-Gx Options1039392
! Node: TILEPro Options1040410
! Node: V850 Options1040914
! Node: VAX Options1047601
! Node: Visium Options1048139
! Node: VMS Options1050447
! Node: VxWorks Options1051263
! Node: x86 Options1052415
! Node: x86 Windows Options1114301
! Node: Xstormy16 Options1117106
! Node: Xtensa Options1117400
! Node: zSeries Options1122549
! Node: Spec Files1122745
! Node: Environment Variables1144894
! Node: Precompiled Headers1153620
! Node: C Implementation1159626
! Node: Translation implementation1161316
! Node: Environment implementation1161907
! Node: Identifiers implementation1162461
! Node: Characters implementation1163547
! Node: Integers implementation1167197
! Node: Floating point implementation1169246
! Node: Arrays and pointers implementation1172309
! Ref: Arrays and pointers implementation-Footnote-11173769
! Node: Hints implementation1173895
! Node: Structures unions enumerations and bit-fields implementation1175390
! Node: Qualifiers implementation1177614
! Node: Declarators implementation1179393
! Node: Statements implementation1179734
! Node: Preprocessing directives implementation1180060
! Node: Library functions implementation1182381
! Node: Architecture implementation1183030
! Node: Locale-specific behavior implementation1184675
! Node: C++ Implementation1184980
! Node: Conditionally-supported behavior1186263
! Node: Exception handling1186880
! Node: C Extensions1187347
! Node: Statement Exprs1192551
! Node: Local Labels1197923
! Node: Labels as Values1200896
! Ref: Labels as Values-Footnote-11203423
! Node: Nested Functions1203608
! Node: Nonlocal Gotos1207562
! Node: Constructing Calls1209828
! Node: Typeof1214543
! Node: Conditionals1218472
! Node: __int1281219361
! Node: Long Long1219886
! Node: Complex1221377
! Node: Floating Types1224145
! Node: Half-Precision1227612
! Node: Decimal Float1230023
! Node: Hex Floats1231877
! Node: Fixed-Point1232951
! Node: Named Address Spaces1236209
! Ref: AVR Named Address Spaces1236895
! Node: Zero Length1243918
! Node: Empty Structures1248099
! Node: Variable Length1248505
! Node: Variadic Macros1251223
! Node: Escaped Newlines1253601
! Node: Subscripting1254462
! Node: Pointer Arith1255187
! Node: Variadic Pointer Args1255764
! Node: Pointers to Arrays1256489
! Node: Initializers1257242
! Node: Compound Literals1257743
! Node: Designated Inits1261310
! Node: Case Ranges1265234
! Node: Cast to Union1265915
! Node: Mixed Declarations1267638
! Node: Function Attributes1268148
! Node: Common Function Attributes1272604
! Node: AArch64 Function Attributes1331260
! Node: AMD GCN Function Attributes1337454
! Node: ARC Function Attributes1340507
! Node: ARM Function Attributes1342829
! Node: AVR Function Attributes1347968
! Node: Blackfin Function Attributes1352503
! Node: CR16 Function Attributes1355001
! Node: C-SKY Function Attributes1355525
! Node: Epiphany Function Attributes1356822
! Node: H8/300 Function Attributes1359577
! Node: IA-64 Function Attributes1360775
! Node: M32C Function Attributes1361817
! Node: M32R/D Function Attributes1364155
! Node: m68k Function Attributes1365629
! Node: MCORE Function Attributes1366573
! Node: MeP Function Attributes1367384
! Node: MicroBlaze Function Attributes1368685
! Node: Microsoft Windows Function Attributes1370192
! Node: MIPS Function Attributes1374761
! Node: MSP430 Function Attributes1380379
! Node: NDS32 Function Attributes1384432
! Node: Nios II Function Attributes1386856
! Node: Nvidia PTX Function Attributes1388153
! Node: PowerPC Function Attributes1388768
! Node: RISC-V Function Attributes1395823
! Node: RL78 Function Attributes1397239
! Node: RX Function Attributes1398478
! Node: S/390 Function Attributes1401025
! Node: SH Function Attributes1402853
! Node: SPU Function Attributes1406274
! Node: Symbian OS Function Attributes1407082
! Node: V850 Function Attributes1407419
! Node: Visium Function Attributes1407964
! Node: x86 Function Attributes1408492
! Node: Xstormy16 Function Attributes1430981
! Node: Variable Attributes1431488
! Node: Common Variable Attributes1433049
! Node: ARC Variable Attributes1450850
! Node: AVR Variable Attributes1451232
! Node: Blackfin Variable Attributes1456394
! Node: H8/300 Variable Attributes1457252
! Node: IA-64 Variable Attributes1458325
! Node: M32R/D Variable Attributes1459076
! Node: MeP Variable Attributes1459859
! Node: Microsoft Windows Variable Attributes1461952
! Node: MSP430 Variable Attributes1464405
! Node: Nvidia PTX Variable Attributes1465606
! Node: PowerPC Variable Attributes1466223
! Node: RL78 Variable Attributes1466780
! Node: SPU Variable Attributes1467198
! Node: V850 Variable Attributes1467563
! Node: x86 Variable Attributes1468195
! Node: Xstormy16 Variable Attributes1469251
! Node: Type Attributes1469821
! Node: Common Type Attributes1471509
! Node: ARC Type Attributes1493001
! Node: ARM Type Attributes1493473
! Node: MeP Type Attributes1494255
! Node: PowerPC Type Attributes1494657
! Node: SPU Type Attributes1495646
! Node: x86 Type Attributes1496065
! Node: Label Attributes1497053
! Node: Enumerator Attributes1498986
! Node: Statement Attributes1500305
! Node: Attribute Syntax1501788
! Node: Function Prototypes1513046
! Node: C++ Comments1514826
! Node: Dollar Signs1515345
! Node: Character Escapes1515810
! Node: Alignment1516094
! Node: Inline1517747
! Node: Volatiles1522564
! Node: Using Assembly Language with C1525463
! Node: Basic Asm1526700
! Node: Extended Asm1532150
! Ref: Volatile1536249
! Ref: AssemblerTemplate1540369
! Ref: OutputOperands1544609
! Ref: FlagOutputOperands1551572
! Ref: InputOperands1553613
! Ref: Clobbers and Scratch Registers1557881
! Ref: GotoLabels1566522
! Ref: x86Operandmodifiers1568657
! Ref: x86floatingpointasmoperands1571814
! Node: Constraints1575143
! Node: Simple Constraints1576249
! Node: Multi-Alternative1583563
! Node: Modifiers1585238
! Node: Machine Constraints1588036
! Node: Asm Labels1651230
! Node: Explicit Register Variables1652850
! Ref: Explicit Reg Vars1653064
! Node: Global Register Variables1653673
! Ref: Global Reg Vars1653881
! Node: Local Register Variables1658663
! Ref: Local Reg Vars1658883
! Node: Size of an asm1662511
! Node: Alternate Keywords1663989
! Node: Incomplete Enums1665488
! Node: Function Names1666245
! Node: Return Address1668143
! Node: Vector Extensions1672733
! Node: Offsetof1682498
! Node: __sync Builtins1683331
! Node: __atomic Builtins1689774
! Node: Integer Overflow Builtins1703399
! Node: x86 specific memory model extensions for transactional memory1709882
! Node: Object Size Checking1711148
! Node: Other Builtins1717404
! Node: Target Builtins1766632
! Node: AArch64 Built-in Functions1768296
! Node: Alpha Built-in Functions1768751
! Node: Altera Nios II Built-in Functions1771799
! Node: ARC Built-in Functions1776168
! Node: ARC SIMD Built-in Functions1781380
! Node: ARM iWMMXt Built-in Functions1790276
! Node: ARM C Language Extensions (ACLE)1797272
! Node: ARM Floating Point Status and Control Intrinsics1798549
! Node: ARM ARMv8-M Security Extensions1799034
! Node: AVR Built-in Functions1800314
! Node: Blackfin Built-in Functions1804075
! Node: FR-V Built-in Functions1804694
! Node: Argument Types1805562
! Node: Directly-mapped Integer Functions1807316
! Node: Directly-mapped Media Functions1808400
! Node: Raw read/write Functions1816606
! Node: Other Built-in Functions1817514
! Node: MIPS DSP Built-in Functions1818700
! Node: MIPS Paired-Single Support1831197
! Node: MIPS Loongson Built-in Functions1832696
! Node: Paired-Single Arithmetic1839218
! Node: Paired-Single Built-in Functions1840166
! Node: MIPS-3D Built-in Functions1842833
! Node: MIPS SIMD Architecture (MSA) Support1848227
! Node: MIPS SIMD Architecture Built-in Functions1851067
! Node: Other MIPS Built-in Functions1877897
! Node: MSP430 Built-in Functions1878906
! Node: NDS32 Built-in Functions1880307
! Node: picoChip Built-in Functions1881600
! Node: Basic PowerPC Built-in Functions1882949
! Node: Basic PowerPC Built-in Functions Available on all Configurations1883749
! Node: Basic PowerPC Built-in Functions Available on ISA 2.051891804
! Node: Basic PowerPC Built-in Functions Available on ISA 2.061896663
! Node: Basic PowerPC Built-in Functions Available on ISA 2.071898743
! Node: Basic PowerPC Built-in Functions Available on ISA 3.01899597
! Node: PowerPC AltiVec/VSX Built-in Functions1906513
! Node: PowerPC AltiVec Built-in Functions on ISA 2.051910187
! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.061999425
! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.072023870
! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.02045074
! Node: PowerPC Hardware Transactional Memory Built-in Functions2080210
! Node: PowerPC Atomic Memory Operation Functions2088725
! Node: RX Built-in Functions2091260
! Node: S/390 System z Built-in Functions2095278
! Node: SH Built-in Functions2100508
! Node: SPARC VIS Built-in Functions2102236
! Node: SPU Built-in Functions2110765
! Node: TI C6X Built-in Functions2112482
! Node: TILE-Gx Built-in Functions2113507
! Node: TILEPro Built-in Functions2114626
! Node: x86 Built-in Functions2115726
! Node: x86 transactional memory intrinsics2179473
! Node: x86 control-flow protection intrinsics2182740
! Node: Target Format Checks2184511
! Node: Solaris Format Checks2184943
! Node: Darwin Format Checks2185369
! Node: Pragmas2186332
! Node: AArch64 Pragmas2187257
! Node: ARM Pragmas2187714
! Node: M32C Pragmas2188341
! Node: MeP Pragmas2189413
! Node: RS/6000 and PowerPC Pragmas2191481
! Node: S/390 Pragmas2192221
! Node: Darwin Pragmas2192787
! Node: Solaris Pragmas2193840
! Node: Symbol-Renaming Pragmas2195004
! Node: Structure-Layout Pragmas2196639
! Node: Weak Pragmas2198919
! Node: Diagnostic Pragmas2199654
! Node: Visibility Pragmas2203845
! Node: Push/Pop Macro Pragmas2204530
! Node: Function Specific Option Pragmas2205503
! Node: Loop-Specific Pragmas2207469
! Node: Unnamed Fields2209069
! Node: Thread-Local2211266
! Node: C99 Thread-Local Edits2213372
! Node: C++98 Thread-Local Edits2215370
! Node: Binary constants2218815
! Node: C++ Extensions2219486
! Node: C++ Volatiles2221116
! Node: Restricted Pointers2223464
! Node: Vague Linkage2225055
! Node: C++ Interface2228678
! Ref: C++ Interface-Footnote-12232475
! Node: Template Instantiation2232613
! Node: Bound member functions2240096
! Node: C++ Attributes2241628
! Node: Function Multiversioning2245700
! Node: Type Traits2247507
! Node: C++ Concepts2254457
! Node: Deprecated Features2255963
! Node: Backwards Compatibility2257788
! Node: Objective-C2258860
! Node: GNU Objective-C runtime API2259467
! Node: Modern GNU Objective-C runtime API2260474
! Node: Traditional GNU Objective-C runtime API2262910
! Node: Executing code before main2263637
! Node: What you can and what you cannot do in +load2266381
! Node: Type encoding2268751
! Node: Legacy type encoding2273892
! Node: @encode2274982
! Node: Method signatures2275527
! Node: Garbage Collection2277519
! Node: Constant string objects2280209
! Node: compatibility_alias2282718
! Node: Exceptions2283443
! Node: Synchronization2286153
! Node: Fast enumeration2287337
! Node: Using fast enumeration2287649
! Node: c99-like fast enumeration syntax2288860
! Node: Fast enumeration details2289563
! Node: Fast enumeration protocol2291903
! Node: Messaging with the GNU Objective-C runtime2295055
! Node: Dynamically registering methods2296427
! Node: Forwarding hook2298118
! Node: Compatibility2301158
! Node: Gcov2307714
! Node: Gcov Intro2308249
! Node: Invoking Gcov2310967
! Node: Gcov and Optimization2333802
! Node: Gcov Data Files2337545
! Node: Cross-profiling2338954
! Node: Gcov-tool2340808
! Node: Gcov-tool Intro2341233
! Node: Invoking Gcov-tool2343203
! Node: Gcov-dump2345781
! Node: Gcov-dump Intro2346103
! Node: Invoking Gcov-dump2346370
! Node: Trouble2346971
! Node: Actual Bugs2348389
! Node: Interoperation2348836
! Node: Incompatibilities2355727
! Node: Fixed Headers2363879
! Node: Standard Libraries2365537
! Node: Disappointments2366909
! Node: C++ Misunderstandings2371268
! Node: Static Definitions2372079
! Node: Name lookup2373132
! Ref: Name lookup-Footnote-12377913
! Node: Temporaries2378102
! Node: Copy Assignment2380078
! Node: Non-bugs2381913
! Node: Warnings and Errors2392419
! Node: Bugs2394181
! Node: Bug Criteria2394648
! Node: Bug Reporting2396858
! Node: Service2397076
! Node: Contributing2397896
! Node: Funding2398637
! Node: GNU Project2401127
! Node: Copying2401773
! Node: GNU Free Documentation License2439282
! Node: Contributors2464400
! Node: Option Index2505373
! Node: Keyword Index2768925
  
  End Tag Table
diff -Nrcpad gcc-9.4.0/gcc/doc/gccint.info gcc-9.5.0/gcc/doc/gccint.info
*** gcc-9.4.0/gcc/doc/gccint.info	Tue Jun  1 08:02:38 2021
--- gcc-9.5.0/gcc/doc/gccint.info	Fri May 27 07:30:45 2022
*************** Introduction
*** 55,61 ****
  This manual documents the internals of the GNU compilers, including how
  to port them to new targets and some information about how to write
  front ends for new languages.  It corresponds to the compilers (GCC)
! version 9.4.0.  The use of the GNU compilers is documented in a separate
  manual.  *Note Introduction: (gcc)Top.
  
   This manual is mainly a reference manual rather than a tutorial.  It
--- 55,61 ----
  This manual documents the internals of the GNU compilers, including how
  to port them to new targets and some information about how to write
  front ends for new languages.  It corresponds to the compilers (GCC)
! version 9.5.0.  The use of the GNU compilers is documented in a separate
  manual.  *Note Introduction: (gcc)Top.
  
   This manual is mainly a reference manual rather than a tutorial.  It
diff -Nrcpad gcc-9.4.0/gcc/doc/gcov-dump.1 gcc-9.5.0/gcc/doc/gcov-dump.1
*** gcc-9.4.0/gcc/doc/gcov-dump.1	Tue Jun  1 07:54:17 2021
--- gcc-9.5.0/gcc/doc/gcov-dump.1	Fri May 27 07:22:23 2022
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "GCOV-DUMP 1"
! .TH GCOV-DUMP 1 "2021-06-01" "gcc-9.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GCOV-DUMP 1"
! .TH GCOV-DUMP 1 "2022-05-27" "gcc-9.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
diff -Nrcpad gcc-9.4.0/gcc/doc/gcov-tool.1 gcc-9.5.0/gcc/doc/gcov-tool.1
*** gcc-9.4.0/gcc/doc/gcov-tool.1	Tue Jun  1 07:54:17 2021
--- gcc-9.5.0/gcc/doc/gcov-tool.1	Fri May 27 07:22:23 2022
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "GCOV-TOOL 1"
! .TH GCOV-TOOL 1 "2021-06-01" "gcc-9.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GCOV-TOOL 1"
! .TH GCOV-TOOL 1 "2022-05-27" "gcc-9.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
diff -Nrcpad gcc-9.4.0/gcc/doc/gcov.1 gcc-9.5.0/gcc/doc/gcov.1
*** gcc-9.4.0/gcc/doc/gcov.1	Tue Jun  1 07:54:17 2021
--- gcc-9.5.0/gcc/doc/gcov.1	Fri May 27 07:22:23 2022
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "GCOV 1"
! .TH GCOV 1 "2021-06-01" "gcc-9.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GCOV 1"
! .TH GCOV 1 "2022-05-27" "gcc-9.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
diff -Nrcpad gcc-9.4.0/gcc/doc/gfdl.7 gcc-9.5.0/gcc/doc/gfdl.7
*** gcc-9.4.0/gcc/doc/gfdl.7	Tue Jun  1 07:54:17 2021
--- gcc-9.5.0/gcc/doc/gfdl.7	Fri May 27 07:22:23 2022
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "GFDL 7"
! .TH GFDL 7 "2021-06-01" "gcc-9.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GFDL 7"
! .TH GFDL 7 "2022-05-27" "gcc-9.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
diff -Nrcpad gcc-9.4.0/gcc/doc/gfortran.1 gcc-9.5.0/gcc/doc/gfortran.1
*** gcc-9.4.0/gcc/doc/gfortran.1	Tue Jun  1 08:02:34 2021
--- gcc-9.5.0/gcc/doc/gfortran.1	Fri May 27 07:30:41 2022
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "GFORTRAN 1"
! .TH GFORTRAN 1 "2021-06-01" "gcc-9.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GFORTRAN 1"
! .TH GFORTRAN 1 "2022-05-27" "gcc-9.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
diff -Nrcpad gcc-9.4.0/gcc/doc/gpl.7 gcc-9.5.0/gcc/doc/gpl.7
*** gcc-9.4.0/gcc/doc/gpl.7	Tue Jun  1 07:54:17 2021
--- gcc-9.5.0/gcc/doc/gpl.7	Fri May 27 07:22:23 2022
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "GPL 7"
! .TH GPL 7 "2021-06-01" "gcc-9.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GPL 7"
! .TH GPL 7 "2022-05-27" "gcc-9.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
diff -Nrcpad gcc-9.4.0/gcc/doc/invoke.texi gcc-9.5.0/gcc/doc/invoke.texi
*** gcc-9.4.0/gcc/doc/invoke.texi	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/doc/invoke.texi	Fri May 27 07:21:11 2022
*************** name is still supported, but the newer n
*** 4467,4473 ****
  -Wredundant-move @r{(only for C++)}  @gol
  -Wtype-limits  @gol
  -Wuninitialized  @gol
! -Wshift-negative-value @r{(in C++03 and in C99 and newer)}  @gol
  -Wunused-parameter @r{(only with} @option{-Wunused} @r{or} @option{-Wall}@r{)} @gol
  -Wunused-but-set-parameter @r{(only with} @option{-Wunused} @r{or} @option{-Wall}@r{)}}
  
--- 4467,4473 ----
  -Wredundant-move @r{(only for C++)}  @gol
  -Wtype-limits  @gol
  -Wuninitialized  @gol
! -Wshift-negative-value @r{(in C++11 to C++17 and in C99 and newer)}  @gol
  -Wunused-parameter @r{(only with} @option{-Wunused} @r{or} @option{-Wall}@r{)} @gol
  -Wunused-but-set-parameter @r{(only with} @option{-Wunused} @r{or} @option{-Wall}@r{)}}
  
*************** Warn if shift count >= width of type. Th
*** 5307,5313 ****
  @opindex Wshift-negative-value
  @opindex Wno-shift-negative-value
  Warn if left shifting a negative value.  This warning is enabled by
! @option{-Wextra} in C99 and C++11 modes (and newer).
  
  @item -Wshift-overflow
  @itemx -Wshift-overflow=@var{n}
--- 5307,5313 ----
  @opindex Wshift-negative-value
  @opindex Wno-shift-negative-value
  Warn if left shifting a negative value.  This warning is enabled by
! @option{-Wextra} in C99 (and newer) and C++11 to C++17 modes.
  
  @item -Wshift-overflow
  @itemx -Wshift-overflow=@var{n}
*************** The option cannot be combined with @opti
*** 12484,12490 ****
  @opindex fsanitize=undefined
  Enable UndefinedBehaviorSanitizer, a fast undefined behavior detector.
  Various computations are instrumented to detect undefined behavior
! at runtime.  Current suboptions are:
  
  @table @gcctabopt
  
--- 12484,12491 ----
  @opindex fsanitize=undefined
  Enable UndefinedBehaviorSanitizer, a fast undefined behavior detector.
  Various computations are instrumented to detect undefined behavior
! at runtime.  See @uref{https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html} for more details.   The run-time behavior can be influenced using the
! @env{UBSAN_OPTIONS} environment variable.  Current suboptions are:
  
  @table @gcctabopt
  
*************** which functions and calls should be skip
*** 12764,12770 ****
  (@pxref{Function Attributes}).
  
  Currently the x86 GNU/Linux target provides an implementation based
! on Intel Control-flow Enforcement Technology (CET).
  
  @item -fstack-protector
  @opindex fstack-protector
--- 12765,12772 ----
  (@pxref{Function Attributes}).
  
  Currently the x86 GNU/Linux target provides an implementation based
! on Intel Control-flow Enforcement Technology (CET) which works for
! i686 processor or newer.
  
  @item -fstack-protector
  @opindex fstack-protector
*************** performance of the code.  Permissible va
*** 15858,15863 ****
--- 15860,15866 ----
  @samp{cortex-a57}, @samp{cortex-a72}, @samp{cortex-a73}, @samp{cortex-a75},
  @samp{cortex-a76}, @samp{ares}, @samp{exynos-m1}, @samp{emag}, @samp{falkor},
  @samp{neoverse-e1}, @samp{neoverse-n1}, @samp{neoverse-n2}, @samp{neoverse-v1},
+ @samp{neoverse-512tvb},
  @samp{qdf24xx}, @samp{saphira}, @samp{phecda}, @samp{xgene1}, @samp{vulcan},
  @samp{octeontx}, @samp{octeontx81},  @samp{octeontx83},
  @samp{a64fx},
*************** The values @samp{cortex-a57.cortex-a53},
*** 15874,15879 ****
--- 15877,15891 ----
  @samp{cortex-a75.cortex-a55}, @samp{cortex-a76.cortex-a55} specify that GCC
  should tune for a big.LITTLE system.
  
+ The value @samp{neoverse-512tvb} specifies that GCC should tune
+ for Neoverse cores that (a) implement SVE and (b) have a total vector
+ bandwidth of 512 bits per cycle.  In other words, the option tells GCC to
+ tune for Neoverse cores that can execute 4 128-bit Advanced SIMD arithmetic
+ instructions a cycle and that can execute an equivalent number of SVE
+ arithmetic instructions per cycle (2 for 256-bit SVE, 4 for 128-bit SVE).
+ This is more general than tuning for a specific core like Neoverse V1
+ but is more specific than the default tuning described below.
+ 
  Additionally on native AArch64 GNU/Linux systems the value
  @samp{native} tunes performance to the host system.  This option has no effect
  if the compiler is unable to recognize the processor of the host system.
*************** by @option{-mtune}).  Where this option
*** 15903,15908 ****
--- 15915,15930 ----
  with @option{-march} or @option{-mtune}, those options take precedence
  over the appropriate part of this option.
  
+ @option{-mcpu=neoverse-512tvb} is special in that it does not refer
+ to a specific core, but instead refers to all Neoverse cores that
+ (a) implement SVE and (b) have a total vector bandwidth of 512 bits
+ a cycle.  Unless overridden by @option{-march},
+ @option{-mcpu=neoverse-512tvb} generates code that can run on a
+ Neoverse V1 core, since Neoverse V1 is the first Neoverse core with
+ these properties.  Unless overridden by @option{-mtune},
+ @option{-mcpu=neoverse-512tvb} tunes code in the same way as for
+ @option{-mtune=neoverse-512tvb}.
+ 
  @item -moverride=@var{string}
  @opindex moverride
  Override tuning decisions made by the back-end in response to a
*************** Substitute the contents of spec string @
*** 29379,29386 ****
  Accumulate an option for @samp{%X}.
  
  @item %X
! Output the accumulated linker options specified by @option{-Wl} or a @samp{%x}
! spec string.
  
  @item %Y
  Output the accumulated assembler options specified by @option{-Wa}.
--- 29401,29407 ----
  Accumulate an option for @samp{%X}.
  
  @item %X
! Output the accumulated linker options specified by a @samp{%x} spec string.
  
  @item %Y
  Output the accumulated assembler options specified by @option{-Wa}.
diff -Nrcpad gcc-9.4.0/gcc/doc/trouble.texi gcc-9.5.0/gcc/doc/trouble.texi
*** gcc-9.4.0/gcc/doc/trouble.texi	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/doc/trouble.texi	Fri May 27 07:21:11 2022
*************** objects behave unspecified when being as
*** 865,874 ****
  @smallexample
  struct Base@{
    char *name;
!   Base(char *n) : name(strdup(n))@{@}
    Base& operator= (const Base& other)@{
     free (name);
     name = strdup (other.name);
    @}
  @};
  
--- 865,875 ----
  @smallexample
  struct Base@{
    char *name;
!   Base(const char *n) : name(strdup(n))@{@}
    Base& operator= (const Base& other)@{
     free (name);
     name = strdup (other.name);
+    return *this;
    @}
  @};
  
*************** inside @samp{func} in the example).
*** 901,908 ****
  G++ implements the ``intuitive'' algorithm for copy-assignment: assign all
  direct bases, then assign all members.  In that algorithm, the virtual
  base subobject can be encountered more than once.  In the example, copying
! proceeds in the following order: @samp{val}, @samp{name} (via
! @code{strdup}), @samp{bval}, and @samp{name} again.
  
  If application code relies on copy-assignment, a user-defined
  copy-assignment operator removes any uncertainties.  With such an
--- 902,909 ----
  G++ implements the ``intuitive'' algorithm for copy-assignment: assign all
  direct bases, then assign all members.  In that algorithm, the virtual
  base subobject can be encountered more than once.  In the example, copying
! proceeds in the following order: @samp{name} (via @code{strdup}),
! @samp{val}, @samp{name} again, and @samp{bval}.
  
  If application code relies on copy-assignment, a user-defined
  copy-assignment operator removes any uncertainties.  With such an
diff -Nrcpad gcc-9.4.0/gcc/dwarf2out.c gcc-9.5.0/gcc/dwarf2out.c
*** gcc-9.4.0/gcc/dwarf2out.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/dwarf2out.c	Fri May 27 07:21:11 2022
*************** loc_list_from_tree_1 (tree loc, int want
*** 18900,18905 ****
--- 18900,18909 ----
      case FIX_TRUNC_EXPR:
        return 0;
  
+     case COMPOUND_LITERAL_EXPR:
+       return loc_list_from_tree_1 (COMPOUND_LITERAL_EXPR_DECL (loc),
+ 				   0, context);
+ 
      default:
        /* Leave front-end specific codes as simply unknown.  This comes
  	 up, for instance, with the C STMT_EXPR.  */
*************** field_byte_offset (const_tree decl, stru
*** 19132,19137 ****
--- 19136,19142 ----
       properly dynamic byte offsets only when PCC bitfield type doesn't
       matter.  */
    if (PCC_BITFIELD_TYPE_MATTERS
+       && DECL_BIT_FIELD_TYPE (decl)
        && TREE_CODE (DECL_FIELD_OFFSET (decl)) == INTEGER_CST)
      {
        offset_int object_offset_in_bits;
*************** gen_variable_die (tree decl, tree origin
*** 24019,24025 ****
  	      && DECL_RTL_SET_P (decl_or_origin))))
      {
        if (early_dwarf)
! 	add_pubname (decl_or_origin, var_die);
        else
  	add_location_or_const_value_attribute (var_die, decl_or_origin,
  					       decl == NULL);
--- 24024,24049 ----
  	      && DECL_RTL_SET_P (decl_or_origin))))
      {
        if (early_dwarf)
! 	{
! 	  add_pubname (decl_or_origin, var_die);
! 	  /* For global register variables, emit DW_AT_location if possible
! 	     already during early_dwarf, as late_global_decl won't be usually
! 	     called.  */
! 	  if (DECL_HARD_REGISTER (decl_or_origin)
! 	      && TREE_STATIC (decl_or_origin)
! 	      && !decl_by_reference_p (decl_or_origin)
! 	      && !get_AT (var_die, DW_AT_location)
! 	      && !get_AT (var_die, DW_AT_const_value)
! 	      && DECL_RTL_SET_P (decl_or_origin)
! 	      && REG_P (DECL_RTL (decl_or_origin)))
! 	    {
! 	      dw_loc_descr_ref descr
! 		= reg_loc_descriptor (DECL_RTL (decl_or_origin),
! 				      VAR_INIT_STATUS_INITIALIZED);
! 	      if (descr)
! 		add_AT_loc (var_die, DW_AT_location, descr);
! 	    }
! 	}
        else
  	add_location_or_const_value_attribute (var_die, decl_or_origin,
  					       decl == NULL);
diff -Nrcpad gcc-9.4.0/gcc/expmed.c gcc-9.5.0/gcc/expmed.c
*** gcc-9.4.0/gcc/expmed.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/expmed.c	Fri May 27 07:21:11 2022
*************** store_integral_bit_field (rtx op0, opt_s
*** 915,921 ****
  	}
  
        subreg_off = bitnum / BITS_PER_UNIT;
!       if (validate_subreg (fieldmode, GET_MODE (arg0), arg0, subreg_off))
  	{
  	  arg0 = gen_rtx_SUBREG (fieldmode, arg0, subreg_off);
  
--- 915,924 ----
  	}
  
        subreg_off = bitnum / BITS_PER_UNIT;
!       if (validate_subreg (fieldmode, GET_MODE (arg0), arg0, subreg_off)
! 	  /* STRICT_LOW_PART must have a non-paradoxical subreg as
! 	     operand.  */
! 	  && !paradoxical_subreg_p (fieldmode, GET_MODE (arg0)))
  	{
  	  arg0 = gen_rtx_SUBREG (fieldmode, arg0, subreg_off);
  
diff -Nrcpad gcc-9.4.0/gcc/expr.c gcc-9.5.0/gcc/expr.c
*** gcc-9.4.0/gcc/expr.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/expr.c	Fri May 27 07:21:11 2022
*************** expand_expr_real_2 (sepops ops, rtx targ
*** 9537,9542 ****
--- 9537,9543 ----
      case VEC_PACK_SAT_EXPR:
      case VEC_PACK_FIX_TRUNC_EXPR:
        mode = TYPE_MODE (TREE_TYPE (treeop0));
+       subtarget = NULL_RTX;
        goto binop;
  
      case VEC_PACK_TRUNC_EXPR:
*************** expand_expr_real_2 (sepops ops, rtx targ
*** 9560,9565 ****
--- 9561,9567 ----
  	  return eops[0].value;
  	}
        mode = TYPE_MODE (TREE_TYPE (treeop0));
+       subtarget = NULL_RTX;
        goto binop;
  
      case VEC_PACK_FLOAT_EXPR:
diff -Nrcpad gcc-9.4.0/gcc/fold-const.c gcc-9.5.0/gcc/fold-const.c
*** gcc-9.4.0/gcc/fold-const.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fold-const.c	Fri May 27 07:21:11 2022
*************** negate_expr_p (tree t)
*** 510,516 ****
        if (TREE_CODE (TREE_OPERAND (t, 1)) == INTEGER_CST)
  	{
  	  tree op1 = TREE_OPERAND (t, 1);
! 	  if (wi::to_wide (op1) == TYPE_PRECISION (type) - 1)
  	    return true;
  	}
        break;
--- 510,516 ----
        if (TREE_CODE (TREE_OPERAND (t, 1)) == INTEGER_CST)
  	{
  	  tree op1 = TREE_OPERAND (t, 1);
! 	  if (wi::to_wide (op1) == element_precision (type) - 1)
  	    return true;
  	}
        break;
*************** fold_negate_expr_1 (location_t loc, tree
*** 703,709 ****
        if (TREE_CODE (TREE_OPERAND (t, 1)) == INTEGER_CST)
  	{
  	  tree op1 = TREE_OPERAND (t, 1);
! 	  if (wi::to_wide (op1) == TYPE_PRECISION (type) - 1)
  	    {
  	      tree ntype = TYPE_UNSIGNED (type)
  			   ? signed_type_for (type)
--- 703,709 ----
        if (TREE_CODE (TREE_OPERAND (t, 1)) == INTEGER_CST)
  	{
  	  tree op1 = TREE_OPERAND (t, 1);
! 	  if (wi::to_wide (op1) == element_precision (type) - 1)
  	    {
  	      tree ntype = TYPE_UNSIGNED (type)
  			   ? signed_type_for (type)
*************** make_range_step (location_t loc, enum tr
*** 4761,4767 ****
  	n_high = fold_convert_loc (loc, arg0_type, n_high);
  
        /* If we're converting arg0 from an unsigned type, to exp,
! 	 a signed type,  we will be doing the comparison as unsigned.
  	 The tests above have already verified that LOW and HIGH
  	 are both positive.
  
--- 4761,4767 ----
  	n_high = fold_convert_loc (loc, arg0_type, n_high);
  
        /* If we're converting arg0 from an unsigned type, to exp,
! 	 a signed type, we will be doing the comparison as unsigned.
  	 The tests above have already verified that LOW and HIGH
  	 are both positive.
  
*************** make_range_step (location_t loc, enum tr
*** 4823,4828 ****
--- 4823,4854 ----
  	    }
  	}
  
+       /* Otherwise, if we are converting arg0 from signed type, to exp,
+ 	 an unsigned type, we will do the comparison as signed.  If
+ 	 high is non-NULL, we punt above if it doesn't fit in the signed
+ 	 type, so if we get through here, +[-, high] or +[low, high] are
+ 	 equivalent to +[-, n_high] or +[n_low, n_high].  Similarly,
+ 	 +[-, -] or -[-, -] are equivalent too.  But if low is specified and
+ 	 high is not, the +[low, -] range is equivalent to union of
+ 	 +[n_low, -] and +[-, -1] ranges, so +[low, -] is equivalent to
+ 	 -[0, n_low-1] and similarly -[low, -] to +[0, n_low-1], except for
+ 	 low being 0, which should be treated as [-, -].  */
+       else if (TYPE_UNSIGNED (exp_type)
+ 	       && !TYPE_UNSIGNED (arg0_type)
+ 	       && low
+ 	       && !high)
+ 	{
+ 	  if (integer_zerop (low))
+ 	    n_low = NULL_TREE;
+ 	  else
+ 	    {
+ 	      n_high = fold_build2_loc (loc, PLUS_EXPR, arg0_type,
+ 					n_low, build_int_cst (arg0_type, -1));
+ 	      n_low = build_zero_cst (arg0_type);
+ 	      in_p = !in_p;
+ 	    }
+ 	}
+ 
        *p_low = n_low;
        *p_high = n_high;
        *p_in_p = in_p;
diff -Nrcpad gcc-9.4.0/gcc/fortran/ChangeLog gcc-9.5.0/gcc/fortran/ChangeLog
*** gcc-9.4.0/gcc/fortran/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/fortran/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,347 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-05-11  Harald Anlauf  <anlauf@gmx.de>
+ 		    Steven G. Kargl  <kargl@gcc.gnu.org>
+ 
+ 	PR fortran/105230
+ 	* expr.c (find_array_section): Correct logic to avoid NULL
+ 	pointer dereference on invalid array section.
+ 
+ 2022-05-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-03-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/104849
+ 	* expr.c (find_array_section): Avoid NULL pointer dereference on
+ 	invalid array section.
+ 
+ 2022-05-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-04-05  Harald Anlauf  <anlauf@gmx.de>
+ 		    Steven G. Kargl  <kargl@gcc.gnu.org>
+ 
+ 	PR fortran/105138
+ 	* intrinsic.c (gfc_is_intrinsic): When a symbol refers to a
+ 	RECURSIVE procedure, it cannot be an INTRINSIC.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/103315
+ 	* trans-types.c (gfc_get_array_descr_info): Use DW_OP_deref_size 1
+ 	instead of DW_OP_deref for DW_AT_rank.
+ 
+ 2022-05-09  Mikael Morin  <mikael@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2022-04-24  Mikael Morin  <mikael@gcc.gnu.org>
+ 
+ 	PR fortran/104228
+ 	PR fortran/104570
+ 	* parse.c (parse_associate): Use a new distinct gfc_charlen if
+ 	the copied type has one whose length is not known to be
+ 	constant.
+ 	* resolve.c (resolve_assoc_var): Also create a new character
+ 	length for non-dummy associate targets.  Reset charlen if it’s
+ 	shared with the associate target regardless of the expression
+ 	type.  Don’t reinitialize charlen if it’s deferred.
+ 	* trans-stmt.c (trans_associate_var): Initialize character
+ 	length even if no temporary is used for the associate variable.
+ 
+ 2022-04-21  Fritz Reese  <foreese@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2022-04-21  Fritz Reese  <foreese@gcc.gnu.org>
+ 
+ 	PR fortran/105310
+ 	* trans-expr.c (gfc_conv_union_initializer): Pass vec* by reference.
+ 
+ 2022-02-04  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-02-03  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/104311
+ 	* check.c (gfc_calculate_transfer_sizes): Checks for case when
+ 	storage size of SOURCE is greater than zero while the storage size
+ 	of MOLD is zero and MOLD is an array shall not depend on SIZE.
+ 
+ 2022-01-29  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-01-22  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/104127
+ 	* simplify.c (gfc_simplify_transfer): Ensure that the result
+ 	typespec is set up for TRANSFER with MOLD of type CHARACTER
+ 	including character length even if the result is a zero-sized
+ 	array.
+ 
+ 2022-01-26  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-01-25  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/104227
+ 	* check.c (gfc_calculate_transfer_sizes): Fix checking of arrays
+ 	passed as MOLD argument to the TRANSFER intrinsic for having
+ 	storage size zero.
+ 
+ 2022-01-23  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-01-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103782
+ 	* expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a
+ 	call of an intrinsic which may have been overloaded.
+ 
+ 2021-12-19  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-07  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103588
+ 	* array.c (gfc_ref_dimen_size): Do not generate internal error on
+ 	failed simplification of stride expression; just return failure.
+ 
+ 2021-12-17  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-08  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103610
+ 	* array.c (spec_dimen_size): Fix simplification of SHAPE:
+ 	dimensions must be non-negative.
+ 
+ 2021-12-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-11  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103606
+ 	* resolve.c (resolve_fl_procedure): Do not access CLASS components
+ 	before class container has been built.
+ 
+ 2021-12-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103717
+ 	* frontend-passes.c (doloop_code): Prevent NULL pointer
+ 	dereference when checking for passing a do-loop variable to a
+ 	contained procedure with an interface mismatch.
+ 
+ 2021-12-10  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-07  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103607
+ 	* frontend-passes.c (do_subscript): Ensure that array bounds are
+ 	of type INTEGER before performing checks on array subscripts.
+ 
+ 2021-11-26  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-11-23  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103392
+ 	* simplify.c (simplify_bound): Do not try to simplify
+ 	LBOUND/UBOUND for arrays with POINTER or ALLOCATABLE attribute.
+ 
+ 2021-09-30  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-09-07  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/101327
+ 	* expr.c (find_array_element): When bounds cannot be determined as
+ 	constant, return error instead of aborting.
+ 
+ 2021-09-30  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-09-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/98490
+ 	* trans-expr.c (gfc_conv_substring): Do not generate substring
+ 	bounds check for implied do loop index variable before it actually
+ 	becomes defined.
+ 
+ 2021-09-30  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-09-13  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/82314
+ 	* decl.c (add_init_expr_to_sym): For proper initialization of
+ 	array-valued named constants the array bounds need to be
+ 	simplified before adding the initializer.
+ 
+ 2021-09-21  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-09-13  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/85130
+ 	* expr.c (find_substring_ref): Handle given substring start and
+ 	end indices as signed integers, not unsigned.
+ 
+ 2021-09-21  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-09-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/102287
+ 	* trans-expr.c (gfc_conv_procedure_call): Wrap deallocation of
+ 	allocatable components of optional allocatable derived type
+ 	procedure arguments with INTENT(OUT) into a presence check.
+ 
+ 2021-09-10  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2020-12-29  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/97612
+ 	* primary.c (build_actual_constructor): Missing allocatable
+ 	components are set unallocated using EXPR_NULL. Then missing
+ 	components are tested for a default initializer.
+ 
+ 2021-09-10  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-01-22  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/98565
+ 	* trans-intrinsic.c (gfc_conv_associated): Do not add a _data
+ 	component for scalar class function targets. Instead, fix the
+ 	function result and access the _data from that.
+ 
+ 2021-09-10  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-01-07  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/93701
+ 	* resolve.c (find_array_spec): Put static prototype for
+ 	resolve_assoc_var before this function and call for associate
+ 	variables.
+ 
+ 2021-09-10  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-01-27  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/98472
+ 	* trans-array.c (gfc_conv_expr_descriptor): Include elemental
+ 	procedure pointers in the assert under the comment 'elemental
+ 	function' and eliminate the second, spurious assert.
+ 
+ 2021-09-10  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-04-20  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/100110
+ 	* trans-decl.c (gfc_get_symbol_decl): Replace test for host
+ 	association with a check that the current and symbol namespaces
+ 	are the same.
+ 
+ 2021-09-06  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-05-06  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/46691
+ 	PR fortran/99819
+ 	* class.c (gfc_build_class_symbol): Remove the error that
+ 	disables assumed size class arrays. Class array types that are
+ 	not deferred shape or assumed rank are given a unique name and
+ 	placed in the procedure namespace.
+ 	* trans-array.c (gfc_trans_g77_array): Obtain the data pointer
+ 	for class arrays.
+ 	(gfc_trans_dummy_array_bias): Suppress the runtime error for
+ 	extent violations in explicit shape class arrays because it
+ 	always fails.
+ 	* trans-expr.c (gfc_conv_procedure_call): Handle assumed size
+ 	class actual arguments passed to non-descriptor formal args by
+ 	using the data pointer, stored as the symbol's backend decl.
+ 
+ 2021-09-06  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-03-13  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/99125
+ 	* trans-array.c (gfc_conv_expr_descriptor): For deferred length
+ 	length components use the ss_info string length instead of
+ 	gfc_get_expr_charlen. Make sure that the deferred string length
+ 	is a variable before assigning to it. Otherwise use the expr.
+ 	* trans-expr.c (gfc_conv_string_length): Make sure that the
+ 	deferred string length is a variable before assigning to it.
+ 
+ 2021-09-06  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-01-27  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/93924
+ 	PR fortran/93925
+ 	* trans-expr.c (gfc_conv_procedure_call): Suppress the call to
+ 	gfc_conv_intrinsic_to_class for unlimited polymorphic procedure
+ 	pointers.
+ 	(gfc_trans_assignment_1): Similarly suppress class assignment
+ 	for class valued procedure pointers.
+ 
+ 2021-09-06  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-01-08  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/93794
+ 	* trans-expr.c (gfc_conv_component_ref): Remove the condition
+ 	that deferred character length components only be allocatable.
+ 
+ 2021-07-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-07-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/100949
+ 	* trans-expr.c (gfc_trans_class_init_assign): Call
+ 	gfc_conv_expr_present only for dummy variables.
+ 
+ 2021-07-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/100227
+ 	* frontend-passes.c (traverse_io_block): Adjust test for
+ 	when a variable is eligible for the transformation to
+ 	array slice.
+ 
+ 2021-06-04  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-06-04  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/99839
+ 	* frontend-passes.c (inline_matmul_assign): Do not inline matmul
+ 	if the assignment to the resulting array if it is not of canonical
+ 	type (real/integer/complex/logical).
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/fortran/array.c gcc-9.5.0/gcc/fortran/array.c
*** gcc-9.4.0/gcc/fortran/array.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/array.c	Fri May 27 07:21:11 2022
*************** gfc_copy_iterator (gfc_iterator *src)
*** 2224,2231 ****
  /********* Subroutines for determining the size of an array *********/
  
  /* These are needed just to accommodate RESHAPE().  There are no
!    diagnostics here, we just return a negative number if something
!    goes wrong.  */
  
  
  /* Get the size of single dimension of an array specification.  The
--- 2224,2230 ----
  /********* Subroutines for determining the size of an array *********/
  
  /* These are needed just to accommodate RESHAPE().  There are no
!    diagnostics here, we just return false if something goes wrong.  */
  
  
  /* Get the size of single dimension of an array specification.  The
*************** spec_dimen_size (gfc_array_spec *as, int
*** 2254,2259 ****
--- 2253,2261 ----
  
    mpz_add_ui (*result, *result, 1);
  
+   if (mpz_cmp_si (*result, 0) < 0)
+     mpz_set_si (*result, 0);
+ 
    return true;
  }
  
*************** gfc_ref_dimen_size (gfc_array_ref *ar, i
*** 2327,2338 ****
  	{
  	  stride_expr = gfc_copy_expr(ar->stride[dimen]); 
  
! 	  if(!gfc_simplify_expr(stride_expr, 1))
! 	    gfc_internal_error("Simplification error");
! 
! 	  if (stride_expr->expr_type != EXPR_CONSTANT
! 	      || mpz_cmp_ui (stride_expr->value.integer, 0) == 0)
  	    {
  	      mpz_clear (stride);
  	      return false;
  	    }
--- 2329,2339 ----
  	{
  	  stride_expr = gfc_copy_expr(ar->stride[dimen]); 
  
! 	  if (!gfc_simplify_expr (stride_expr, 1)
! 	     || stride_expr->expr_type != EXPR_CONSTANT
! 	     || mpz_cmp_ui (stride_expr->value.integer, 0) == 0)
  	    {
+ 	      gfc_free_expr (stride_expr);
  	      mpz_clear (stride);
  	      return false;
  	    }
diff -Nrcpad gcc-9.4.0/gcc/fortran/check.c gcc-9.5.0/gcc/fortran/check.c
*** gcc-9.4.0/gcc/fortran/check.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/check.c	Fri May 27 07:21:11 2022
*************** gfc_calculate_transfer_sizes (gfc_expr *
*** 5562,5569 ****
     * representation is not shorter than that of SOURCE.
     * If SIZE is present, the result is an array of rank one and size SIZE.
     */
!   if (result_elt_size == 0 && *source_size > 0 && !size
!       && mold->expr_type == EXPR_ARRAY)
      {
        gfc_error ("%<MOLD%> argument of %<TRANSFER%> intrinsic at %L is an "
  		 "array and shall not have storage size 0 when %<SOURCE%> "
--- 5562,5569 ----
     * representation is not shorter than that of SOURCE.
     * If SIZE is present, the result is an array of rank one and size SIZE.
     */
!   if (result_elt_size == 0 && *source_size > 0
!       && (mold->expr_type == EXPR_ARRAY || mold->rank))
      {
        gfc_error ("%<MOLD%> argument of %<TRANSFER%> intrinsic at %L is an "
  		 "array and shall not have storage size 0 when %<SOURCE%> "
diff -Nrcpad gcc-9.4.0/gcc/fortran/class.c gcc-9.5.0/gcc/fortran/class.c
*** gcc-9.4.0/gcc/fortran/class.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/class.c	Fri May 27 07:21:11 2022
*************** gfc_get_len_component (gfc_expr *e, int
*** 613,618 ****
--- 613,619 ----
     component '_vptr' which determines the dynamic type.  When this CLASS
     entity is unlimited polymorphic, then also add a component '_len' to
     store the length of string when that is stored in it.  */
+ static int ctr = 0;
  
  bool
  gfc_build_class_symbol (gfc_typespec *ts, symbol_attribute *attr,
*************** gfc_build_class_symbol (gfc_typespec *ts
*** 628,640 ****
  
    gcc_assert (as);
  
-   if (*as && (*as)->type == AS_ASSUMED_SIZE)
-     {
-       gfc_error ("Assumed size polymorphic objects or components, such "
- 		 "as that at %C, have not yet been implemented");
-       return false;
-     }
- 
    if (attr->class_ok)
      /* Class container has already been built.  */
      return true;
--- 629,634 ----
*************** gfc_build_class_symbol (gfc_typespec *ts
*** 672,678 ****
    else
      ns = ts->u.derived->ns;
  
!   gfc_find_symbol (name, ns, 0, &fclass);
    if (fclass == NULL)
      {
        gfc_symtree *st;
--- 666,695 ----
    else
      ns = ts->u.derived->ns;
  
!   /* Although this might seem to be counterintuitive, we can build separate
!      class types with different array specs because the TKR interface checks
!      work on the declared type. All array type other than deferred shape or
!      assumed rank are added to the function namespace to ensure that they
!      are properly distinguished.  */
!   if (attr->dummy && !attr->codimension && (*as)
!       && !((*as)->type == AS_DEFERRED || (*as)->type == AS_ASSUMED_RANK))
!     {
!       char *sname;
!       ns = gfc_current_ns;
!       gfc_find_symbol (name, ns, 0, &fclass);
!       /* If a local class type with this name already exists, update the
! 	 name with an index.  */
!       if (fclass)
! 	{
! 	  fclass = NULL;
! 	  sname = xasprintf ("%s_%d", name, ++ctr);
! 	  free (name);
! 	  name = sname;
! 	}
!     }
!   else
!     gfc_find_symbol (name, ns, 0, &fclass);
! 
    if (fclass == NULL)
      {
        gfc_symtree *st;
diff -Nrcpad gcc-9.4.0/gcc/fortran/decl.c gcc-9.5.0/gcc/fortran/decl.c
*** gcc-9.4.0/gcc/fortran/decl.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/decl.c	Fri May 27 07:21:11 2022
*************** add_init_expr_to_sym (const char *name,
*** 2043,2048 ****
--- 2043,2066 ----
  	  sym->as->type = AS_EXPLICIT;
  	}
  
+       /* Ensure that explicit bounds are simplified.  */
+       if (sym->attr.flavor == FL_PARAMETER && sym->attr.dimension
+ 	  && sym->as->type == AS_EXPLICIT)
+ 	{
+ 	  for (int dim = 0; dim < sym->as->rank; ++dim)
+ 	    {
+ 	      gfc_expr *e;
+ 
+ 	      e = sym->as->lower[dim];
+ 	      if (e->expr_type != EXPR_CONSTANT)
+ 		gfc_reduce_init_expr (e);
+ 
+ 	      e = sym->as->upper[dim];
+ 	      if (e->expr_type != EXPR_CONSTANT)
+ 		gfc_reduce_init_expr (e);
+ 	    }
+ 	}
+ 
        /* Need to check if the expression we initialized this
  	 to was one of the iso_c_binding named constants.  If so,
  	 and we're a parameter (constant), let it be iso_c.
diff -Nrcpad gcc-9.4.0/gcc/fortran/expr.c gcc-9.5.0/gcc/fortran/expr.c
*** gcc-9.4.0/gcc/fortran/expr.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/expr.c	Fri May 27 07:21:11 2022
*************** find_array_element (gfc_constructor_base
*** 1330,1336 ****
    for (i = 0; i < ar->dimen; i++)
      {
        if (!gfc_reduce_init_expr (ar->as->lower[i])
! 	  || !gfc_reduce_init_expr (ar->as->upper[i]))
  	{
  	  t = false;
  	  cons = NULL;
--- 1330,1338 ----
    for (i = 0; i < ar->dimen; i++)
      {
        if (!gfc_reduce_init_expr (ar->as->lower[i])
! 	  || !gfc_reduce_init_expr (ar->as->upper[i])
! 	  || ar->as->upper[i]->expr_type != EXPR_CONSTANT
! 	  || ar->as->lower[i]->expr_type != EXPR_CONSTANT)
  	{
  	  t = false;
  	  cons = NULL;
*************** find_array_element (gfc_constructor_base
*** 1344,1352 ****
  	  goto depart;
  	}
  
-       gcc_assert (ar->as->upper[i]->expr_type == EXPR_CONSTANT
- 		  && ar->as->lower[i]->expr_type == EXPR_CONSTANT);
- 
        /* Check the bounds.  */
        if ((ar->as->upper[i]
  	   && mpz_cmp (e->value.integer,
--- 1346,1351 ----
*************** find_array_section (gfc_expr *expr, gfc_
*** 1553,1559 ****
  	{
  	  if ((begin && begin->expr_type != EXPR_CONSTANT)
  	      || (finish && finish->expr_type != EXPR_CONSTANT)
! 	      || (step && step->expr_type != EXPR_CONSTANT))
  	    {
  	      t = false;
  	      goto cleanup;
--- 1552,1560 ----
  	{
  	  if ((begin && begin->expr_type != EXPR_CONSTANT)
  	      || (finish && finish->expr_type != EXPR_CONSTANT)
! 	      || (step && step->expr_type != EXPR_CONSTANT)
! 	      || !lower
! 	      || !upper)
  	    {
  	      t = false;
  	      goto cleanup;
*************** find_substring_ref (gfc_expr *p, gfc_exp
*** 1718,1725 ****
    *newp = gfc_copy_expr (p);
    free ((*newp)->value.character.string);
  
!   end = (gfc_charlen_t) mpz_get_ui (p->ref->u.ss.end->value.integer);
!   start = (gfc_charlen_t) mpz_get_ui (p->ref->u.ss.start->value.integer);
    if (end >= start)
      length = end - start + 1;
    else
--- 1719,1726 ----
    *newp = gfc_copy_expr (p);
    free ((*newp)->value.character.string);
  
!   end = (gfc_charlen_t) mpz_get_si (p->ref->u.ss.end->value.integer);
!   start = (gfc_charlen_t) mpz_get_si (p->ref->u.ss.start->value.integer);
    if (end >= start)
      length = end - start + 1;
    else
*************** gfc_simplify_expr (gfc_expr *p, int type
*** 2144,2153 ****
  	  && gfc_intrinsic_func_interface (p, 1) == MATCH_ERROR)
  	return false;
  
!       if (p->expr_type == EXPR_FUNCTION)
  	{
! 	  if (p->symtree)
! 	    isym = gfc_find_function (p->symtree->n.sym->name);
  	  if (isym && isym->elemental)
  	    scalarize_intrinsic_call (p, false);
  	}
--- 2145,2153 ----
  	  && gfc_intrinsic_func_interface (p, 1) == MATCH_ERROR)
  	return false;
  
!       if (p->symtree && (p->value.function.isym || p->ts.type == BT_UNKNOWN))
  	{
! 	  isym = gfc_find_function (p->symtree->n.sym->name);
  	  if (isym && isym->elemental)
  	    scalarize_intrinsic_call (p, false);
  	}
diff -Nrcpad gcc-9.4.0/gcc/fortran/frontend-passes.c gcc-9.5.0/gcc/fortran/frontend-passes.c
*** gcc-9.4.0/gcc/fortran/frontend-passes.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/frontend-passes.c	Fri May 27 07:21:11 2022
*************** traverse_io_block (gfc_code *code, bool
*** 1301,1308 ****
  		std::swap (start->value.op.op1, start->value.op.op2);
  	      gcc_fallthrough ();
  	    case INTRINSIC_MINUS:
! 	      if ((start->value.op.op1->expr_type!= EXPR_VARIABLE
! 		   && start->value.op.op2->expr_type != EXPR_CONSTANT)
  		  || start->value.op.op1->ref)
  		return false;
  	      if (!stack_top || !stack_top->iter
--- 1301,1308 ----
  		std::swap (start->value.op.op1, start->value.op.op2);
  	      gcc_fallthrough ();
  	    case INTRINSIC_MINUS:
! 	      if (start->value.op.op1->expr_type!= EXPR_VARIABLE
! 		  || start->value.op.op2->expr_type != EXPR_CONSTANT
  		  || start->value.op.op1->ref)
  		return false;
  	      if (!stack_top || !stack_top->iter
*************** doloop_code (gfc_code **c, int *walk_sub
*** 2416,2422 ****
  
  	      do_sym = cl->ext.iterator->var->symtree->n.sym;
  
! 	      if (a->expr && a->expr->symtree
  		  && a->expr->symtree->n.sym == do_sym)
  		{
  		  if (f->sym->attr.intent == INTENT_OUT)
--- 2416,2422 ----
  
  	      do_sym = cl->ext.iterator->var->symtree->n.sym;
  
! 	      if (a->expr && a->expr->symtree && f->sym
  		  && a->expr->symtree->n.sym == do_sym)
  		{
  		  if (f->sym->attr.intent == INTENT_OUT)
*************** do_subscript (gfc_expr **e)
*** 2679,2684 ****
--- 2679,2685 ----
  		    {
  		      if (ar->as->lower[i]
  			  && ar->as->lower[i]->expr_type == EXPR_CONSTANT
+ 			  && ar->as->lower[i]->ts.type == BT_INTEGER
  			  && mpz_cmp (val, ar->as->lower[i]->value.integer) < 0)
  			gfc_warning (warn, "Array reference at %L out of bounds "
  				     "(%ld < %ld) in loop beginning at %L",
*************** do_subscript (gfc_expr **e)
*** 2688,2693 ****
--- 2689,2695 ----
  
  		      if (ar->as->upper[i]
  			  && ar->as->upper[i]->expr_type == EXPR_CONSTANT
+ 			  && ar->as->upper[i]->ts.type == BT_INTEGER
  			  && mpz_cmp (val, ar->as->upper[i]->value.integer) > 0)
  			    gfc_warning (warn, "Array reference at %L out of bounds "
  					 "(%ld > %ld) in loop beginning at %L",
*************** do_subscript (gfc_expr **e)
*** 2703,2708 ****
--- 2705,2711 ----
  		    {
  		      if (ar->as->lower[i]
  			  && ar->as->lower[i]->expr_type == EXPR_CONSTANT
+ 			  && ar->as->lower[i]->ts.type == BT_INTEGER
  			  && mpz_cmp (val, ar->as->lower[i]->value.integer) < 0)
  			gfc_warning (warn, "Array reference at %L out of bounds "
  				     "(%ld < %ld) in loop beginning at %L",
*************** do_subscript (gfc_expr **e)
*** 2712,2717 ****
--- 2715,2721 ----
  
  		      if (ar->as->upper[i]
  			  && ar->as->upper[i]->expr_type == EXPR_CONSTANT
+ 			  && ar->as->upper[i]->ts.type == BT_INTEGER
  			  && mpz_cmp (val, ar->as->upper[i]->value.integer) > 0)
  			gfc_warning (warn, "Array reference at %L out of bounds "
  				     "(%ld > %ld) in loop beginning at %L",
*************** inline_matmul_assign (gfc_code **c, int
*** 3921,3926 ****
--- 3925,3943 ----
    if (m_case == none)
      return 0;
  
+   /* We only handle assignment to numeric or logical variables.  */
+   switch(expr1->ts.type)
+     {
+     case BT_INTEGER:
+     case BT_LOGICAL:
+     case BT_REAL:
+     case BT_COMPLEX:
+       break;
+ 
+     default:
+       return 0;
+     }
+ 
    ns = insert_block ();
  
    /* Assign the type of the zero expression for initializing the resulting
diff -Nrcpad gcc-9.4.0/gcc/fortran/intrinsic.c gcc-9.5.0/gcc/fortran/intrinsic.c
*** gcc-9.4.0/gcc/fortran/intrinsic.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/intrinsic.c	Fri May 27 07:21:11 2022
*************** gfc_is_intrinsic (gfc_symbol* sym, int s
*** 1105,1110 ****
--- 1105,1111 ----
  
    /* Check for attributes which prevent the symbol from being INTRINSIC.  */
    if (sym->attr.external || sym->attr.contained
+       || sym->attr.recursive
        || sym->attr.if_source == IFSRC_IFBODY)
      return false;
  
diff -Nrcpad gcc-9.4.0/gcc/fortran/parse.c gcc-9.5.0/gcc/fortran/parse.c
*** gcc-9.4.0/gcc/fortran/parse.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/parse.c	Fri May 27 07:21:11 2022
*************** parse_associate (void)
*** 4551,4556 ****
--- 4551,4574 ----
  	 in case of association to a derived-type.  */
        sym->ts = a->target->ts;
  
+       /* Don’t share the character length information between associate
+ 	 variable and target if the length is not a compile-time constant,
+ 	 as we don’t want to touch some other character length variable when
+ 	 we try to initialize the associate variable’s character length
+ 	 variable.
+ 	 We do it here rather than later so that expressions referencing the
+ 	 associate variable will automatically have the correctly setup length
+ 	 information.  If we did it at resolution stage the expressions would
+ 	 use the original length information, and the variable a new different
+ 	 one, but only the latter one would be correctly initialized at
+ 	 translation stage, and the former one would need some additional setup
+ 	 there.  */
+       if (sym->ts.type == BT_CHARACTER
+ 	  && sym->ts.u.cl
+ 	  && !(sym->ts.u.cl->length
+ 	       && sym->ts.u.cl->length->expr_type == EXPR_CONSTANT))
+ 	sym->ts.u.cl = gfc_new_charlen (gfc_current_ns, NULL);
+ 
        /* Check if the target expression is array valued.  This cannot always
  	 be done by looking at target.rank, because that might not have been
  	 set yet.  Therefore traverse the chain of refs, looking for the last
diff -Nrcpad gcc-9.4.0/gcc/fortran/primary.c gcc-9.5.0/gcc/fortran/primary.c
*** gcc-9.4.0/gcc/fortran/primary.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/primary.c	Fri May 27 07:21:11 2022
*************** build_actual_constructor (gfc_structure_
*** 3023,3048 ****
  	  continue;
  	}
  
!       /* If it was not found, try the default initializer if there's any;
  	 otherwise, it's an error unless this is a deferred parameter.  */
        if (!comp_iter)
  	{
! 	  if (comp->initializer)
! 	    {
! 	      if (!gfc_notify_std (GFC_STD_F2003, "Structure constructor "
! 				   "with missing optional arguments at %C"))
! 		return false;
! 	      value = gfc_copy_expr (comp->initializer);
! 	    }
! 	  else if (comp->attr.allocatable
! 		   || (comp->ts.type == BT_CLASS
! 		       && CLASS_DATA (comp)->attr.allocatable))
  	    {
  	      if (!gfc_notify_std (GFC_STD_F2008, "No initializer for "
  				   "allocatable component %qs given in the "
  				   "structure constructor at %C", comp->name))
  		return false;
  	    }
  	  else if (!comp->attr.artificial)
  	    {
  	      gfc_error ("No initializer for component %qs given in the"
--- 3023,3058 ----
  	  continue;
  	}
  
!       /* If it was not found, apply NULL expression to set the component as
! 	 unallocated. Then try the default initializer if there's any;
  	 otherwise, it's an error unless this is a deferred parameter.  */
        if (!comp_iter)
  	{
! 	  /* F2018 7.5.10: If an allocatable component has no corresponding
! 	     component-data-source, then that component has an allocation
! 	     status of unallocated....  */
! 	  if (comp->attr.allocatable
! 	      || (comp->ts.type == BT_CLASS
! 		  && CLASS_DATA (comp)->attr.allocatable))
  	    {
  	      if (!gfc_notify_std (GFC_STD_F2008, "No initializer for "
  				   "allocatable component %qs given in the "
  				   "structure constructor at %C", comp->name))
  		return false;
+ 	      value = gfc_get_null_expr (&gfc_current_locus);
+ 	    }
+ 	  /* ....(Preceeding sentence) If a component with default
+ 	     initialization has no corresponding component-data-source, then
+ 	     the default initialization is applied to that component.  */
+ 	  else if (comp->initializer)
+ 	    {
+ 	      if (!gfc_notify_std (GFC_STD_F2003, "Structure constructor "
+ 				   "with missing optional arguments at %C"))
+ 		return false;
+ 	      value = gfc_copy_expr (comp->initializer);
  	    }
+ 	  /* Do not trap components such as the string length for deferred
+ 	     length character components.  */
  	  else if (!comp->attr.artificial)
  	    {
  	      gfc_error ("No initializer for component %qs given in the"
diff -Nrcpad gcc-9.4.0/gcc/fortran/resolve.c gcc-9.5.0/gcc/fortran/resolve.c
*** gcc-9.4.0/gcc/fortran/resolve.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/resolve.c	Fri May 27 07:21:11 2022
*************** gfc_resolve_dim_arg (gfc_expr *dim)
*** 4736,4741 ****
--- 4736,4743 ----
     base symbol.  We traverse the list of reference structures, setting
     the stored reference to references.  Component references can
     provide an additional array specification.  */
+ static void
+ resolve_assoc_var (gfc_symbol* sym, bool resolve_target);
  
  static void
  find_array_spec (gfc_expr *e)
*************** find_array_spec (gfc_expr *e)
*** 4745,4750 ****
--- 4747,4759 ----
    gfc_ref *ref;
    bool class_as = false;
  
+   if (e->symtree->n.sym->assoc)
+     {
+       if (e->symtree->n.sym->assoc->target)
+ 	gfc_resolve_expr (e->symtree->n.sym->assoc->target);
+       resolve_assoc_var (e->symtree->n.sym, false);
+     }
+ 
    if (e->symtree->n.sym->ts.type == BT_CLASS)
      {
        as = CLASS_DATA (e->symtree->n.sym)->as;
*************** resolve_assoc_var (gfc_symbol* sym, bool
*** 8933,8940 ****
        if (!sym->ts.u.cl)
  	sym->ts.u.cl = target->ts.u.cl;
  
!       if (sym->ts.deferred && target->expr_type == EXPR_VARIABLE
! 	  && target->symtree->n.sym->attr.dummy
  	  && sym->ts.u.cl == target->ts.u.cl)
  	{
  	  sym->ts.u.cl = gfc_new_charlen (sym->ns, NULL);
--- 8942,8948 ----
        if (!sym->ts.u.cl)
  	sym->ts.u.cl = target->ts.u.cl;
  
!       if (sym->ts.deferred
  	  && sym->ts.u.cl == target->ts.u.cl)
  	{
  	  sym->ts.u.cl = gfc_new_charlen (sym->ns, NULL);
*************** resolve_assoc_var (gfc_symbol* sym, bool
*** 8953,8960 ****
  		|| sym->ts.u.cl->length->expr_type != EXPR_CONSTANT)
  		&& target->expr_type != EXPR_VARIABLE)
  	{
! 	  sym->ts.u.cl = gfc_new_charlen (sym->ns, NULL);
! 	  sym->ts.deferred = 1;
  
  	  /* This is reset in trans-stmt.c after the assignment
  	     of the target expression to the associate name.  */
--- 8961,8971 ----
  		|| sym->ts.u.cl->length->expr_type != EXPR_CONSTANT)
  		&& target->expr_type != EXPR_VARIABLE)
  	{
! 	  if (!sym->ts.deferred)
! 	    {
! 	      sym->ts.u.cl = gfc_new_charlen (sym->ns, NULL);
! 	      sym->ts.deferred = 1;
! 	    }
  
  	  /* This is reset in trans-stmt.c after the assignment
  	     of the target expression to the associate name.  */
*************** resolve_fl_procedure (gfc_symbol *sym, i
*** 12735,12741 ****
  
    /* An elemental function is required to return a scalar 12.7.1  */
    if (sym->attr.elemental && sym->attr.function
!       && (sym->as || (sym->ts.type == BT_CLASS && CLASS_DATA (sym)->as)))
      {
        gfc_error ("ELEMENTAL function %qs at %L must have a scalar "
  		 "result", sym->name, &sym->declared_at);
--- 12746,12753 ----
  
    /* An elemental function is required to return a scalar 12.7.1  */
    if (sym->attr.elemental && sym->attr.function
!       && (sym->as || (sym->ts.type == BT_CLASS && sym->attr.class_ok
! 		      && CLASS_DATA (sym)->as)))
      {
        gfc_error ("ELEMENTAL function %qs at %L must have a scalar "
  		 "result", sym->name, &sym->declared_at);
diff -Nrcpad gcc-9.4.0/gcc/fortran/simplify.c gcc-9.5.0/gcc/fortran/simplify.c
*** gcc-9.4.0/gcc/fortran/simplify.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/simplify.c	Fri May 27 07:21:11 2022
*************** simplify_bound (gfc_expr *array, gfc_exp
*** 4197,4202 ****
--- 4197,4208 ----
  	     || (as->type == AS_ASSUMED_SHAPE && upper)))
      return NULL;
  
+   /* 'array' shall not be an unallocated allocatable variable or a pointer that
+      is not associated.  */
+   if (array->expr_type == EXPR_VARIABLE
+       && (gfc_expr_attr (array).allocatable || gfc_expr_attr (array).pointer))
+     return NULL;
+ 
    gcc_assert (!as
  	      || (as->type != AS_DEFERRED
  		  && array->expr_type == EXPR_VARIABLE
*************** gfc_simplify_transfer (gfc_expr *source,
*** 7964,7970 ****
       set even for array expressions, in order to pass this information into
       gfc_target_interpret_expr.  */
    if (result->ts.type == BT_CHARACTER && gfc_is_constant_expr (mold_element))
!     result->value.character.length = mold_element->value.character.length;
  
    /* Set the number of elements in the result, and determine its size.  */
  
--- 7970,7987 ----
       set even for array expressions, in order to pass this information into
       gfc_target_interpret_expr.  */
    if (result->ts.type == BT_CHARACTER && gfc_is_constant_expr (mold_element))
!     {
!       result->value.character.length = mold_element->value.character.length;
! 
!       /* Let the typespec of the result inherit the string length.
! 	 This is crucial if a resulting array has size zero.  */
!       if (mold_element->ts.u.cl->length)
! 	result->ts.u.cl->length = gfc_copy_expr (mold_element->ts.u.cl->length);
!       else
! 	result->ts.u.cl->length =
! 	  gfc_get_int_expr (gfc_charlen_int_kind, NULL,
! 			    mold_element->value.character.length);
!     }
  
    /* Set the number of elements in the result, and determine its size.  */
  
diff -Nrcpad gcc-9.4.0/gcc/fortran/trans-array.c gcc-9.5.0/gcc/fortran/trans-array.c
*** gcc-9.4.0/gcc/fortran/trans-array.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/trans-array.c	Fri May 27 07:21:11 2022
*************** gfc_trans_g77_array (gfc_symbol * sym, g
*** 6609,6615 ****
    /* Set the pointer itself if we aren't using the parameter directly.  */
    if (TREE_CODE (parm) != PARM_DECL)
      {
!       tmp = convert (TREE_TYPE (parm), GFC_DECL_SAVED_DESCRIPTOR (parm));
        gfc_add_modify (&init, parm, tmp);
      }
    stmt = gfc_finish_block (&init);
--- 6609,6622 ----
    /* Set the pointer itself if we aren't using the parameter directly.  */
    if (TREE_CODE (parm) != PARM_DECL)
      {
!       tmp = GFC_DECL_SAVED_DESCRIPTOR (parm);
!       if (sym->ts.type == BT_CLASS)
! 	{
! 	  tmp = build_fold_indirect_ref_loc (input_location, tmp);
! 	  tmp = gfc_class_data_get (tmp);
! 	  tmp = gfc_conv_descriptor_data_get (tmp);
! 	}
!       tmp = convert (TREE_TYPE (parm), tmp);
        gfc_add_modify (&init, parm, tmp);
      }
    stmt = gfc_finish_block (&init);
*************** gfc_trans_dummy_array_bias (gfc_symbol *
*** 6705,6711 ****
        && VAR_P (sym->ts.u.cl->backend_decl))
      gfc_conv_string_length (sym->ts.u.cl, NULL, &init);
  
!   checkparm = (as->type == AS_EXPLICIT
  	       && (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS));
  
    no_repack = !(GFC_DECL_PACKED_ARRAY (tmpdesc)
--- 6712,6719 ----
        && VAR_P (sym->ts.u.cl->backend_decl))
      gfc_conv_string_length (sym->ts.u.cl, NULL, &init);
  
!   /* TODO: Fix the exclusion of class arrays from extent checking.  */
!   checkparm = (as->type == AS_EXPLICIT && !is_classarray
  	       && (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS));
  
    no_repack = !(GFC_DECL_PACKED_ARRAY (tmpdesc)
*************** gfc_conv_expr_descriptor (gfc_se *se, gf
*** 7521,7529 ****
  			 && expr->value.function.esym->attr.elemental)
  			|| (expr->value.function.isym != NULL
  			    && expr->value.function.isym->elemental)
  			|| gfc_inline_intrinsic_function_p (expr));
- 	  else
- 	    gcc_assert (ss_type == GFC_SS_INTRINSIC);
  
  	  need_tmp = 1;
  	  if (expr->ts.type == BT_CHARACTER
--- 7529,7537 ----
  			 && expr->value.function.esym->attr.elemental)
  			|| (expr->value.function.isym != NULL
  			    && expr->value.function.isym->elemental)
+ 			|| (gfc_expr_attr (expr).proc_pointer
+ 			    && gfc_expr_attr (expr).elemental)
  			|| gfc_inline_intrinsic_function_p (expr));
  
  	  need_tmp = 1;
  	  if (expr->ts.type == BT_CHARACTER
*************** gfc_conv_expr_descriptor (gfc_se *se, gf
*** 7712,7726 ****
        /* Set the string_length for a character array.  */
        if (expr->ts.type == BT_CHARACTER)
  	{
! 	  se->string_length =  gfc_get_expr_charlen (expr);
  	  if (VAR_P (se->string_length)
  	      && expr->ts.u.cl->backend_decl == se->string_length)
  	    tmp = ss_info->string_length;
  	  else
  	    tmp = se->string_length;
  
! 	  if (expr->ts.deferred)
  	    gfc_add_modify (&se->pre, expr->ts.u.cl->backend_decl, tmp);
  	}
  
        /* If we have an array section or are assigning make sure that
--- 7720,7740 ----
        /* Set the string_length for a character array.  */
        if (expr->ts.type == BT_CHARACTER)
  	{
! 	  if (deferred_array_component)
! 	    se->string_length = ss_info->string_length;
! 	  else
! 	    se->string_length =  gfc_get_expr_charlen (expr);
! 
  	  if (VAR_P (se->string_length)
  	      && expr->ts.u.cl->backend_decl == se->string_length)
  	    tmp = ss_info->string_length;
  	  else
  	    tmp = se->string_length;
  
! 	  if (expr->ts.deferred && VAR_P (expr->ts.u.cl->backend_decl))
  	    gfc_add_modify (&se->pre, expr->ts.u.cl->backend_decl, tmp);
+ 	  else
+ 	    expr->ts.u.cl->backend_decl = tmp;
  	}
  
        /* If we have an array section or are assigning make sure that
diff -Nrcpad gcc-9.4.0/gcc/fortran/trans-decl.c gcc-9.5.0/gcc/fortran/trans-decl.c
*** gcc-9.4.0/gcc/fortran/trans-decl.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/trans-decl.c	Fri May 27 07:21:11 2022
*************** gfc_get_symbol_decl (gfc_symbol * sym)
*** 1506,1512 ****
       declaration of the entity and memory allocated/deallocated.  */
    if ((sym->ts.type == BT_DERIVED || sym->ts.type == BT_CLASS)
        && sym->param_list != NULL
!       && !(sym->attr.host_assoc || sym->attr.use_assoc || sym->attr.dummy))
      gfc_defer_symbol_init (sym);
  
    /* Dummy PDT 'len' parameters should be checked when they are explicit.  */
--- 1506,1513 ----
       declaration of the entity and memory allocated/deallocated.  */
    if ((sym->ts.type == BT_DERIVED || sym->ts.type == BT_CLASS)
        && sym->param_list != NULL
!       && gfc_current_ns == sym->ns
!       && !(sym->attr.use_assoc || sym->attr.dummy))
      gfc_defer_symbol_init (sym);
  
    /* Dummy PDT 'len' parameters should be checked when they are explicit.  */
diff -Nrcpad gcc-9.4.0/gcc/fortran/trans-expr.c gcc-9.5.0/gcc/fortran/trans-expr.c
*** gcc-9.4.0/gcc/fortran/trans-expr.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/trans-expr.c	Fri May 27 07:21:11 2022
*************** gfc_trans_class_init_assign (gfc_code *c
*** 1655,1662 ****
  	}
      }
  
!   if (code->expr1->symtree->n.sym->attr.optional
!       || code->expr1->symtree->n.sym->ns->proc_name->attr.entry_master)
      {
        tree present = gfc_conv_expr_present (code->expr1->symtree->n.sym);
        tmp = build3_loc (input_location, COND_EXPR, TREE_TYPE (tmp),
--- 1655,1663 ----
  	}
      }
  
!   if (code->expr1->symtree->n.sym->attr.dummy
!       && (code->expr1->symtree->n.sym->attr.optional
! 	  || code->expr1->symtree->n.sym->ns->proc_name->attr.entry_master))
      {
        tree present = gfc_conv_expr_present (code->expr1->symtree->n.sym);
        tmp = build3_loc (input_location, COND_EXPR, TREE_TYPE (tmp),
*************** gfc_conv_string_length (gfc_charlen * cl
*** 2470,2476 ****
  			     se.expr, build_zero_cst (TREE_TYPE (se.expr)));
    gfc_add_block_to_block (pblock, &se.pre);
  
!   if (cl->backend_decl)
      gfc_add_modify (pblock, cl->backend_decl, se.expr);
    else
      cl->backend_decl = gfc_evaluate_now (se.expr, pblock);
--- 2471,2477 ----
  			     se.expr, build_zero_cst (TREE_TYPE (se.expr)));
    gfc_add_block_to_block (pblock, &se.pre);
  
!   if (cl->backend_decl && VAR_P (cl->backend_decl))
      gfc_add_modify (pblock, cl->backend_decl, se.expr);
    else
      cl->backend_decl = gfc_evaluate_now (se.expr, pblock);
*************** gfc_conv_substring (gfc_se * se, gfc_ref
*** 2530,2536 ****
    if (!CONSTANT_CLASS_P (tmp) && !DECL_P (tmp))
      end.expr = gfc_evaluate_now (end.expr, &se->pre);
  
!   if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS)
      {
        tree nonempty = fold_build2_loc (input_location, LE_EXPR,
  				       logical_type_node, start.expr,
--- 2531,2539 ----
    if (!CONSTANT_CLASS_P (tmp) && !DECL_P (tmp))
      end.expr = gfc_evaluate_now (end.expr, &se->pre);
  
!   if ((gfc_option.rtcheck & GFC_RTCHECK_BOUNDS)
!       && (ref->u.ss.start->symtree
! 	  && !ref->u.ss.start->symtree->n.sym->attr.implied_index))
      {
        tree nonempty = fold_build2_loc (input_location, LE_EXPR,
  				       logical_type_node, start.expr,
*************** gfc_conv_component_ref (gfc_se * se, gfc
*** 2663,2669 ****
    /* Allocatable deferred char arrays are to be handled by the gfc_deferred_
       strlen () conditional below.  */
    if (c->ts.type == BT_CHARACTER && !c->attr.proc_pointer
!       && !(c->attr.allocatable && c->ts.deferred)
        && !c->attr.pdt_string)
      {
        tmp = c->ts.u.cl->backend_decl;
--- 2666,2672 ----
    /* Allocatable deferred char arrays are to be handled by the gfc_deferred_
       strlen () conditional below.  */
    if (c->ts.type == BT_CHARACTER && !c->attr.proc_pointer
!       && !c->ts.deferred
        && !c->attr.pdt_string)
      {
        tmp = c->ts.u.cl->backend_decl;
*************** gfc_conv_procedure_call (gfc_se * se, gf
*** 5566,5572 ****
  				     CLASS_DATA (fsym)->attr.class_pointer
  				     || CLASS_DATA (fsym)->attr.allocatable);
  	}
!       else if (UNLIMITED_POLY (fsym) && e->ts.type != BT_CLASS)
  	{
  	  /* The intrinsic type needs to be converted to a temporary
  	     CLASS object for the unlimited polymorphic formal.  */
--- 5569,5576 ----
  				     CLASS_DATA (fsym)->attr.class_pointer
  				     || CLASS_DATA (fsym)->attr.allocatable);
  	}
!       else if (UNLIMITED_POLY (fsym) && e->ts.type != BT_CLASS
! 	       && gfc_expr_attr (e).flavor != FL_PROCEDURE)
  	{
  	  /* The intrinsic type needs to be converted to a temporary
  	     CLASS object for the unlimited polymorphic formal.  */
*************** gfc_conv_procedure_call (gfc_se * se, gf
*** 6159,6164 ****
--- 6163,6177 ----
  				fsym ? fsym->attr.intent : INTENT_INOUT,
  				fsym && fsym->attr.pointer);
  
+ 	      else if (e->ts.type == BT_CLASS && CLASS_DATA (e)->as
+ 		       && CLASS_DATA (e)->as->type == AS_ASSUMED_SIZE
+ 		       && nodesc_arg && fsym->ts.type == BT_DERIVED)
+ 		/* An assumed size class actual argument being passed to
+ 		   a 'no descriptor' formal argument just requires the
+ 		   data pointer to be passed. For class dummy arguments
+ 		   this is stored in the symbol backend decl..  */
+ 		parmse.expr = e->symtree->n.sym->backend_decl;
+ 
  	      else if (gfc_is_class_array_ref (e, NULL)
  		       && fsym && fsym->ts.type == BT_DERIVED)
  		/* The actual argument is a component reference to an
*************** gfc_conv_procedure_call (gfc_se * se, gf
*** 6229,6234 ****
--- 6242,6258 ----
  		    // deallocate the components first
  		    tmp = gfc_deallocate_alloc_comp (fsym->ts.u.derived,
  						     parmse.expr, e->rank);
+ 		    /* But check whether dummy argument is optional.  */
+ 		    if (tmp != NULL_TREE
+ 			&& fsym->attr.optional
+ 			&& e->expr_type == EXPR_VARIABLE
+ 			&& e->symtree->n.sym->attr.optional)
+ 		      {
+ 			tree present;
+ 			present = gfc_conv_expr_present (e->symtree->n.sym);
+ 			tmp = build3_v (COND_EXPR, present, tmp,
+ 					build_empty_stmt (input_location));
+ 		      }
  		    if (tmp != NULL_TREE)
  		      gfc_add_expr_to_block (&se->pre, tmp);
  		  }
*************** gfc_trans_structure_assign (tree dest, g
*** 8423,8430 ****
    return gfc_finish_block (&block);
  }
  
! void
! gfc_conv_union_initializer (vec<constructor_elt, va_gc> *v,
                              gfc_component *un, gfc_expr *init)
  {
    gfc_constructor *ctor;
--- 8447,8454 ----
    return gfc_finish_block (&block);
  }
  
! static void
! gfc_conv_union_initializer (vec<constructor_elt, va_gc> *&v,
                              gfc_component *un, gfc_expr *init)
  {
    gfc_constructor *ctor;
*************** gfc_trans_assignment_1 (gfc_expr * expr1
*** 10806,10812 ****
  		       || gfc_is_class_array_ref (expr1, NULL)
  		       || gfc_is_class_scalar_expr (expr1)
  		       || gfc_is_class_array_ref (expr2, NULL)
! 		       || gfc_is_class_scalar_expr (expr2));
  
    realloc_flag = flag_realloc_lhs
  		 && gfc_is_reallocatable_lhs (expr1)
--- 10830,10837 ----
  		       || gfc_is_class_array_ref (expr1, NULL)
  		       || gfc_is_class_scalar_expr (expr1)
  		       || gfc_is_class_array_ref (expr2, NULL)
! 		       || gfc_is_class_scalar_expr (expr2))
! 		   && lhs_attr.flavor != FL_PROCEDURE;
  
    realloc_flag = flag_realloc_lhs
  		 && gfc_is_reallocatable_lhs (expr1)
diff -Nrcpad gcc-9.4.0/gcc/fortran/trans-intrinsic.c gcc-9.5.0/gcc/fortran/trans-intrinsic.c
*** gcc-9.4.0/gcc/fortran/trans-intrinsic.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/trans-intrinsic.c	Fri May 27 07:21:11 2022
*************** gfc_conv_associated (gfc_se *se, gfc_exp
*** 8473,8479 ****
    else
      {
        /* An optional target.  */
!       if (arg2->expr->ts.type == BT_CLASS)
  	gfc_add_data_component (arg2->expr);
  
        nonzero_charlen = NULL_TREE;
--- 8473,8480 ----
    else
      {
        /* An optional target.  */
!       if (arg2->expr->ts.type == BT_CLASS
! 	  && arg2->expr->expr_type != EXPR_FUNCTION)
  	gfc_add_data_component (arg2->expr);
  
        nonzero_charlen = NULL_TREE;
*************** gfc_conv_associated (gfc_se *se, gfc_exp
*** 8501,8506 ****
--- 8502,8512 ----
  	      && arg2->expr->symtree->n.sym->attr.dummy)
  	    arg2se.expr = build_fold_indirect_ref_loc (input_location,
  						       arg2se.expr);
+ 	  if (arg2->expr->ts.type == BT_CLASS)
+ 	    {
+ 	      arg2se.expr = gfc_evaluate_now (arg2se.expr, &arg2se.pre);
+ 	      arg2se.expr = gfc_class_data_get (arg2se.expr);
+ 	    }
  	  gfc_add_block_to_block (&se->pre, &arg1se.pre);
  	  gfc_add_block_to_block (&se->post, &arg1se.post);
  	  gfc_add_block_to_block (&se->pre, &arg2se.pre);
diff -Nrcpad gcc-9.4.0/gcc/fortran/trans-stmt.c gcc-9.5.0/gcc/fortran/trans-stmt.c
*** gcc-9.4.0/gcc/fortran/trans-stmt.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/trans-stmt.c	Fri May 27 07:21:11 2022
*************** trans_associate_var (gfc_symbol *sym, gf
*** 1719,1725 ****
        gfc_conv_expr_descriptor (&se, e);
  
        if (sym->ts.type == BT_CHARACTER
! 	  && !se.direct_byref && sym->ts.deferred
  	  && !sym->attr.select_type_temporary
  	  && VAR_P (sym->ts.u.cl->backend_decl)
  	  && se.string_length != sym->ts.u.cl->backend_decl)
--- 1719,1725 ----
        gfc_conv_expr_descriptor (&se, e);
  
        if (sym->ts.type == BT_CHARACTER
! 	  && sym->ts.deferred
  	  && !sym->attr.select_type_temporary
  	  && VAR_P (sym->ts.u.cl->backend_decl)
  	  && se.string_length != sym->ts.u.cl->backend_decl)
diff -Nrcpad gcc-9.4.0/gcc/fortran/trans-types.c gcc-9.5.0/gcc/fortran/trans-types.c
*** gcc-9.4.0/gcc/fortran/trans-types.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/fortran/trans-types.c	Fri May 27 07:21:11 2022
*************** gfc_get_array_descr_info (const_tree typ
*** 3414,3421 ****
        if (!integer_zerop (dtype_off))
  	t = fold_build_pointer_plus (t, rank_off);
  
!       t = build1 (NOP_EXPR, build_pointer_type (gfc_array_index_type), t);
!       t = build1 (INDIRECT_REF, gfc_array_index_type, t);
        info->rank = t;
        t = build0 (PLACEHOLDER_EXPR, TREE_TYPE (dim_off));
        t = size_binop (MULT_EXPR, t, dim_size);
--- 3414,3421 ----
        if (!integer_zerop (dtype_off))
  	t = fold_build_pointer_plus (t, rank_off);
  
!       t = build1 (NOP_EXPR, build_pointer_type (TREE_TYPE (field)), t);
!       t = build1 (INDIRECT_REF, TREE_TYPE (field), t);
        info->rank = t;
        t = build0 (PLACEHOLDER_EXPR, TREE_TYPE (dim_off));
        t = size_binop (MULT_EXPR, t, dim_size);
diff -Nrcpad gcc-9.4.0/gcc/gengtype-lex.c gcc-9.5.0/gcc/gengtype-lex.c
*** gcc-9.4.0/gcc/gengtype-lex.c	Tue Jun  1 07:54:16 2021
--- gcc-9.5.0/gcc/gengtype-lex.c	Fri May 27 07:22:23 2022
*************** int yy_flex_debug = 0;
*** 1183,1189 ****
  #define YY_MORE_ADJ 0
  #define YY_RESTORE_YY_MORE_OFFSET
  char *yytext;
! #line 1 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  /* -*- indented-text -*- */
  /* Process source files and output type information.
     Copyright (C) 2002-2019 Free Software Foundation, Inc.
--- 1183,1189 ----
  #define YY_MORE_ADJ 0
  #define YY_RESTORE_YY_MORE_OFFSET
  char *yytext;
! #line 1 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  /* -*- indented-text -*- */
  /* Process source files and output type information.
     Copyright (C) 2002-2019 Free Software Foundation, Inc.
*************** You should have received a copy of the G
*** 1204,1210 ****
  along with GCC; see the file COPYING3.  If not see
  <http://www.gnu.org/licenses/>.  */
  #define YY_NO_INPUT 1
! #line 24 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  #ifdef HOST_GENERATOR_FILE
  #include "config.h"
  #define GENERATOR_FILE 1
--- 1204,1210 ----
  along with GCC; see the file COPYING3.  If not see
  <http://www.gnu.org/licenses/>.  */
  #define YY_NO_INPUT 1
! #line 24 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  #ifdef HOST_GENERATOR_FILE
  #include "config.h"
  #define GENERATOR_FILE 1
*************** update_lineno (const char *l, size_t len
*** 1233,1239 ****
  }
  
  #line 1230 "gengtype-lex.c"
! #line 59 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
      /* Include '::' in identifiers to capture C++ scope qualifiers.  */
  
  #line 1234 "gengtype-lex.c"
--- 1233,1239 ----
  }
  
  #line 1230 "gengtype-lex.c"
! #line 59 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
      /* Include '::' in identifiers to capture C++ scope qualifiers.  */
  
  #line 1234 "gengtype-lex.c"
*************** YY_DECL
*** 1457,1463 ****
  		}
  
  	{
! #line 67 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  
    /* Do this on entry to yylex():  */
    *yylval = 0;
--- 1457,1463 ----
  		}
  
  	{
! #line 67 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  
    /* Do this on entry to yylex():  */
    *yylval = 0;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1529,1535 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 78 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return TYPEDEF;
--- 1529,1535 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 78 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return TYPEDEF;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1542,1548 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 82 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STRUCT;
--- 1542,1548 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 82 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STRUCT;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1555,1561 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 86 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return UNION;
--- 1555,1561 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 86 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return UNION;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1568,1574 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 90 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STRUCT;
--- 1568,1574 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 90 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STRUCT;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1581,1587 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 94 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return EXTERN;
--- 1581,1587 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 94 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return EXTERN;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1594,1600 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 98 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STATIC;
--- 1594,1600 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 98 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STATIC;
*************** YY_RULE_SETUP
*** 1605,1629 ****
  
  case 7:
  YY_RULE_SETUP
! #line 106 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { BEGIN(in_struct_comment); }
  	YY_BREAK
  case 8:
  /* rule 8 can match eol */
  YY_RULE_SETUP
! #line 107 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 9:
  /* rule 9 can match eol */
  YY_RULE_SETUP
! #line 109 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { update_lineno (yytext, yyleng); }
  	YY_BREAK
  case 10:
  /* rule 10 can match eol */
  YY_RULE_SETUP
! #line 110 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 11:
--- 1605,1629 ----
  
  case 7:
  YY_RULE_SETUP
! #line 106 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { BEGIN(in_struct_comment); }
  	YY_BREAK
  case 8:
  /* rule 8 can match eol */
  YY_RULE_SETUP
! #line 107 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 9:
  /* rule 9 can match eol */
  YY_RULE_SETUP
! #line 109 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { update_lineno (yytext, yyleng); }
  	YY_BREAK
  case 10:
  /* rule 10 can match eol */
  YY_RULE_SETUP
! #line 110 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 11:
*************** YY_LINENO_REWIND_TO(yy_bp + 5);
*** 1633,1639 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 112 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  /* don't care */
  	YY_BREAK
  case 12:
--- 1633,1639 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 112 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  /* don't care */
  	YY_BREAK
  case 12:
*************** case 12:
*** 1642,1658 ****
  YY_LINENO_REWIND_TO(yy_cp - 1);
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
! #line 114 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  case 13:
  /* rule 13 can match eol */
! #line 115 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  case 14:
  /* rule 14 can match eol */
! #line 116 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  case 15:
  /* rule 15 can match eol */
  YY_RULE_SETUP
! #line 116 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
      *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1);
      return IGNORABLE_CXX_KEYWORD;
--- 1642,1658 ----
  YY_LINENO_REWIND_TO(yy_cp - 1);
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
! #line 114 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  case 13:
  /* rule 13 can match eol */
! #line 115 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  case 14:
  /* rule 14 can match eol */
! #line 116 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  case 15:
  /* rule 15 can match eol */
  YY_RULE_SETUP
! #line 116 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
      *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1);
      return IGNORABLE_CXX_KEYWORD;
*************** YY_LINENO_REWIND_TO(yy_bp + 3);
*** 1665,1671 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 3;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 120 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return GTY_TOKEN; }
  	YY_BREAK
  case 17:
--- 1665,1671 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 3;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 120 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return GTY_TOKEN; }
  	YY_BREAK
  case 17:
*************** YY_LINENO_REWIND_TO(yy_bp + 5);
*** 1675,1681 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 121 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return UNION; }
  	YY_BREAK
  case 18:
--- 1675,1681 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 121 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return UNION; }
  	YY_BREAK
  case 18:
*************** YY_LINENO_REWIND_TO(yy_bp + 6);
*** 1685,1691 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 6;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 122 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return STRUCT; }
  	YY_BREAK
  case 19:
--- 1685,1691 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 6;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 122 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return STRUCT; }
  	YY_BREAK
  case 19:
*************** YY_LINENO_REWIND_TO(yy_bp + 5);
*** 1695,1701 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 123 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return STRUCT; }
  	YY_BREAK
  case 20:
--- 1695,1701 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 123 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return STRUCT; }
  	YY_BREAK
  case 20:
*************** YY_LINENO_REWIND_TO(yy_bp + 7);
*** 1705,1711 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 7;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 124 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return TYPEDEF; }
  	YY_BREAK
  case 21:
--- 1705,1711 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 7;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 124 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return TYPEDEF; }
  	YY_BREAK
  case 21:
*************** YY_LINENO_REWIND_TO(yy_bp + 4);
*** 1715,1721 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 4;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 125 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return ENUM; }
  	YY_BREAK
  case 22:
--- 1715,1721 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 4;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 125 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return ENUM; }
  	YY_BREAK
  case 22:
*************** YY_LINENO_REWIND_TO(yy_bp + 9);
*** 1725,1731 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 9;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 126 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return PTR_ALIAS; }
  	YY_BREAK
  case 23:
--- 1725,1731 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 9;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 126 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return PTR_ALIAS; }
  	YY_BREAK
  case 23:
*************** YY_LINENO_REWIND_TO(yy_bp + 10);
*** 1735,1741 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 10;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 127 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return NESTED_PTR; }
  	YY_BREAK
  case 24:
--- 1735,1741 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 10;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 127 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return NESTED_PTR; }
  	YY_BREAK
  case 24:
*************** YY_LINENO_REWIND_TO(yy_bp + 4);
*** 1745,1756 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 4;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 128 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return USER_GTY; }
  	YY_BREAK
  case 25:
  YY_RULE_SETUP
! #line 129 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return NUM; }
  	YY_BREAK
  case 26:
--- 1745,1756 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 4;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 128 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return USER_GTY; }
  	YY_BREAK
  case 25:
  YY_RULE_SETUP
! #line 129 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return NUM; }
  	YY_BREAK
  case 26:
*************** case 26:
*** 1759,1769 ****
  YY_LINENO_REWIND_TO(yy_cp - 1);
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
! #line 132 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  case 27:
  /* rule 27 can match eol */
  YY_RULE_SETUP
! #line 132 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    size_t len;
  
--- 1759,1769 ----
  YY_LINENO_REWIND_TO(yy_cp - 1);
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
! #line 132 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  case 27:
  /* rule 27 can match eol */
  YY_RULE_SETUP
! #line 132 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    size_t len;
  
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1782,1788 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 143 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1);
    return ID;
--- 1782,1788 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 143 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1);
    return ID;
*************** YY_RULE_SETUP
*** 1791,1797 ****
  case 29:
  /* rule 29 can match eol */
  YY_RULE_SETUP
! #line 148 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1);
    return STRING;
--- 1791,1797 ----
  case 29:
  /* rule 29 can match eol */
  YY_RULE_SETUP
! #line 148 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1);
    return STRING;
*************** YY_RULE_SETUP
*** 1801,1807 ****
  case 30:
  /* rule 30 can match eol */
  YY_RULE_SETUP
! #line 153 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1);
    return ARRAY;
--- 1801,1807 ----
  case 30:
  /* rule 30 can match eol */
  YY_RULE_SETUP
! #line 153 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1);
    return ARRAY;
*************** YY_RULE_SETUP
*** 1810,1816 ****
  case 31:
  /* rule 31 can match eol */
  YY_RULE_SETUP
! #line 157 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng);
    return CHAR;
--- 1810,1816 ----
  case 31:
  /* rule 31 can match eol */
  YY_RULE_SETUP
! #line 157 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng);
    return CHAR;
*************** YY_RULE_SETUP
*** 1818,1841 ****
  	YY_BREAK
  case 32:
  YY_RULE_SETUP
! #line 162 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return ELLIPSIS; }
  	YY_BREAK
  case 33:
  YY_RULE_SETUP
! #line 163 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { return yytext[0]; }
  	YY_BREAK
  /* ignore pp-directives */
  case 34:
  /* rule 34 can match eol */
  YY_RULE_SETUP
! #line 166 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {lexer_line.line++;}
  	YY_BREAK
  case 35:
  YY_RULE_SETUP
! #line 168 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    error_at_line (&lexer_line, "unexpected character `%s'", yytext);
  }
--- 1818,1841 ----
  	YY_BREAK
  case 32:
  YY_RULE_SETUP
! #line 162 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return ELLIPSIS; }
  	YY_BREAK
  case 33:
  YY_RULE_SETUP
! #line 163 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { return yytext[0]; }
  	YY_BREAK
  /* ignore pp-directives */
  case 34:
  /* rule 34 can match eol */
  YY_RULE_SETUP
! #line 166 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {lexer_line.line++;}
  	YY_BREAK
  case 35:
  YY_RULE_SETUP
! #line 168 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    error_at_line (&lexer_line, "unexpected character `%s'", yytext);
  }
*************** YY_RULE_SETUP
*** 1843,1878 ****
  
  case 36:
  YY_RULE_SETUP
! #line 173 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { BEGIN(in_comment); }
  	YY_BREAK
  case 37:
  /* rule 37 can match eol */
  YY_RULE_SETUP
! #line 174 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 38:
  /* rule 38 can match eol */
  YY_RULE_SETUP
! #line 175 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 39:
! #line 177 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  case 40:
  /* rule 40 can match eol */
! #line 178 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  case 41:
  /* rule 41 can match eol */
  YY_RULE_SETUP
! #line 178 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 42:
  /* rule 42 can match eol */
  YY_RULE_SETUP
! #line 179 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { update_lineno (yytext, yyleng); }
  	YY_BREAK
  case 43:
--- 1843,1878 ----
  
  case 36:
  YY_RULE_SETUP
! #line 173 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { BEGIN(in_comment); }
  	YY_BREAK
  case 37:
  /* rule 37 can match eol */
  YY_RULE_SETUP
! #line 174 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 38:
  /* rule 38 can match eol */
  YY_RULE_SETUP
! #line 175 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 39:
! #line 177 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  case 40:
  /* rule 40 can match eol */
! #line 178 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  case 41:
  /* rule 41 can match eol */
  YY_RULE_SETUP
! #line 178 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 42:
  /* rule 42 can match eol */
  YY_RULE_SETUP
! #line 179 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { update_lineno (yytext, yyleng); }
  	YY_BREAK
  case 43:
*************** YY_LINENO_REWIND_TO(yy_bp + 1);
*** 1882,1902 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 180 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  
  case 44:
  /* rule 44 can match eol */
  YY_RULE_SETUP
! #line 183 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 45:
! #line 185 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  case 46:
  YY_RULE_SETUP
! #line 185 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 47:
--- 1882,1902 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 180 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  
  case 44:
  /* rule 44 can match eol */
  YY_RULE_SETUP
! #line 183 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 45:
! #line 185 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  case 46:
  YY_RULE_SETUP
! #line 185 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 47:
*************** YY_LINENO_REWIND_TO(yy_bp + 1);
*** 1906,1930 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 186 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  
  case 48:
  YY_RULE_SETUP
! #line 189 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { BEGIN(INITIAL); } 
  	YY_BREAK
  case 49:
  YY_RULE_SETUP
! #line 190 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  { BEGIN(in_struct); }
  	YY_BREAK
  case 50:
! #line 193 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  case 51:
  YY_RULE_SETUP
! #line 193 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  {
    error_at_line (&lexer_line, 
  		 "unterminated comment or string; unexpected EOF");
--- 1906,1930 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 186 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  
  case 48:
  YY_RULE_SETUP
! #line 189 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { BEGIN(INITIAL); } 
  	YY_BREAK
  case 49:
  YY_RULE_SETUP
! #line 190 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  { BEGIN(in_struct); }
  	YY_BREAK
  case 50:
! #line 193 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  case 51:
  YY_RULE_SETUP
! #line 193 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  {
    error_at_line (&lexer_line, 
  		 "unterminated comment or string; unexpected EOF");
*************** YY_RULE_SETUP
*** 1933,1944 ****
  case 52:
  /* rule 52 can match eol */
  YY_RULE_SETUP
! #line 198 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 53:
  YY_RULE_SETUP
! #line 200 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  YY_FATAL_ERROR( "flex scanner jammed" );
  	YY_BREAK
  #line 1939 "gengtype-lex.c"
--- 1933,1944 ----
  case 52:
  /* rule 52 can match eol */
  YY_RULE_SETUP
! #line 198 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 53:
  YY_RULE_SETUP
! #line 200 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  YY_FATAL_ERROR( "flex scanner jammed" );
  	YY_BREAK
  #line 1939 "gengtype-lex.c"
*************** void yyfree (void * ptr )
*** 2916,2922 ****
  
  #define YYTABLES_NAME "yytables"
  
! #line 200 "/home/rguenther/src/releases/gcc-9.4.0/gcc-9.4.0/gcc/gengtype-lex.l"
  
  
  void
--- 2916,2922 ----
  
  #define YYTABLES_NAME "yytables"
  
! #line 200 "/home/rguenther/src/releases/gcc-9.5.0/gcc-9.5.0/gcc/gengtype-lex.l"
  
  
  void
diff -Nrcpad gcc-9.4.0/gcc/gimple-fold.c gcc-9.5.0/gcc/gimple-fold.c
*** gcc-9.4.0/gcc/gimple-fold.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/gimple-fold.c	Fri May 27 07:21:11 2022
*************** get_symbol_constant_value (tree sym)
*** 274,280 ****
        if (val)
  	{
  	  val = canonicalize_constructor_val (unshare_expr (val), sym);
! 	  if (val && is_gimple_min_invariant (val))
  	    return val;
  	  else
  	    return NULL_TREE;
--- 274,282 ----
        if (val)
  	{
  	  val = canonicalize_constructor_val (unshare_expr (val), sym);
! 	  if (val
! 	      && is_gimple_min_invariant (val)
! 	      && useless_type_conversion_p (TREE_TYPE (sym), TREE_TYPE (val)))
  	    return val;
  	  else
  	    return NULL_TREE;
*************** fold_gimple_assign (gimple_stmt_iterator
*** 434,440 ****
  					   CONSTRUCTOR_ELTS (rhs));
  	  }
  
! 	else if (DECL_P (rhs))
  	  return get_symbol_constant_value (rhs);
        }
        break;
--- 436,443 ----
  					   CONSTRUCTOR_ELTS (rhs));
  	  }
  
! 	else if (DECL_P (rhs)
! 		 && is_gimple_reg_type (TREE_TYPE (rhs)))
  	  return get_symbol_constant_value (rhs);
        }
        break;
diff -Nrcpad gcc-9.4.0/gcc/gimple-loop-interchange.cc gcc-9.5.0/gcc/gimple-loop-interchange.cc
*** gcc-9.4.0/gcc/gimple-loop-interchange.cc	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/gimple-loop-interchange.cc	Fri May 27 07:21:11 2022
*************** tree_loop_interchange::valid_data_depend
*** 1042,1048 ****
  
  	  /* Be conservative, skip case if either direction at i_idx/o_idx
  	     levels is not '=' or '<'.  */
! 	  if (dist_vect[i_idx] < 0 || dist_vect[o_idx] < 0)
  	    return false;
  	}
      }
--- 1042,1051 ----
  
  	  /* Be conservative, skip case if either direction at i_idx/o_idx
  	     levels is not '=' or '<'.  */
! 	  if ((!DDR_REVERSED_P (ddr) && dist_vect[i_idx] < 0)
! 	      || (DDR_REVERSED_P (ddr) && dist_vect[i_idx] > 0)
! 	      || (!DDR_REVERSED_P (ddr) && dist_vect[o_idx] < 0)
! 	      || (DDR_REVERSED_P (ddr) && dist_vect[o_idx] > 0))
  	    return false;
  	}
      }
diff -Nrcpad gcc-9.4.0/gcc/gimple-loop-jam.c gcc-9.5.0/gcc/gimple-loop-jam.c
*** gcc-9.4.0/gcc/gimple-loop-jam.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/gimple-loop-jam.c	Fri May 27 07:21:11 2022
*************** adjust_unroll_factor (class loop *inner,
*** 404,413 ****
  	     a >= N, or b > 0, or b is zero and a > 0.  Otherwise the unroll
  	     factor needs to be limited so that the first condition holds.
  	     That may limit the factor down to zero in the worst case.  */
! 	  int dist = dist_v[0];
  	  if (dist < 0)
  	    gcc_unreachable ();
! 	  else if ((unsigned)dist >= *unroll)
  	    ;
  	  else if (lambda_vector_zerop (dist_v + 1, DDR_NB_LOOPS (ddr) - 1))
  	    {
--- 404,413 ----
  	     a >= N, or b > 0, or b is zero and a > 0.  Otherwise the unroll
  	     factor needs to be limited so that the first condition holds.
  	     That may limit the factor down to zero in the worst case.  */
! 	  lambda_int dist = dist_v[0];
  	  if (dist < 0)
  	    gcc_unreachable ();
! 	  else if (dist >= (lambda_int)*unroll)
  	    ;
  	  else if (lambda_vector_zerop (dist_v + 1, DDR_NB_LOOPS (ddr) - 1))
  	    {
diff -Nrcpad gcc-9.4.0/gcc/gimple-ssa-evrp-analyze.c gcc-9.5.0/gcc/gimple-ssa-evrp-analyze.c
*** gcc-9.4.0/gcc/gimple-ssa-evrp-analyze.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/gimple-ssa-evrp-analyze.c	Fri May 27 07:21:11 2022
*************** evrp_range_analyzer::record_ranges_from_
*** 217,223 ****
  	      push_value_range (vrs[i].first, vrs[i].second);
  	      if (is_fallthru
  		  && m_update_global_ranges
! 		  && all_uses_feed_or_dominated_by_stmt (vrs[i].first, stmt))
  		{
  		  set_ssa_range_info (vrs[i].first, vrs[i].second);
  		  maybe_set_nonzero_bits (pred_e, vrs[i].first);
--- 217,227 ----
  	      push_value_range (vrs[i].first, vrs[i].second);
  	      if (is_fallthru
  		  && m_update_global_ranges
! 		  && all_uses_feed_or_dominated_by_stmt (vrs[i].first, stmt)
! 		  /* The condition must post-dominate the definition point.  */
! 		  && (SSA_NAME_IS_DEFAULT_DEF (vrs[i].first)
! 		      || (gimple_bb (SSA_NAME_DEF_STMT (vrs[i].first))
! 			  == pred_e->src)))
  		{
  		  set_ssa_range_info (vrs[i].first, vrs[i].second);
  		  maybe_set_nonzero_bits (pred_e, vrs[i].first);
diff -Nrcpad gcc-9.4.0/gcc/gimple-ssa-store-merging.c gcc-9.5.0/gcc/gimple-ssa-store-merging.c
*** gcc-9.4.0/gcc/gimple-ssa-store-merging.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/gimple-ssa-store-merging.c	Fri May 27 07:21:11 2022
*************** find_bswap_or_nop_finalize (struct symbo
*** 818,829 ****
  	{
  	  mask = ((uint64_t) 1 << (rsize * BITS_PER_MARKER)) - 1;
  	  *cmpxchg &= mask;
! 	  *cmpnop >>= (n->range - rsize) * BITS_PER_MARKER;
  	}
        else
  	{
  	  mask = ((uint64_t) 1 << (rsize * BITS_PER_MARKER)) - 1;
! 	  *cmpxchg >>= (n->range - rsize) * BITS_PER_MARKER;
  	  *cmpnop &= mask;
  	}
        n->range = rsize;
--- 818,835 ----
  	{
  	  mask = ((uint64_t) 1 << (rsize * BITS_PER_MARKER)) - 1;
  	  *cmpxchg &= mask;
! 	  if (n->range - rsize == sizeof (int64_t))
! 	    *cmpnop = 0;
! 	  else
! 	    *cmpnop >>= (n->range - rsize) * BITS_PER_MARKER;
  	}
        else
  	{
  	  mask = ((uint64_t) 1 << (rsize * BITS_PER_MARKER)) - 1;
! 	  if (n->range - rsize == sizeof (int64_t))
! 	    *cmpxchg = 0;
! 	  else
! 	    *cmpxchg >>= (n->range - rsize) * BITS_PER_MARKER;
  	  *cmpnop &= mask;
  	}
        n->range = rsize;
diff -Nrcpad gcc-9.4.0/gcc/gimplify.c gcc-9.5.0/gcc/gimplify.c
*** gcc-9.4.0/gcc/gimplify.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/gimplify.c	Fri May 27 07:21:11 2022
*************** omp_check_private (struct gimplify_omp_c
*** 7575,7581 ****
  
        if ((ctx->region_type & (ORT_TARGET | ORT_TARGET_DATA)) != 0
  	  && (n == NULL || (n->value & GOVD_DATA_SHARE_CLASS) == 0))
! 	continue;
  
        if (n != NULL)
  	{
--- 7575,7587 ----
  
        if ((ctx->region_type & (ORT_TARGET | ORT_TARGET_DATA)) != 0
  	  && (n == NULL || (n->value & GOVD_DATA_SHARE_CLASS) == 0))
! 	{
! 	  if ((ctx->region_type & ORT_TARGET_DATA) != 0
! 	      || n == NULL
! 	      || (n->value & GOVD_MAP) == 0)
! 	    continue;
! 	  return false;
! 	}
  
        if (n != NULL)
  	{
*************** omp_check_private (struct gimplify_omp_c
*** 7584,7594 ****
  	    return false;
  	  return (n->value & GOVD_SHARED) == 0;
  	}
      }
!   while (ctx->region_type == ORT_WORKSHARE
! 	 || ctx->region_type == ORT_TASKGROUP
! 	 || ctx->region_type == ORT_SIMD
! 	 || ctx->region_type == ORT_ACC);
    return false;
  }
  
--- 7590,7605 ----
  	    return false;
  	  return (n->value & GOVD_SHARED) == 0;
  	}
+ 
+       if (ctx->region_type == ORT_WORKSHARE
+ 	  || ctx->region_type == ORT_TASKGROUP
+ 	  || ctx->region_type == ORT_SIMD
+ 	  || ctx->region_type == ORT_ACC)
+ 	continue;
+ 
+       break;
      }
!   while (1);
    return false;
  }
  
diff -Nrcpad gcc-9.4.0/gcc/go/ChangeLog gcc-9.5.0/gcc/go/ChangeLog
*** gcc-9.4.0/gcc/go/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/go/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/godump.c gcc-9.5.0/gcc/godump.c
*** gcc-9.4.0/gcc/godump.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/godump.c	Fri May 27 07:21:11 2022
*************** static FILE *go_dump_file;
*** 56,61 ****
--- 56,63 ----
  
  static GTY(()) vec<tree, va_gc> *queue;
  
+ struct godump_str_hash : string_hash, ggc_remove <const char *> {};
+ 
  /* A hash table of macros we have seen.  */
  
  static htab_t macro_hash;
*************** struct godump_container
*** 542,548 ****
  
    /* Types which may potentially have to be defined as dummy
       types.  */
!   hash_set<const char *> pot_dummy_types;
  
    /* Go keywords.  */
    htab_t keyword_hash;
--- 544,550 ----
  
    /* Types which may potentially have to be defined as dummy
       types.  */
!   hash_set<const char *, false, godump_str_hash> pot_dummy_types;
  
    /* Go keywords.  */
    htab_t keyword_hash;
diff -Nrcpad gcc-9.4.0/gcc/ifcvt.c gcc-9.5.0/gcc/ifcvt.c
*** gcc-9.4.0/gcc/ifcvt.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/ifcvt.c	Fri May 27 07:21:11 2022
*************** bb_valid_for_noce_process_p (basic_block
*** 3065,3070 ****
--- 3065,3076 ----
  
    if (!insn_valid_noce_process_p (last_insn, cc))
      return false;
+ 
+   /* Punt on blocks ending with asm goto or jumps with other side-effects,
+      last_active_insn ignores JUMP_INSNs.  */
+   if (JUMP_P (BB_END (test_bb)) && !onlyjump_p (BB_END (test_bb)))
+     return false;
+ 
    last_set = single_set (last_insn);
  
    rtx x = SET_DEST (last_set);
diff -Nrcpad gcc-9.4.0/gcc/ipa-fnsummary.c gcc-9.5.0/gcc/ipa-fnsummary.c
*** gcc-9.4.0/gcc/ipa-fnsummary.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/ipa-fnsummary.c	Fri May 27 07:21:11 2022
*************** inline_read_section (struct lto_file_dec
*** 3319,3331 ****
        bp = streamer_read_bitpack (&ib);
        if (info)
  	{
!           info->inlinable = bp_unpack_value (&bp, 1);
!           info->fp_expressions = bp_unpack_value (&bp, 1);
  	}
        else
  	{
!           bp_unpack_value (&bp, 1);
!           bp_unpack_value (&bp, 1);
  	}
  
        count2 = streamer_read_uhwi (&ib);
--- 3319,3338 ----
        bp = streamer_read_bitpack (&ib);
        if (info)
  	{
! 	  info->inlinable = bp_unpack_value (&bp, 1);
! 	  /* On the side of streaming out, there is still one bit
! 	     streamed out between inlinable and fp_expressions bits,
! 	     which was used for cilk+ before but now always false.
! 	     To remove the bit packing need to bump LTO minor version,
! 	     so unpack a dummy bit here to keep consistent instead.  */
! 	  bp_unpack_value (&bp, 1);
! 	  info->fp_expressions = bp_unpack_value (&bp, 1);
  	}
        else
  	{
! 	  bp_unpack_value (&bp, 1);
! 	  bp_unpack_value (&bp, 1);
! 	  bp_unpack_value (&bp, 1);
  	}
  
        count2 = streamer_read_uhwi (&ib);
diff -Nrcpad gcc-9.4.0/gcc/ipa-pure-const.c gcc-9.5.0/gcc/ipa-pure-const.c
*** gcc-9.4.0/gcc/ipa-pure-const.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/ipa-pure-const.c	Fri May 27 07:21:11 2022
*************** propagate_pure_const (void)
*** 1654,1662 ****
  	  if (w_l->state_previously_known != IPA_NEITHER
  	      && this_state > w_l->state_previously_known)
  	    {
-               this_state = w_l->state_previously_known;
  	      if (this_state == IPA_NEITHER)
! 	        this_looping = w_l->looping_previously_known;
  	    }
  	  if (!this_looping && self_recursive_p (w))
  	    this_looping = true;
--- 1654,1662 ----
  	  if (w_l->state_previously_known != IPA_NEITHER
  	      && this_state > w_l->state_previously_known)
  	    {
  	      if (this_state == IPA_NEITHER)
! 		this_looping = w_l->looping_previously_known;
! 	      this_state = w_l->state_previously_known;
  	    }
  	  if (!this_looping && self_recursive_p (w))
  	    this_looping = true;
diff -Nrcpad gcc-9.4.0/gcc/jit/ChangeLog gcc-9.5.0/gcc/jit/ChangeLog
*** gcc-9.4.0/gcc/jit/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/jit/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,14 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2021-11-24  Martin Liska  <mliska@suse.cz>
+ 
+ 	Backported from master:
+ 	2021-11-24  Martin Liska  <mliska@suse.cz>
+ 
+ 	* jit-playback.c (function): Initialize m_blocks vector.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/jit/jit-playback.c gcc-9.5.0/gcc/jit/jit-playback.c
*** gcc-9.4.0/gcc/jit/jit-playback.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/jit/jit-playback.c	Fri May 27 07:21:11 2022
*************** function (context *ctxt,
*** 1287,1293 ****
  : m_ctxt(ctxt),
    m_inner_fndecl (fndecl),
    m_inner_bind_expr (NULL),
!   m_kind (kind)
  {
    if (m_kind != GCC_JIT_FUNCTION_IMPORTED)
      {
--- 1287,1294 ----
  : m_ctxt(ctxt),
    m_inner_fndecl (fndecl),
    m_inner_bind_expr (NULL),
!   m_kind (kind),
!   m_blocks ()
  {
    if (m_kind != GCC_JIT_FUNCTION_IMPORTED)
      {
diff -Nrcpad gcc-9.4.0/gcc/loop-invariant.c gcc-9.5.0/gcc/loop-invariant.c
*** gcc-9.4.0/gcc/loop-invariant.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/loop-invariant.c	Fri May 27 07:21:11 2022
*************** can_move_invariant_reg (struct loop *loo
*** 1692,1697 ****
--- 1692,1698 ----
    unsigned int dest_regno, defs_in_loop_count = 0;
    rtx_insn *insn = inv->insn;
    basic_block bb = BLOCK_FOR_INSN (inv->insn);
+   auto_vec <rtx_insn *, 16> debug_insns_to_reset;
  
    /* We ignore hard register and memory access for cost and complexity reasons.
       Hard register are few at this stage and expensive to consider as they
*************** can_move_invariant_reg (struct loop *loo
*** 1726,1735 ****
  	continue;
  
        /* Don't move if a use is not dominated by def in insn.  */
!       if (use_bb == bb && DF_INSN_LUID (insn) >= DF_INSN_LUID (use_insn))
! 	return false;
!       if (!dominated_by_p (CDI_DOMINATORS, use_bb, bb))
! 	return false;
      }
  
    /* Check for other defs.  Any other def in the loop might reach a use
--- 1727,1739 ----
  	continue;
  
        /* Don't move if a use is not dominated by def in insn.  */
!       if ((use_bb == bb && DF_INSN_LUID (insn) >= DF_INSN_LUID (use_insn))
! 	  || !dominated_by_p (CDI_DOMINATORS, use_bb, bb))
! 	{
! 	  if (!DEBUG_INSN_P (use_insn))
! 	    return false;
! 	  debug_insns_to_reset.safe_push (use_insn);
! 	}
      }
  
    /* Check for other defs.  Any other def in the loop might reach a use
*************** can_move_invariant_reg (struct loop *loo
*** 1752,1757 ****
--- 1756,1770 ----
  	return false;
      }
  
+   /* Reset debug uses if a use is not dominated by def in insn.  */
+   rtx_insn *use_insn;
+   unsigned i;
+   FOR_EACH_VEC_ELT (debug_insns_to_reset, i, use_insn)
+     {
+       INSN_VAR_LOCATION_LOC (use_insn) = gen_rtx_UNKNOWN_VAR_LOC ();
+       df_insn_rescan (use_insn);
+     }
+ 
    return true;
  }
  
diff -Nrcpad gcc-9.4.0/gcc/lto/ChangeLog gcc-9.5.0/gcc/lto/ChangeLog
*** gcc-9.4.0/gcc/lto/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/lto/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/match.pd gcc-9.5.0/gcc/match.pd
*** gcc-9.4.0/gcc/match.pd	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/match.pd	Fri May 27 07:21:11 2022
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 304,315 ****
      { build_minus_one_cst (type); })))
  
  /* For unsigned integral types, FLOOR_DIV_EXPR is the same as
!    TRUNC_DIV_EXPR.  Rewrite into the latter in this case.  */
! (simplify
!  (floor_div @0 @1)
!  (if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
!       && TYPE_UNSIGNED (type))
!   (trunc_div @0 @1)))
  
  /* Combine two successive divisions.  Note that combining ceil_div
     and floor_div is trickier and combining round_div even more so.  */
--- 304,318 ----
      { build_minus_one_cst (type); })))
  
  /* For unsigned integral types, FLOOR_DIV_EXPR is the same as
!    TRUNC_DIV_EXPR.  Rewrite into the latter in this case.  Similarly
!    for MOD instead of DIV.  */
! (for floor_divmod (floor_div floor_mod)
!      trunc_divmod (trunc_div trunc_mod)
!  (simplify
!   (floor_divmod @0 @1)
!   (if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
!        && TYPE_UNSIGNED (type))
!    (trunc_divmod @0 @1))))
  
  /* Combine two successive divisions.  Note that combining ceil_div
     and floor_div is trickier and combining round_div even more so.  */
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 564,570 ****
  /* Simplify (unsigned t * 2)/2 -> unsigned t & 0x7FFFFFFF.  */
  (simplify
   (trunc_div (mult @0 integer_pow2p@1) @1)
!  (if (TYPE_UNSIGNED (TREE_TYPE (@0)))
    (bit_and @0 { wide_int_to_tree
  		(type, wi::mask (TYPE_PRECISION (type)
  				 - wi::exact_log2 (wi::to_wide (@1)),
--- 567,573 ----
  /* Simplify (unsigned t * 2)/2 -> unsigned t & 0x7FFFFFFF.  */
  (simplify
   (trunc_div (mult @0 integer_pow2p@1) @1)
!  (if (INTEGRAL_TYPE_P (TREE_TYPE (@0)) && TYPE_UNSIGNED (TREE_TYPE (@0)))
    (bit_and @0 { wide_int_to_tree
  		(type, wi::mask (TYPE_PRECISION (type)
  				 - wi::exact_log2 (wi::to_wide (@1)),
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 573,579 ****
  /* Simplify (unsigned t / 2) * 2 -> unsigned t & ~1.  */
  (simplify
   (mult (trunc_div @0 integer_pow2p@1) @1)
!  (if (TYPE_UNSIGNED (TREE_TYPE (@0)))
    (bit_and @0 (negate @1))))
  
  /* Simplify (t * 2) / 2) -> t.  */
--- 576,582 ----
  /* Simplify (unsigned t / 2) * 2 -> unsigned t & ~1.  */
  (simplify
   (mult (trunc_div @0 integer_pow2p@1) @1)
!  (if (INTEGRAL_TYPE_P (TREE_TYPE (@0)) && TYPE_UNSIGNED (TREE_TYPE (@0)))
    (bit_and @0 (negate @1))))
  
  /* Simplify (t * 2) / 2) -> t.  */
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 1984,1996 ****
    (simplify
     (minus (convert? (negate @0)) integer_each_onep)
     (if (!TYPE_OVERFLOW_TRAPS (type)
  	&& tree_nop_conversion_p (type, TREE_TYPE (@0)))
      (bit_not (convert @0))))
  
    /* -1 - A -> ~A */
    (simplify
     (minus integer_all_onesp @0)
!    (bit_not @0))
  
    /* (T)(P + A) - (T)P -> (T) A */
    (simplify
--- 1987,2001 ----
    (simplify
     (minus (convert? (negate @0)) integer_each_onep)
     (if (!TYPE_OVERFLOW_TRAPS (type)
+ 	&& TREE_CODE (type) != COMPLEX_TYPE
  	&& tree_nop_conversion_p (type, TREE_TYPE (@0)))
      (bit_not (convert @0))))
  
    /* -1 - A -> ~A */
    (simplify
     (minus integer_all_onesp @0)
!    (if (TREE_CODE (type) != COMPLEX_TYPE)
!     (bit_not @0)))
  
    /* (T)(P + A) - (T)P -> (T) A */
    (simplify
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 4044,4050 ****
    (cmp (convert @0) INTEGER_CST@1)
    (if (((POINTER_TYPE_P (TREE_TYPE (@0))
  	 && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (@0)))
! 	 && INTEGRAL_TYPE_P (TREE_TYPE (@1)))
  	|| (INTEGRAL_TYPE_P (TREE_TYPE (@0))
  	    && POINTER_TYPE_P (TREE_TYPE (@1))
  	    && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (@1)))))
--- 4049,4060 ----
    (cmp (convert @0) INTEGER_CST@1)
    (if (((POINTER_TYPE_P (TREE_TYPE (@0))
  	 && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (@0)))
! 	 && INTEGRAL_TYPE_P (TREE_TYPE (@1))
! 	 /* Don't perform this optimization in GENERIC if @0 has reference
! 	    type when sanitizing.  See PR101210.  */
! 	 && !(GENERIC
! 	      && TREE_CODE (TREE_TYPE (@0)) == REFERENCE_TYPE
! 	      && (flag_sanitize & (SANITIZE_NULL | SANITIZE_ALIGNMENT))))
  	|| (INTEGRAL_TYPE_P (TREE_TYPE (@0))
  	    && POINTER_TYPE_P (TREE_TYPE (@1))
  	    && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (@1)))))
diff -Nrcpad gcc-9.4.0/gcc/objc/ChangeLog gcc-9.5.0/gcc/objc/ChangeLog
*** gcc-9.4.0/gcc/objc/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/objc/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/objcp/ChangeLog gcc-9.5.0/gcc/objcp/ChangeLog
*** gcc-9.4.0/gcc/objcp/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/objcp/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/omp-low.c gcc-9.5.0/gcc/omp-low.c
*** gcc-9.4.0/gcc/omp-low.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/omp-low.c	Fri May 27 07:21:11 2022
*************** static int target_nesting_level;
*** 141,146 ****
--- 141,147 ----
  static bitmap task_shared_vars;
  static bitmap global_nonaddressable_vars;
  static vec<omp_context *> taskreg_contexts;
+ static vec<gomp_task *> task_cpyfns;
  
  static void scan_omp (gimple_seq *, omp_context *);
  static tree scan_omp_1_op (tree *, int *, void *);
*************** delete_omp_context (splay_tree_value val
*** 980,988 ****
  	DECL_ABSTRACT_ORIGIN (t) = NULL;
      }
  
-   if (is_task_ctx (ctx))
-     finalize_task_copyfn (as_a <gomp_task *> (ctx->stmt));
- 
    if (ctx->task_reduction_map)
      {
        ctx->task_reductions.release ();
--- 981,986 ----
*************** lower_rec_input_clauses (tree clauses, g
*** 5177,5182 ****
--- 5175,5182 ----
  		  if (code == MINUS_EXPR)
  		    code = PLUS_EXPR;
  
+ 		  bool is_truth_op
+ 		    = (code == TRUTH_ANDIF_EXPR || code == TRUTH_ORIF_EXPR);
  		  tree new_vard = new_var;
  		  if (is_simd && omp_is_reference (var))
  		    {
*************** lower_rec_input_clauses (tree clauses, g
*** 5202,5208 ****
  			  x = build2 (code, TREE_TYPE (ivar), ivar, x);
  			  gimplify_assign (ivar, x, &llist[2]);
  			}
! 		      x = build2 (code, TREE_TYPE (ref), ref, ivar);
  		      ref = build_outer_var_ref (var, ctx);
  		      gimplify_assign (ref, x, &llist[1]);
  
--- 5202,5222 ----
  			  x = build2 (code, TREE_TYPE (ivar), ivar, x);
  			  gimplify_assign (ivar, x, &llist[2]);
  			}
! 		      tree ivar2 = ivar;
! 		      tree ref2 = ref;
! 		      if (is_truth_op)
! 			{
! 			  tree zero = build_zero_cst (TREE_TYPE (ivar));
! 			  ivar2 = fold_build2_loc (clause_loc, NE_EXPR,
! 						   boolean_type_node, ivar,
! 						   zero);
! 			  ref2 = fold_build2_loc (clause_loc, NE_EXPR,
! 						  boolean_type_node, ref,
! 						  zero);
! 			}
! 		      x = build2 (code, TREE_TYPE (ref), ref2, ivar2);
! 		      if (is_truth_op)
! 			x = fold_convert (TREE_TYPE (ref), x);
  		      ref = build_outer_var_ref (var, ctx);
  		      gimplify_assign (ref, x, &llist[1]);
  
*************** lower_rec_input_clauses (tree clauses, g
*** 5221,5228 ****
  		      if (is_simd)
  			{
  			  tree ref = build_outer_var_ref (var, ctx);
! 
! 			  x = build2 (code, TREE_TYPE (ref), ref, new_var);
  			  ref = build_outer_var_ref (var, ctx);
  			  gimplify_assign (ref, x, dlist);
  			}
--- 5235,5256 ----
  		      if (is_simd)
  			{
  			  tree ref = build_outer_var_ref (var, ctx);
! 			  tree new_var2 = new_var;
! 			  tree ref2 = ref;
! 			  if (is_truth_op)
! 			    {
! 			      tree zero = build_zero_cst (TREE_TYPE (new_var));
! 			      new_var2
! 				= fold_build2_loc (clause_loc, NE_EXPR,
! 						   boolean_type_node, new_var,
! 						   zero);
! 			      ref2 = fold_build2_loc (clause_loc, NE_EXPR,
! 						      boolean_type_node, ref,
! 						      zero);
! 			    }
! 			  x = build2 (code, TREE_TYPE (ref2), ref2, new_var2);
! 			  if (is_truth_op)
! 			    x = fold_convert (TREE_TYPE (new_var), x);
  			  ref = build_outer_var_ref (var, ctx);
  			  gimplify_assign (ref, x, dlist);
  			}
*************** lower_reduction_clauses (tree clauses, g
*** 5942,5954 ****
        if (code == MINUS_EXPR)
          code = PLUS_EXPR;
  
        if (count == 1)
  	{
  	  tree addr = build_fold_addr_expr_loc (clause_loc, ref);
  
  	  addr = save_expr (addr);
  	  ref = build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (addr)), addr);
! 	  x = fold_build2_loc (clause_loc, code, TREE_TYPE (ref), ref, new_var);
  	  x = build2 (OMP_ATOMIC, void_type_node, addr, x);
  	  OMP_ATOMIC_MEMORY_ORDER (x) = OMP_MEMORY_ORDER_RELAXED;
  	  gimplify_and_add (x, stmt_seqp);
--- 5970,5996 ----
        if (code == MINUS_EXPR)
          code = PLUS_EXPR;
  
+       bool is_truth_op = (code == TRUTH_ANDIF_EXPR || code == TRUTH_ORIF_EXPR);
        if (count == 1)
  	{
  	  tree addr = build_fold_addr_expr_loc (clause_loc, ref);
  
  	  addr = save_expr (addr);
  	  ref = build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (addr)), addr);
! 	  tree new_var2 = new_var;
! 	  tree ref2 = ref;
! 	  if (is_truth_op)
! 	    {
! 	      tree zero = build_zero_cst (TREE_TYPE (new_var));
! 	      new_var2 = fold_build2_loc (clause_loc, NE_EXPR,
! 					  boolean_type_node, new_var, zero);
! 	      ref2 = fold_build2_loc (clause_loc, NE_EXPR, boolean_type_node,
! 				      ref, zero);
! 	    }
! 	  x = fold_build2_loc (clause_loc, code, TREE_TYPE (new_var2), ref2,
! 			       new_var2);
! 	  if (is_truth_op)
! 	    x = fold_convert (TREE_TYPE (new_var), x);
  	  x = build2 (OMP_ATOMIC, void_type_node, addr, x);
  	  OMP_ATOMIC_MEMORY_ORDER (x) = OMP_MEMORY_ORDER_RELAXED;
  	  gimplify_and_add (x, stmt_seqp);
*************** lower_reduction_clauses (tree clauses, g
*** 6053,6059 ****
  	    }
  	  else
  	    {
! 	      x = build2 (code, TREE_TYPE (out), out, priv);
  	      out = unshare_expr (out);
  	      gimplify_assign (out, x, &sub_seq);
  	    }
--- 6095,6113 ----
  	    }
  	  else
  	    {
! 	      tree out2 = out;
! 	      tree priv2 = priv;
! 	      if (is_truth_op)
! 		{
! 		  tree zero = build_zero_cst (TREE_TYPE (out));
! 		  out2 = fold_build2_loc (clause_loc, NE_EXPR,
! 					  boolean_type_node, out, zero);
! 		  priv2 = fold_build2_loc (clause_loc, NE_EXPR,
! 					   boolean_type_node, priv, zero);
! 		}
! 	      x = build2 (code, TREE_TYPE (out2), out2, priv2);
! 	      if (is_truth_op)
! 		x = fold_convert (TREE_TYPE (out), x);
  	      out = unshare_expr (out);
  	      gimplify_assign (out, x, &sub_seq);
  	    }
*************** lower_reduction_clauses (tree clauses, g
*** 6087,6093 ****
  	}
        else
  	{
! 	  x = build2 (code, TREE_TYPE (ref), ref, new_var);
  	  ref = build_outer_var_ref (var, ctx);
  	  gimplify_assign (ref, x, &sub_seq);
  	}
--- 6141,6159 ----
  	}
        else
  	{
! 	  tree new_var2 = new_var;
! 	  tree ref2 = ref;
! 	  if (is_truth_op)
! 	    {
! 	      tree zero = build_zero_cst (TREE_TYPE (new_var));
! 	      new_var2 = fold_build2_loc (clause_loc, NE_EXPR,
! 					  boolean_type_node, new_var, zero);
! 	      ref2 = fold_build2_loc (clause_loc, NE_EXPR, boolean_type_node,
! 				      ref, zero);
! 	    }
! 	  x = build2 (code, TREE_TYPE (ref), ref2, new_var2);
! 	  if (is_truth_op)
! 	    x = fold_convert (TREE_TYPE (new_var), x);
  	  ref = build_outer_var_ref (var, ctx);
  	  gimplify_assign (ref, x, &sub_seq);
  	}
*************** lower_omp_task_reductions (omp_context *
*** 7187,7193 ****
    tree num_thr_sz = create_tmp_var (size_type_node);
    tree lab1 = create_artificial_label (UNKNOWN_LOCATION);
    tree lab2 = create_artificial_label (UNKNOWN_LOCATION);
!   tree lab3 = NULL_TREE;
    gimple *g;
    if (code == OMP_FOR || code == OMP_SECTIONS)
      {
--- 7253,7259 ----
    tree num_thr_sz = create_tmp_var (size_type_node);
    tree lab1 = create_artificial_label (UNKNOWN_LOCATION);
    tree lab2 = create_artificial_label (UNKNOWN_LOCATION);
!   tree lab3 = NULL_TREE, lab7 = NULL_TREE;
    gimple *g;
    if (code == OMP_FOR || code == OMP_SECTIONS)
      {
*************** lower_omp_task_reductions (omp_context *
*** 7252,7257 ****
--- 7318,7331 ----
  	      NULL_TREE, NULL_TREE);
    tree data = create_tmp_var (pointer_sized_int_node);
    gimple_seq_add_stmt (end, gimple_build_assign (data, t));
+   if (code == OMP_TASKLOOP)
+     {
+       lab7 = create_artificial_label (UNKNOWN_LOCATION);
+       g = gimple_build_cond (NE_EXPR, data,
+ 			     build_zero_cst (pointer_sized_int_node),
+ 			     lab1, lab7);
+       gimple_seq_add_stmt (end, g);
+     }
    gimple_seq_add_stmt (end, gimple_build_label (lab1));
    tree ptr;
    if (TREE_CODE (TYPE_SIZE_UNIT (record_type)) == INTEGER_CST)
*************** lower_omp_task_reductions (omp_context *
*** 7615,7620 ****
--- 7689,7696 ----
        g = gimple_build_call (t, 1, build_fold_addr_expr (avar));
      }
    gimple_seq_add_stmt (end, g);
+   if (lab7)
+     gimple_seq_add_stmt (end, gimple_build_label (lab7));
    t = build_constructor (atype, NULL);
    TREE_THIS_VOLATILE (t) = 1;
    gimple_seq_add_stmt (end, gimple_build_assign (avar, t));
*************** create_task_copyfn (gomp_task *task_stmt
*** 8570,8575 ****
--- 8646,8652 ----
    size_t looptempno = 0;
  
    child_fn = gimple_omp_task_copy_fn (task_stmt);
+   task_cpyfns.safe_push (task_stmt);
    child_cfun = DECL_STRUCT_FUNCTION (child_fn);
    gcc_assert (child_cfun->cfg == NULL);
    DECL_SAVED_TREE (child_fn) = alloc_stmt_list ();
*************** lower_omp_regimplify_p (tree *tp, int *w
*** 10292,10298 ****
    tree t = *tp;
  
    /* Any variable with DECL_VALUE_EXPR needs to be regimplified.  */
!   if (VAR_P (t) && data == NULL && DECL_HAS_VALUE_EXPR_P (t))
      return t;
  
    if (task_shared_vars
--- 10369,10377 ----
    tree t = *tp;
  
    /* Any variable with DECL_VALUE_EXPR needs to be regimplified.  */
!   if ((VAR_P (t) || TREE_CODE (t) == PARM_DECL || TREE_CODE (t) == RESULT_DECL)
!       && data == NULL
!       && DECL_HAS_VALUE_EXPR_P (t))
      return t;
  
    if (task_shared_vars
*************** execute_lower_omp (void)
*** 10644,10649 ****
--- 10723,10734 ----
        && (TREE_CODE (TREE_TYPE (DECL_ARGUMENTS (current_function_decl)))
  	  == POINTER_TYPE))
      remove_member_access_dummy_vars (DECL_INITIAL (current_function_decl));
+ 
+   gomp_task *task_stmt;
+   unsigned j;
+   FOR_EACH_VEC_ELT (task_cpyfns, j, task_stmt)
+     finalize_task_copyfn (task_stmt);
+   task_cpyfns.release ();
    return 0;
  }
  
diff -Nrcpad gcc-9.4.0/gcc/optabs-tree.c gcc-9.5.0/gcc/optabs-tree.c
*** gcc-9.4.0/gcc/optabs-tree.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/optabs-tree.c	Fri May 27 07:21:11 2022
*************** optab_for_tree_code (enum tree_code code
*** 53,69 ****
      case MULT_HIGHPART_EXPR:
        return TYPE_UNSIGNED (type) ? umul_highpart_optab : smul_highpart_optab;
  
-     case TRUNC_MOD_EXPR:
      case CEIL_MOD_EXPR:
      case FLOOR_MOD_EXPR:
      case ROUND_MOD_EXPR:
        return TYPE_UNSIGNED (type) ? umod_optab : smod_optab;
  
-     case RDIV_EXPR:
-     case TRUNC_DIV_EXPR:
      case CEIL_DIV_EXPR:
      case FLOOR_DIV_EXPR:
      case ROUND_DIV_EXPR:
      case EXACT_DIV_EXPR:
        if (TYPE_SATURATING (type))
  	return TYPE_UNSIGNED (type) ? usdiv_optab : ssdiv_optab;
--- 53,84 ----
      case MULT_HIGHPART_EXPR:
        return TYPE_UNSIGNED (type) ? umul_highpart_optab : smul_highpart_optab;
  
      case CEIL_MOD_EXPR:
      case FLOOR_MOD_EXPR:
      case ROUND_MOD_EXPR:
+       /* {s,u}mod_optab implements TRUNC_MOD_EXPR.  For scalar modes,
+ 	 expansion has code to adjust TRUNC_MOD_EXPR into the desired other
+ 	 modes, but for vector modes it does not.  The adjustment code
+ 	 should be instead emitted in tree-vect-patterns.cc.  */
+       if (TREE_CODE (type) == VECTOR_TYPE)
+ 	return unknown_optab;
+       /* FALLTHRU */
+     case TRUNC_MOD_EXPR:
        return TYPE_UNSIGNED (type) ? umod_optab : smod_optab;
  
      case CEIL_DIV_EXPR:
      case FLOOR_DIV_EXPR:
      case ROUND_DIV_EXPR:
+       /* {,u}{s,u}div_optab implements {TRUNC,EXACT}_DIV_EXPR or RDIV_EXPR.
+ 	 For scalar modes, expansion has code to adjust TRUNC_DIV_EXPR
+ 	 into the desired other modes, but for vector modes it does not.
+ 	 The adjustment code should be instead emitted in
+ 	 tree-vect-patterns.cc.  */
+       if (TREE_CODE (type) == VECTOR_TYPE)
+ 	return unknown_optab;
+       /* FALLTHRU */
+     case RDIV_EXPR:
+     case TRUNC_DIV_EXPR:
      case EXACT_DIV_EXPR:
        if (TYPE_SATURATING (type))
  	return TYPE_UNSIGNED (type) ? usdiv_optab : ssdiv_optab;
diff -Nrcpad gcc-9.4.0/gcc/optabs.c gcc-9.5.0/gcc/optabs.c
*** gcc-9.4.0/gcc/optabs.c	Tue Jun  1 07:53:04 2021
--- gcc-9.5.0/gcc/optabs.c	Fri May 27 07:21:11 2022
*************** prepare_cmp_insn (rtx x, rtx y, enum rtx
*** 3861,3872 ****
    /* If we are optimizing, force expensive constants into a register.  */
    if (CONSTANT_P (x) && optimize
        && (rtx_cost (x, mode, COMPARE, 0, optimize_insn_for_speed_p ())
!           > COSTS_N_INSNS (1)))
      x = force_reg (mode, x);
  
    if (CONSTANT_P (y) && optimize
        && (rtx_cost (y, mode, COMPARE, 1, optimize_insn_for_speed_p ())
!           > COSTS_N_INSNS (1)))
      y = force_reg (mode, y);
  
  #if HAVE_cc0
--- 3861,3874 ----
    /* If we are optimizing, force expensive constants into a register.  */
    if (CONSTANT_P (x) && optimize
        && (rtx_cost (x, mode, COMPARE, 0, optimize_insn_for_speed_p ())
!           > COSTS_N_INSNS (1))
!       && can_create_pseudo_p ())
      x = force_reg (mode, x);
  
    if (CONSTANT_P (y) && optimize
        && (rtx_cost (y, mode, COMPARE, 1, optimize_insn_for_speed_p ())
!           > COSTS_N_INSNS (1))
!       && can_create_pseudo_p ())
      y = force_reg (mode, y);
  
  #if HAVE_cc0
*************** prepare_cmp_insn (rtx x, rtx y, enum rtx
*** 3942,3947 ****
--- 3944,3951 ----
       compare and branch in different basic blocks.  */
    if (cfun->can_throw_non_call_exceptions)
      {
+       if (!can_create_pseudo_p () && (may_trap_p (x) || may_trap_p (y)))
+ 	goto fail;
        if (may_trap_p (x))
  	x = copy_to_reg (x);
        if (may_trap_p (y))
diff -Nrcpad gcc-9.4.0/gcc/po/ChangeLog gcc-9.5.0/gcc/po/ChangeLog
*** gcc-9.4.0/gcc/po/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/po/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/sanopt.c gcc-9.5.0/gcc/sanopt.c
*** gcc-9.4.0/gcc/sanopt.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/sanopt.c	Fri May 27 07:21:11 2022
*************** maybe_optimize_ubsan_ptr_ifn (sanopt_ctx
*** 488,494 ****
  				  &unsignedp, &reversep, &volatilep);
        if ((offset == NULL_TREE || TREE_CODE (offset) == INTEGER_CST)
  	  && DECL_P (base)
! 	  && !DECL_REGISTER (base)
  	  && pbitpos.is_constant (&bitpos))
  	{
  	  offset_int expr_offset;
--- 488,497 ----
  				  &unsignedp, &reversep, &volatilep);
        if ((offset == NULL_TREE || TREE_CODE (offset) == INTEGER_CST)
  	  && DECL_P (base)
! 	  && ((!VAR_P (base)
! 	       && TREE_CODE (base) != PARM_DECL
! 	       && TREE_CODE (base) != RESULT_DECL)
! 	      || !DECL_REGISTER (base))
  	  && pbitpos.is_constant (&bitpos))
  	{
  	  offset_int expr_offset;
diff -Nrcpad gcc-9.4.0/gcc/shrink-wrap.c gcc-9.5.0/gcc/shrink-wrap.c
*** gcc-9.4.0/gcc/shrink-wrap.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/shrink-wrap.c	Fri May 27 07:21:11 2022
*************** try_shrink_wrapping (edge *entry_edge, r
*** 777,783 ****
    unsigned max_grow_size = get_uncond_jump_length ();
    max_grow_size *= PARAM_VALUE (PARAM_MAX_GROW_COPY_BB_INSNS);
  
!   while (!vec.is_empty () && pro != entry)
      {
        while (pro != entry && !can_get_prologue (pro, prologue_clobbered))
  	{
--- 777,783 ----
    unsigned max_grow_size = get_uncond_jump_length ();
    max_grow_size *= PARAM_VALUE (PARAM_MAX_GROW_COPY_BB_INSNS);
  
!   while (pro != entry)
      {
        while (pro != entry && !can_get_prologue (pro, prologue_clobbered))
  	{
*************** try_shrink_wrapping (edge *entry_edge, r
*** 787,792 ****
--- 787,795 ----
  	    vec.quick_push (pro);
  	}
  
+       if (vec.is_empty ())
+ 	break;
+ 
        basic_block bb = vec.pop ();
        if (!can_dup_for_shrink_wrapping (bb, pro, max_grow_size))
  	while (!dominated_by_p (CDI_DOMINATORS, bb, pro))
diff -Nrcpad gcc-9.4.0/gcc/stor-layout.c gcc-9.5.0/gcc/stor-layout.c
*** gcc-9.4.0/gcc/stor-layout.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/stor-layout.c	Fri May 27 07:21:11 2022
*************** finish_bitfield_representative (tree rep
*** 2032,2040 ****
    bitsize = (bitsize + BITS_PER_UNIT - 1) & ~(BITS_PER_UNIT - 1);
  
    /* Now nothing tells us how to pad out bitsize ...  */
!   nextf = DECL_CHAIN (field);
!   while (nextf && TREE_CODE (nextf) != FIELD_DECL)
!     nextf = DECL_CHAIN (nextf);
    if (nextf)
      {
        tree maxsize;
--- 2032,2045 ----
    bitsize = (bitsize + BITS_PER_UNIT - 1) & ~(BITS_PER_UNIT - 1);
  
    /* Now nothing tells us how to pad out bitsize ...  */
!   if (TREE_CODE (DECL_CONTEXT (field)) == RECORD_TYPE)
!     {
!       nextf = DECL_CHAIN (field);
!       while (nextf && TREE_CODE (nextf) != FIELD_DECL)
! 	nextf = DECL_CHAIN (nextf);
!     }
!   else
!     nextf = NULL_TREE;
    if (nextf)
      {
        tree maxsize;
*************** finish_bitfield_layout (tree t)
*** 2127,2137 ****
    tree field, prev;
    tree repr = NULL_TREE;
  
!   /* Unions would be special, for the ease of type-punning optimizations
!      we could use the underlying type as hint for the representative
!      if the bitfield would fit and the representative would not exceed
!      the union in size.  */
!   if (TREE_CODE (t) != RECORD_TYPE)
      return;
  
    for (prev = NULL_TREE, field = TYPE_FIELDS (t);
--- 2132,2138 ----
    tree field, prev;
    tree repr = NULL_TREE;
  
!   if (TREE_CODE (t) == QUAL_UNION_TYPE)
      return;
  
    for (prev = NULL_TREE, field = TYPE_FIELDS (t);
*************** finish_bitfield_layout (tree t)
*** 2193,2199 ****
        if (repr)
  	DECL_BIT_FIELD_REPRESENTATIVE (field) = repr;
  
!       prev = field;
      }
  
    if (repr)
--- 2194,2206 ----
        if (repr)
  	DECL_BIT_FIELD_REPRESENTATIVE (field) = repr;
  
!       if (TREE_CODE (t) == RECORD_TYPE)
! 	prev = field;
!       else if (repr)
! 	{
! 	  finish_bitfield_representative (repr, field);
! 	  repr = NULL_TREE;
! 	}
      }
  
    if (repr)
diff -Nrcpad gcc-9.4.0/gcc/testsuite/ChangeLog gcc-9.5.0/gcc/testsuite/ChangeLog
*** gcc-9.4.0/gcc/testsuite/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gcc/testsuite/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,1347 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-05-11  Harald Anlauf  <anlauf@gmx.de>
+ 		    Steven G. Kargl  <kargl@gcc.gnu.org>
+ 
+ 	PR fortran/105230
+ 	* gfortran.dg/pr105230.f90: New test.
+ 
+ 2022-05-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-03-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/104849
+ 	* gfortran.dg/pr104849.f90: New test.
+ 
+ 2022-05-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-04-05  Harald Anlauf  <anlauf@gmx.de>
+ 		    Steven G. Kargl  <kargl@gcc.gnu.org>
+ 
+ 	PR fortran/105138
+ 	* gfortran.dg/recursive_reference_3.f90: New test.
+ 
+ 2022-05-16  Sebastian Pop  <spop@amazon.com>
+ 
+ 	PR target/105162
+ 	* gcc.target/aarch64/sync-comp-swap-ool.c: New.
+ 	* gcc.target/aarch64/sync-op-acquire-ool.c: New.
+ 	* gcc.target/aarch64/sync-op-full-ool.c: New.
+ 	* gcc.target/aarch64/target_attr_20.c: Update check.
+ 	* gcc.target/aarch64/target_attr_21.c: Same.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/101078
+ 	* g++.dg/template/access39.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/99066
+ 	* g++.dg/cpp0x/extern_template-6.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/100838
+ 	PR c++/105265
+ 	* g++.dg/init/no-elide2.C: New test.
+ 	* g++.dg/cpp0x/initlist-new6.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/91217
+ 	* g++.dg/opt/nrv20.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/99643
+ 	* g++.dg/cpp0x/initlist-new5.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/65211
+ 	* g++.target/i386/vec-tmpl1.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/101698
+ 	* g++.dg/template/conv19.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/101442
+ 	* g++.dg/cpp0x/initlist-nrv1.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/98249
+ 	* g++.dg/lookup/new3.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/104646
+ 	* g++.dg/cpp0x/constexpr-fno-elide-ctors1.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/59950
+ 	* g++.dg/init/assign2.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/99901
+ 	* g++.dg/cpp1z/inline-var9.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/101717
+ 	* g++.dg/cpp1y/lambda-generic-this4.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/90664
+ 	* g++.dg/cpp1z/noexcept-type24.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/95870
+ 	* g++.dg/cpp0x/lambda/lambda-nsdmi10.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/96311
+ 	* g++.dg/cpp1y/lambda-generic-Wunused.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/96673
+ 	* g++.dg/cpp1y/nsdmi-aggr13.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/91933
+ 	* g++.dg/cpp0x/constexpr-base7.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/100032
+ 	* g++.dg/cpp0x/alias-decl-equiv1.C: New test.
+ 
+ 2022-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	* g++.dg/cpp0x/constexpr-array23.C: Remove xfail.
+ 	* g++.dg/cpp2a/lambda-pack-init6.C: Removed.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/102860
+ 	PR testsuite/105570
+ 	* gfortran.dg/pr102860.f90: Use -mcpu=power9 instead of -mcpu=power10.
+ 
+ 2022-05-11  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-26  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/103455
+ 	* g++.dg/overload/builtin6.C: New test.
+ 
+ 2022-05-11  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-25  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/101532
+ 	PR c++/104225
+ 	* g++.dg/cpp0x/nsdmi-template21.C: New test.
+ 	* g++.dg/cpp0x/nsdmi-template21a.C: New test.
+ 
+ 2022-05-11  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-04-14  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/83476
+ 	PR c++/99885
+ 	* g++.dg/cpp1z/class-deduction85.C: New test.
+ 	* g++.dg/template/ref11.C: New test.
+ 
+ 2022-05-11  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-05-05  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	PR testsuite/100422
+ 	* g++.dg/gomp/clause-3.C: Use 'reduction(&:..)' instead of '...(&&:..)'.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/105396
+ 	* gcc.dg/asan/pr105396.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/105257
+ 	* gcc.dg/pr105257.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/105256
+ 	* g++.dg/cpp0x/pr105256.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/105214
+ 	* gcc.dg/asan/pr105214.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/105211
+ 	* gcc.dg/pr105211.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/105186
+ 	* c-c++-common/pr105186.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/105189
+ 	* g++.dg/torture/pr105189.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/105123
+ 	* gcc.target/i386/pr105123.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/105093
+ 	* g++.dg/ubsan/pr105093.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-c++-common/builtin-convertvector-3.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/104994
+ 	* g++.dg/cpp2a/constexpr-nonlit7.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/104971
+ 	* gcc.target/i386/pr104971.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/104711
+ 	* c-c++-common/Wshift-negative-value-1.c: Remove
+ 	dg-additional-options, instead in target selectors of each diagnostic
+ 	check for exact C++ versions where it should be diagnosed.
+ 	* c-c++-common/Wshift-negative-value-2.c: Likewise.
+ 	* c-c++-common/Wshift-negative-value-3.c: Likewise.
+ 	* c-c++-common/Wshift-negative-value-4.c: Likewise.
+ 	* c-c++-common/Wshift-negative-value-7.c: New test.
+ 	* c-c++-common/Wshift-negative-value-8.c: New test.
+ 	* c-c++-common/Wshift-negative-value-9.c: New test.
+ 	* c-c++-common/Wshift-negative-value-10.c: New test.
+ 	* c-c++-common/Wshift-overflow-1.c: Remove
+ 	dg-additional-options, instead in target selectors of each diagnostic
+ 	check for exact C++ versions where it should be diagnosed.
+ 	* c-c++-common/Wshift-overflow-2.c: Likewise.
+ 	* c-c++-common/Wshift-overflow-5.c: Likewise.
+ 	* c-c++-common/Wshift-overflow-6.c: Likewise.
+ 	* c-c++-common/Wshift-overflow-7.c: Likewise.
+ 	* c-c++-common/Wshift-overflow-8.c: New test.
+ 	* c-c++-common/Wshift-overflow-9.c: New test.
+ 	* c-c++-common/Wshift-overflow-10.c: New test.
+ 	* c-c++-common/Wshift-overflow-11.c: New test.
+ 	* c-c++-common/Wshift-overflow-12.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/104806
+ 	* g++.dg/spellcheck-pr104806.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/104775
+ 	* gcc.target/s390/pr104775.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-25  Jakub Jelinek  <jakub@redhat.com>
+ 		    Marc Glisse  <marc.glisse@inria.fr>
+ 
+ 	PR tree-optimization/104675
+ 	* gcc.dg/pr104675-3.c : New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/104681
+ 	* g++.dg/opt/pr104681.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/104675
+ 	* gcc.dg/pr104675-1.c: New test.
+ 	* gcc.dg/pr104675-2.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/104557
+ 	* gcc.dg/dfp/pr104557.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/104510
+ 	* gcc.dg/dfp/pr104510.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/104513
+ 	* g++.dg/cpp1y/constexpr-104513.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/104449
+ 	* gcc.dg/asan/pr104449.c: New test.
+ 	* g++.dg/asan/pr104449.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/104502
+ 	* gcc.target/i386/pr104502.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/104472
+ 	* g++.dg/cpp0x/constexpr-104472.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/104446
+ 	* gcc.target/i386/pr104446.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/102140
+ 	* gcc.dg/pr102140.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR preprocessor/104147
+ 	* c-c++-common/cpp/pr104147.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/102478
+ 	* gcc.dg/pr102478.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/102860
+ 	* gfortran.dg/pr102860.f90: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/103908
+ 	* gcc.target/i386/pr103908.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR preprocessor/89971
+ 	* c-c++-common/cpp/va-opt-9.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/103860
+ 	* gcc.dg/pr103860.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-12-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/103837
+ 	* gcc.dg/pr103837.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/70796
+ 	* g++.dg/cpp1z/eval-order11.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/103205
+ 	* gcc.target/i386/pr103205.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/101378
+ 	* g++.dg/debug/dwarf2/pr101378.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/64888
+ 	* c-c++-common/ubsan/pr64888.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/102786
+ 	* g++.dg/cpp2a/constexpr-virtual19.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/102548
+ 	* g++.target/i386/pr102548.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+ 		    Richard Biener  <rguenther@suse.de>
+ 
+ 	PR sanitizer/102515
+ 	* c-c++-common/ubsan/float-div-by-zero-2.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/102498
+ 	* gcc.target/i386/pr102498.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/88578
+ 	PR c++/102295
+ 	* g++.dg/ext/flexary39.C: New test.
+ 	* g++.dg/ext/flexary40.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/102295
+ 	* g++.target/i386/pr102295.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/102305
+ 	* g++.dg/cpp0x/pr102305.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/102224
+ 	* gcc.dg/pr102224.c: New test.
+ 	* gcc.target/i386/avx-pr102224.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-08-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/101905
+ 	* gcc.dg/guality/pr101905.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/101624
+ 	* gfortran.dg/ubsan/ubsan.exp: New file.
+ 	* gfortran.dg/ubsan/pr101624.f90: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/101562
+ 	* gcc.c-torture/compile/pr101562.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/101535
+ 	* c-c++-common/gomp/pr101535-1.c: New test.
+ 	* c-c++-common/gomp/pr101535-2.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/101516
+ 	* g++.dg/gomp/pr101516.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/101384
+ 	* gcc.dg/pr101384.c: New test.
+ 
+ 2022-05-11  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	* gcc.dg/gomp/clause-1.c: Use 'reduction(&:..)' instead of '...(&&:..)'.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/101443
+ 	* g++.dg/cpp0x/nullptr46.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/101266
+ 	* gcc.dg/pr101266.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/101210
+ 	* g++.dg/ubsan/pr101210.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/101171
+ 	* gcc.dg/pr101171.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR inline-asm/100785
+ 	* c-c++-common/pr100785.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/101062
+ 	* gcc.dg/pr101062.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.dg/guality/pr49888.c (f): Use noipa attribute instead of
+ 	noinline, noclone.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/100898
+ 	* g++.dg/ext/va-arg-pack-3.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-05-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/100666
+ 	* g++.dg/cpp1z/nodiscard8.C: New test.
+ 	* g++.dg/cpp1z/nodiscard9.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-05-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* g++.dg/cpp1y/pr88872.C: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-05-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/100508
+ 	* gcc.dg/gomp/pr100508.c: New test.
+ 
+ 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gcc.target/sparc/20220510-1.c: New test.
+ 
+ 2022-05-09  Mikael Morin  <mikael@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2022-04-24  Mikael Morin  <mikael@gcc.gnu.org>
+ 
+ 	PR fortran/104228
+ 	PR fortran/104570
+ 	* gfortran.dg/asan_associate_58.f90: New test.
+ 	* gfortran.dg/asan_associate_59.f90: New test.
+ 	* gfortran.dg/associate_58.f90: New test.
+ 
+ 2022-05-06  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2022-03-09  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/104786
+ 	* gcc.dg/pr104786.c: New testcase.
+ 
+ 2022-05-06  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-11-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/103361
+ 	* g++.dg/torture/pr103361.C: New testcase.
+ 
+ 2022-05-06  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2022-01-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/100786
+ 	* gcc.dg/torture/pr100786.c: New testcase.
+ 
+ 2022-04-27  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	Backported from master:
+ 	2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	PR target/105339
+ 	* gcc.target/i386/sse-14.c: Add tests for new macro.
+ 
+ 2022-04-21  Fritz Reese  <foreese@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2022-04-21  Fritz Reese  <foreese@gcc.gnu.org>
+ 
+ 	PR fortran/105310
+ 	* gfortran.dg/dec_union_12.f90: New test.
+ 
+ 2022-04-06  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	PR target/99977
+ 	* gcc.target/arm/pr99977.c: New test.
+ 
+ 2022-03-30  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2020-10-19  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/97456
+ 	* gcc.dg/tree-ssa/pr97456.c: New test.
+ 
+ 2022-03-16  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2022-02-09  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR target/104453
+ 	* gcc.target/i386/pr104453.c: New testcase.
+ 
+ 2022-02-18  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2020-08-27  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/96522
+ 	* gcc.dg/torture/pr96522.c: New testcase.
+ 
+ 2022-02-17  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-11-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/102798
+ 	* gcc.dg/pr102798.c: New testcase.
+ 
+ 2022-02-17  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-11-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/103181
+ 	PR middle-end/103248
+ 	* gcc.dg/torture/pr103181.c: New testcase.
+ 	* gcc.dg/pr103248.c: Likewise.
+ 
+ 2022-02-17  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-11-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/103237
+ 	* gcc.dg/torture/pr103237.c: New testcase.
+ 
+ 2022-02-10  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/104469
+ 	* gcc.target/i386/pr104469.c: New test.
+ 
+ 2022-02-09  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	PR target/104451
+ 	* gcc.target/i386/pr104451.c: New test.
+ 
+ 2022-02-04  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-02-03  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/104311
+ 	* gfortran.dg/transfer_simplify_15.f90: New test.
+ 
+ 2022-01-29  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-01-22  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/104127
+ 	* gfortran.dg/transfer_simplify_11.f90: Fix logic.
+ 	* gfortran.dg/transfer_simplify_13.f90: New test.
+ 
+ 2022-01-26  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-01-25  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/104227
+ 	* gfortran.dg/transfer_check_6.f90: New test.
+ 
+ 2022-01-23  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2022-01-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103782
+ 	* gfortran.dg/overload_4.f90: New test.
+ 
+ 2022-01-12  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2020-11-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/97953
+ 	* gcc.dg/pr97953.c: New testcase.
+ 
+ 2021-12-27  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR libfortran/103634
+ 	* gfortran.dg/intrinsic_pack_6.f90: New test.
+ 
+ 2021-12-19  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-07  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103588
+ 	* gfortran.dg/pr103588.f90: New test.
+ 
+ 2021-12-17  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-08  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103610
+ 	* gfortran.dg/shape_11.f90: New test.
+ 
+ 2021-12-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-11  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103606
+ 	* gfortran.dg/pr103606.f90: New test.
+ 
+ 2021-12-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103717
+ 	* gfortran.dg/do_check_19.f90: New test.
+ 
+ 2021-12-15  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2021-11-30  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/102347
+ 	* gcc.target/powerpc/pr102347.c: New test.
+ 
+ 2021-12-10  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-07  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103607
+ 	* gfortran.dg/pr103607.f90: New test.
+ 
+ 2021-11-26  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-11-23  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103392
+ 	* gfortran.dg/bound_simplification_7.f90: New test.
+ 
+ 2021-11-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Backported from master:
+ 	2021-11-20  Jan Hubicka  <hubicka@ucw.cz>
+ 
+ 	PR ipa/103052
+ 	* gcc.c-torture/execute/pr103052.c: New test.
+ 
+ 2021-11-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+ 
+ 	PR target/101985
+ 	* gcc.target/powerpc/pr101985-1.c: New.
+ 	* gcc.target/powerpc/pr101985-2.c: New.
+ 
+ 2021-11-22  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2021-11-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+ 
+ 	* gcc.target/s390/20211119.c: New test.
+ 
+ 2021-11-09  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-05-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/100672
+ 	* gcc.dg/torture/pr100672.c: New testcase.
+ 
+ 2021-11-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-08-17  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/101373
+ 	PR tree-optimization/101868
+ 	* gcc.dg/lto/pr101868_0.c: New testcase.
+ 	* gcc.dg/lto/pr101868_1.c: Likewise.
+ 	* gcc.dg/lto/pr101868_2.c: Likewise.
+ 	* gcc.dg/lto/pr101868_3.c: Likewise.
+ 
+ 2021-11-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-08-10  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/101824
+ 	* gcc.dg/tree-ssa/pr101824.c: New testcase.
+ 
+ 2021-10-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-07-07  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/101173
+ 	PR tree-optimization/101280
+ 	* gcc.dg/torture/pr101173.c: New testcase.
+ 	* gcc.dg/tree-ssa/loop-interchange-16.c: New file.
+ 
+ 2021-10-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-07-12  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/101394
+ 	* gcc.dg/torture/pr101394.c: New testcase.
+ 
+ 2021-10-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/101105
+ 	* gcc.dg/torture/pr101105.c: New testcase.
+ 
+ 2021-10-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-06-14  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/100934
+ 	* gcc.dg/torture/pr100934.c: New testcase.
+ 
+ 2021-10-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2021-05-11  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/100509
+ 	* gcc.dg/pr100509.c: New testcase.
+ 
+ 2021-10-11  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	Backported from master:
+ 	2021-10-11  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	PR tree-optimization/102622
+ 	* gcc.c-torture/execute/bitfld-10.c: New test.
+ 
+ 2021-09-30  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-09-07  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/101327
+ 	* gfortran.dg/pr101327.f90: New test.
+ 
+ 2021-09-30  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-09-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/98490
+ 	* gfortran.dg/bounds_check_23.f90: New test.
+ 
+ 2021-09-30  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-09-13  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/82314
+ 	* gfortran.dg/pr82314.f90: New test.
+ 
+ 2021-09-21  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-09-13  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/85130
+ 	* gfortran.dg/substr_6.f90: Revert commit r8-7574, adding again
+ 	test that was erroneously considered as illegal.
+ 
+ 2021-09-21  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-09-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/102287
+ 	* gfortran.dg/intent_out_14.f90: New test.
+ 
+ 2021-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gcc.target/sparc/20210917-1.c: New test.
+ 
+ 2021-09-10  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2020-12-29  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/97612
+ 	* gfortran.dg/structure_constructor_17.f90: New test.
+ 
+ 2021-09-10  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-01-22  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/98565
+ 	* gfortran.dg/associated_target_7.f90 : New test.
+ 
+ 2021-09-10  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-01-07  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/93701
+ 	* gfortran.dg/associate_54.f90: New test.
+ 	* gfortran.dg/associate_55.f90: New test.
+ 	* gfortran.dg/associate_56.f90: New test.
+ 
+ 2021-09-10  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-01-27  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/98472
+ 	* gfortran.dg/elemental_function_5.f90 : New test.
+ 
+ 2021-09-10  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-04-20  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/100110
+ 	* gfortran.dg/pdt_31.f03: New test.
+ 	* gfortran.dg/pdt_26.f03: Reduce 'builtin_malloc' count from 9
+ 	to 8.
+ 
+ 2021-09-06  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-05-06  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/46691
+ 	PR fortran/99819
+ 	* gfortran.dg/class_dummy_6.f90: New test.
+ 	* gfortran.dg/class_dummy_7.f90: New test.
+ 
+ 2021-09-06  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-03-13  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/99125
+ 	* gfortran.dg/alloc_deferred_comp_1.f90: New test.
+ 
+ 2021-09-06  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-01-27  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/93924
+ 	PR fortran/93925
+ 	* gfortran.dg/proc_ptr_52.f90 : New test.
+ 
+ 2021-09-06  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-01-08  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/93794
+ 	* gfortran.dg/deferred_character_35.f90 : New test.
+ 
+ 2021-08-25  konglin1  <lingling.kong@intel.com>
+ 
+ 	PR target/101471
+ 	* gcc.target/i386/avx512f-pr101471.c: New test.
+ 
+ 2021-08-23  Christophe Lyon  <christophe.lyon@foss.st.com>
+ 
+ 	Backported from master:
+ 	2021-08-06  Christophe Lyon  <christophe.lyon@foss.st.com>
+ 
+ 	PR target/101723
+ 	* gcc.target/arm/pr69245.c: Make sure to emit code for fn1, fix
+ 	typo.
+ 
+ 2021-08-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Backported from master:
+ 	2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/101723
+ 	* gcc.target/arm/attr-neon.c: Tighten scan-assembler tests.
+ 	* gcc.target/arm/attr-neon2.c: Likewise.
+ 	* gcc.target/arm/attr-neon3.c: Likewise.
+ 	* gcc.target/arm/pr69245.c: Tighten scan-assembler match, but allow
+ 	multiple instances.
+ 	* gcc.target/arm/pragma_fpu_attribute.c: Likewise.
+ 	* gcc.target/arm/pragma_fpu_attribute_2.c: Likewise.
+ 
+ 2021-08-19  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-08-19  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	PR testsuite/101969
+ 	* gcc.dg/pr78213.c: Fix up for '--enable-checking=release' etc.
+ 
+ 2021-08-17  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-08-17  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	* gcc.dg/pr78213.c: Restore testing.
+ 
+ 2021-07-29  Bill Schmidt  <wschmidt@linux.ibm.com>
+ 
+ 	PR target/101531
+ 	* gcc.target/powerpc/pr101129.c: Adjust.
+ 
+ 2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/96435
+ 	* gdc.dg/pr96435.d: New test.
+ 
+ 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/101640
+ 	* gdc.dg/pr101640.d: New test.
+ 
+ 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/101490
+ 	* gdc.dg/pr101490.d: New test.
+ 	* gdc.test/fail_compilation/fail22144.d: New test.
+ 
+ 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/101441
+ 	* gdc.test/compilable/b19002.d: New test.
+ 
+ 2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/101127
+ 	* gdc.dg/pr101127a.d: New test.
+ 	* gdc.dg/pr101127b.d: New test.
+ 
+ 2021-07-20  Uroš Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/100182
+ 	* gcc.target/i386/pr71245-1.c: Remove.
+ 	* gcc.target/i386/pr71245-2.c: Ditto.
+ 
+ 2021-07-19  Bill Schmidt  <wschmidt@linux.ibm.com>
+ 
+ 	PR target/101129
+ 	* gcc.target/powerpc/pr101129.c: New.
+ 
+ 2021-07-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-07-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/100949
+ 	* gfortran.dg/pr100949.f90: New test.
+ 
+ 2021-07-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2021-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/100227
+ 	* gfortran.dg/implied_do_io_7.f90: New test.
+ 
+ 2021-06-24  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2021-06-23  Uroš Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/101175
+ 	* gcc.target/i386/pr101175.c: New test.
+ 
+ 2021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/100967
+ 	* gdc.dg/pr100967.d: New test.
+ 
+ 2021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2019-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/90651
+ 	* gdc.test/fail_compilation/extra-files/minimal/object.d: New file.
+ 	* gdc.test/fail_compilation/fail19911a.d: New test.
+ 	* gdc.test/fail_compilation/fail19911b.d: New test.
+ 	* gdc.test/fail_compilation/fail19911c.d: New test.
+ 	* gdc.test/fail_compilation/fail19922.d: New test.
+ 	* gdc.test/fail_compilation/fail19923.d: New test.
+ 
+ 2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/100964
+ 	* gdc.test/compilable/betterCarray.d: Add test cases.
+ 
+ 2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/100935
+ 	* gdc.test/compilable/aggr_alignment.d: Add test cases.
+ 
+ 2021-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/100882
+ 	* gdc.dg/pr100882a.d: New test.
+ 	* gdc.dg/pr100882b.d: New test.
+ 	* gdc.dg/pr100882c.d: New test.
+ 	* gdc.dg/pr100882d.d: New test.
+ 
+ 2021-06-04  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-06-04  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/99839
+ 	* gfortran.dg/inline_matmul_25.f90: New test.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-1.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-1.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-1.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-1.c	Fri May 27 07:21:11 2022
***************
*** 1,13 ****
  /* PR c/65179 */
  /* { dg-do compile } */
  /* { dg-options "-O -Wextra" } */
- /* { dg-additional-options "-std=c++11" { target c++ } } */
  
  enum E {
    A = 0 << 1,
    B = 1 << 1,
!   C = -1 << 1, /* { dg-warning "left shift of negative value|not an integer constant" } */
!   /* { dg-error "left operand of shift expression" "shift" { target c++ } .-1 } */
    D = 0 >> 1,
    E = 1 >> 1,
    F = -1 >> 1
--- 1,12 ----
  /* PR c/65179 */
  /* { dg-do compile } */
  /* { dg-options "-O -Wextra" } */
  
  enum E {
    A = 0 << 1,
    B = 1 << 1,
!   C = -1 << 1, /* { dg-warning "left shift of negative value|not an integer constant" "" { target { c || { c++11 && c++17_down } } } } */
!   /* { dg-error "left operand of shift expression" "shift" { target { c++11 && c++17_down } } .-1 } */
    D = 0 >> 1,
    E = 1 >> 1,
    F = -1 >> 1
*************** left (int x)
*** 23,32 ****
    int r = 0;
    r += z << x;
    r += o << x;
!   r += m << x; /* { dg-warning "left shift of negative value" } */
    r += 0 << x;
    r += 1 << x;
!   r += -1 << x; /* { dg-warning "left shift of negative value" } */
    r += -1U << x;
    return r;
  }
--- 22,31 ----
    int r = 0;
    r += z << x;
    r += o << x;
!   r += m << x; /* { dg-warning "left shift of negative value" "" { target { c || { c++11 && c++17_down } } } } */
    r += 0 << x;
    r += 1 << x;
!   r += -1 << x; /* { dg-warning "left shift of negative value" "" { target { c || { c++11 && c++17_down } } } } */
    r += -1U << x;
    return r;
  }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-10.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-10.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-10.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-10.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,7 ----
+ /* PR c/65179 */
+ /* { dg-do compile } */
+ /* { dg-options "-O -Wshift-negative-value -fwrapv" } */
+ /* { dg-additional-options "-std=c++03" { target c++ } } */
+ /* { dg-additional-options "-std=c90" { target c } } */
+ 
+ #include "Wshift-negative-value-1.c"
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-2.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-2.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-2.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-2.c	Fri May 27 07:21:11 2022
***************
*** 1,14 ****
  /* PR c/65179 */
  /* { dg-do compile } */
  /* { dg-options "-O -Wshift-negative-value" } */
- /* { dg-additional-options "-std=c++11" { target c++ } } */
  
  enum E {
    A = 0 << 1,
    B = 1 << 1,
    C = -1 << 1, /* { dg-warning "left shift of negative value" } */
!   /* { dg-error "not an integer constant" "no constant" { target c++ } .-1 } */
!   /* { dg-error "left operand of shift expression" "shift" { target c++ } .-2 } */
    D = 0 >> 1,
    E = 1 >> 1,
    F = -1 >> 1
--- 1,13 ----
  /* PR c/65179 */
  /* { dg-do compile } */
  /* { dg-options "-O -Wshift-negative-value" } */
  
  enum E {
    A = 0 << 1,
    B = 1 << 1,
    C = -1 << 1, /* { dg-warning "left shift of negative value" } */
!   /* { dg-error "not an integer constant" "no constant" { target { c++11 && c++17_down } } .-1 } */
!   /* { dg-error "left operand of shift expression" "shift" { target { c++11 && c++17_down } } .-2 } */
    D = 0 >> 1,
    E = 1 >> 1,
    F = -1 >> 1
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-3.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-3.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-3.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-3.c	Fri May 27 07:21:11 2022
***************
*** 1,14 ****
  /* PR c/65179 */
  /* { dg-do compile } */
  /* { dg-options "-O -Wextra -Wno-shift-negative-value" } */
- /* { dg-additional-options "-std=c++11" { target c++ } } */
  
  enum E {
    A = 0 << 1,
    B = 1 << 1,
    C = -1 << 1,
!   /* { dg-error "not an integer constant" "no constant" { target c++ } .-1 } */
!   /* { dg-error "left operand of shift expression" "shift" { target c++ } .-2 } */
    D = 0 >> 1,
    E = 1 >> 1,
    F = -1 >> 1
--- 1,13 ----
  /* PR c/65179 */
  /* { dg-do compile } */
  /* { dg-options "-O -Wextra -Wno-shift-negative-value" } */
  
  enum E {
    A = 0 << 1,
    B = 1 << 1,
    C = -1 << 1,
!   /* { dg-error "not an integer constant" "no constant" { target { c++11 && c++17_down } } .-1 } */
!   /* { dg-error "left operand of shift expression" "shift" { target { c++11 && c++17_down } } .-2 } */
    D = 0 >> 1,
    E = 1 >> 1,
    F = -1 >> 1
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-4.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-4.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-4.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-4.c	Fri May 27 07:21:11 2022
***************
*** 1,14 ****
  /* PR c/65179 */
  /* { dg-do compile } */
  /* { dg-options "-O" } */
- /* { dg-additional-options "-std=c++11" { target c++ } } */
  
  enum E {
    A = 0 << 1,
    B = 1 << 1,
    C = -1 << 1,
!   /* { dg-error "not an integer constant" "no constant" { target c++ } .-1 } */
!   /* { dg-error "left operand of shift expression" "shift" { target c++ } .-2 } */
    D = 0 >> 1,
    E = 1 >> 1,
    F = -1 >> 1
--- 1,13 ----
  /* PR c/65179 */
  /* { dg-do compile } */
  /* { dg-options "-O" } */
  
  enum E {
    A = 0 << 1,
    B = 1 << 1,
    C = -1 << 1,
!   /* { dg-error "not an integer constant" "no constant" { target { c++11 && c++17_down } } .-1 } */
!   /* { dg-error "left operand of shift expression" "shift" { target { c++11 && c++17_down } } .-2 } */
    D = 0 >> 1,
    E = 1 >> 1,
    F = -1 >> 1
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-7.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-7.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-7.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-7.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,5 ----
+ /* PR c/65179 */
+ /* { dg-do compile } */
+ /* { dg-options "-O -Wextra -fwrapv" } */
+ 
+ #include "Wshift-negative-value-1.c"
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-8.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-8.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-8.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-8.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,5 ----
+ /* PR c/65179 */
+ /* { dg-do compile } */
+ /* { dg-options "-O -Wshift-negative-value -fwrapv" } */
+ 
+ #include "Wshift-negative-value-1.c"
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-9.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-9.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-negative-value-9.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-negative-value-9.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,5 ----
+ /* PR c/65179 */
+ /* { dg-do compile } */
+ /* { dg-options "-O -fwrapv" } */
+ 
+ #include "Wshift-negative-value-1.c"
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-1.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-1.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-1.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-1.c	Fri May 27 07:21:11 2022
***************
*** 1,7 ****
  /* PR c++/55095 */
  /* { dg-do compile { target int32 } } */
  /* { dg-options "-O" } */
- /* { dg-additional-options "-std=c++11" { target c++ } } */
  
  #define INTM1 (sizeof (int) * __CHAR_BIT__ - 1)
  #define INTM2 (sizeof (int) * __CHAR_BIT__ - 2)
--- 1,6 ----
***************
*** 12,27 ****
  #define LONG_LONG_MIN (-__LONG_LONG_MAX__-1)
  
  int i1 = 1 << INTM1;
! int i2 = 9 << INTM1; /* { dg-warning "requires 36 bits to represent" } */
! int i3 = 10 << INTM2; /* { dg-warning "requires 35 bits to represent" } */
! int i4 = __INT_MAX__ << 2; /* { dg-warning "requires 34 bits to represent" } */
! int i5 = __INT_MAX__ << INTM1; /* { dg-warning "requires 63 bits to represent" } */
  int i6 = -1 << INTM1;
! int i7 = -9 << INTM1; /* { dg-warning "requires 36 bits to represent" } */
! int i8 = -10 << INTM2; /* { dg-warning "requires 35 bits to represent" } */
! int i9 = -__INT_MAX__ << 2; /* { dg-warning "requires 34 bits to represent" } */
! int i10 = -__INT_MAX__ << INTM1; /* { dg-warning "requires 63 bits to represent" } */
! int i11 = INT_MIN << 1; /* { dg-warning "requires 33 bits to represent" } */
  
  int r1 = 1 >> INTM1;
  int r2 = 9 >> INTM1;
--- 11,26 ----
  #define LONG_LONG_MIN (-__LONG_LONG_MAX__-1)
  
  int i1 = 1 << INTM1;
! int i2 = 9 << INTM1; /* { dg-warning "requires 36 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! int i3 = 10 << INTM2; /* { dg-warning "requires 35 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! int i4 = __INT_MAX__ << 2; /* { dg-warning "requires 34 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! int i5 = __INT_MAX__ << INTM1; /* { dg-warning "requires 63 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
  int i6 = -1 << INTM1;
! int i7 = -9 << INTM1; /* { dg-warning "requires 36 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! int i8 = -10 << INTM2; /* { dg-warning "requires 35 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! int i9 = -__INT_MAX__ << 2; /* { dg-warning "requires 34 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! int i10 = -__INT_MAX__ << INTM1; /* { dg-warning "requires 63 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! int i11 = INT_MIN << 1; /* { dg-warning "requires 33 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
  
  int r1 = 1 >> INTM1;
  int r2 = 9 >> INTM1;
*************** int r9 = -__INT_MAX__ >> 2;
*** 35,63 ****
  int r10 = -__INT_MAX__ >> INTM1;
  
  unsigned u1 = 1 << INTM1;
! unsigned u2 = 9 << INTM1; /* { dg-warning "requires 36 bits to represent" } */
  unsigned u3 = 2U << INTM1;
  unsigned u4 = 9U << INTM1;
  unsigned u5 = 10U << INTM2;
  
  long long int l1 = 1LL << LLONGM1;
! long long int l2 = 9LL << LLONGM1; /* { dg-warning "requires 68 bits to represent" } */
! long long int l3 = 10LL << LLONGM2; /* { dg-warning "requires 67 bits to represent" } */
! long long int l4 = __LONG_LONG_MAX__ << 2; /* { dg-warning "requires 66 bits to represent" } */
! long long int l5 = __LONG_LONG_MAX__ << LLONGM1; /* { dg-warning "requires 127 bits to represent" } */
  long long int l6 = -1LL << LLONGM1;
! long long int l7 = -9LL << LLONGM1; /* { dg-warning "requires 68 bits to represent" } */
! long long int l8 = -10LL << LLONGM2; /* { dg-warning "requires 67 bits to represent" } */
! long long int l9 = -__LONG_LONG_MAX__ << 2; /* { dg-warning "requires 66 bits to represent" } */
! long long int l10 = -__LONG_LONG_MAX__ << LLONGM1; /* { dg-warning "requires 127 bits to represent" } */
! long long int l11 = LONG_LONG_MIN << 1; /* { dg-warning "requires 65 bits to represent" } */
  
  void
  fn (void)
  {
    const int a = 10;
    const __SIZE_TYPE__ b = INTM1;
!   int k1 = a << b; /* { dg-warning "requires 36 bits to represent" } */
!   int k2 = 10 << b; /* { dg-warning "requires 36 bits to represent" } */
!   int k3 = a << INTM1; /* { dg-warning "requires 36 bits to represent" } */
  }
--- 34,62 ----
  int r10 = -__INT_MAX__ >> INTM1;
  
  unsigned u1 = 1 << INTM1;
! unsigned u2 = 9 << INTM1; /* { dg-warning "requires 36 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
  unsigned u3 = 2U << INTM1;
  unsigned u4 = 9U << INTM1;
  unsigned u5 = 10U << INTM2;
  
  long long int l1 = 1LL << LLONGM1;
! long long int l2 = 9LL << LLONGM1; /* { dg-warning "requires 68 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! long long int l3 = 10LL << LLONGM2; /* { dg-warning "requires 67 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! long long int l4 = __LONG_LONG_MAX__ << 2; /* { dg-warning "requires 66 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! long long int l5 = __LONG_LONG_MAX__ << LLONGM1; /* { dg-warning "requires 127 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
  long long int l6 = -1LL << LLONGM1;
! long long int l7 = -9LL << LLONGM1; /* { dg-warning "requires 68 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! long long int l8 = -10LL << LLONGM2; /* { dg-warning "requires 67 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! long long int l9 = -__LONG_LONG_MAX__ << 2; /* { dg-warning "requires 66 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! long long int l10 = -__LONG_LONG_MAX__ << LLONGM1; /* { dg-warning "requires 127 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
! long long int l11 = LONG_LONG_MIN << 1; /* { dg-warning "requires 65 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
  
  void
  fn (void)
  {
    const int a = 10;
    const __SIZE_TYPE__ b = INTM1;
!   int k1 = a << b; /* { dg-warning "requires 36 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
!   int k2 = 10 << b; /* { dg-warning "requires 36 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
!   int k3 = a << INTM1; /* { dg-warning "requires 36 bits to represent" "" { target { c || { c++11 && c++17_down } } } } */
  }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-10.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-10.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-10.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-10.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,5 ----
+ /* PR c++/55095 */
+ /* { dg-do compile { target int32 } } */
+ /* { dg-options "-O -Wshift-overflow=2 -fwrapv" } */
+ 
+ #include "Wshift-overflow-5.c"
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-11.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-11.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-11.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-11.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,5 ----
+ /* PR c++/55095 */
+ /* { dg-do compile { target int32 } } */
+ /* { dg-options "-Wshift-overflow=1 -fwrapv" } */
+ 
+ #include "Wshift-overflow-6.c"
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-12.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-12.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-12.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-12.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,5 ----
+ /* PR c++/55095 */
+ /* { dg-do compile { target int32 } } */
+ /* { dg-options "-Wshift-overflow=2 -fwrapv" } */
+ 
+ #include "Wshift-overflow-7.c"
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-2.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-2.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-2.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-2.c	Fri May 27 07:21:11 2022
***************
*** 1,7 ****
  /* PR c++/55095 */
  /* { dg-do compile { target int32 } } */
  /* { dg-options "-O -Wno-shift-overflow" } */
- /* { dg-additional-options "-std=c++11" { target c++ } } */
  
  #define INTM1 (sizeof (int) * __CHAR_BIT__ - 1)
  #define INTM2 (sizeof (int) * __CHAR_BIT__ - 2)
--- 1,6 ----
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-5.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-5.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-5.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-5.c	Fri May 27 07:21:11 2022
***************
*** 1,11 ****
  /* PR c++/55095 */
  /* { dg-do compile { target int32 } } */
  /* { dg-options "-O -Wshift-overflow=2" } */
- /* { dg-additional-options "-std=c++11" { target c++ } } */
  
  #define INTM1 (sizeof (int) * __CHAR_BIT__ - 1)
  #define LLONGM1 (sizeof (long long) * __CHAR_BIT__ - 1)
  
! int i1 = 1 << INTM1; /* { dg-warning "requires 33 bits to represent" } */
! unsigned u1 = 1 << INTM1; /* { dg-warning "requires 33 bits to represent" } */
! long long int l1 = 1LL << LLONGM1; /* { dg-warning "requires 65 bits to represent" } */
--- 1,10 ----
  /* PR c++/55095 */
  /* { dg-do compile { target int32 } } */
  /* { dg-options "-O -Wshift-overflow=2" } */
  
  #define INTM1 (sizeof (int) * __CHAR_BIT__ - 1)
  #define LLONGM1 (sizeof (long long) * __CHAR_BIT__ - 1)
  
! int i1 = 1 << INTM1; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! unsigned u1 = 1 << INTM1; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! long long int l1 = 1LL << LLONGM1; /* { dg-warning "requires 65 bits to represent" "" { target { c || c++11_down } } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-6.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-6.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-6.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-6.c	Fri May 27 07:21:11 2022
***************
*** 1,7 ****
  /* PR c++/55095 */
  /* { dg-do compile { target int32 } } */
  /* { dg-options "-Wshift-overflow=1" } */
- /* { dg-additional-options "-std=c++11" { target c++ } } */
  
  int i00 = 0b1 << 31;
  int i01 = 0b10 << 30;
--- 1,6 ----
*************** int i27 = 0b1000000000000000000000000000
*** 34,37 ****
  int i28 = 0b10000000000000000000000000000 << 3;
  int i29 = 0b100000000000000000000000000000 << 2;
  int i30 = 0b1000000000000000000000000000000 << 1;
! int i31 = (int) 0b10000000000000000000000000000000u << 1; /* { dg-warning "requires 33 bits to represent" } */
--- 33,36 ----
  int i28 = 0b10000000000000000000000000000 << 3;
  int i29 = 0b100000000000000000000000000000 << 2;
  int i30 = 0b1000000000000000000000000000000 << 1;
! int i31 = (int) 0b10000000000000000000000000000000u << 1; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++17_down } } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-7.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-7.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-7.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-7.c	Fri May 27 07:21:11 2022
***************
*** 1,37 ****
  /* PR c++/55095 */
  /* { dg-do compile { target int32 } } */
  /* { dg-options "-Wshift-overflow=2" } */
- /* { dg-additional-options "-std=c++11" { target c++ } } */
  
! int i00 = 0b1 << 31; /* { dg-warning "requires 33 bits to represent" } */
! int i01 = 0b10 << 30; /* { dg-warning "requires 33 bits to represent" } */
! int i02 = 0b100 << 29; /* { dg-warning "requires 33 bits to represent" } */
! int i03 = 0b1000 << 28; /* { dg-warning "requires 33 bits to represent" } */
! int i04 = 0b10000 << 27; /* { dg-warning "requires 33 bits to represent" } */
! int i05 = 0b100000 << 26; /* { dg-warning "requires 33 bits to represent" } */
! int i06 = 0b1000000 << 25; /* { dg-warning "requires 33 bits to represent" } */
! int i07 = 0b10000000 << 24; /* { dg-warning "requires 33 bits to represent" } */
! int i08 = 0b100000000 << 23; /* { dg-warning "requires 33 bits to represent" } */
! int i09 = 0b1000000000 << 22; /* { dg-warning "requires 33 bits to represent" } */
! int i10 = 0b10000000000 << 21; /* { dg-warning "requires 33 bits to represent" } */
! int i11 = 0b100000000000 << 20; /* { dg-warning "requires 33 bits to represent" } */
! int i12 = 0b1000000000000 << 19; /* { dg-warning "requires 33 bits to represent" } */
! int i13 = 0b10000000000000 << 18; /* { dg-warning "requires 33 bits to represent" } */
! int i14 = 0b100000000000000 << 17; /* { dg-warning "requires 33 bits to represent" } */
! int i15 = 0b1000000000000000 << 16; /* { dg-warning "requires 33 bits to represent" } */
! int i16 = 0b10000000000000000 << 15; /* { dg-warning "requires 33 bits to represent" } */
! int i17 = 0b100000000000000000 << 14; /* { dg-warning "requires 33 bits to represent" } */
! int i18 = 0b1000000000000000000 << 13; /* { dg-warning "requires 33 bits to represent" } */
! int i19 = 0b10000000000000000000 << 12; /* { dg-warning "requires 33 bits to represent" } */
! int i20 = 0b100000000000000000000 << 11; /* { dg-warning "requires 33 bits to represent" } */
! int i21 = 0b1000000000000000000000 << 10; /* { dg-warning "requires 33 bits to represent" } */
! int i22 = 0b10000000000000000000000 << 9; /* { dg-warning "requires 33 bits to represent" } */
! int i23 = 0b100000000000000000000000 << 8; /* { dg-warning "requires 33 bits to represent" } */
! int i24 = 0b1000000000000000000000000 << 7; /* { dg-warning "requires 33 bits to represent" } */
! int i25 = 0b10000000000000000000000000 << 6; /* { dg-warning "requires 33 bits to represent" } */
! int i26 = 0b100000000000000000000000000 << 5; /* { dg-warning "requires 33 bits to represent" } */
! int i27 = 0b1000000000000000000000000000 << 4; /* { dg-warning "requires 33 bits to represent" } */
! int i28 = 0b10000000000000000000000000000 << 3; /* { dg-warning "requires 33 bits to represent" } */
! int i29 = 0b100000000000000000000000000000 << 2; /* { dg-warning "requires 33 bits to represent" } */
! int i30 = 0b1000000000000000000000000000000 << 1; /* { dg-warning "requires 33 bits to represent" } */
! int i31 = (int) 0b10000000000000000000000000000000u << 1; /* { dg-warning "requires 33 bits to represent" } */
--- 1,36 ----
  /* PR c++/55095 */
  /* { dg-do compile { target int32 } } */
  /* { dg-options "-Wshift-overflow=2" } */
  
! int i00 = 0b1 << 31; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i01 = 0b10 << 30; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i02 = 0b100 << 29; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i03 = 0b1000 << 28; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i04 = 0b10000 << 27; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i05 = 0b100000 << 26; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i06 = 0b1000000 << 25; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i07 = 0b10000000 << 24; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i08 = 0b100000000 << 23; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i09 = 0b1000000000 << 22; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i10 = 0b10000000000 << 21; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i11 = 0b100000000000 << 20; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i12 = 0b1000000000000 << 19; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i13 = 0b10000000000000 << 18; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i14 = 0b100000000000000 << 17; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i15 = 0b1000000000000000 << 16; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i16 = 0b10000000000000000 << 15; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i17 = 0b100000000000000000 << 14; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i18 = 0b1000000000000000000 << 13; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i19 = 0b10000000000000000000 << 12; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i20 = 0b100000000000000000000 << 11; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i21 = 0b1000000000000000000000 << 10; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i22 = 0b10000000000000000000000 << 9; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i23 = 0b100000000000000000000000 << 8; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i24 = 0b1000000000000000000000000 << 7; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i25 = 0b10000000000000000000000000 << 6; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i26 = 0b100000000000000000000000000 << 5; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i27 = 0b1000000000000000000000000000 << 4; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i28 = 0b10000000000000000000000000000 << 3; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i29 = 0b100000000000000000000000000000 << 2; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i30 = 0b1000000000000000000000000000000 << 1; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++11_down } } } */
! int i31 = (int) 0b10000000000000000000000000000000u << 1; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++17_down } } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-8.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-8.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-8.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-8.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,5 ----
+ /* PR c++/55095 */
+ /* { dg-do compile { target int32 } } */
+ /* { dg-options "-O -fwrapv" } */
+ 
+ #include "Wshift-overflow-1.c"
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-9.c gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-9.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/Wshift-overflow-9.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/Wshift-overflow-9.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,7 ----
+ /* PR c++/55095 */
+ /* { dg-do compile { target int32 } } */
+ /* { dg-options "-O -Wshift-overflow -fwrapv" } */
+ /* { dg-additional-options "-std=gnu90" { target c } } */
+ /* { dg-additional-options "-std=c++03" { target c++ } } */
+ 
+ #include "Wshift-overflow-1.c"
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/builtin-convertvector-3.c gcc-9.5.0/gcc/testsuite/c-c++-common/builtin-convertvector-3.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/builtin-convertvector-3.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/builtin-convertvector-3.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,11 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ 
+ typedef int v4si __attribute__((vector_size (4 * sizeof (int))));
+ typedef double v4df __attribute__((vector_size (4 * sizeof (double))));
+ double
+ foo (void)
+ {
+   v4si a = { 1, 2, 3, 4 };
+   return __builtin_convertvector (a, v4df)[1];
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/cpp/pr104147.c gcc-9.5.0/gcc/testsuite/c-c++-common/cpp/pr104147.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/cpp/pr104147.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/cpp/pr104147.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,27 ----
+ /* PR preprocessor/104147 */
+ /* { dg-do run } */
+ 
+ #define X(x,y) 	x y
+ #define STR_(x) #x
+ #define STR(x) 	STR_(x)
+ const char *str =
+ STR(X(Y,Y))
+ #define Y()
+ STR(X(Y,Y))
+ #undef Y
+ STR(X(Y,Y))
+ #define Y()
+ STR(X(Y,Y))
+ STR(X(Y,
+ Y))
+ STR(X(Y
+ ,Y))
+ ;
+ 
+ int
+ main ()
+ {
+   if (__builtin_strcmp (str, "Y YY YY YY YY YY Y") != 0)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/gomp/pr101535-1.c gcc-9.5.0/gcc/testsuite/c-c++-common/gomp/pr101535-1.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/gomp/pr101535-1.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/gomp/pr101535-1.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,31 ----
+ /* PR middle-end/101535 */
+ 
+ void
+ foo (void)
+ {
+   int a = 1, i;
+   #pragma omp target data map(to:a)
+   #pragma omp for lastprivate(i)	/* { dg-error "lastprivate variable 'i' is private in outer context" } */
+   for (i = 1; i < 2; i++)
+     ;
+ }
+ 
+ void
+ bar (void)
+ {
+   int a = 1, i;
+   #pragma omp target private(i)
+   #pragma omp for lastprivate(i)	/* { dg-error "lastprivate variable 'i' is private in outer context" } */
+   for (i = 1; i < 2; i++)
+     ;
+ }
+ 
+ void
+ baz (void)
+ {
+   int a = 1, i;
+   #pragma omp target firstprivate(i)
+   #pragma omp for lastprivate(i)	/* { dg-error "lastprivate variable 'i' is private in outer context" } */
+   for (i = 1; i < 2; i++)
+     ;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/gomp/pr101535-2.c gcc-9.5.0/gcc/testsuite/c-c++-common/gomp/pr101535-2.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/gomp/pr101535-2.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/gomp/pr101535-2.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,11 ----
+ /* PR middle-end/101535 */
+ 
+ void
+ foo (void)
+ {
+   int a = 1, i;
+   #pragma omp target map(tofrom:i)
+   #pragma omp for lastprivate(i)
+   for (i = 1; i < 2; i++)
+     ;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/pr100785.c gcc-9.5.0/gcc/testsuite/c-c++-common/pr100785.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/pr100785.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/pr100785.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,21 ----
+ /* PR inline-asm/100785 */
+ 
+ struct S { int a : 1; };
+ 
+ void
+ foo (struct S *x)
+ {
+   __asm__ ("" : "+m" (x->a));	/* { dg-error "address of bit-field" } */
+ }				/* { dg-error "invalid lvalue in asm output 0" "" { target c } .-1 } */
+ 				/* { dg-error "memory input 1 is not directly addressable" "" { target c } .-2 } */
+ void
+ bar (struct S *x)
+ {
+   __asm__ ("" : "=m" (x->a));	/* { dg-error "address of bit-field" } */
+ }				/* { dg-error "invalid lvalue in asm output 0" "" { target c } .-1 } */
+ 
+ void
+ baz (struct S *x)
+ {
+   __asm__ ("" : : "m" (x->a));	/* { dg-error "address of bit-field" } */
+ }				/* { dg-error "memory input 0 is not directly addressable" "" { target c } .-1 } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/pr105186.c gcc-9.5.0/gcc/testsuite/c-c++-common/pr105186.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/pr105186.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/pr105186.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,5 ----
+ /* PR c++/105186 */
+ /* { dg-do compile } */
+ 
+ __attribute__((__int128)) int i;	/* { dg-warning "'__int128' attribute directive ignored" } */
+ __attribute__((__int128__)) int j;	/* { dg-warning "'int128' attribute directive ignored" } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/ubsan/float-div-by-zero-2.c gcc-9.5.0/gcc/testsuite/c-c++-common/ubsan/float-div-by-zero-2.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/ubsan/float-div-by-zero-2.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/ubsan/float-div-by-zero-2.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,18 ----
+ /* { dg-do run } */
+ /* { dg-shouldfail "ubsan" } */
+ /* { dg-options "-fsanitize=float-divide-by-zero -fno-sanitize-recover=float-divide-by-zero -fsanitize-recover=integer-divide-by-zero" } */
+ 
+ int
+ main (void)
+ {
+   volatile float a = 1.3f;
+   volatile double b = 0.0;
+   volatile int c = 4;
+   volatile float res;
+ 
+   res = a / b;
+ 
+   return 0;
+ }
+ 
+ /* { dg-output "division by zero" } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/c-c++-common/ubsan/pr64888.c gcc-9.5.0/gcc/testsuite/c-c++-common/ubsan/pr64888.c
*** gcc-9.4.0/gcc/testsuite/c-c++-common/ubsan/pr64888.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/c-c++-common/ubsan/pr64888.c	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,27 ----
+ /* PR middle-end/64888 */
+ /* { dg-do compile { target fopenmp } } */
+ /* { dg-options "-fopenmp -fsanitize=undefined" } */
+ 
+ int a, b;
+ 
+ void
+ foo ()
+ {
+   int c;
+ #pragma omp parallel default (none) shared (a, b) private (c)
+   {
+     c = a / b;	/* { dg-bogus "not specified in enclosing" } */
+     (void) c;
+   }
+ #pragma omp task default (none) shared (a, b) private (c)
+   {
+     c = a << b;	/* { dg-bogus "not specified in enclosing" } */
+     (void) c;
+   }
+ #pragma omp teams default (none) shared (a, b)
+   {
+     int d[a];	/* { dg-bogus "not specified in enclosing" } */
+     d[0] = 0;
+     (void) d[0];
+   }
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/asan/pr104449.C gcc-9.5.0/gcc/testsuite/g++.dg/asan/pr104449.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/asan/pr104449.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/asan/pr104449.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,16 ----
+ // PR sanitizer/104449
+ // { dg-do compile }
+ // { dg-options "-fexceptions -fsanitize=address -fstack-check=generic" }
+ 
+ void bar (int *);
+ struct A { A (); ~A (); };
+ 
+ void
+ foo (int n)
+ {
+   A b;
+   {
+     int a[n];
+     bar (a);
+   }
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/alias-decl-equiv1.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/alias-decl-equiv1.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/alias-decl-equiv1.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/alias-decl-equiv1.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,13 ----
+ // PR c++/100032
+ // { dg-do compile { target c++11 } }
+ 
+ template <template<class> class> struct X { };
+ template <class> struct Y { };
+ template <class T> using Z = const Y<T>;
+ 
+ template <class T> using W = Z<T>;
+ using U = X<Z>;
+ using U = X<W>;
+ 
+ using T = X<Y>;
+ using T = X<Z>;			// { dg-error "conflicting declaration" }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/constexpr-104472.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/constexpr-104472.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/constexpr-104472.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/constexpr-104472.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,9 ----
+ // PR c++/104472
+ // { dg-options "-O2 -frounding-math" }
+ // { dg-add-options float16 }
+ // { dg-require-effective-target float16 }
+ 
+ typedef short __attribute__((__vector_size__ (16))) V;
+ typedef _Float16 __attribute__((__vector_size__ (16))) F;
+ 
+ V v = __builtin_convertvector (__builtin_convertvector ((V){5534}, F), V) < 8;
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/constexpr-array23.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/constexpr-array23.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/constexpr-array23.C	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/constexpr-array23.C	Fri May 27 07:21:11 2022
*************** struct A
*** 11,17 ****
  struct B
  {				// This should really be target { ! c++2a }
    typedef A W[4];		// { dg-error "paren" "" { xfail *-*-* } .+1 }
!   constexpr B () : w ({ A::z, A::z, A::z, A::z }) {} // { dg-error "constant" "" { xfail *-*-* } }
    W w;
  };
  
--- 11,17 ----
  struct B
  {				// This should really be target { ! c++2a }
    typedef A W[4];		// { dg-error "paren" "" { xfail *-*-* } .+1 }
!   constexpr B () : w ({ A::z, A::z, A::z, A::z }) {} // { dg-error "constant" }
    W w;
  };
  
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/constexpr-base7.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/constexpr-base7.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/constexpr-base7.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/constexpr-base7.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,15 ----
+ // PR c++/91933
+ // { dg-do compile { target c++11 } }
+ 
+ struct NoMut1 { int a, b; };
+ struct NoMut3 : NoMut1 {
+   constexpr NoMut3(int a, int b) : NoMut1{a, b} {}
+ };
+ void mutable_subobjects() {
+   constexpr NoMut3 nm3 = {1, 2};
+   struct A {
+     void f() {
+       static_assert(nm3.a == 1, "");
+     }
+   };
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/constexpr-fno-elide-ctors1.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/constexpr-fno-elide-ctors1.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/constexpr-fno-elide-ctors1.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/constexpr-fno-elide-ctors1.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,89 ----
+ // PR c++/104646
+ // { dg-do compile { target c++11 } }
+ // { dg-additional-options -fno-elide-constructors }
+ 
+ template <typename _T1> struct pair {
+   _T1 first;
+   int second;
+ };
+ template <typename _Iterator> class __normal_iterator {
+   _Iterator __traits_type;
+ 
+ public:
+   constexpr __normal_iterator() {}
+ };
+ template <typename> class allocator;
+ template <typename> struct allocator_traits;
+ template <typename _Tp> struct allocator_traits<allocator<_Tp>> {
+   using value_type = _Tp;
+   template <typename _Up> using rebind_alloc = allocator<_Up>;
+ };
+ template <typename _Alloc> struct __alloc_traits {
+   typedef allocator_traits<_Alloc> _Base_type;
+   typedef typename _Base_type::value_type &const_reference;
+   template <typename _Tp> struct rebind {
+     typedef typename _Base_type::template rebind_alloc<_Tp> other;
+   };
+ };
+ template <typename _Tp, typename _Alloc> struct _Vector_base {
+   typedef typename __alloc_traits<_Alloc>::template rebind<_Tp>::other _Tp_alloc_type;
+ };
+ template <typename _Tp, typename _Alloc = allocator<_Tp>> class vector {
+ public:
+   typename __alloc_traits<
+       typename _Vector_base<_Tp, _Alloc>::_Tp_alloc_type>::const_reference
+   operator[](long);
+ };
+ enum match_flag_type {};
+ template <typename, typename> class Trans_NS___cxx11_basic_regex;
+ class Trans_NS___cxx11_match_results;
+ enum _RegexExecutorPolicy { _S_auto };
+ template <typename, typename, typename _CharT, typename _TraitsT,
+           _RegexExecutorPolicy, bool>
+ bool __regex_algo_impl(Trans_NS___cxx11_match_results &,
+                        const Trans_NS___cxx11_basic_regex<_CharT, _TraitsT> &);
+ template <typename, typename, typename, bool> class _Executor;
+ template <typename _Ch_type, typename = _Ch_type>
+ class Trans_NS___cxx11_basic_regex {};
+ class Trans_NS___cxx11_match_results : vector<int> {
+   template <typename, typename, typename _Cp, typename _Rp,
+             _RegexExecutorPolicy, bool>
+   friend bool __regex_algo_impl(Trans_NS___cxx11_match_results &,
+                                 const Trans_NS___cxx11_basic_regex<_Cp, _Rp> &);
+ };
+ template <typename _Bi_iter, typename _Alloc, typename _Ch_type,
+           typename _Rx_traits>
+ void regex_search(_Bi_iter, _Alloc,
+                   Trans_NS___cxx11_basic_regex<_Ch_type, _Rx_traits>) {
+   __regex_algo_impl<_Bi_iter, _Alloc, _Ch_type, _Rx_traits, _S_auto, false>;
+ }
+ match_flag_type __regex_algo_impl___flags;
+ template <typename, typename, typename _CharT, typename _TraitsT,
+           _RegexExecutorPolicy, bool>
+ bool __regex_algo_impl(
+     Trans_NS___cxx11_match_results &__m,
+     const Trans_NS___cxx11_basic_regex<_CharT, _TraitsT> &__re) {
+   __normal_iterator<const char *> __e, __s;
+   _Executor<int, int, _TraitsT, false> __executor(__s, __e, __m, __re,
+                                                   __regex_algo_impl___flags);
+   __executor._M_match();
+   return false;
+ }
+ template <typename, typename, typename, bool> class _Executor {
+ public:
+   _Executor(__normal_iterator<const char *>, __normal_iterator<const char *>,
+             vector<int>, Trans_NS___cxx11_basic_regex<char>, match_flag_type);
+   void _M_match() { _M_dfs(); }
+   void _M_dfs();
+   vector<pair<__normal_iterator<char *>>> _M_rep_count;
+ };
+ long _M_rep_once_more___i;
+ template <typename _BiIter, typename _Alloc, typename _TraitsT, bool __dfs_mode>
+ void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::_M_dfs() {
+   auto __rep_count = _M_rep_count[_M_rep_once_more___i];
+ }
+ char main___trans_tmp_1;
+ void main___trans_tmp_2() {
+   Trans_NS___cxx11_basic_regex<char> re;
+   regex_search(main___trans_tmp_1, main___trans_tmp_2, re);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/extern_template-6.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/extern_template-6.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/extern_template-6.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/extern_template-6.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/99066
+ // { dg-do compile { target c++11 } }
+ 
+ template <typename a> struct basic_string {
+   static const int npos = 1;
+ };
+ template <typename a> const int basic_string<a>::npos;
+ 
+ struct e { template <bool> int f() const; };
+ 
+ template <bool> int e::f() const {
+   return basic_string<char>::npos;
+ }
+ 
+ extern template class basic_string<char>;
+ 
+ // { dg-final { scan-assembler-not "_ZN12basic_stringIcE4nposE" } }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/initlist-new5.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/initlist-new5.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/initlist-new5.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/initlist-new5.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,9 ----
+ // PR c++/99643
+ // { dg-do compile { target c++11 } }
+ 
+ struct Foo {};
+ Foo get_foo();
+ 
+ int main() {
+     new Foo[1]{get_foo()};
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/initlist-new6.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/initlist-new6.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/initlist-new6.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/initlist-new6.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,39 ----
+ // PR c++/105265
+ // { dg-do run { target c++11 } }
+ 
+ int c;
+ 
+ class Block
+ {
+ public:
+   Block(int n) : data{new char[n]}, size{n}
+   {
+     ++c;
+   }
+ 
+   ~Block()
+   {
+     --c;
+     delete[] data;
+   }
+ 
+ private:
+   char* data;
+   int size;
+ };
+ 
+ struct Cargo
+ {
+   Block const& block;
+ };
+ 
+ int main()
+ {
+   {
+     Cargo* c = new Cargo{{4000}};
+     delete c;
+   }
+   if (c != 0)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/initlist-nrv1.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/initlist-nrv1.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/initlist-nrv1.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/initlist-nrv1.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,34 ----
+ // PR c++/101442
+ // { dg-do run { target c++11 } }
+ 
+ bool destroyed = false;
+ 
+ struct A
+ {
+   A() {}
+   A(const A &) = delete;
+   A &operator=(const A &) = delete;
+   ~A() {destroyed = true;}
+ };
+ 
+ struct B
+ {
+   const A &a;
+   struct string {
+     string(const char*) { }
+     ~string() { }
+   } s;
+ };
+ 
+ B foo()
+ {
+   B ret{ A{}, "" };
+   return ret;
+ }
+ 
+ int main()
+ {
+   B b = foo();
+   if (!destroyed)
+     __builtin_abort();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi10.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi10.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi10.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi10.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,12 ----
+ // PR c++/95870
+ // { dg-do compile { target c++11 } }
+ 
+ template <typename> struct S {
+   S();
+   int b = []() -> int { enum E {}; return 1; }();
+ };
+ struct C : S<int> {
+   C();
+ };
+ template <typename T> S<T>::S() = default;
+ C::C() {}
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template21.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template21.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template21.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template21.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/101532
+ // { dg-do compile { target c++11 } }
+ 
+ struct A { private: ~A(); };
+ 
+ template<class> struct B { A a = A(); }; // { dg-error "private" }
+ 
+ B<int> b; // { dg-error "deleted" }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template21a.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template21a.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template21a.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template21a.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,10 ----
+ // PR c++/104225
+ // { dg-do compile { target c++11 } }
+ 
+ struct A { private: ~A(); };
+ 
+ template<class> struct B { A a = A(); }; // { dg-error "private" }
+ 
+ int main() {
+   new B<int>; // { dg-error "deleted" }
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/nullptr46.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/nullptr46.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/nullptr46.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/nullptr46.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,11 ----
+ // PR c++/101443
+ // { dg-do compile { target c++11 } }
+ // { dg-options "-O2" }
+ 
+ decltype(nullptr) foo ();
+ 
+ bool
+ bar ()
+ {
+   return foo () > nullptr || foo () < nullptr;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/pr102305.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/pr102305.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/pr102305.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/pr102305.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,39 ----
+ // PR c++/102305
+ // { dg-do compile { target c++11 } }
+ 
+ namespace std
+ {
+   template<typename _Tp, _Tp __v>
+     struct integral_constant
+     {
+       static constexpr _Tp value = __v;
+       typedef integral_constant<_Tp, __v> type;
+     };
+ 
+   template<typename _Tp, _Tp __v>
+     constexpr _Tp integral_constant<_Tp, __v>::value;
+ 
+   typedef integral_constant<bool, true> true_type;
+   typedef integral_constant<bool, false> false_type;
+ 
+   template<bool __v>
+     using bool_constant = integral_constant<bool, __v>;
+ 
+   template<typename _Tp, typename... _Args>
+     struct is_constructible
+     : public bool_constant<__is_constructible(_Tp, _Args...)>
+     {
+     };
+ }
+ 
+ template<typename>
+ struct A {
+   virtual ~A() = 0;
+ };
+ 
+ struct B {
+   virtual ~B() = 0;
+ };
+ 
+ static_assert(!std::is_constructible<A<int> >::value, "");
+ static_assert(!std::is_constructible<B>::value, "");
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/pr105256.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/pr105256.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp0x/pr105256.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp0x/pr105256.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,18 ----
+ // PR c++/105256
+ // { dg-do compile { target c++11 } }
+ 
+ int bar (int &);
+ 
+ struct S {
+   struct T {
+     struct U {
+       int i = bar (i);
+     } u;
+   };
+ };
+ 
+ void
+ foo (S::T *p)
+ {
+   *p = {};
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1y/constexpr-104513.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1y/constexpr-104513.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1y/constexpr-104513.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1y/constexpr-104513.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,10 ----
+ // PR c++/104513
+ // { dg-do compile { target c++14 } }
+ 
+ struct A {
+   int a1;
+   short a2, a3;
+   long a4;
+   constexpr A() : a1(42), a2(42), a3(42), a4(42) { return; }
+ };
+ constexpr A a;
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1y/lambda-generic-Wunused.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1y/lambda-generic-Wunused.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1y/lambda-generic-Wunused.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1y/lambda-generic-Wunused.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,18 ----
+ // PR c++/96311
+ // { dg-do compile { target c++14 } }
+ // { dg-additional-options -Wunused }
+ 
+ auto foo()
+ {
+   constexpr int used = 0;
+   return
+     [](auto unused)
+     {
+       return used;
+     };
+ }
+ 
+ int main()
+ {
+   foo()(42);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1y/lambda-generic-this4.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1y/lambda-generic-this4.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1y/lambda-generic-this4.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1y/lambda-generic-this4.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,7 ----
+ // PR c++/101717
+ // { dg-do compile { target c++14 } }
+ 
+ struct x {
+   static void f() { }
+   void (*_)() = [] { [=](auto) { f(); }(0); };
+ };
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr13.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr13.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr13.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr13.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,33 ----
+ // PR c++/96673
+ // { dg-do compile { target c++11 } }
+ 
+ template <class T>
+ class A {};
+ 
+ template <class T>
+ class B;
+ 
+ template <class T>
+ class C {
+     private:
+ 
+     friend class B<T>;
+ 
+     explicit C(A<T>&) {};
+ };
+ 
+ 
+ template <class T>
+ class B {
+     public:
+     B() = default;
+     //B() {};       // << This implementation of the constructor makes it work
+ 
+     A<T> a = {};
+     C<T> c = C<T>{a};
+ };
+ 
+ int main() {
+     auto b = B<int>{};
+     auto &c = b.c;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1y/pr88872.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1y/pr88872.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1y/pr88872.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1y/pr88872.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,24 ----
+ // PR c++/88872
+ // { dg-do compile { target c++14 } }
+ 
+ struct a {
+   template <typename b> constexpr a(b) : c() {}
+   int c;
+ };
+ void d();
+ template <char...> constexpr a operator"" _n() { return d; }
+ struct e;
+ struct f {
+   e operator[](int);
+ };
+ struct g {
+   void h();
+   f i;
+ };
+ template <typename> struct j {
+   void k() { [](auto) { constexpr auto l = 2_n; }(keywords); }
+   int keywords;
+ };
+ using m = j<int>;
+ class e : public m {};
+ void g::h() { i[0].k(); }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/class-deduction85.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/class-deduction85.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/class-deduction85.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/class-deduction85.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,16 ----
+ // PR c++/99885
+ // { dg-do compile { target c++17 } }
+ 
+ template <auto const& A>
+ struct Foo {};
+ 
+ template <auto const& A>
+ struct Bar {
+     constexpr auto foo() const -> Foo<A> {
+         return {};
+     }
+ };
+ 
+ constexpr int a = 1;
+ constexpr Bar<a> bar;
+ Foo foo = bar.foo(); // <-- CTAD failure
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/eval-order11.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/eval-order11.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/eval-order11.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/eval-order11.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,89 ----
+ // PR c++/70796
+ // { dg-do run { target c++11 } }
+ // { dg-options "-fstrong-eval-order" { target c++14_down } }
+ 
+ struct A
+ {
+   int x = 0;
+   A & operator ++ () { ++x; return *this; }
+ };
+ struct B
+ {
+   A first, second;
+   B (A x, A y) : first{x}, second{y} {}
+ };
+ struct C
+ {
+   int first, second;
+   C (int x, int y) : first{x}, second{y} {}
+ };
+ struct D
+ {
+   int d;
+   void foo (int x, D *y)
+   {
+     if (y != this + 1)
+       __builtin_abort ();
+     d = x;
+   }
+ };
+ D d[2] = { { 1 }, { 2 } };
+ 
+ void
+ foo ()
+ {
+   int i = 0;
+   C p{++i, ++i};
+   if (p.first != 1 || p.second != 2)
+     __builtin_abort ();
+ }
+ 
+ void
+ bar ()
+ {
+   int i = 0;
+   C p{++i, ++i};
+   if (p.first != 1 || p.second != 2)
+     __builtin_abort ();
+   int &j = i;
+   C q{++j, ++j};
+   if (q.first != 3 || q.second != 4)
+     __builtin_abort ();
+ }
+ 
+ void
+ baz ()
+ {
+   int i = 0;
+   C p{(int &) ++i, (int &) ++i};
+   if (p.first != 1 || p.second != 2)
+     __builtin_abort ();
+ }
+ 
+ void
+ qux ()
+ {
+   A i;
+   B p{++i, ++i};
+   if (p.first.x != 1 || p.second.x != 2)
+     __builtin_abort ();
+ }
+ 
+ void
+ corge ()
+ {
+   D *p = &d[0];
+   p->foo (3, ++p);
+   if (d[0].d != 3 || d[1].d != 2)
+     __builtin_abort ();
+ }
+ 
+ int
+ main ()
+ {
+   bar ();
+   baz ();
+   foo ();
+   qux ();
+   corge ();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/inline-var9.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/inline-var9.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/inline-var9.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/inline-var9.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,40 ----
+ // PR c++/99901
+ // { dg-do compile { target c++11 } }
+ // { dg-final { scan-assembler-not "_ZN1A1aE" } }
+ // { dg-final { scan-assembler-not "_ZN2A21aE" } }
+ // { dg-final { scan-assembler-not "_ZN1CIiE1cE" } }
+ // { dg-final { scan-assembler "_ZN1B1bE" } }
+ // { dg-final { scan-assembler "_ZN2B21bE" } }
+ // { dg-final { scan-assembler "_ZN2B31bE" } }
+ 
+ struct A {
+   static const int a = 5;
+ };
+ 
+ struct A2 {
+   static constexpr int a = 5;
+ };
+ 
+ struct B {
+   static const int b;
+ };
+ constexpr int B::b = 5;
+ 
+ struct B2 {
+   static const int b = 5;
+ };
+ constexpr int B2::b;
+ 
+ struct B3 {
+   static constexpr int b = 5;
+ };
+ const int B3::b;
+ 
+ template <class T>
+ struct C {
+   static constexpr int c = 5;
+ };
+ template <class T>
+ constexpr int C<T>::c;
+ 
+ int i = C<int>::c;
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/nodiscard8.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/nodiscard8.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/nodiscard8.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/nodiscard8.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,15 ----
+ // PR c++/100666
+ // { dg-do compile { target c++11 } }
+ 
+ [[nodiscard]] decltype(nullptr) bar ();
+ extern void foo (...);
+ template <typename T> void qux (T);
+ 
+ void
+ baz ()
+ {
+   foo (bar ());		// { dg-bogus "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+   bar ();		// { dg-warning "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+   auto x = bar ();	// { dg-bogus "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+   qux (bar ());		// { dg-bogus "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/nodiscard9.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/nodiscard9.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/nodiscard9.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/nodiscard9.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,22 ----
+ // PR c++/100666
+ // { dg-do compile { target c++11 } }
+ 
+ struct S {};
+ [[nodiscard]] S bar ();
+ struct U { S s; };
+ [[nodiscard]] U corge ();
+ extern void foo (...);
+ template <typename T> void qux (T);
+ 
+ void
+ baz ()
+ {
+   foo (bar ());		// { dg-bogus "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+   bar ();		// { dg-warning "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+   auto x = bar ();	// { dg-bogus "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+   qux (bar ());		// { dg-bogus "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+   foo (corge ());	// { dg-bogus "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+   corge ();		// { dg-warning "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+   auto y = corge ();	// { dg-bogus "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+   qux (corge ());	// { dg-bogus "ignoring return value of '\[^\n\r]*', declared with attribute nodiscard" }
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/noexcept-type24.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/noexcept-type24.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp1z/noexcept-type24.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp1z/noexcept-type24.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,22 ----
+ // PR c++/90664
+ // { dg-do compile { target c++11 } }
+ 
+ template <typename TT, typename MFP, MFP> struct OpM;
+ 
+ template <typename TR, typename TT, TR (TT::*f)()>
+ struct OpM<TT, TR (TT::*)(), f>
+ {};
+ 
+ class Class {
+ public:
+   int address() noexcept { return 0; }
+   void address(int) noexcept {}
+ };
+ 
+ struct Sk {
+   template <class C, typename R> Sk(R (C::*p)()) {
+     typedef OpM<C, R (C::*)() /* noexcept */, &Class::address> OP;
+   }
+ };
+ 
+ Sk sk(static_cast<int (Class::*)()>(&Class::address));
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp2a/constexpr-nonlit7.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp2a/constexpr-nonlit7.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp2a/constexpr-nonlit7.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp2a/constexpr-nonlit7.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,6 ----
+ // PR c++/104994
+ // CWG2552
+ // { dg-do compile { target c++14 } }
+ 
+ constexpr bool foo () { extern thread_local int t; return true; }
+ static constexpr bool a = foo ();
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp2a/constexpr-virtual19.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp2a/constexpr-virtual19.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp2a/constexpr-virtual19.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp2a/constexpr-virtual19.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,11 ----
+ // PR c++/102786
+ // { dg-do compile { target c++2a } }
+ 
+ struct S {
+   virtual constexpr int foo () const { return 42; }
+ };
+ 
+ constexpr S s;
+ constexpr auto a = &S::foo;
+ constexpr auto b = (s.*a) ();
+ constexpr auto c = (s.*&S::foo) ();
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/cpp2a/lambda-pack-init6.C gcc-9.5.0/gcc/testsuite/g++.dg/cpp2a/lambda-pack-init6.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/cpp2a/lambda-pack-init6.C	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/g++.dg/cpp2a/lambda-pack-init6.C	Thu Jan  1 00:00:00 1970
***************
*** 1,27 ****
- // PR c++/97938
- // { dg-do compile { target c++2a } }
- 
- template <typename... Args>
- int sink(Args&&... args) { return 2; }
- 
- auto fwd1(const auto&&... ts1) {
-   return
-     [...ts1 = ts1] {
-       return sink(ts1...);
-     }();
- }
- 
- template <typename T1>
- auto fwd2(const T1& t1) {
-   return
-     [] (auto&&... ts1) {
-       return
- 	[...ts1 = ts1] {
- 	  return sink(ts1...);
- 	}();
-     }();
- }
- 
- int main() {
-   return fwd1() + fwd2(1);
- }
--- 0 ----
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/debug/dwarf2/pr101378.C gcc-9.5.0/gcc/testsuite/g++.dg/debug/dwarf2/pr101378.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/debug/dwarf2/pr101378.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/debug/dwarf2/pr101378.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,13 ----
+ // PR debug/101378
+ // { dg-do compile { target c++11 } }
+ // { dg-options "-gdwarf-5 -dA" }
+ // { dg-final { scan-assembler-times "0\[^0-9x\\r\\n\]* DW_AT_data_member_location" 1 } }
+ // { dg-final { scan-assembler-times "1\[^0-9x\\r\\n\]* DW_AT_data_member_location" 1 } }
+ // { dg-final { scan-assembler-times "2\[^0-9x\\r\\n\]* DW_AT_data_member_location" 1 } }
+ // { dg-final { scan-assembler-not "-1\[^0-9x\\r\\n\]* DW_AT_data_member_location" } }
+ 
+ struct E {};
+ struct S
+ {
+   [[no_unique_address]] E e, f, g;
+ } s;
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/ext/flexary39.C gcc-9.5.0/gcc/testsuite/g++.dg/ext/flexary39.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/ext/flexary39.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/ext/flexary39.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,65 ----
+ // PR c++/88578
+ // { dg-do run }
+ // { dg-options -Wno-pedantic }
+ 
+ #define STR(s) #s
+ #define ASSERT(exp) \
+   ((exp) ? (void)0 : (void)(__builtin_printf ("%s:%i: assertion %s failed\n", \
+                      __FILE__, __LINE__, STR(exp)), \
+                       __builtin_abort ()))
+ 
+ typedef int int32_t __attribute__((mode (__SI__)));
+ 
+ struct Ax { int32_t n, a[]; };
+ struct AAx { int32_t i; Ax ax; };
+ 
+ int32_t i = 12345678;
+ 
+ void
+ test ()
+ {
+   {
+     // OK.  Does not assign any elements to flexible array.
+     Ax s = { 0 };
+     ASSERT (s.n == 0);
+   }
+   {
+     // OK only for statically allocated objects, otherwise error.
+     static Ax s = { 0, { } };
+     ASSERT (s.n == 0);
+   }
+   {
+     static Ax s = { 1, { 2 } };
+     ASSERT (s.n == 1 && s.a [0] == 2);
+   }
+   {
+     static Ax s = { 2, { 3, 4 } };
+     ASSERT (s.n = 2 && s.a [0] == 3 && s.a [1] == 4);
+   }
+   {
+     static Ax s = { 123, i };
+     ASSERT (s.n == 123 && s.a [0] == i);
+   }
+   {
+     static Ax s = { 456, { i } };
+     ASSERT (s.n == 456 && s.a [0] == i);
+   }
+   {
+     int32_t j = i + 1, k = j + 1;
+     static Ax s = { 3, { i, j, k } };
+     ASSERT (s.n == 3 && s.a [0] == i && s.a [1] == j && s.a [2] == k);
+   }
+ 
+   {
+     // OK.  Does not assign any elements to flexible array.
+     AAx s = { 1, { 2 } };
+     ASSERT (s.i == 1 && s.ax.n == 2);
+   }
+ }
+ 
+ int
+ main ()
+ {
+   test ();
+   test ();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/ext/flexary40.C gcc-9.5.0/gcc/testsuite/g++.dg/ext/flexary40.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/ext/flexary40.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/ext/flexary40.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,50 ----
+ // PR c++/102295
+ // { dg-do run }
+ // { dg-options "" }
+ 
+ struct A { int a; int b[]; };
+ struct B { B (); int k; };
+ struct C { int l; B m[]; };
+ 
+ int x[4];
+ A c = { 42, { ++x[0], ++x[1], ++x[2], ++x[3] } };
+ A d = { 43, { 0, ++x[0], ++x[1], ++x[2], ++x[3] } };
+ A e = { 44, { ++x[0], ++x[1], ++x[2], 17 } };
+ A f = { 45 };
+ C n = { 50, { B (), B () } };
+ C o = { 51, {} };
+ 
+ int
+ main ()
+ {
+   static A g = { 46, { ++x[0], ++x[1], ++x[2], ++x[3] } };
+   static A h = { 47, { 0, ++x[0], ++x[1], ++x[2], ++x[3] } };
+   static A i = { 48, { ++x[0], ++x[1], ++x[2], 18 } };
+   static A j = { 49 };
+   if (c.a != 42 || c.b[0] != 1 || c.b[1] != 1 || c.b[2] != 1 || c.b[3] != 1)
+     __builtin_abort ();
+   if (d.a != 43 || d.b[0] != 0 || d.b[1] != 2 || d.b[2] != 2 || d.b[3] != 2 || d.b[4] != 2)
+     __builtin_abort ();
+   if (e.a != 44 || e.b[0] != 3 || e.b[1] != 3 || e.b[2] != 3 || e.b[3] != 17)
+     __builtin_abort ();
+   if (f.a != 45)
+     __builtin_abort ();
+   if (g.a != 46 || g.b[0] != 4 || g.b[1] != 4 || g.b[2] != 4 || g.b[3] != 3)
+     __builtin_abort ();
+   if (h.a != 47 || h.b[0] != 0 || h.b[1] != 5 || h.b[2] != 5 || h.b[3] != 5 || h.b[4] != 4)
+     __builtin_abort ();
+   if (i.a != 48 || i.b[0] != 6 || i.b[1] != 6 || i.b[2] != 6 || i.b[3] != 18)
+     __builtin_abort ();
+   if (j.a != 49)
+     __builtin_abort ();
+   if (n.l != 50 || n.m[0].k != 42 || n.m[1].k != 42)
+     __builtin_abort ();
+   if (o.l != 51)
+     __builtin_abort ();
+   if (x[0] != 6 || x[1] != 6 || x[2] != 6 || x[3] != 4)
+     __builtin_abort ();
+ }
+ 
+ B::B () : k (42)
+ {
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/ext/va-arg-pack-3.C gcc-9.5.0/gcc/testsuite/g++.dg/ext/va-arg-pack-3.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/ext/va-arg-pack-3.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/ext/va-arg-pack-3.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,18 ----
+ // PR middle-end/100898
+ 
+ int a;
+ int bar (int, ...);
+ 
+ static inline __attribute__((always_inline)) int
+ foo (...)
+ {
+   while (a)
+     return bar (0, __builtin_va_arg_pack ());
+   return 0;
+ }
+ 
+ void
+ baz (void)
+ {
+   foo ();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/gomp/clause-3.C gcc-9.5.0/gcc/testsuite/g++.dg/gomp/clause-3.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/gomp/clause-3.C	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/g++.dg/gomp/clause-3.C	Fri May 27 07:21:11 2022
*************** foo (int x)
*** 56,62 ****
      ;
  #pragma omp p reduction (|:d) // { dg-error "user defined reduction not found for" }
      ;
! #pragma omp p reduction (&&:d) // { dg-error "user defined reduction not found for" }
      ;
  #pragma omp p copyin (d) // { dg-error "must be 'threadprivate'" }
      ;
--- 56,62 ----
      ;
  #pragma omp p reduction (|:d) // { dg-error "user defined reduction not found for" }
      ;
! #pragma omp p reduction (&:d) // { dg-error "user defined reduction not found for" }
      ;
  #pragma omp p copyin (d) // { dg-error "must be 'threadprivate'" }
      ;
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/gomp/pr101516.C gcc-9.5.0/gcc/testsuite/g++.dg/gomp/pr101516.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/gomp/pr101516.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/gomp/pr101516.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/101516
+ 
+ void
+ foo (int (&v) [])
+ {
+   #pragma omp parallel reduction (+:v)	// { dg-error "invalid use of array with unspecified bounds" }
+   ;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/init/assign2.C gcc-9.5.0/gcc/testsuite/g++.dg/init/assign2.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/init/assign2.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/init/assign2.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,6 ----
+ // PR c++/59950
+ 
+  struct Foo {};
+ 
+  int f(Foo *p);
+  int n = f(&(Foo() = Foo()));
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/init/no-elide2.C gcc-9.5.0/gcc/testsuite/g++.dg/init/no-elide2.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/init/no-elide2.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/init/no-elide2.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,32 ----
+ // PR c++/100838
+ // { dg-do run }
+ // { dg-additional-options -fno-elide-constructors }
+ 
+ extern "C" int puts (const char *);
+ 
+ int c,d;
+ class MyString {
+ public:
+   MyString(const char* s = "") {
+     puts ("ctor");
+     ++c;
+   }
+   ~MyString() {
+     puts ("dtor");
+     ++d;
+   }
+   MyString(const MyString& s) {
+     puts ("copy ctor");
+     ++c;
+   }
+   MyString& operator=(const MyString& s);
+ };
+ 
+ int main() {
+   {
+     MyString s1 = "Hello";
+     puts ("main");
+   }
+   if (c != d)
+     __builtin_abort();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/lookup/new3.C gcc-9.5.0/gcc/testsuite/g++.dg/lookup/new3.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/lookup/new3.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/lookup/new3.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,10 ----
+ // PR c++/98249
+ 
+ #include <new>
+ struct Incomplete;
+ template<class T> struct Holder { T t; };
+ Holder<Incomplete> *p;
+ void test() {
+     ::new (p) int;
+     new (p) int;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/opt/nrv20.C gcc-9.5.0/gcc/testsuite/g++.dg/opt/nrv20.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/opt/nrv20.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/opt/nrv20.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,20 ----
+ // PR c++/91217
+ // { dg-do compile { target c++11 } }
+ // { dg-additional-options -fdump-tree-gimple }
+ // { dg-final { scan-tree-dump-not "<retval> = a" "gimple" } }
+ 
+ struct A
+ {
+   int ar[42];
+ };
+ 
+ template <class T>
+ A f()
+ {
+   return [] { A a; return a; }();
+ }
+ 
+ int main()
+ {
+   f<int>();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/opt/pr104681.C gcc-9.5.0/gcc/testsuite/g++.dg/opt/pr104681.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/opt/pr104681.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/opt/pr104681.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,19 ----
+ // PR target/104681
+ // { dg-do compile }
+ // { dg-options "-O2" }
+ 
+ void bar ();
+ struct A {
+   A (bool) : a(7.0L), b(0) {}
+   long double a;
+   long b;
+ };
+ struct B {
+   void foo () { c = bar; }
+   A c;
+ };
+ struct C {
+   void baz ();
+   B d;
+ };
+ void C::baz () { d.foo (); }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/overload/builtin6.C gcc-9.5.0/gcc/testsuite/g++.dg/overload/builtin6.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/overload/builtin6.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/overload/builtin6.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,14 ----
+ // PR c++/103455
+ 
+ struct A { };
+ 
+ struct B {
+   operator A*() const;
+   template<class T> operator T*() const;
+ };
+ 
+ typedef void (A::*F)();
+ 
+ void f(B b, F pmf) {
+   (b->*pmf)();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/spellcheck-pr104806.C gcc-9.5.0/gcc/testsuite/g++.dg/spellcheck-pr104806.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/spellcheck-pr104806.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/spellcheck-pr104806.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,5 ----
+ // PR c++/104806
+ 
+ struct S {};
+ int main() { S s; s.__d; }	// { dg-bogus "'struct S' has no member named '__d'; did you mean '__\[a-z]* '" }
+ 				// { dg-error "'struct S' has no member named '__d'" "" { target *-*-* } .-1 }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/template/access39.C gcc-9.5.0/gcc/testsuite/g++.dg/template/access39.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/template/access39.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/template/access39.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/101078
+ 
+ struct A {
+   static void f();
+ };
+ 
+ template<class>
+ struct B : private A {
+   struct C {
+     void g() { f(); }
+     void g2() { B::f(); }
+   };
+ };
+ 
+ int main() {
+   B<int>::C().g();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/template/conv19.C gcc-9.5.0/gcc/testsuite/g++.dg/template/conv19.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/template/conv19.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/template/conv19.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,34 ----
+ // PR c++/101698
+ // { dg-do compile { target c++11 } }
+ 
+ class Base {
+  public:
+   template <class T>
+   operator const T&() const = delete;
+ 
+   virtual operator const int&() const {
+     static int res;
+     return res;
+   }
+ };
+ 
+ template <class T>
+ class Derive : public Base {
+  public:
+   operator const T&() const override {
+     using Y = int;
+     //static_assert(__is_same_as(T,Y), "");
+ 
+     static int res;
+ 
+     res = Base::operator const Y&(); // OK
+     res = Base::operator const T&(); // { dg-bogus "deleted" }
+     return res;
+   }
+ };
+ 
+ int main() {
+   Derive<int> a;
+   const int& b = a;
+   (void)b;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/template/ref11.C gcc-9.5.0/gcc/testsuite/g++.dg/template/ref11.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/template/ref11.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/template/ref11.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,9 ----
+ // PR c++/83476
+ 
+ int n;
+ template <int& V> struct A {};
+ template <int& V> void f(A<V>);
+ int main() {
+   A<n> a;
+   f(a);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/torture/pr103361.C gcc-9.5.0/gcc/testsuite/g++.dg/torture/pr103361.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/torture/pr103361.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/torture/pr103361.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,18 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-floop-unroll-and-jam" } */
+ 
+ char a, b;
+ extern unsigned short c[];
+ extern bool d[];
+ const unsigned short &e(const unsigned short &f, const unsigned short &g) {
+   if (g < f)
+     return g;
+   return f;
+ }
+ void k() {
+   for (int h = 0; b; h += 3)
+     for (unsigned long i = 0; i < 11104842004558084287ULL;
+          i += -11104842004558084300ULL)
+       for (bool j(e(6, e(6, c[h + i]))); j < (bool)a; j = 7)
+         d[7] = 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/torture/pr105189.C gcc-9.5.0/gcc/testsuite/g++.dg/torture/pr105189.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/torture/pr105189.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/torture/pr105189.C	Fri May 27 07:21:11 2022
***************
*** 0 ****
--- 1,19 ----
+ // PR tree-optimization/105189
+ // { dg-do run }
+ 
+ int
+ foo ()
+ {
+   return -1;
+ }
+ 
+ int
+ main ()
+ {
+   int c = foo () >= 0U && 1;
+   if (c != 1)
+     __builtin_abort ();
+   int d = foo () >= 3U && 1;
+   if (d != 1)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/ubsan/pr101210.C gcc-9.5.0/gcc/testsuite/g++.dg/ubsan/pr101210.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/ubsan/pr101210.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/ubsan/pr101210.C	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,13 ----
+ // PR c++/101210
+ // { dg-do run }
+ // { dg-options "-fsanitize=null,alignment -fno-sanitize-recover=null,alignment" }
+ 
+ int v[2];
+ int
+ main ()
+ {
+   int x;
+   int &y = x;
+   v[0] = reinterpret_cast<__INTPTR_TYPE__>(&y) == 0;
+   v[1] = reinterpret_cast<__INTPTR_TYPE__>(&y) == 1;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.dg/ubsan/pr105093.C gcc-9.5.0/gcc/testsuite/g++.dg/ubsan/pr105093.C
*** gcc-9.4.0/gcc/testsuite/g++.dg/ubsan/pr105093.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.dg/ubsan/pr105093.C	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,12 ----
+ // PR sanitizer/105093
+ // { dg-do compile }
+ // { dg-options "-O2 -fsanitize=undefined -Wno-volatile" }
+ 
+ struct X { X (); ~X (); };
+ 
+ volatile X
+ foo ()
+ {
+   X x;
+   return x;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.target/i386/pr102295.C gcc-9.5.0/gcc/testsuite/g++.target/i386/pr102295.C
*** gcc-9.4.0/gcc/testsuite/g++.target/i386/pr102295.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.target/i386/pr102295.C	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,12 ----
+ // PR c++/102295
+ // { dg-do compile { target *-*-linux* } }
+ // { dg-options "-Wno-pedantic" }
+ 
+ struct S {
+   int a;
+   int b[];
+ } S;
+ 
+ struct S s = { 1, { 2, 3 } };
+ 
+ /* { dg-final { scan-assembler ".size\[\t \]*s, 12" } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.target/i386/pr102548.C gcc-9.5.0/gcc/testsuite/g++.target/i386/pr102548.C
*** gcc-9.4.0/gcc/testsuite/g++.target/i386/pr102548.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.target/i386/pr102548.C	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,12 ----
+ // PR c++/102548
+ // { dg-do compile { target { c++14 && ia32 } } }
+ 
+ typedef decltype(sizeof(0)) size_t;
+ struct tm;
+ extern "C" size_t __attribute__((__cdecl__)) strftime (char *, size_t, const char *, const struct tm *);
+ 
+ auto
+ foo (void)
+ {
+   return strftime;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/g++.target/i386/vec-tmpl1.C gcc-9.5.0/gcc/testsuite/g++.target/i386/vec-tmpl1.C
*** gcc-9.4.0/gcc/testsuite/g++.target/i386/vec-tmpl1.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/g++.target/i386/vec-tmpl1.C	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/65211
+ // { dg-additional-options "-Wno-psabi" }
+ // { dg-final { scan-assembler-not "movdqa" } }
+ 
+ typedef unsigned v4ui __attribute__ ((vector_size(16), aligned (16)));
+ 
+ template<int I>
+ static v4ui t1(unsigned *dest_data)
+ {
+   typedef unsigned v4ui_1 __attribute__ ((vector_size (16), aligned (4)));
+   return ((const v4ui_1*)dest_data)[0];
+ }
+ 
+ v4ui f(unsigned int *array)
+ {
+     return t1<1>(array+7);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.c-torture/compile/pr101562.c gcc-9.5.0/gcc/testsuite/gcc.c-torture/compile/pr101562.c
*** gcc-9.4.0/gcc/testsuite/gcc.c-torture/compile/pr101562.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.c-torture/compile/pr101562.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,21 ----
+ /* PR rtl-optimization/101562 */
+ 
+ struct S { char c; };
+ void baz (struct S a, struct S b);
+ 
+ void
+ foo (void)
+ {
+   struct S x[1];
+   *(short *)&x[0] = 256;
+   baz (x[0], x[1]);
+ }
+ 
+ void
+ bar (void)
+ {
+   struct S x[1];
+   x[0].c = 0;
+   x[1].c = 1;
+   baz (x[0], x[1]);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.c-torture/execute/bitfld-10.c gcc-9.5.0/gcc/testsuite/gcc.c-torture/execute/bitfld-10.c
*** gcc-9.4.0/gcc/testsuite/gcc.c-torture/execute/bitfld-10.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.c-torture/execute/bitfld-10.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,24 ----
+ /* PR tree-optimization/102622 */
+ /* Wrong code introduced due to phi-opt
+    introducing undefined signed interger overflow
+    with one bit signed integer negation. */
+ 
+ struct f{signed t:1;};
+ int g(struct f *a, int t) __attribute__((noipa));
+ int g(struct f *a, int t)
+ {
+     if (t)
+       a->t = -1;
+     else
+       a->t = 0;
+     int t1 = a->t;
+     if (t1) return 1;
+     return t1;
+ }
+ 
+ int main(void)
+ {
+     struct f a;
+     if (!g(&a, 1))  __builtin_abort();
+     return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.c-torture/execute/pr103052.c gcc-9.5.0/gcc/testsuite/gcc.c-torture/execute/pr103052.c
*** gcc-9.4.0/gcc/testsuite/gcc.c-torture/execute/pr103052.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.c-torture/execute/pr103052.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,35 ----
+ static void js_error(void);
+ static int top;
+ static void js_throw(void)
+ {
+ 	__builtin_exit(0);
+ }
+ 
+ // LOCATION A -- if js_pop is here, the bug is present
+ static void js_pop(void)
+ {
+ 	if (++top > 100)
+ 		js_error();
+ }
+ 
+ static void jsC_error(const char *v)
+ {
+ 	if (v[0] == 0)
+ 		js_error();
+ 	js_throw();
+ }
+ static void checkfutureword(const char *exp)
+ {
+ 	if (!__builtin_strcmp(exp, "const"))
+ 		jsC_error("boom");
+ }
+ static void js_error(void) {
+ 	checkfutureword("foo");
+ 	checkfutureword("bar");
+ 	js_pop();
+ }
+ int main(void)
+ {
+ 	checkfutureword("const");
+ 	__builtin_abort ();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/asan/pr104449.c gcc-9.5.0/gcc/testsuite/gcc.dg/asan/pr104449.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/asan/pr104449.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/asan/pr104449.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,12 ----
+ /* PR sanitizer/104449 */
+ /* { dg-do compile } */
+ /* { dg-options "-fexceptions -fsanitize=address -fstack-check=generic" } */
+ 
+ void bar (int *);
+ 
+ void
+ foo (void)
+ {
+   int a[16];
+   bar (a);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/asan/pr105214.c gcc-9.5.0/gcc/testsuite/gcc.dg/asan/pr105214.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/asan/pr105214.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/asan/pr105214.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,16 ----
+ /* PR target/105214 */
+ /* { dg-do compile } */
+ /* { dg-skip-if "" { *-*-* } { "*" } { "-O2" } } */
+ /* { dg-options "-Ofast -fnon-call-exceptions -fexceptions -fstack-check=generic -fsanitize=address -fno-finite-math-only -fsignaling-nans -fno-associative-math" } */
+ 
+ float f;
+ void bar (int *);
+ 
+ void
+ foo (void)
+ {
+   int a[1600], b[1];
+   f += __builtin_log1pf (f);
+   bar (a);
+   bar (b);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/asan/pr105396.c gcc-9.5.0/gcc/testsuite/gcc.dg/asan/pr105396.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/asan/pr105396.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/asan/pr105396.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ /* PR sanitizer/105396 */
+ /* { dg-do run } */
+ /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */
+ /* { dg-shouldfail "asan" } */
+ 
+ int
+ main ()
+ {
+   int a;
+   int *b[1];
+   int c[10];
+   int d[1][1];
+   for (a = 0; a < 1; a++)
+     d[1][a] = 0;
+   return 0;
+ }
+ 
+ /* { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow on address.*(\n|\r\n|\r)" } */
+ /* { dg-output "WRITE of size.*" } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/dfp/pr104510.c gcc-9.5.0/gcc/testsuite/gcc.dg/dfp/pr104510.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/dfp/pr104510.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/dfp/pr104510.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,12 ----
+ /* PR c/104510 */
+ /* { dg-do compile } */
+ /* { dg-options "" } */
+ 
+ float f;
+ _Decimal64 d;
+ 
+ int
+ foo (void)
+ {
+   return d > (_Decimal32) (_Decimal64) f;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/dfp/pr104557.c gcc-9.5.0/gcc/testsuite/gcc.dg/dfp/pr104557.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/dfp/pr104557.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/dfp/pr104557.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,22 ----
+ /* PR debug/104557 */
+ /* { dg-do compile } */
+ /* { dg-options "-O -g -Wno-psabi" } */
+ 
+ typedef int __attribute__((__vector_size__ (32))) U;
+ typedef double __attribute__((__vector_size__ (32))) F;
+ typedef _Decimal64 __attribute__((__vector_size__ (32))) D;
+ 
+ F
+ bar (void)
+ {
+   F f = __builtin_convertvector ((D) (-10.d < (D) ((D) (U) { 0, 0, 0, 0, 0, 0, 0, -0xe0 }
+ 						   >= (D) { 80000000 })), F);
+   return f;
+ }
+ 
+ F
+ foo ()
+ {
+   F x = bar ();
+   return x;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/gomp/clause-1.c gcc-9.5.0/gcc/testsuite/gcc.dg/gomp/clause-1.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/gomp/clause-1.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.dg/gomp/clause-1.c	Fri May 27 07:21:12 2022
*************** foo (int x)
*** 56,62 ****
      ;
  #pragma omp p reduction (|:d) /* { dg-error "has invalid type for" } */
      ;
! #pragma omp p reduction (&&:d) /* { dg-error "has invalid type for" } */
      ;
  #pragma omp p copyin (d) /* { dg-error "must be 'threadprivate'" } */
      ;
--- 56,62 ----
      ;
  #pragma omp p reduction (|:d) /* { dg-error "has invalid type for" } */
      ;
! #pragma omp p reduction (&:d) /* { dg-error "has invalid type for" } */
      ;
  #pragma omp p copyin (d) /* { dg-error "must be 'threadprivate'" } */
      ;
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/gomp/pr100508.c gcc-9.5.0/gcc/testsuite/gcc.dg/gomp/pr100508.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/gomp/pr100508.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/gomp/pr100508.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,14 ----
+ /* PR middle-end/100508 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -g -fopenmp-simd" } */
+ 
+ typedef int __attribute__((__vector_size__(32))) V;
+ V j;
+ 
+ #pragma omp declare simd
+ int
+ foo (void)
+ {
+   V m = j;
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/guality/pr101905.c gcc-9.5.0/gcc/testsuite/gcc.dg/guality/pr101905.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/guality/pr101905.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/guality/pr101905.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
+ /* { dg-options "-g -ffixed-r15" } */
+ /* { dg-skip-if "" { *-*-* }  { "*" } { "-O0" } } */
+ 
+ register unsigned long long regVar asm ("r15");
+ 
+ int
+ main()
+ {
+   regVar = 0xdeadbeefcafebabeULL;
+   asm ("nop" : "+r" (regVar));
+   asm volatile ("nop");		/* { dg-final { gdb-test . "regVar" "0xdeadbeefcafebabeULL" } } */
+   asm volatile ("nop" : : "r" (regVar));
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/guality/pr49888.c gcc-9.5.0/gcc/testsuite/gcc.dg/guality/pr49888.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/guality/pr49888.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.dg/guality/pr49888.c	Fri May 27 07:21:12 2022
***************
*** 4,10 ****
  
  static int v __attribute__((used));
  
! static void __attribute__((noinline, noclone))
  f (int *p)
  {
    int c = *p;
--- 4,10 ----
  
  static int v __attribute__((used));
  
! static void __attribute__((noipa))
  f (int *p)
  {
    int c = *p;
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/lto/pr101868_0.c gcc-9.5.0/gcc/testsuite/gcc.dg/lto/pr101868_0.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/lto/pr101868_0.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/lto/pr101868_0.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,33 ----
+ /* { dg-lto-do run } */
+ /* { dg-lto-options { "-O2 -fno-strict-aliasing -flto" } } */
+ 
+ typedef unsigned long VALUE;
+ 
+ __attribute__ ((cold))
+ void rb_check_type(VALUE, int);
+ 
+ static VALUE
+ repro(VALUE dummy, VALUE hash)
+ {
+     if (hash == 0) {
+         rb_check_type(hash, 1);
+     }
+     else if (*(long *)hash) {
+         rb_check_type(hash, 1);
+     }
+ 
+ 
+     return *(long *)hash;
+ }
+ 
+ static VALUE (*that)(VALUE dummy, VALUE hash) = repro;
+ 
+ int
+ main(int argc, char **argv)
+ {
+         argc--;
+         that(0, argc);
+ 
+         rb_check_type(argc, argc);
+ 
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/lto/pr101868_1.c gcc-9.5.0/gcc/testsuite/gcc.dg/lto/pr101868_1.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/lto/pr101868_1.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/lto/pr101868_1.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,23 ----
+ typedef unsigned long VALUE;
+ 
+ 
+ __attribute__ ((noreturn)) void rexc_raise(VALUE mesg);
+ 
+ VALUE rb_donothing(VALUE klass);
+ 
+ static void
+ funexpected_type(VALUE x, int xt, int t)
+ {
+     rexc_raise(rb_donothing(0));
+ }
+ 
+ __attribute__ ((cold))
+ void
+ rb_check_type(VALUE x, int t)
+ {
+     int xt;
+ 
+     if (x == 0) {
+         funexpected_type(x, xt, t);
+     }
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/lto/pr101868_2.c gcc-9.5.0/gcc/testsuite/gcc.dg/lto/pr101868_2.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/lto/pr101868_2.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/lto/pr101868_2.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ typedef unsigned long VALUE;
+ 
+ static void thing(void) {}
+ static void (*ptr)(void) = &thing;
+ 
+ VALUE
+ rb_donothing(VALUE klass)
+ {
+         ptr();
+         return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/lto/pr101868_3.c gcc-9.5.0/gcc/testsuite/gcc.dg/lto/pr101868_3.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/lto/pr101868_3.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/lto/pr101868_3.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,8 ----
+ typedef unsigned long VALUE;
+ 
+ __attribute__((noreturn))
+ void
+ rexc_raise(VALUE mesg)
+ {
+         __builtin_exit(0);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr100509.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr100509.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr100509.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr100509.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,9 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O" } */
+ 
+ struct X {
+   int a;
+ };
+ const int a = 0;
+ static struct X A __attribute__((alias("a")));
+ void foo() { struct X b = A; }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr101062.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr101062.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr101062.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr101062.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,29 ----
+ /* PR middle-end/101062 */
+ /* { dg-do run } */
+ /* { dg-options "-O2 -fno-toplevel-reorder -frename-registers" } */
+ 
+ union U { signed b : 5; };
+ int c;
+ volatile union U d[7] = { { 8 } };
+ short e = 1;
+ 
+ __attribute__((noipa)) void
+ foo ()
+ {
+   d[6].b = 0;
+   d[6].b = 0;
+   d[6].b = 0;
+   d[6].b = 0;
+   d[6].b = 0;
+   e = 0;
+   c = 0;
+ }
+ 
+ int
+ main ()
+ {
+   foo ();
+   if (e != 0)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr101171.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr101171.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr101171.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr101171.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,13 ----
+ /* PR c/101171 */
+ /* { dg-do compile } */
+ /* { dg-options "" } */
+ 
+ extern void foo (void);
+ int x = 0x1234;
+ 
+ void
+ bar (void)
+ {
+   if (x != (sizeof ((enum T) 0x1234)))	/* { dg-error "conversion to incomplete type" } */
+     foo ();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr101266.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr101266.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr101266.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr101266.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,8 ----
+ /* PR debug/101266 */
+ /* { dg-do compile } */
+ /* { dg-options "-g -O2" } */
+ 
+ void
+ foo (int (*p)[(int){1}])
+ {
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr101384.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr101384.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr101384.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr101384.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,39 ----
+ /* PR target/101384 */
+ /* { dg-do run } */
+ /* { dg-options "-O2 -Wno-psabi -w" } */
+ 
+ typedef unsigned char __attribute__((__vector_size__ (16))) U;
+ typedef unsigned short __attribute__((__vector_size__ (8 * sizeof (short)))) V;
+ 
+ U u;
+ V v;
+ 
+ __attribute__((noipa)) U
+ foo (void)
+ {
+   U y = (U) { 0x80, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff,
+               0x80, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff } + u;
+   return y;
+ }
+ 
+ __attribute__((noipa)) V
+ bar (void)
+ {
+   V y = (V) { 0x8000, 0xffff, 0x8000, 0xffff,
+               0x8000, 0xffff, 0x8000, 0xffff } + v;
+   return y;
+ }
+ 
+ int
+ main ()
+ {
+   U x = foo ();
+   for (unsigned i = 0; i < 16; i++)
+     if (x[i] != ((i & 3) ? 0xff : 0x80))
+       __builtin_abort ();
+   V y = bar ();
+   for (unsigned i = 0; i < 8; i++)
+     if (y[i] != ((i & 1) ? 0xffff : 0x8000))
+       __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr102140.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr102140.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr102140.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr102140.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,23 ----
+ /* PR target/102140 */
+ /* { dg-do compile { target int128 } } */
+ /* { dg-options "-Og -fipa-cp -fno-tree-ccp -fno-tree-ter -Wno-psabi" } */
+ 
+ typedef int __attribute__((__vector_size__ (64))) U;
+ typedef __int128 __attribute__((__vector_size__ (64))) V;
+ 
+ int a, b;
+ 
+ static void
+ bar (char c, V v)
+ {
+   v *= c;
+   U u = a + (U) v;
+   (union { U b; }) { u };
+   b = 0;
+ }
+ 
+ void
+ foo (void)
+ {
+   bar (1, (V){((__int128) 9223372036854775808ULL) << 64});
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr102224.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr102224.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr102224.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr102224.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,49 ----
+ /* PR target/102224 */
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ 
+ __attribute__((noipa)) float
+ foo (float x)
+ {
+   return x * __builtin_copysignf (1.0f, x);
+ }
+ 
+ __attribute__((noipa)) float
+ bar (float x, float y)
+ {
+   return x * __builtin_copysignf (1.0f, y);
+ }
+ 
+ __attribute__((noipa)) float
+ baz (float z, float x)
+ {
+   return x * __builtin_copysignf (1.0f, x);
+ }
+ 
+ __attribute__((noipa)) float
+ qux (float z, float x, float y)
+ {
+   return x * __builtin_copysignf (1.0f, y);
+ }
+ 
+ int
+ main ()
+ {
+   if (foo (1.0f) != 1.0f
+       || foo (-4.0f) != 4.0f)
+     __builtin_abort ();
+   if (bar (1.25f, 7.25f) != 1.25f
+       || bar (1.75f, -3.25f) != -1.75f
+       || bar (-2.25f, 7.5f) != -2.25f
+       || bar (-3.0f, -4.0f) != 3.0f)
+     __builtin_abort ();
+   if (baz (5.5f, 1.0f) != 1.0f
+       || baz (4.25f, -4.0f) != 4.0f)
+     __builtin_abort ();
+   if (qux (1.0f, 1.25f, 7.25f) != 1.25f
+       || qux (2.0f, 1.75f, -3.25f) != -1.75f
+       || qux (3.0f, -2.25f, 7.5f) != -2.25f
+       || qux (4.0f, -3.0f, -4.0f) != 3.0f)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr102478.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr102478.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr102478.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr102478.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,29 ----
+ /* PR rtl-optimization/102478 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fno-if-conversion -Wno-div-by-zero" } */
+ 
+ unsigned a, b, c;
+ 
+ void
+ foo (void)
+ {
+   c |= __builtin_expect (65535 / a, 0) && 0 / 0;
+   b = 0;
+ }
+ 
+ void
+ bar (void)
+ {
+   if (a <= 65535)
+     __builtin_trap ();
+   b = 0;
+ }
+ 
+ void
+ baz (void)
+ {
+   if (a > 65535)
+     b = 0;
+   else
+     __builtin_trap ();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr102798.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr102798.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr102798.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr102798.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,41 ----
+ /* { dg-do run } */
+ /* { dg-options "-O3 -fno-tree-pta" } */
+ 
+ typedef __SIZE_TYPE__ size_t;
+ 
+ __attribute__((__noipa__))
+ void BUF_reverse (unsigned char *out, const unsigned char *in, size_t size)
+ {
+   size_t i;
+   if (in)
+     {
+       out += size - 1;
+       for (i = 0; i < size; i++)
+         *out++ = *in++;
+     }
+   else
+     {
+       unsigned char *q;
+       char c;
+       q = out + size - 1;
+       for (i = 0; i < size ; i++)
+             {
+               *out++ = 1;
+             }
+     }
+ }
+ 
+ int
+ main (void)
+ {
+   unsigned char buf[40];
+   unsigned char buf1[40];
+   for (unsigned i = 0; i < sizeof (buf); i++)
+     buf[i] = i;
+   BUF_reverse (buf, 0, sizeof (buf));
+   for (unsigned i = 0; i < sizeof (buf); i++)
+     if (buf[i] != 1)
+       __builtin_abort ();
+ 
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr103248.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr103248.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr103248.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr103248.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target fixed_point } */
+ /* { dg-options "-fnon-call-exceptions" } */
+ 
+ _Accum sa;
+ int c;
+ 
+ void div_csa() { c /= sa; }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr103837.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr103837.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr103837.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr103837.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ /* PR rtl-optimization/103837 */
+ /* { dg-do compile } */
+ /* { dg-options "-Og -fcompare-debug -fmove-loop-invariants -fnon-call-exceptions -fexceptions -fdelete-dead-exceptions -fno-tree-dce -w" } */
+ 
+ unsigned long int
+ foo (int x)
+ {
+   double a;
+   int b;
+   unsigned long int ret = a;
+ 
+   for (;;)
+     {
+       b = !!((int) a);
+       a = x;
+     }
+ 
+   return ret;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr103860.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr103860.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr103860.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr103860.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,31 ----
+ /* PR rtl-optimization/103860 */
+ /* { dg-do run } */
+ /* { dg-options "-O3" } */
+ /* { dg-additional-options "-fPIC" { target fpic } } */
+ 
+ static int d, *e;
+ int f;
+ 
+ __attribute__((noinline)) signed char
+ foo (signed char b, signed char c)
+ {
+   return b + c;
+ }
+ 
+ int
+ main ()
+ {
+   signed char l;
+   for (l = -1; l; l = foo (l, 1))
+     {
+       while (d < 0)
+ 	;
+       if (d > 0)
+ 	{
+ 	  f = 0;
+ 	  *e = 0;
+ 	}
+     }
+   d = 0;
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr104675-1.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr104675-1.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr104675-1.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr104675-1.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,29 ----
+ /* PR tree-optimization/104675 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ 
+ _Complex int
+ foo (_Complex int a)
+ {
+   return (-1 + -1i) - a;
+ }
+ 
+ _Complex int
+ bar (_Complex int a)
+ {
+   return -a - (1 + 1i);
+ }
+ 
+ _Complex int
+ baz (_Complex int a)
+ {
+   _Complex int b = -1 + -1i;
+   return b - a;
+ }
+ 
+ _Complex int
+ qux (_Complex int a)
+ {
+   _Complex int b = 1 + 1i;
+   return -a - b;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr104675-2.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr104675-2.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr104675-2.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr104675-2.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ /* PR tree-optimization/104675 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ 
+ void baz (int i);
+ 
+ void
+ bar (_Complex int c, short s)
+ {
+   c -= s;
+   baz (__real__ c + __imag__ c);
+ }
+ 
+ void
+ foo (void)
+ {
+   bar (-1 - 1i, 0);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr104675-3.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr104675-3.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr104675-3.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr104675-3.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,29 ----
+ /* PR tree-optimization/104675 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ 
+ _Complex unsigned int
+ foo (_Complex unsigned int x)
+ {
+   return (x / 2) * 2;
+ }
+ 
+ _Complex unsigned int
+ bar (_Complex unsigned int x)
+ {
+   return (x * 2) / 2;
+ }
+ 
+ _Complex unsigned int
+ baz (_Complex unsigned int x)
+ {
+   _Complex unsigned int y = x / 2;
+   return y * 2;
+ }
+ 
+ _Complex unsigned int
+ qux (_Complex unsigned int x)
+ {
+   _Complex unsigned int y = x * 2;
+   return y / 2;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr104786.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr104786.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr104786.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr104786.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do compile } */
+ /* { dg-options "-std=gnu90" } */
+ 
+ void h(void *di, int num)
+ {
+   char (*t)[num] = di;
+   __asm__ ("" : "=X"( *t));
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr105211.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr105211.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr105211.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr105211.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ /* PR rtl-optimization/105211 */
+ /* { dg-do compile } */
+ /* { dg-options "-Os -ffast-math" } */
+ /* { dg-add-options float32 } */
+ /* { dg-require-effective-target float32 } */
+ 
+ short
+ foo (_Float32 f)
+ {
+   return __builtin_roundf (f);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr105257.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr105257.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr105257.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr105257.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,16 ----
+ /* PR target/105257 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ /* { dg-additional-options "-fpic" { target fpic } } */
+ 
+ extern int sigsetjmp (void **, int);
+ void *buf[32];
+ void (*fn) (void);
+ 
+ const char *
+ bar (void)
+ {
+   sigsetjmp (buf, 0);
+   fn ();
+   return "";
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr78213.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr78213.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr78213.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr78213.c	Fri May 27 07:21:12 2022
***************
*** 1,12 ****
  /* { dg-do compile } */
! /* { dg-options "-fself-test" } */
! 
! /* When this test was written -fself-test took no argument, but it
!    has subsequently gained a mandatory argument, giving the path
!    to selftest support files (within the srcdir).
!    It's not clear how to provide this path sanely from
!    within DejaGnu, so for now, this test is disabled.  */
! /* { dg-skip-if "" { *-*-* } } */
  
  /* Verify that -fself-test does not fail on a non empty source.  */
  
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fself-test=$srcdir/selftests" } */
  
  /* Verify that -fself-test does not fail on a non empty source.  */
  
*************** int i;
*** 15,18 ****
    while (i--)
      bar();
  }
! /* { dg-message "fself\-test: " "-fself-test" { target *-*-* } 0 } */
--- 8,12 ----
    while (i--)
      bar();
  }
! 
! /* { dg-regexp {^-fself-test: [0-9]+ pass\(es\) in [.0-9]+ seconds$|.*: note: self-tests are not enabled in this build$} } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/pr97953.c gcc-9.5.0/gcc/testsuite/gcc.dg/pr97953.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/pr97953.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/pr97953.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,24 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -fno-tree-fre" } */
+ 
+ int __attribute__((noipa))
+ foo (int flag, int *p)
+ {
+   int val = *p;
+   if (flag)
+     {
+       if (val != 1)
+         __builtin_unreachable ();
+       return 0;
+     }
+   int val2 = *p;
+   return val2 == 2;
+ }
+ 
+ int main()
+ {
+   int i = 2;
+   if (foo (0, &i) != 1)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr100672.c gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr100672.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr100672.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr100672.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ /* { dg-do run } */
+ /* { dg-additional-options "-w -Wno-psabi" } */
+ 
+ typedef long long __attribute__((__vector_size__ (4 * sizeof (long long)))) V;
+ 
+ V
+ foo (V v)
+ {
+   return -(v >> 1);
+ }
+ 
+ int
+ main (void)
+ {
+   V v = foo ((V) { -2, -4, -6, -8 });
+   if (v[0] != 1 || v[1] != 2 || v[2] != 3 || v[3] != 4)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr100786.c gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr100786.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr100786.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr100786.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,9 ----
+ /* { dg-do compile } */
+ 
+ const double a = 0;
+ extern int b __attribute__((alias("a")));
+ void inc() { b++; }
+ 
+ const int a2 = 0;
+ extern double b2 __attribute__((alias("a2")));
+ void inc2() { b2+=1; }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr100934.c gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr100934.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr100934.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr100934.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,21 ----
+ /* { dg-do run } */
+ 
+ int a, b, c, d, e;
+ int main()
+ {
+   int f = 0, g = 0;
+   for (; f < 2; f++)
+     {
+       int h, i;
+       for (h = 0; h < 2; h++)
+ 	{
+ 	  b = e = g ? a % g : 0;
+ 	  c = d;
+ 	  for (i = 0; i < 1; i++)
+ 	    g = 0;
+ 	  for (; g < 2; g++)
+ 	    ;
+ 	}
+     }
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr101105.c gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr101105.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr101105.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr101105.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ /* { dg-do run } */
+ 
+ short a;
+ int b[5][4] = {2, 2};
+ int d;
+ short e(int f) { return f == 0 || a && f == 1 ? 0 : a; }
+ int main() {
+   int g, h;
+   g = 3;
+   for (; g >= 0; g--) {
+     h = 3;
+     for (; h >= 0; h--)
+       b[g][h] = b[0][1] && e(1);
+   }
+   d = b[0][1];
+   if (d != 0)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr101173.c gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr101173.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr101173.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr101173.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ /* { dg-do run } */
+ /* { dg-additional-options "-floop-interchange" } */
+ 
+ int a[6][9];
+ int main()
+ {
+   a[1][3] = 8;
+   for (int b = 1; b <= 5; b++)
+     for (int d = 0; d <= 5; d++)
+ #pragma GCC unroll 0
+       for (int c = 0; c <= 5; c++)
+         a[b][c] = a[b][c + 2] & 216;
+   for (int e = 0; e < 6; e++)
+     for (int f = 0; f < 9; f++)
+       if (a[e][f] != 0)
+         __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr101394.c gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr101394.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr101394.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr101394.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ /* { dg-do compile } */
+ 
+ int a, b, c, d;
+ void h();
+ int e() __attribute__((returns_twice));
+ void f() {
+   int *g = (int *)(__INTPTR_TYPE__)c;
+   if (b) {
+     h();
+     g--;
+     if (a)
+       if (d)
+         h();
+   }
+   if (g++)
+     e();
+   c = (__INTPTR_TYPE__)g;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr103181.c gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr103181.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr103181.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr103181.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,24 ----
+ /* { dg-do run } */
+ 
+ typedef unsigned char __attribute__((__vector_size__ (2))) U;
+ typedef unsigned short S;
+ typedef unsigned int __attribute__((__vector_size__ (64))) V;
+ 
+ V v;
+ U a, b, c;
+ 
+ U
+ foo (S s)
+ {
+   v += __builtin_bswap16 (s) || (S) (a / ((U){3, 0}));
+   return b + c;
+ }
+ 
+ int
+ main (void)
+ {
+   U x = foo (4);
+   if (x[0] || x[1])
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr103237.c gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr103237.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr103237.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr103237.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,24 ----
+ /* { dg-do run } */
+ /* { dg-additional-options "-ftree-vectorize" } */
+ 
+ int g1;
+ unsigned int g2 = -1U;
+ static void __attribute__((noipa))
+ func_1()
+ {
+   int *l_1 = &g1;
+   for (int g3a = 0; g3a != 4; g3a++)
+     for (int l_2 = 0; l_2 <= 3; l_2++)
+       {
+         unsigned int *l_3 = &g2;
+         *l_1 = *l_3 ^= 1;
+       }
+ }
+ int
+ main()
+ {
+   func_1();
+   if (g1 != -1)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr96522.c gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr96522.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/torture/pr96522.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/torture/pr96522.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,36 ----
+ /* { dg-do run } */
+ /* { dg-additional-options "-fno-tree-pta" } */
+ 
+ __attribute__((noipa)) void
+ bar (void)
+ {
+   volatile int v = 1;
+   if (v)
+     __builtin_abort ();
+ }
+ 
+ __attribute__((noipa)) void
+ baz (void)
+ {
+ }
+ 
+ __attribute__((noipa)) void
+ foo (int n, double *p, double *x)
+ {
+   if (n < 10 && p != 0)
+     for (int i = 0; i < 10; i++)
+       if (x[0] < p[i])
+         x[i] = 0;
+   if (p != 0)
+     bar ();
+   else
+     baz ();
+ }
+ 
+ int
+ main ()
+ {
+   double arr[10];
+   foo (1000, 0, arr);
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c gcc-9.5.0/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,22 ----
+ /* PR/101280 */
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -fdump-tree-linterchange-details" } */
+ 
+ void dummy (double *, double *);
+ #define LEN_2D 32
+ double aa[LEN_2D][LEN_2D], bb[LEN_2D][LEN_2D];
+ double s231(int iterations)
+ {
+ //    loop interchange
+ //    loop with data dependency
+     for (int nl = 0; nl < 100*(iterations/LEN_2D); nl++) {
+         for (int i = 0; i < LEN_2D; ++i) {
+             for (int j = 1; j < LEN_2D; j++) {
+                 aa[j][i] = aa[j - 1][i] + bb[j][i];
+             }
+         }
+         dummy(aa[0],bb[0]);
+     }
+ }
+ 
+ /* { dg-final { scan-tree-dump "loops interchanged" "linterchange" } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/tree-ssa/pr101824.c gcc-9.5.0/gcc/testsuite/gcc.dg/tree-ssa/pr101824.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/tree-ssa/pr101824.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/tree-ssa/pr101824.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -fdump-tree-pcom-details -fdump-tree-optimized" } */
+ 
+ int main()
+ {
+   volatile int y;
+   void bar()
+     {
+       __builtin_printf ("%d", y);
+     }
+   while (y)
+     ;
+   return 0;
+ }
+ 
+ /* Make sure the load from y is correctly interpreted as volatile, even
+    when going through FRAME.  */
+ /* { dg-final { scan-tree-dump-not "Executing predictive commoning" "pcom" } } */
+ /* { dg-final { scan-tree-dump " ={v} FRAME" "optimized" } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.dg/tree-ssa/pr97456.c gcc-9.5.0/gcc/testsuite/gcc.dg/tree-ssa/pr97456.c
*** gcc-9.4.0/gcc/testsuite/gcc.dg/tree-ssa/pr97456.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.dg/tree-ssa/pr97456.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,40 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -fwhole-program" } */
+ 
+ 
+ float val2 = 1.710780f;
+ float val3;
+ volatile float vf;
+ 
+ int __attribute__((noipa))
+ get_bool (void)
+ {
+   return 1;
+ }
+ 
+ int __attribute__((noinline))
+ wrong (float *pos)
+ {
+   _Complex float a;
+ 
+   __real__ a = *pos;
+   __imag__ a = *pos;
+ 
+   _Complex float b = 0 + 0i;
+ 
+   b = b + a;
+ 
+   if (b == 0.0f)
+     return 1;
+ 
+   vf = __imag__ b;
+   return 0;
+ }
+ 
+ int main(int argc, char **argv) {
+   float val = get_bool () == 1 ? val2 : val3;
+ 
+   if ((wrong(&val), wrong(&val)))
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/aarch64/sync-comp-swap-ool.c gcc-9.5.0/gcc/testsuite/gcc.target/aarch64/sync-comp-swap-ool.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/aarch64/sync-comp-swap-ool.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/aarch64/sync-comp-swap-ool.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,6 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=armv8-a+nolse -O2 -fno-ipa-icf -moutline-atomics" } */
+ 
+ #include "sync-comp-swap.x"
+ 
+ /* { dg-final { scan-assembler-times "bl.*__aarch64_cas4_sync" 1 } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/aarch64/sync-op-acquire-ool.c gcc-9.5.0/gcc/testsuite/gcc.target/aarch64/sync-op-acquire-ool.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/aarch64/sync-op-acquire-ool.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/aarch64/sync-op-acquire-ool.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,6 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=armv8-a+nolse -O2 -moutline-atomics" } */
+ 
+ #include "sync-op-acquire.x"
+ 
+ /* { dg-final { scan-assembler-times "bl.*__aarch64_swp4_sync" 1 } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/aarch64/sync-op-full-ool.c gcc-9.5.0/gcc/testsuite/gcc.target/aarch64/sync-op-full-ool.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/aarch64/sync-op-full-ool.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/aarch64/sync-op-full-ool.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,9 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=armv8-a+nolse -O2 -moutline-atomics" } */
+ 
+ #include "sync-op-full.x"
+ 
+ /* { dg-final { scan-assembler-times "bl.*__aarch64_ldadd4_sync" 1 } } */
+ /* { dg-final { scan-assembler-times "bl.*__aarch64_ldclr4_sync" 1 } } */
+ /* { dg-final { scan-assembler-times "bl.*__aarch64_ldeor4_sync" 1 } } */
+ /* { dg-final { scan-assembler-times "bl.*__aarch64_ldset4_sync" 1 } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/aarch64/target_attr_20.c gcc-9.5.0/gcc/testsuite/gcc.target/aarch64/target_attr_20.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/aarch64/target_attr_20.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/aarch64/target_attr_20.c	Fri May 27 07:21:12 2022
*************** bar (void)
*** 24,27 ****
      }
  }
  
! /* { dg-final { scan-assembler-not "bl.*__aarch64_cas2_acq_rel" } } */
--- 24,27 ----
      }
  }
  
! /* { dg-final { scan-assembler-not "bl.*__aarch64_cas2_sync" } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/aarch64/target_attr_21.c gcc-9.5.0/gcc/testsuite/gcc.target/aarch64/target_attr_21.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/aarch64/target_attr_21.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/aarch64/target_attr_21.c	Fri May 27 07:21:12 2022
*************** bar (void)
*** 24,27 ****
      }
  }
  
! /* { dg-final { scan-assembler-times "bl.*__aarch64_cas2_acq_rel" 1 } } */
--- 24,27 ----
      }
  }
  
! /* { dg-final { scan-assembler-times "bl.*__aarch64_cas2_sync" 1 } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/arm/attr-neon.c gcc-9.5.0/gcc/testsuite/gcc.target/arm/attr-neon.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/arm/attr-neon.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/arm/attr-neon.c	Fri May 27 07:21:12 2022
***************
*** 1,7 ****
  /* { dg-do compile } */
  /* { dg-require-effective-target arm_neon_ok } */
  /* { dg-options "-O2 -ftree-vectorize" } */
! /* { dg-add-options arm_neon arm_v8_vfp } */ /* The arm_v8_vfp adds -mfpu=fp-armv8 to the command line, overriding any -mfpu= option set by arm_neon, thus ensuring that the attributes below really are checked for correct fpu selection.  */
  
  /* Verify that neon instructions are emitted once.  */
  void __attribute__ ((target("fpu=neon")))
--- 1,10 ----
  /* { dg-do compile } */
  /* { dg-require-effective-target arm_neon_ok } */
  /* { dg-options "-O2 -ftree-vectorize" } */
! /* { dg-add-options arm_neon arm_v8_vfp } */
! /* The arm_v8_vfp adds -mfpu=fp-armv8 to the command line, overriding any
!    -mfpu= option set by arm_neon, thus ensuring that the attributes below
!    really are checked for correct fpu selection.  */
  
  /* Verify that neon instructions are emitted once.  */
  void __attribute__ ((target("fpu=neon")))
*************** f3(int n, int x[], int y[]) {
*** 18,23 ****
      y[i] = x[i] << 3;
  }
  
! /* { dg-final { scan-assembler-times "\.fpu vfp" 1 } } */
! /* { dg-final { scan-assembler-times "\.fpu neon" 1 } } */
  /* { dg-final { scan-assembler-times "vshl" 1 } } */
--- 21,26 ----
      y[i] = x[i] << 3;
  }
  
! /* { dg-final { scan-assembler-times "\.fpu\\s+vfp\n" 1 } } */
! /* { dg-final { scan-assembler-times "\.fpu\\s+neon\n" 1 } } */
  /* { dg-final { scan-assembler-times "vshl" 1 } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/arm/attr-neon2.c gcc-9.5.0/gcc/testsuite/gcc.target/arm/attr-neon2.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/arm/attr-neon2.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/arm/attr-neon2.c	Fri May 27 07:21:12 2022
*************** my1 (int8x8_t __a, int8x8_t __b)
*** 27,34 ****
    return __a + __b;
  }
  
! /* { dg-final { scan-assembler-times "\.fpu vfp" 1 } } */
! /* { dg-final { scan-assembler-times "\.fpu neon" 1 } } */
  /* { dg-final { scan-assembler "vadd" } } */
  
  
--- 27,34 ----
    return __a + __b;
  }
  
! /* { dg-final { scan-assembler {\.fpu\s+vfp\n} } } */
! /* { dg-final { scan-assembler {\.fpu\s+neon\n} } } */
  /* { dg-final { scan-assembler "vadd" } } */
  
  
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/arm/attr-neon3.c gcc-9.5.0/gcc/testsuite/gcc.target/arm/attr-neon3.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/arm/attr-neon3.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/arm/attr-neon3.c	Fri May 27 07:21:12 2022
*************** my1 (int8x8_t __a, int8x8_t __b)
*** 31,38 ****
    return __a + __b;
  }
  
! /* { dg-final { scan-assembler-times "\.fpu vfp" 1 } } */
! /* { dg-final { scan-assembler-times "\.fpu neon" 1 } } */
! /* { dg-final { scan-assembler-times "\.fpu crypto-neon-fp-armv8" 1 } } */
  /* { dg-final { scan-assembler-times "vld1" 1 } } */
  /* { dg-final { scan-assembler-times "vadd" 1} } */
--- 31,38 ----
    return __a + __b;
  }
  
! /* { dg-final { scan-assembler {\.fpu\s+vfp\n} } } */
! /* { dg-final { scan-assembler {\.fpu\s+neon\n} } } */
! /* { dg-final { scan-assembler {\.fpu\s+crypto-neon-fp-armv8\n} } } */
  /* { dg-final { scan-assembler-times "vld1" 1 } } */
  /* { dg-final { scan-assembler-times "vadd" 1} } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/arm/pr69245.c gcc-9.5.0/gcc/testsuite/gcc.target/arm/pr69245.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/arm/pr69245.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/arm/pr69245.c	Fri May 27 07:21:12 2022
***************
*** 12,18 ****
  #pragma GCC target "fpu=neon-vfpv4"
  int a, c, d;
  float b;
! static int fn1 ()
  {
    return 0;
  }
--- 12,18 ----
  #pragma GCC target "fpu=neon-vfpv4"
  int a, c, d;
  float b;
!  int fn1 ()
  {
    return 0;
  }
*************** void fn2 ()
*** 23,26 ****
    d = b * c + a;
  }
  
! /* { dg-final { scan-assembler-times "\.fpu vfp" 1 } } */
--- 23,30 ----
    d = b * c + a;
  }
  
! /* Because we don't know the exact command-line options used to invoke the test
!    we cannot expect these tests to match exactly once.  But they must appear at
!    least once.  */
! /* { dg-final { scan-assembler "\.fpu\\s+vfp\n" } } */
! /* { dg-final { scan-assembler "\.fpu\\s+neon-vfpv4\n" } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/arm/pr99977.c gcc-9.5.0/gcc/testsuite/gcc.target/arm/pr99977.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/arm/pr99977.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/arm/pr99977.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_arch_v8m_base_ok } */
+ /* { dg-options "-O2" } */
+ /* { dg-add-options arm_arch_v8m_base } */
+ _Bool f1(int *p) { return __sync_bool_compare_and_swap (p, -1, 2); }
+ _Bool f2(int *p) { return __sync_bool_compare_and_swap (p, -8, 2); }
+ int g1(int *p) { return __sync_val_compare_and_swap (p, -1, 2); }
+ int g2(int *p) { return __sync_val_compare_and_swap (p, -8, 3); }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/arm/pragma_fpu_attribute.c gcc-9.5.0/gcc/testsuite/gcc.target/arm/pragma_fpu_attribute.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/arm/pragma_fpu_attribute.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/arm/pragma_fpu_attribute.c	Fri May 27 07:21:12 2022
*************** uint32_t restored ()
*** 22,26 ****
    return bar();
  }
  
! /* { dg-final { scan-assembler-times {\.fpu\s+vfpv4} 1 } } */
! /* { dg-final { scan-assembler-times {\.fpu\s+vfpv3-d16} 1 } } */
--- 22,29 ----
    return bar();
  }
  
! /* We can't tell exactly how many times the following tests will match because
!    command-line options may cause additional instances to be generated, but
!    each must be present at least once.  */
! /* { dg-final { scan-assembler {\.fpu\s+vfpv4\n} } } */
! /* { dg-final { scan-assembler {\.fpu\s+vfpv3-d16\n} } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/arm/pragma_fpu_attribute_2.c gcc-9.5.0/gcc/testsuite/gcc.target/arm/pragma_fpu_attribute_2.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/arm/pragma_fpu_attribute_2.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/arm/pragma_fpu_attribute_2.c	Fri May 27 07:21:12 2022
*************** uint32_t restored ()
*** 25,29 ****
    return bar();
  }
  
! /* { dg-final { scan-assembler-times {\.fpu\s+vfpv4} 1 } } */
! /* { dg-final { scan-assembler-times {\.fpu\s+vfpv3-d16} 1 } } */
--- 25,32 ----
    return bar();
  }
  
! /* We can't tell exactly how many times the following tests will match because
!    command-line options may cause additional instances to be generated, but
!    each must be present at least once.  */
! /* { dg-final { scan-assembler {\.fpu\s+vfpv4\n} } } */
! /* { dg-final { scan-assembler {\.fpu\s+vfpv3-d16\n} } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/avx-pr102224.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/avx-pr102224.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/avx-pr102224.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/avx-pr102224.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,23 ----
+ /* PR tree-optimization/51581 */
+ /* { dg-do run } */
+ /* { dg-options "-O2 -mavx" } */
+ /* { dg-require-effective-target avx } */
+ 
+ #ifndef CHECK_H
+ #define CHECK_H "avx-check.h"
+ #endif
+ #ifndef TEST
+ #define TEST avx_test
+ #endif
+ 
+ #define main main1
+ #include "../../gcc.dg/pr102224.c"
+ #undef main
+ 
+ #include CHECK_H
+ 
+ static void
+ TEST (void)
+ {
+   main1 ();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/avx512f-pr101471.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/avx512f-pr101471.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/avx512f-pr101471.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/avx512f-pr101471.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ /* { dg-do run } */
+ /* { dg-options "-mavx512dq -O0" } */
+ /* { dg-require-effective-target avx512dq } */
+ 
+ #include "avx512f-check.h"
+ 
+ static void
+ avx512f_test (void)
+ {
+   __m512 x = {
+       1, 1, 1, 1,
+       1, 1, 1, 1,
+       0, 0, 0, 0,
+       0, 0, 0, 0,  };
+   int ret = _mm512_fpclass_ps_mask(x, 0x26);
+   if (ret != 65280)
+     __builtin_abort();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr101175.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr101175.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr101175.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr101175.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,28 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -mlzcnt" } */
+ /* { dg-require-effective-target lzcnt } */
+ 
+ #include "lzcnt-check.h"
+ 
+ static int
+ foo (unsigned int v)
+ {
+   return v ? __builtin_clz (v) : 32;
+ }
+ 
+ /* returns -1 if x == 0 */
+ int
+ __attribute__ ((noinline, noclone))
+ bar (unsigned int x)
+ {
+   return 31 - foo (x);
+ }
+ 
+ static void
+ lzcnt_test ()
+ {
+   int r = bar (0);
+ 
+   if (r != -1)
+     abort ();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr102498.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr102498.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr102498.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr102498.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,59 ----
+ /* PR target/102498 */
+ /* { dg-do run { target fenv } } */
+ /* { dg-options "-frounding-math" } */
+ 
+ #include <fenv.h>
+ #include <stdlib.h>
+ 
+ __attribute__((noipa)) long double
+ fldlg2 (void)
+ {
+   return 0.3010299956639811952256464283594894482L;
+ }
+ 
+ __attribute__((noipa)) long double
+ fldln2 (void)
+ {
+   return 0.6931471805599453094286904741849753009L;
+ }
+ 
+ __attribute__((noipa)) long double
+ fldl2e (void)
+ {
+   return 1.4426950408889634073876517827983434472L;
+ }
+ 
+ __attribute__((noipa)) long double
+ fldl2t (void)
+ {
+   return 3.3219280948873623478083405569094566090L;
+ }
+ 
+ __attribute__((noipa)) long double
+ fldpi (void)
+ {
+   return 3.1415926535897932385128089594061862044L;
+ }
+ 
+ int
+ main ()
+ {
+   long double a = fldlg2 ();
+   long double b = fldln2 ();
+   long double c = fldl2e ();
+   long double d = fldl2t ();
+   long double e = fldpi ();
+   static int f[] = { FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD, FE_DOWNWARD };
+   int i;
+   for (i = 0; i < 4; i++)
+     {
+       fesetround (f[i]);
+       if (a != fldlg2 ()
+ 	  || b != fldln2 ()
+ 	  || c != fldl2e ()
+ 	  || d != fldl2t ()
+ 	  || e != fldpi ())
+ 	abort ();
+     }
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr103205.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr103205.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr103205.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr103205.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ /* PR target/103205 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mtune-ctrl=^himode_math" } */
+ 
+ unsigned short a;
+ 
+ unsigned short
+ foo (void)
+ {
+   return __sync_fetch_and_and (&a, ~1) & 1;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr103908.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr103908.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr103908.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr103908.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,24 ----
+ /* PR rtl-optimization/103908 */
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -fdisable-tree-cselim -fno-tree-sink" } */
+ /* { dg-final { scan-assembler "# insn 1" } } */
+ /* { dg-final { scan-assembler "# insn 2" } } */
+ 
+ int a, b;
+ 
+ void
+ foo (void)
+ {
+   if (a)
+     {
+       b = 1;
+       asm goto ("# insn 1" : : : : lab1);
+     lab1:;
+     }
+   else
+     {
+       b = 1;
+       asm goto ("# insn 2" : : : : lab2);
+     lab2:;
+     }
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104446.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104446.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104446.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104446.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,15 ----
+ /* PR middle-end/104446 */
+ /* { dg-do compile { target ia32 } } */
+ /* { dg-options "-O2 -mrtd" } */
+ 
+ register volatile int a __asm__("%esp");
+ void foo (void *);
+ void bar (void *);
+ 
+ void
+ baz (void)
+ {
+   foo (__builtin_return_address (0));
+   a = 0;
+   bar (__builtin_return_address (0));
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104451.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104451.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104451.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104451.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,25 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mavx2 -mxop -O" } */
+ 
+ typedef char __attribute__((__vector_size__ (16))) V;
+ typedef unsigned char __attribute__((__vector_size__ (16))) UV;
+ V v;
+ UV uv;
+ 
+ V
+ foo (long c)
+ {
+   return v << c;
+ }
+ 
+ V
+ foo1 (long c)
+ {
+   return v >> c;
+ }
+ 
+ UV
+ foo2 (unsigned long uc)
+ {
+   return uv >> uc;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104453.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104453.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104453.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104453.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mavx512f" } */
+ 
+ typedef short __attribute__((__vector_size__ (32))) V;
+ V g;
+ 
+ void
+ foo (void)
+ {
+   __builtin_ia32_psrawi256 (g, 0);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104469.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104469.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104469.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104469.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,12 ----
+ /* PR target/104469 */
+ /* { dg-do compile } */
+ /* { dg-options "-mavx512f" } */
+ 
+ typedef double __attribute__((__vector_size__ (64))) F;
+ typedef int __attribute__((__vector_size__ (32))) V;
+ 
+ F
+ foo (V v)
+ {
+   return __builtin_convertvector (v, F);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104502.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104502.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104502.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104502.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,31 ----
+ /* PR target/104502 */
+ /* { dg-do compile { target fstack_protector } } */
+ /* { dg-options "-O -flive-range-shrinkage -march=barcelona -fstack-protector-all -mavx512f" } */
+ 
+ typedef char __attribute__((__vector_size__ (8))) U;
+ typedef int __attribute__((__vector_size__ (8))) A;
+ typedef int __attribute__((__vector_size__ (16))) B;
+ typedef int __attribute__((__vector_size__ (32))) C;
+ typedef int __attribute__((__vector_size__ (64))) D;
+ typedef __float128 __attribute__((__vector_size__ (32))) F;
+ 
+ char s;
+ U u;
+ A a;
+ int i;
+ C c;
+ double d;
+ 
+ U
+ foo (U u0, A a0, B b0, B b1, C c0, C c1, C c2, C c3, A a1, A a2, F f0)
+ {
+   C ca = c |= (short) (float) d;
+   C cb = c0 + c1 + c2 + c3 + ca + (C) f0;
+   U ua = s << (u & 4);
+   B ba = ((union {C a; B b;}) cb).b + b0 + b1;
+   U ub = ((union {B a; U b;}) ba).b +
+     u0 + u + ua + (U) a + (U) a + (U) a0 + (U) a1 + (U) a2;
+   long long u64_r = i + d;
+   char u8_r = u64_r;
+   return ub + u8_r;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104971.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104971.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr104971.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr104971.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ /* PR middle-end/104971 */
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ 
+ #include <x86intrin.h>
+ 
+ __attribute__((noipa)) void
+ foo (void)
+ {
+   __readeflags ();
+ }
+ 
+ int
+ main ()
+ {
+   foo ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr105123.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr105123.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr105123.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr105123.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,22 ----
+ /* PR target/105123 */
+ /* { dg-do run { target sse2_runtime } } */
+ /* { dg-options "-msse2" } */
+ /* { dg-additional-options "-mtune=i686" { target ia32 } } */
+ 
+ typedef unsigned short __attribute__((__vector_size__ (4 * sizeof (unsigned short)))) V;
+ 
+ V
+ foo (unsigned short u, V v)
+ {
+   return __builtin_shuffle (u * v, v);
+ }
+ 
+ int
+ main ()
+ {
+   V x = foo (1, (V) { 0, 1, 2, 3 });
+   for (unsigned i = 0; i < 4; i++)
+     if (x[i] != i)
+       __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr71245-1.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr71245-1.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr71245-1.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr71245-1.c	Thu Jan  1 00:00:00 1970
***************
*** 1,22 ****
- /* PR target/71245 */
- /* { dg-do compile { target ia32 } } */
- /* { dg-options "-O2 -march=pentium -mno-sse -mfpmath=387" } */
- 
- typedef union
- {
-   unsigned long long ll;
-   double d;
- } u_t;
- 
- u_t d = { .d = 5.0 };
- 
- void foo_d (void)
- {
-   u_t tmp;
-   
-   tmp.ll = __atomic_load_n (&d.ll, __ATOMIC_SEQ_CST);
-   tmp.d += 1.0;
-   __atomic_store_n (&d.ll, tmp.ll, __ATOMIC_SEQ_CST);
- }
- 
- /* { dg-final { scan-assembler-not "(fistp|fild)" { xfail *-*-* } } } */
--- 0 ----
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr71245-2.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr71245-2.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/pr71245-2.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/pr71245-2.c	Thu Jan  1 00:00:00 1970
***************
*** 1,22 ****
- /* PR target/71245 */
- /* { dg-do compile { target ia32 } } */
- /* { dg-options "-O2 -march=pentium -msse -mno-sse2 -mfpmath=387" } */
- 
- typedef union
- {
-   unsigned long long ll;
-   double d;
- } u_t;
- 
- u_t d = { .d = 5.0 };
- 
- void foo_d (void)
- {
-   u_t tmp;
-   
-   tmp.ll = __atomic_load_n (&d.ll, __ATOMIC_SEQ_CST);
-   tmp.d += 1.0;
-   __atomic_store_n (&d.ll, tmp.ll, __ATOMIC_SEQ_CST);
- }
- 
- /* { dg-final { scan-assembler-not "movlps" { xfail *-*-* } } } */
--- 0 ----
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/i386/sse-14.c gcc-9.5.0/gcc/testsuite/gcc.target/i386/sse-14.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/i386/sse-14.c	Tue Jun  1 07:53:05 2021
--- gcc-9.5.0/gcc/testsuite/gcc.target/i386/sse-14.c	Fri May 27 07:21:12 2022
*************** test_3 (_mm_maskz_mul_round_sd, __m128d,
*** 429,435 ****
--- 429,437 ----
  test_3 (_mm512_maskz_mul_round_ps, __m512, __mmask16, __m512, __m512, 9)
  test_3 (_mm_maskz_mul_round_ss, __m128, __mmask8, __m128, __m128, 9)
  test_3 (_mm512_maskz_scalef_round_pd, __m512d, __mmask8, __m512d, __m512d, 9)
+ test_3 (_mm_maskz_scalef_round_sd, __m128d, __mmask8, __m128d, __m128d, 9)
  test_3 (_mm512_maskz_scalef_round_ps, __m512, __mmask16, __m512, __m512, 9)
+ test_3 (_mm_maskz_scalef_round_ss, __m128, __mmask8, __m128, __m128, 9)
  test_3 (_mm512_maskz_shuffle_f32x4, __m512, __mmask16, __m512, __m512, 1)
  test_3 (_mm512_maskz_shuffle_f64x2, __m512d, __mmask8, __m512d, __m512d, 1)
  test_3 (_mm512_maskz_shuffle_i32x4, __m512i, __mmask16, __m512i, __m512i, 1)
*************** test_4 (_mm_mask_mul_round_sd, __m128d,
*** 543,549 ****
--- 545,553 ----
  test_4 (_mm512_mask_mul_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
  test_4 (_mm_mask_mul_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
  test_4 (_mm512_mask_scalef_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
+ test_4 (_mm_mask_scalef_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9)
  test_4 (_mm512_mask_scalef_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
+ test_4 (_mm_mask_scalef_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
  test_4 (_mm512_mask_shuffle_f32x4, __m512, __m512, __mmask16, __m512, __m512, 1)
  test_4 (_mm512_mask_shuffle_f64x2, __m512d, __m512d, __mmask8, __m512d, __m512d, 1)
  test_4 (_mm512_mask_shuffle_i32x4, __m512i, __m512i, __mmask16, __m512i, __m512i, 1)
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/powerpc/pr101129.c gcc-9.5.0/gcc/testsuite/gcc.target/powerpc/pr101129.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/powerpc/pr101129.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/powerpc/pr101129.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,36 ----
+ /* { dg-do run } */
+ /* { dg-require-effective-target p8vector_hw } */
+ /* { dg-require-effective-target int128 } */
+ /* { dg-options "-mdejagnu-cpu=power8 -O " } */
+ 
+ /* PR101129: The swaps pass was turning a mult-lopart into a mult-hipart.
+    Make sure we aren't doing that anymore.  */
+ 
+ typedef unsigned char u8;
+ typedef unsigned char __attribute__((__vector_size__ (8))) U;
+ typedef unsigned char __attribute__((__vector_size__ (16))) V;
+ typedef unsigned int u32;
+ typedef unsigned long long u64;
+ typedef __int128 u128;
+ 
+ u8 g;
+ U u;
+ 
+ void
+ foo0 (u32 u32_0, U *ret)
+ {
+   u128 u128_2 = u32_0 * (u128)((V){ 5 } > (u32_0 & 4));
+   u64 u64_r = u128_2 >> 64;
+   u8 u8_r = u64_r + g;
+   *ret = u + u8_r;
+ }
+ 
+ int
+ main (void)
+ {
+   U x;
+   foo0 (7, &x);
+   for (unsigned i = 0; i < sizeof (x); i++)
+     if (x[i] != 0) __builtin_abort();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/powerpc/pr101985-1.c gcc-9.5.0/gcc/testsuite/gcc.target/powerpc/pr101985-1.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/powerpc/pr101985-1.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/powerpc/pr101985-1.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ /* PR target/101985 */
+ /* { dg-do run } */
+ /* { dg-require-effective-target vsx_hw } */
+ /* { dg-options "-O2 -mvsx" } */
+ 
+ #include <altivec.h>
+ 
+ int
+ main (void)
+ {
+   vector float a = {  1,  2, - 3, - 4};
+   vector float b = {-10, 20, -30,  40};
+   vector float c = { 10, 20, -30, -40};
+   a = vec_cpsgn (a, b);
+   if (! vec_all_eq (a, c))
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/powerpc/pr101985-2.c gcc-9.5.0/gcc/testsuite/gcc.target/powerpc/pr101985-2.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/powerpc/pr101985-2.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/powerpc/pr101985-2.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ /* PR target/101985 */
+ /* { dg-do run } */
+ /* { dg-require-effective-target vsx_hw } */
+ /* { dg-options "-O2 -mvsx" } */
+ 
+ #include <altivec.h>
+ 
+ int
+ main (void)
+ {
+   vector double a = {   1,  -4};
+   vector double b = { -10,  40};
+   vector double c = {  10, -40};
+   a = vec_cpsgn (a, b);
+   if (! vec_all_eq (a, c))
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/powerpc/pr102347.c gcc-9.5.0/gcc/testsuite/gcc.target/powerpc/pr102347.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/powerpc/pr102347.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/powerpc/pr102347.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ /* { dg-do link } */
+ /* { dg-skip-if "" { powerpc*-*-aix* } } */
+ /* { dg-require-effective-target powerpc_p9modulo_ok } */
+ /* { dg-require-effective-target lto } */
+ /* { dg-options "-flto -mdejagnu-cpu=power8" } */
+ 
+ /* Verify there are no error messages in LTO mode.  */
+ 
+ #pragma GCC target "cpu=power9"
+ int main ()
+ {
+   int res;
+ #ifdef __LP64__
+   res = (int) __builtin_darn ();
+ #else
+   res = __builtin_darn_32 ();
+ #endif
+   return res;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/s390/20211119.c gcc-9.5.0/gcc/testsuite/gcc.target/s390/20211119.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/s390/20211119.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/s390/20211119.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,12 ----
+ /* { dg-do run { target { s390_useable_hw } } } */
+ /* { dg-options "-Os -march=z10" } */
+ signed char a;
+ int b = -925974181, c;
+ unsigned *d = &b;
+ int *e = &c;
+ int main() {
+   *e = ((217 ^ a) > 585) < *d;
+   if (c != 1)
+     __builtin_abort();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/s390/pr104775.c gcc-9.5.0/gcc/testsuite/gcc.target/s390/pr104775.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/s390/pr104775.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/s390/pr104775.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,14 ----
+ /* PR target/104775 */
+ /* { dg-do assemble { target s390_zEC12_hw } } */
+ /* { dg-options "-O2 -march=zEC12" } */
+ 
+ long a[64];
+ void bar (void);
+ 
+ void
+ foo (int x, int y)
+ {
+   if (x != a[y])
+     bar ();
+   __builtin_trap ();
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/sparc/20210917-1.c gcc-9.5.0/gcc/testsuite/gcc.target/sparc/20210917-1.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/sparc/20210917-1.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/sparc/20210917-1.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ /* PR rtl-optimization/102306 */
+ /* Reported by Daniel Cederman <cederman@gaisler.com> */
+ 
+ /* { dg-do compile } */
+ /* { dg-require-effective-target ilp32 } */
+ /* { dg-options "-O -mcpu=v8" } */
+ 
+ extern void foo (void);
+ 
+ void test (volatile unsigned char *a) 
+ { 
+   char b = *a;
+   if (!b)
+     return;
+   if (b & 2)
+     foo ();
+ }
+ 
+ /* { dg-final { scan-assembler-times "ldub" 1 } } */
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gcc.target/sparc/20220510-1.c gcc-9.5.0/gcc/testsuite/gcc.target/sparc/20220510-1.c
*** gcc-9.4.0/gcc/testsuite/gcc.target/sparc/20220510-1.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gcc.target/sparc/20220510-1.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,31 ----
+ /* PR target/105292 */
+ /* Reported by Koakuma <koachan+gccbugs@protonmail.com> */
+ 
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -mvis2" } */
+ 
+ extern void get_vbytes_v2 (unsigned);
+ 
+ typedef struct {
+   unsigned ctt_info;
+   unsigned ctt_size;
+ } ctf_type_t;
+ 
+ typedef struct {
+   unsigned short cts_offset;
+   unsigned short cts_bits;
+ } ctf_slice_t;
+ 
+ void flip_types_len (ctf_type_t *t, int bsx1, int bsx2)
+ {
+   const int kind = t->ctt_info;
+ 
+   get_vbytes_v2 (t->ctt_size);
+ 
+   if (kind == 4)
+     {
+       ctf_slice_t *s = (ctf_slice_t *)t;
+       s->cts_offset = __builtin_bswap16(bsx1);
+       s->cts_bits   = __builtin_bswap16(bsx2);
+     }
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.dg/pr100882a.d gcc-9.5.0/gcc/testsuite/gdc.dg/pr100882a.d
*** gcc-9.4.0/gcc/testsuite/gdc.dg/pr100882a.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.dg/pr100882a.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,21 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100882
+ // { dg-additional-options "-fmain" }
+ // { dg-do run }
+ 
+ __gshared int counter = 0;
+ struct S100882
+ {
+     this(int) { counter++; }
+     ~this() { counter++; }
+ }
+ static S100882 s;
+ static this()
+ {
+     s = cast(shared) S100882(0);
+     assert(counter == 2);
+ }
+ 
+ auto test100882()
+ {
+     return cast(shared) S100882(0);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.dg/pr100882b.d gcc-9.5.0/gcc/testsuite/gdc.dg/pr100882b.d
*** gcc-9.4.0/gcc/testsuite/gdc.dg/pr100882b.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.dg/pr100882b.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,35 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100882
+ // { dg-do compile }
+ 
+ struct AllocatorList(Factory)
+ {
+     Factory factory;
+     auto make(size_t n) { return factory(n); }
+     this(Factory plant)
+     {
+         factory = plant;
+     }
+ }
+ 
+ struct Region
+ {
+     ~this()
+     {
+     }
+ }
+ 
+ auto mmapRegionList()
+ {
+     struct Factory
+     {
+         this(size_t )
+         {
+         }
+         auto opCall(size_t )
+         {
+             return Region();
+         }
+     }
+     auto shop = Factory();
+     AllocatorList!Factory(shop);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.dg/pr100882c.d gcc-9.5.0/gcc/testsuite/gdc.dg/pr100882c.d
*** gcc-9.4.0/gcc/testsuite/gdc.dg/pr100882c.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.dg/pr100882c.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100882
+ // { dg-do compile }
+ 
+ auto iota(int, int)
+ {
+     struct Result
+     {
+         this(int)
+         {
+         }
+     }
+     return Result();
+ }
+ 
+ auto iota(int end)
+ {
+     int begin;
+     return iota(begin, end);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.dg/pr100882d.d gcc-9.5.0/gcc/testsuite/gdc.dg/pr100882d.d
*** gcc-9.4.0/gcc/testsuite/gdc.dg/pr100882d.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.dg/pr100882d.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,25 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100882
+ // { dg-do compile }
+ 
+ struct CowArray
+ {
+     this(this)
+     {
+     }
+ }
+ 
+ struct Tuple
+ {
+     CowArray expand;
+ }
+ 
+ auto tuple(CowArray)
+ {
+     return Tuple();
+ }
+ 
+ auto parseCharTerm()
+ {
+     CowArray set;
+     return tuple(set);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.dg/pr100967.d gcc-9.5.0/gcc/testsuite/gdc.dg/pr100967.d
*** gcc-9.4.0/gcc/testsuite/gdc.dg/pr100967.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.dg/pr100967.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100967
+ // { dg-do compile }
+ 
+ module object; // { dg-error "class object.TypeInfo missing or corrupt object.d" }
+ 
+ extern(C) int main()
+ {
+     int[int] aa;
+     aa[0] = 1;  // { dg-error ".object.TypeInfo. could not be found, but is implicitly used" }
+     return 0;
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.dg/pr101127a.d gcc-9.5.0/gcc/testsuite/gdc.dg/pr101127a.d
*** gcc-9.4.0/gcc/testsuite/gdc.dg/pr101127a.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.dg/pr101127a.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,8 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101127
+ // { dg-do compile { target i?86*-*-* x86_64-*-* } }
+ // { dg-additional-options "-mavx" }
+ 
+ import gcc.builtins;
+ 
+ static assert(__traits(compiles, __builtin_ia32_andps256));
+ static assert(__traits(compiles, __builtin_ia32_pmulhrsw128));
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.dg/pr101127b.d gcc-9.5.0/gcc/testsuite/gdc.dg/pr101127b.d
*** gcc-9.4.0/gcc/testsuite/gdc.dg/pr101127b.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.dg/pr101127b.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,7 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101127
+ // { dg-do compile { target i?86*-*-* x86_64-*-* } }
+ 
+ import gcc.builtins;
+ 
+ static assert(!__traits(compiles, __builtin_ia32_andps256));
+ static assert(!__traits(compiles, __builtin_ia32_pmulhrsw128));
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.dg/pr101490.d gcc-9.5.0/gcc/testsuite/gdc.dg/pr101490.d
*** gcc-9.4.0/gcc/testsuite/gdc.dg/pr101490.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.dg/pr101490.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,21 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101490
+ // { dg-do compile }
+ 
+ struct S101490
+ {
+     int[0] arr;
+ }
+ 
+ void main()
+ {
+     S101490* t;
+     auto a = cast(typeof(t.arr)[0])t.arr;
+     write(a);
+ }
+ 
+ void write(S)(S args)
+ {
+     foreach (arg; args)
+     {
+     }
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.dg/pr101640.d gcc-9.5.0/gcc/testsuite/gdc.dg/pr101640.d
*** gcc-9.4.0/gcc/testsuite/gdc.dg/pr101640.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.dg/pr101640.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101640
+ // { dg-do compile }
+ // { dg-options "-fdump-tree-original" }
+ 
+ int fun101640(ref int);
+ 
+ int test101640(int val)
+ {
+     // { dg-final { scan-tree-dump "= val \\\+ fun101640 \\\(\\\(int &\\\) &val\\\);" "original" } }
+     return val + fun101640(val);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.dg/pr96435.d gcc-9.5.0/gcc/testsuite/gdc.dg/pr96435.d
*** gcc-9.4.0/gcc/testsuite/gdc.dg/pr96435.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.dg/pr96435.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,21 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96435
+ // { dg-do run }
+ 
+ @safe bool test96435()
+ {
+     int[2] array = [16, 678];
+     union U { int i; bool b; }
+     U u;
+     u.i = 0xDEADBEEF;
+     assert(array[u.b] == 678);
+     return u.b;
+ }
+ 
+ @safe void main()
+ {
+     auto b = test96435();
+     if (b)
+         assert(true);
+     if (!b)
+         assert(false);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.test/compilable/aggr_alignment.d gcc-9.5.0/gcc/testsuite/gdc.test/compilable/aggr_alignment.d
*** gcc-9.4.0/gcc/testsuite/gdc.test/compilable/aggr_alignment.d	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/testsuite/gdc.test/compilable/aggr_alignment.d	Fri May 27 07:21:12 2022
*************** enum payloadOffset = C2.bytes.offsetof;
*** 26,28 ****
--- 26,49 ----
  static assert(C2.int1.offsetof == payloadOffset + 8);
  static assert(C2.alignof == size_t.sizeof);
  static assert(__traits(classInstanceSize, C2) == payloadOffset + 12);
+ 
+ align(8) struct PaddedStruct
+ {
+     bool flag;
+     align(2) S1 s1;
+ }
+ 
+ static assert(PaddedStruct.s1.offsetof == 2);
+ static assert(PaddedStruct.alignof == 8);
+ static assert(PaddedStruct.sizeof == 16);
+ 
+ align(1) struct UglyStruct
+ {
+     bool flag;
+     int i;
+     ubyte u;
+ }
+ 
+ static assert(UglyStruct.i.offsetof == 4);
+ static assert(UglyStruct.alignof == 1);
+ static assert(UglyStruct.sizeof == 9);
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.test/compilable/b19002.d gcc-9.5.0/gcc/testsuite/gdc.test/compilable/b19002.d
*** gcc-9.4.0/gcc/testsuite/gdc.test/compilable/b19002.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.test/compilable/b19002.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,12 ----
+ module b19002;
+ 
+ void printf(scope const char* format){}
+ 
+ void main()
+ {
+     printf(__FILE__);
+     printf(__FILE_FULL_PATH__);
+     printf(__FUNCTION__);
+     printf(__PRETTY_FUNCTION__);
+     printf(__MODULE__);
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.test/compilable/betterCarray.d gcc-9.5.0/gcc/testsuite/gdc.test/compilable/betterCarray.d
*** gcc-9.4.0/gcc/testsuite/gdc.test/compilable/betterCarray.d	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/testsuite/gdc.test/compilable/betterCarray.d	Fri May 27 07:21:12 2022
*************** int foo(int[] a, int i)
*** 15,17 ****
--- 15,27 ----
  {
      return a[i];
  }
+ 
+ /**********************************************/
+ // https://issues.dlang.org/show_bug.cgi?id=19234
+ void issue19234()
+ {
+     static struct A {}
+     A[10] a;
+     A[10] b;
+     b[] = a[];
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/extra-files/minimal/object.d gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/extra-files/minimal/object.d
*** gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/extra-files/minimal/object.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/extra-files/minimal/object.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1 ----
+ module object;
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail19911a.d gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail19911a.d
*** gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail19911a.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail19911a.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ /*
+ REQUIRED_ARGS: -betterC
+ TEST_OUTPUT:
+ ---
+ fail_compilation/fail19911a.d(9): Error: function `fail19911a.fun` D-style variadic functions cannot be used with -betterC
+ ---
+ */
+ 
+ void fun(...)
+ {
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail19911b.d gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail19911b.d
*** gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail19911b.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail19911b.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,13 ----
+ /* 
+ DFLAGS:
+ REQUIRED_ARGS:
+ EXTRA_SOURCES: extra-files/minimal/object.d
+ TEST_OUTPUT:
+ ---
+ fail_compilation/fail19911b.d(10): Error: function `fail19911b.fun` `object.TypeInfo_Tuple` could not be found, but is implicitly used in D-style variadic functions
+ ---
+ */
+ 
+ void fun(...)
+ {
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail19911c.d gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail19911c.d
*** gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail19911c.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail19911c.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,17 ----
+ /* 
+ DFLAGS:
+ REQUIRED_ARGS:
+ TEST_OUTPUT:
+ ---
+ fail_compilation/fail19911c.d(15): Error: function `object.fun` `object.TypeInfo` could not be found, but is implicitly used in D-style variadic functions
+ ---
+ */
+ 
+ module object;
+ 
+ class Object { }
+ class TypeInfo_Tuple { }
+ 
+ void fun(...)
+ {
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail19922.d gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail19922.d
*** gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail19922.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail19922.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ /* 
+ DFLAGS:
+ REQUIRED_ARGS:
+ TEST_OUTPUT:
+ ---
+ fail_compilation/fail19922.d(17): Error: `object.TypeInfo_Class` could not be found, but is implicitly used
+ ---
+ */
+ 
+ module object;
+ 
+ class Object {}
+ 
+ void test()
+ {
+     Object o;
+     auto ti = typeid(o);
+ }
+ 
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail19923.d gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail19923.d
*** gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail19923.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail19923.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ /* 
+ DFLAGS:
+ REQUIRED_ARGS:
+ TEST_OUTPUT:
+ ---
+ fail_compilation/fail19923.d(17): Error: `object.TypeInfo_Class` could not be found, but is implicitly used
+ ---
+ */
+ 
+ module object;
+ 
+ class Object {}
+ 
+ void test()
+ {
+     Object o;
+     auto ti = o.classinfo;
+ }
+ 
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail22144.d gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail22144.d
*** gcc-9.4.0/gcc/testsuite/gdc.test/fail_compilation/fail22144.d	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gdc.test/fail_compilation/fail22144.d	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,14 ----
+ // https://issues.dlang.org/show_bug.cgi?id=22144
+ /* TEST_OUTPUT
+ ---
+ fail_compilation/fail22144.d(12): Error: cannot cast expression `zarray1` of type `int[0]` to `int[0][]` since sizes don't line up
+ ---
+ */
+ void main()
+ {
+   int[0] zarray1;
+   int[0][0] zarray2;
+ 
+   auto zslice1 = cast(int[0][])zarray1; // ICE -> Error
+   auto zslice2 = cast(int[0][])zarray2; // ICE -> OK
+ }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/alloc_deferred_comp_1.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/alloc_deferred_comp_1.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/alloc_deferred_comp_1.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/alloc_deferred_comp_1.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ ! { dg-do run }
+ !
+ ! Test the fix for PR99125, where the array reference in the print
+ ! statement caused an ICE because the gimplifier complained about '0'
+ ! being used as an lvalue.
+ !
+ ! Contributed by Gerhard Steinmetz  <gscfq@t-online.de>
+ !
+ program p
+    type t
+       character(:), allocatable :: a(:)
+    end type
+    type(t) :: x
+    character(8) :: c(3) = ['12 45 78','23 56 89','34 67 90']
+    x%a = c
+    if (any (x%a(2:3) .ne. ['23 56 89','34 67 90'])) stop 1
+    if (any (x%a(2:3)(4:5) .ne. ['56','67'])) stop 2 ! Bizarrely this worked.
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/asan_associate_58.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/asan_associate_58.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/asan_associate_58.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/asan_associate_58.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ ! { dg-do compile }
+ ! { dg-additional-options "-O0" }
+ !
+ ! PR fortran/104228
+ ! The code generated code for the program below wrongly pushed the Y character
+ ! length variable to both P and S scope, which was leading to an ICE when
+ ! address sanitizer was in effect
+ 
+ program p
+    character(:), save, allocatable :: x(:)
+    call s
+ contains
+    subroutine s
+       associate (y => x)
+          y = [x]
+       end associate
+    end
+ end
+ 
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/asan_associate_59.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/asan_associate_59.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/asan_associate_59.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/asan_associate_59.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,19 ----
+ ! { dg-do compile }
+ ! { dg-additional-options "-O0" }
+ !
+ ! PR fortran/104228
+ ! The code generated code for the program below wrongly pushed the Y character
+ ! length variable to both P and S scope, which was leading to an ICE when
+ ! address sanitizer was in effect
+ 
+ program p
+    character(:), allocatable :: x(:)
+    call s
+ contains
+    subroutine s
+       associate (y => x)
+          y = [x]
+       end associate
+    end
+ end
+ 
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/associate_54.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/associate_54.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/associate_54.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/associate_54.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,34 ----
+ ! { dg-do compile }
+ !
+ ! Test the fix for PR93701.
+ !
+ ! Contributed by Simon Brass  <simon.brass@desy.de>
+ !
+ module test
+   implicit none
+ 
+   integer, parameter :: N_STATE = 1, &
+        TEST_STATE = 1
+ 
+   type :: test_t
+      integer, dimension(:), allocatable :: state
+   end type test_t
+ 
+ contains
+ 
+   subroutine test_allocate (obj)
+     class(test_t), intent(out) :: obj
+     allocate (obj%state(N_STATE))
+   end subroutine test_allocate
+ 
+   subroutine test_alter_state1 (obj, a)
+     class(test_t), intent(inout) :: obj
+     integer, intent(in) :: a
+     associate (state => obj%state(TEST_STATES)) ! { dg-error "is used as array" }
+ !      state = a
+       state(TEST_STATE) = a
+     end associate
+   end subroutine test_alter_state1
+ 
+ end module test
+ 
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/associate_55.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/associate_55.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/associate_55.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/associate_55.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,35 ----
+ ! { dg-do compile }
+ !
+ ! Test the fix for PR93701.
+ !
+ ! Contributed by Simon Brass  <simon.brass@desy.de>
+ !
+ module test
+   implicit none
+ 
+   integer, parameter :: N_STATE = 1, &
+        TEST_STATE = 1
+ 
+   type :: test_t
+      integer, dimension(:), allocatable :: state
+   end type test_t
+ 
+ contains
+ 
+   subroutine test_allocate (obj)
+     class(test_t), intent(out) :: obj
+     allocate (obj%state(N_STATE))
+   end subroutine test_allocate
+ 
+ 
+   subroutine test_alter_state2 (obj, a)
+     class(test_t), intent(inout) :: obj
+     integer, intent(in) :: a
+     associate (state => obj%state(TEST_STATES)) ! { dg-error "no IMPLICIT type" }
+       state = a                                 ! { dg-error "vector-indexed target" }
+ !      state(TEST_STATE) = a
+     end associate
+   end subroutine test_alter_state2
+ 
+ end module test
+ 
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/associate_56.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/associate_56.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/associate_56.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/associate_56.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,36 ----
+ ! { dg-do compile }
+ !
+ ! Test the fix for PR93701.
+ !
+ ! Contributed by Simon Brass  <simon.brass@desy.de>
+ !
+ module test
+   implicit none
+ 
+   integer, parameter :: N_STATE = 1, &
+        TEST_STATE = 1
+ 
+   type :: test_t
+      integer, dimension(:), allocatable :: state
+   end type test_t
+ 
+ contains
+ 
+   subroutine test_allocate (obj)
+     class(test_t), intent(out) :: obj
+     allocate (obj%state(N_STATE))
+   end subroutine test_allocate
+ 
+ 
+   subroutine test_alter_state2 (obj, a)
+     class(test_t), intent(inout) :: obj
+     integer, intent(in) :: a
+     integer, dimension(2) :: TEST_STATES = [1,2]
+     associate (state => obj%state(TEST_STATES))
+       state = a                                 ! { dg-error "vector-indexed target" }
+       state(TEST_STATE) = a                     ! { dg-error "vector-indexed target" }
+     end associate
+   end subroutine test_alter_state2
+ 
+ end module test
+ 
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/associate_58.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/associate_58.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/associate_58.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/associate_58.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,21 ----
+ ! { dg-do compile }
+ !
+ ! PR fortran/104570
+ ! The following used to cause an ICE because the string length
+ ! evaluation of the (y) expression was not prepared to handle
+ ! a non-scalar expression.
+ 
+ program p
+    character(:), allocatable :: x(:)
+    x = ['abc']
+    call s
+ contains
+    subroutine s
+       associate (y => x)
+          associate (z => (y))
+             print *, z
+          end associate
+       end associate
+    end
+ end
+ 
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/associated_target_7.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/associated_target_7.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/associated_target_7.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/associated_target_7.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,87 ----
+ ! { dg-do run }
+ !
+ ! associated_target_7.f90: Test the fix for PR98565.
+ !
+ ! Contributed by Yves Secretan  <yves.secretan@ete.inrs.ca>
+ !
+ MODULE PS_SN0N_M
+ 
+    IMPLICIT NONE
+    PRIVATE
+ 
+    TYPE, PUBLIC :: DT_GRID_T
+        INTEGER :: NNT
+    CONTAINS
+        ! PASS
+    END TYPE DT_GRID_T
+ 
+    TYPE, PUBLIC :: LM_ELEM_T
+        CLASS(DT_GRID_T), POINTER :: PGRID
+    CONTAINS
+        PROCEDURE, PUBLIC :: REQPGRID => LM_ELEM_REGPGRID
+    END TYPE LM_ELEM_T
+ 
+    TYPE, PUBLIC :: PS_SN0N_T
+       CLASS(DT_GRID_T), POINTER :: PGRID
+ 
+    CONTAINS
+       PROCEDURE, PUBLIC :: ASGOELE  => PS_SN0N_ASGOELE
+    END TYPE PS_SN0N_T
+ 
+ 
+ CONTAINS
+    !------------------------------------------------------------------------
+    !------------------------------------------------------------------------
+    FUNCTION LM_ELEM_REGPGRID(SELF) RESULT(PGRID)
+    CLASS(DT_GRID_T), POINTER :: PGRID
+    CLASS(LM_ELEM_T), INTENT(IN) :: SELF
+    PGRID => SELF%PGRID
+    RETURN
+    END FUNCTION LM_ELEM_REGPGRID
+ 
+    !------------------------------------------------------------------------
+    !------------------------------------------------------------------------
+    FUNCTION PS_SN0N_ASGOELE(SELF, OELE) RESULT(ERMSG)
+ 
+    INTEGER :: ERMSG
+    CLASS(PS_SN0N_T), INTENT(IN) :: SELF
+    CLASS(LM_ELEM_T), INTENT(IN) :: OELE
+ 
+    !CLASS(DT_GRID_T), POINTER :: PGRID
+    LOGICAL :: ISOK
+    !------------------------------------------------------------------------
+ 
+    ! ASSOCIATED with temp variable compiles
+    !PGRID => OELE%REQPGRID()
+    !ISOK = ASSOCIATED(SELF%PGRID, PGRID)
+ 
+    ! ASSOCIATE without temp variable crashes with ICE
+    ISOK = ASSOCIATED(SELF%PGRID, OELE%REQPGRID())
+    ERMSG = 0
+    IF (ISOK) ERMSG = 1
+ 
+    RETURN
+    END FUNCTION PS_SN0N_ASGOELE
+ 
+ END MODULE PS_SN0N_M
+ 
+ 
+    USE PS_SN0N_M
+    CLASS(PS_SN0N_T), ALLOCATABLE :: SELF
+    CLASS(LM_ELEM_T), ALLOCATABLE :: OELE
+    TYPE (DT_GRID_T), TARGET :: GRID1 = DT_GRID_T (42)
+    TYPE (DT_GRID_T), TARGET :: GRID2 = DT_GRID_T (84)
+ 
+    ALLOCATE (PS_SN0N_T :: SELF)
+    ALLOCATE (LM_ELEM_T :: OELE)
+    SELF%PGRID => GRID1
+ 
+    OELE%PGRID => NULL ()
+    IF (SELF%ASGOELE (OELE) .NE. 0) STOP 1
+ 
+    OELE%PGRID => GRID2
+    IF (SELF%ASGOELE (OELE) .NE. 0) STOP 2
+ 
+    OELE%PGRID => GRID1
+    IF (SELF%ASGOELE (OELE) .NE. 1) STOP 3
+ END
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/bound_simplification_7.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/bound_simplification_7.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/bound_simplification_7.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/bound_simplification_7.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ ! { dg-do compile }
+ ! PR fortran/103392 - ICE in simplify_bound
+ 
+ program p
+   integer, allocatable :: a(1:1) ! { dg-error "deferred shape or assumed rank" }
+   integer :: b(1) = lbound(a)    ! { dg-error "does not reduce" }
+   integer :: c(1) = ubound(a)    ! { dg-error "does not reduce" }
+ end
+ 
+ subroutine s(x, y)
+   type t
+      integer :: i(3)
+   end type t
+   type(t), pointer     :: x(:)
+   type(t), allocatable :: y(:)
+   integer, parameter   :: m(1) = ubound (x(1)% i)
+   integer              :: n(1) = ubound (y(1)% i)
+ end subroutine s
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/bounds_check_23.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/bounds_check_23.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/bounds_check_23.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/bounds_check_23.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ ! { dg-do run }
+ ! { dg-options "-fcheck=bounds -fdump-tree-original" }
+ ! PR fortran/98490 - out of bounds in array constructor with implied do loop
+ 
+ program test
+   implicit none
+   call sub('Lorem ipsum')
+ contains
+   subroutine sub( text )
+     character(len=*), intent(in)  :: text
+     character(len=1), allocatable :: c(:)
+     integer :: i
+     c = [ ( text(i:i), i = 1, len(text) ) ]
+     if (c(1) /= 'L') stop 1
+   end subroutine sub
+ end program test
+ 
+ ! { dg-final { scan-tree-dump-times "Substring out of bounds:" 2 "original" } }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/class_dummy_6.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/class_dummy_6.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/class_dummy_6.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/class_dummy_6.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,65 ----
+ ! { dg-do run }
+ !
+ ! Test the fix for PR99819 - explicit shape class arrays in different
+ ! procedures caused an ICE.
+ !
+ ! Contributed by Gerhard Steinmetz  <gscfq@t-online.de>
+ !
+ program p
+    type t
+       integer :: i
+    end type
+    class(t), allocatable :: dum1(:), dum2(:), dum3(:,:)
+ 
+    allocate (t :: dum1(3), dum2(10), dum3(2,5))
+    dum2%i = [1,2,3,4,5,6,7,8,9,10]
+    dum3%i = reshape ([1,2,3,4,5,6,7,8,9,10],[2,5])
+ 
+ ! Somewhat elaborated versions of the PR procedures.
+    if (f (dum1, dum2, dum3) .ne. 10) stop 1
+    if (g (dum1) .ne. 3) stop 2
+ 
+ ! Test the original versions of the procedures.
+    if (f_original (dum1, dum2) .ne. 3) stop 3
+    if (g_original (dum2) .ne. 10) stop 4
+ 
+ contains
+    integer function f(x, y, z)
+       class(t) :: x(:)
+       class(t) :: y(size( x))
+       class(t) :: z(2,*)
+       if (size (y) .ne. 3) stop 5
+       if (size (z) .ne. 0) stop 6
+       select type (y)
+         type is (t)
+           f = 1
+           if (any (y%i .ne. [1,2,3])) stop 7
+         class default
+           f = 0
+       end select
+       select type (z)
+         type is (t)
+           f = f*10
+           if (any (z(1,1:4)%i .ne. [1,3,5,7])) stop 8
+         class default
+           f = 0
+       end select
+    end
+    integer function g(z)
+       class(t) :: z(:)
+       type(t) :: u(size(z))
+       g = size (u)
+    end
+ 
+    integer function f_original(x, y)
+       class(t) :: x(:)
+       class(*) :: y(size (x))
+       f_original = size (y)
+    end
+ 
+    integer function g_original(z)
+       class(*) :: z(:)
+       type(t) :: u(size(z))
+       g_original = size (u)
+    end
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/class_dummy_7.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/class_dummy_7.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/class_dummy_7.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/class_dummy_7.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,60 ----
+ ! { dg-do run }
+ !
+ ! Test the fix for PR46691 - enable class assumed size arrays
+ !
+ ! Reported by Tobias Burnus  <burnus@gcc.gnu.org>
+ ! from http://j3-fortran.org/pipermail/j3/2010-December/004084.html
+ ! submitted by Robert Corbett.
+ !
+        MODULE TYPES
+          PRIVATE
+          PUBLIC REC, REC2
+ 
+          TYPE REC
+            INTEGER A
+          END TYPE
+ 
+          TYPE, EXTENDS(REC) :: REC2
+            INTEGER B
+          END TYPE
+        END
+ 
+        SUBROUTINE SUB1(A, N)
+          USE TYPES
+          CLASS(REC), INTENT(IN) :: A(*)
+          INTERFACE
+            SUBROUTINE SUB2(A, N, IARRAY)
+              USE TYPES
+              TYPE(REC) A(*)
+              INTEGER :: N, IARRAY(N)
+            END
+          END INTERFACE
+ 
+          CALL SUB2(A, N,[1,2,2,3,3,4,4,5,5,6])
+          select type (B => A(1:N))
+              type is (REC2)
+                  call SUB2(B%REC,N,[1,2,3,4,5,6,7,8,9,10])
+          end select
+ 
+        END
+ 
+        SUBROUTINE SUB2(A, N, IARRAY)
+          USE TYPES
+          TYPE(REC) A(*)
+          INTEGER :: N, IARRAY(N)
+          if (any (A(:N)%A .ne. IARRAY(:N))) stop 1
+        END
+ 
+        PROGRAM MAIN
+          USE TYPES
+          CLASS(REC), ALLOCATABLE :: A(:)
+          INTERFACE
+            SUBROUTINE SUB1(A, N)
+              USE TYPES
+              CLASS(REC), INTENT(IN) :: A(*)
+            END SUBROUTINE
+          END INTERFACE
+ 
+          A = [ (REC2(I, I+1), I = 1, 10) ]
+          CALL SUB1(A, 10)
+        END
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/dec_union_12.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/dec_union_12.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/dec_union_12.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/dec_union_12.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,43 ----
+ ! { dg-do compile }
+ ! { dg-options "-std=legacy -ffree-form -finit-local-zero -finit-derived -fdec-structure" }
+ !
+ ! PR fortran/105310
+ !
+ ! Test that gfc_conv_union_initializer does not cause an ICE when called
+ ! to build the constructor for a field which triggers a vector resize.
+ !
+ 
+ program dec_union_12
+   implicit none
+ STRUCTURE /foo8u/
+   ! 8 fields
+   INTEGER(4) :: a,b,c,d,e,f,g,h
+   UNION
+   MAP
+   ENDMAP
+   ENDUNION
+ ENDSTRUCTURE
+ STRUCTURE /foo16u/
+   ! 16 fields
+   INTEGER(4) :: a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p
+   UNION
+   MAP
+   ENDMAP
+   ENDUNION
+ ENDSTRUCTURE
+ STRUCTURE /foo32u/
+   ! 32 fields
+   INTEGER(4) :: a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p
+   INTEGER(4) :: aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap
+   UNION
+   MAP
+   ENDMAP
+   ENDUNION
+ ENDSTRUCTURE
+   record /foo8u/ bar8u
+   record /foo16u/ bar16u
+   record /foo32u/ bar32u
+   bar8u.a = 1
+   bar16u.a = 1
+   bar32u.a = 1
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/deferred_character_35.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/deferred_character_35.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/deferred_character_35.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/deferred_character_35.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,18 ----
+ ! { dg-do compile }
+ !
+ ! Test the fix for PR93794, where the ASSOCIATE statement ICED on the
+ ! deferred character length, pointer component.
+ !
+ ! Contributed by Gerhard Steinmetz  <gscfq@t-online.de>
+ !
+ program p
+    type t
+       character(:), pointer :: a
+    end type
+    type(t) :: z
+    character(4), target :: c = 'abcd'
+    z%a => c
+    associate (y => z%a)
+       print *, y
+    end associate
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/do_check_19.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/do_check_19.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/do_check_19.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/do_check_19.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,21 ----
+ ! { dg-do compile }
+ ! { dg-prune-output "Obsolescent feature: Alternate-return argument" }
+ ! PR fortran/103717 - ICE in doloop_code
+ ! Contributed by G.Steinmetz
+ 
+ program p
+   integer :: i
+   do i = 1, 2
+      call s(i) ! { dg-error "Missing alternate return specifier" }
+   end do
+ contains
+   subroutine s(*)
+   end
+ end
+ 
+ recursive subroutine s(*)
+   integer :: i
+   do i = 1, 2
+      call s(i) ! { dg-error "Missing alternate return specifier" }
+   end do
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/elemental_function_5.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/elemental_function_5.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/elemental_function_5.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/elemental_function_5.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,46 ----
+ ! { dg-do compile }
+ !
+ ! Test the fix for PR98472.
+ !
+ ! Contributed by Rui Coelho  <ruicoelhopedro@hotmail.com>
+ !
+ module a
+         type, abstract :: base
+         contains
+                 procedure(elem_func), deferred, nopass :: add
+         end type base
+ 
+         type, extends(base) :: derived
+         contains
+                 procedure, nopass :: add => add_derived
+         end type derived
+ 
+         abstract interface
+                 elemental function elem_func(x, y) result(out)
+                         integer, intent(in) :: x, y
+                         integer :: out
+                 end function elem_func
+         end interface
+ 
+ contains
+         elemental function add_derived(x, y) result(out)
+                 integer, intent(in) :: x, y
+                 integer :: out
+                 out = x + y
+         end function add_derived
+ end module a
+ 
+ program main
+         use a
+         call foo
+ contains
+         subroutine foo
+                integer, dimension(:), allocatable :: vec
+                class(base), allocatable :: instance
+                allocate(derived :: instance)
+                allocate(vec, source=instance%add([1, 2], [1, 2])) ! ICE here
+                if (any (vec .ne. [2, 4])) stop 1
+         end
+ end program main
+ 
+ 
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/implied_do_io_7.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/implied_do_io_7.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/implied_do_io_7.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/implied_do_io_7.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,16 ----
+ ! { dg-do run }
+ ! PR 100227 - this was falsely optimized, leading to nonsense  results.
+ ! Original test case by "Mathieu".
+ 
+ program p
+   implicit none
+   integer, parameter :: nbmode = 3
+   integer :: k
+   real    :: mass(nbmode*2)
+   character (len=80) :: line
+   do k = 1, nbmode*2
+      mass(k) = k
+   end do
+   write (unit=line,fmt='(*(F6.2))') (mass(k+k), k=1,nbmode)
+   if (line /= '  2.00  4.00  6.00') stop 1
+ end program
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/inline_matmul_25.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/inline_matmul_25.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/inline_matmul_25.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/inline_matmul_25.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,9 ----
+ ! { dg-do compile }
+ ! { dg-options "-ffrontend-optimize" }
+ ! PR fortran/99839 - ICE in inline_matmul_assign
+ 
+ program p
+   real :: x(3, 3) = 1.0
+   class(*), allocatable :: z(:, :)
+   z = matmul(x, x)
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/intent_out_14.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/intent_out_14.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/intent_out_14.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/intent_out_14.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,24 ----
+ ! { dg-do run }
+ ! PR fortran/102287 - optional allocatable DT array arguments (intent out)
+ 
+ module m
+   type t
+      integer, allocatable :: a
+   end type t
+ contains
+   subroutine a (x, v)
+     type(t), optional, allocatable, intent(out) :: x(:)
+     type(t), optional,              intent(out) :: v(:)
+     call b (x, v)
+   end subroutine a
+ 
+   subroutine b (y, w)
+     type(t), optional, allocatable, intent(out) :: y(:)
+     type(t), optional,              intent(out) :: w(:)
+   end subroutine b
+ end module m
+ 
+ program p
+   use m
+   call a ()
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/intrinsic_pack_6.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/intrinsic_pack_6.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/intrinsic_pack_6.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/intrinsic_pack_6.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,57 ----
+ ! { dg-do run }
+ ! PR libfortran/103634 - Runtime crash with PACK on zero-sized arrays
+ ! Exercise PACK intrinsic for cases when it calls pack_internal
+ 
+ program p
+   implicit none
+   type t
+      real :: r(24) = -99.
+   end type
+   type(t), allocatable :: new(:), old(:), vec(:)
+   logical, allocatable :: mask(:)
+   integer              :: n, m
+ ! m = 1    ! works
+   m = 0    ! failed with SIGSEGV in pack_internal
+   do m = 0, 2
+      print *, m
+      allocate (old(m), mask(m), vec(m))
+      if (m > 0) vec(m)% r(1) = 42
+      mask(:) = .true.
+      n = count (mask)
+      allocate (new(n))
+ 
+      mask(:) = .false.
+      if (size (pack (old, mask)) /= 0) stop 1
+      mask(:) = .true.
+      if (size (pack (old, mask)) /= m) stop 2
+      new(:) = pack (old, mask)              ! this used to segfault for m=0
+ 
+      mask(:) = .false.
+      if (size (pack (old, mask, vector=vec)) /= m) stop 3
+      new(:) = t()
+      new(:) = pack (old, mask, vector=vec)  ! this used to segfault for m=0
+      if (m > 0) then
+         if (     new( m  )% r(1) /=  42)  stop 4
+         if (any (new(:m-1)% r(1) /= -99)) stop 5
+      end if
+ 
+      if (m > 0) mask(m) = .true.
+      if (size (pack (old, mask, vector=vec)) /= m) stop 6
+      new(:) = t()
+      new(:) = pack (old, mask, vector=vec)  ! this used to segfault for m=0
+      if (m > 0) then
+         if (new(1)% r(1) /= -99) stop 7
+      end if
+      if (m > 1) then
+         if (new(m)% r(1) /=  42) stop 8
+      end if
+ 
+      if (size (pack (old(:0), mask(:0), vector=vec)) /= m) stop 9
+      new(:) = t()
+      new(:) = pack (old(:0), mask(:0), vector=vec) ! did segfault for m=0
+      if (m > 0) then
+         if (new(m)% r(1) /= 42) stop 10
+      end if
+      deallocate (old, mask, new, vec)
+   end do
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/overload_4.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/overload_4.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/overload_4.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/overload_4.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,27 ----
+ ! { dg-do run }
+ ! { dg-additional-options "-Wno-intrinsic-shadow" }
+ ! PR fortran/103782 - ICE overloading an intrinsic like dble or real
+ ! Contributed by Urban Jost
+ 
+ program runtest
+   implicit none
+   interface dble
+      procedure to_double
+   end interface dble
+   interface real
+      procedure floor ! not really FLOOR...
+   end interface real
+   if (any (dble ([10.0d0,20.0d0]) - [10.0d0,20.0d0] /= 0.d0)) stop 1
+   if (any (real ([1.5,2.5])       - [1.5,2.5]       /= 0.0 )) stop 2
+ contains
+   elemental function to_double (valuein) result(d_out)
+     doubleprecision,intent(in) :: valuein
+     doubleprecision            :: d_out
+     d_out=valuein
+   end function to_double
+   elemental function floor (valuein) result(d_out) ! not really FLOOR...
+     real, intent(in) :: valuein
+     real             :: d_out
+     d_out=valuein
+   end function floor
+ end program runtest
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pdt_26.f03 gcc-9.5.0/gcc/testsuite/gfortran.dg/pdt_26.f03
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pdt_26.f03	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pdt_26.f03	Fri May 27 07:21:12 2022
***************
*** 2,8 ****
  ! { dg-options "-fdump-tree-original" }
  !
  ! Test the fix for PR83567 in which the parameterized component 'foo' was
! ! being deallocated before return from 'addw', with consequent segfault in 
  ! the main program.
  !
  ! Contributed by Berke Durak  <berke.durak@gmail.com>
--- 2,8 ----
  ! { dg-options "-fdump-tree-original" }
  !
  ! Test the fix for PR83567 in which the parameterized component 'foo' was
! ! being deallocated before return from 'addw', with consequent segfault in
  ! the main program.
  !
  ! Contributed by Berke Durak  <berke.durak@gmail.com>
*************** program test_pdt
*** 43,46 ****
    if (any (c(1)%foo .ne. [13,15,17])) STOP 2
  end program test_pdt
  ! { dg-final { scan-tree-dump-times "__builtin_free" 8 "original" } }
! ! { dg-final { scan-tree-dump-times "__builtin_malloc" 9 "original" } }
--- 43,46 ----
    if (any (c(1)%foo .ne. [13,15,17])) STOP 2
  end program test_pdt
  ! { dg-final { scan-tree-dump-times "__builtin_free" 8 "original" } }
! ! { dg-final { scan-tree-dump-times "__builtin_malloc" 8 "original" } }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pdt_31.f03 gcc-9.5.0/gcc/testsuite/gfortran.dg/pdt_31.f03
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pdt_31.f03	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pdt_31.f03	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,26 ----
+ ! { dg-do run }
+ !
+ ! Test the fix for PR100110, in which 'obj' was not being initialized.
+ !
+ ! Contributed by Xiao Liu  <xiao.liu@compiler-dev.com>
+ !
+ program p
+   implicit none
+   type t(n)
+     integer, len :: n
+     integer :: arr(n, n)
+   end type
+ 
+   type(t(2)) :: obj
+ 
+   obj%arr = reshape ([1,2,3,4],[2,2])
+   if (obj%n .ne. 2) stop 1
+   if (any (shape(obj%arr) .ne. [2,2])) stop 2
+   call test()
+ contains
+   subroutine test()
+     if (obj%n .ne. 2) stop 3
+     if (any (shape(obj%arr) .ne. [2,2])) stop 4
+     if (any (reshape (obj%arr, [4]) .ne. [1,2,3,4])) stop 5
+   end subroutine
+ end program
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pr100949.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/pr100949.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pr100949.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pr100949.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,10 ----
+ ! { dg-do compile }
+ ! PR fortran/100949 - ICE in gfc_conv_expr_present, at fortran/trans-expr.c:1975
+ 
+ subroutine s
+ entry f
+   type t
+   end type
+   class(t), allocatable :: y, z
+   allocate (z, mold=y)
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pr101327.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/pr101327.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pr101327.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pr101327.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ ! { dg-do compile }
+ ! PR fortran/101327 - ICE in find_array_element, at fortran/expr.c:1355
+ 
+ subroutine s
+   integer, parameter :: n([2]) = [1, 2] ! { dg-error "must be scalar" }
+   type t
+      integer :: a(n(1):n(2))
+   end type
+ end
+ 
+ ! { dg-error "cannot be automatic or of deferred shape" " " { target *-*-* } 5 }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pr102860.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/pr102860.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pr102860.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pr102860.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,10 ----
+ ! PR middle-end/102860
+ ! { dg-do compile { target { powerpc*-*-* } } }
+ ! { dg-require-effective-target powerpc_vsx_ok } 
+ ! { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } 
+ ! { dg-options "-O2 -mcpu=power9" } 
+ 
+ function foo(a)
+   integer(kind=4) :: a(1024)
+   a(:) = modulo (a(:), 39)
+ end function
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pr103588.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/pr103588.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pr103588.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pr103588.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,8 ----
+ ! { dg-do compile }
+ ! PR fortran/103588 - ICE: Simplification error in gfc_ref_dimen_size
+ ! Contributed by G.Steinmetz
+ 
+ program p
+   integer, parameter :: a(:) = [1,2] ! { dg-error "cannot be automatic or of deferred shape" }
+   integer :: b(2) = a(::a(1))        ! { dg-error "Invalid" }
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pr103606.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/pr103606.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pr103606.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pr103606.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,12 ----
+ ! { dg-do compile }
+ ! PR fortran/103606 -  ICE in resolve_fl_procedure
+ ! Contributed by G.Steinmetz
+ 
+ program p
+   type t
+   end type
+ contains
+   elemental function f() result(z) ! { dg-error "CLASS variable" }
+     class(t) :: z
+   end
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pr103607.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/pr103607.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pr103607.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pr103607.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,12 ----
+ ! { dg-do compile }
+ ! PR fortran/103607 - ICE in do_subscript, at fortran/frontend-passes.c:2927
+ ! Contributed by G.Steinmetz
+ 
+ program p
+   integer :: i, x(abs(2.)) ! { dg-error "must be of INTEGER type" }
+   do i = 1, 2
+      x(i) = 0
+   end do
+ end
+ 
+ ! { dg-prune-output "must have constant shape" }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pr104849.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/pr104849.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pr104849.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pr104849.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,9 ----
+ ! { dg-do compile }
+ ! PR fortran/104849 - ICE in find_array_section
+ ! Contributed by G.Steinmetz
+ 
+ program p
+   integer, parameter :: a(:) = [1, 2] ! { dg-error "deferred shape" }
+   integer :: x(2)
+   data x /a(:)/                       ! { dg-error "Invalid" }
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pr105230.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/pr105230.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pr105230.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pr105230.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,8 ----
+ ! { dg-do compile }
+ ! PR fortran/105230 - ICE in find_array_section
+ ! Contributed by G.Steinmetz
+ 
+ program p
+   integer, parameter :: a(:) = [1, 2] ! { dg-error "deferred shape" }
+   print *, reshape([3, 4], a(1:2))
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/pr82314.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/pr82314.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/pr82314.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/pr82314.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ ! { dg-do run }
+ ! PR fortran/82314 - ICE in gfc_conv_expr_descriptor
+ 
+ program p
+   implicit none
+   integer, parameter :: karray(merge(3,7,.true.):merge(3,7,.false.)) = 1
+   integer, parameter :: i = size   (karray)
+   integer, parameter :: l = lbound (karray,1)
+   integer, parameter :: u = ubound (karray,1)
+   if (l /= 3 .or. u /= 7 .or. i /= 5) stop 1
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/proc_ptr_52.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/proc_ptr_52.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/proc_ptr_52.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/proc_ptr_52.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,72 ----
+ ! { dg-do run }
+ !
+ ! Test the fix for PRs93924 & 93925.
+ !
+ ! Contributed by Martin Stein  <mscfd@gmx.net>
+ !
+ module cs
+ 
+ implicit none
+ 
+ integer, target :: integer_target
+ 
+ abstract interface
+    function classStar_map_ifc(x) result(y)
+       class(*), pointer            :: y
+       class(*), target, intent(in) :: x
+    end function classStar_map_ifc
+ end interface
+ 
+ contains
+ 
+    function fun(x) result(y)
+       class(*), pointer            :: y
+       class(*), target, intent(in) :: x
+       select type (x)
+       type is (integer)
+          integer_target = x        ! Deals with dangling target.
+          y => integer_target
+       class default
+          y => null()
+       end select
+    end function fun
+ 
+    function apply(f, x) result(y)
+       procedure(classStar_map_ifc) :: f
+       integer, intent(in) :: x
+       integer :: y
+       class(*), pointer :: p
+       y = 0                        ! Get rid of 'y' undefined warning
+       p => f (x)
+       select type (p)
+       type is (integer)
+          y = p
+       end select
+    end function apply
+ 
+    function selector() result(f)
+       procedure(classStar_map_ifc), pointer :: f
+       f => fun
+    end function selector
+ 
+ end module cs
+ 
+ 
+ program classStar_map
+ 
+ use cs
+ implicit none
+ 
+ integer :: x, y
+ procedure(classStar_map_ifc), pointer :: f
+ 
+ x = 123654
+ f => selector ()               ! Fixed by second chunk in patch
+ y = apply (f, x)               ! Fixed by first chunk in patch
+ if (x .ne. y) stop 1
+ 
+ x = 2 * x
+ y = apply (fun, x)             ! PR93925; fixed as above
+ if (x .ne. y) stop 2
+ 
+ end program classStar_map
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/recursive_reference_3.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/recursive_reference_3.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/recursive_reference_3.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/recursive_reference_3.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,14 ----
+ ! { dg-do compile }
+ ! { dg-options "-std=f2018" }
+ ! PR fortran/105138 - recursive procedures and shadowing of intrinsics
+ 
+ RECURSIVE FUNCTION LOG_GAMMA(Z) RESULT(RES)
+   COMPLEX, INTENT(IN) :: Z
+   COMPLEX             :: RES
+   RES = LOG_GAMMA(Z)
+ END FUNCTION LOG_GAMMA
+ 
+ recursive subroutine date_and_time (z)
+   real :: z
+   if (z > 0) call date_and_time (z-1)
+ end subroutine date_and_time
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/shape_11.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/shape_11.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/shape_11.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/shape_11.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,16 ----
+ ! { dg-do compile }
+ ! { dg-options "-fdump-tree-original" }
+ ! PR fortran/103610 - ICE while simplifying SHAPE
+ ! Contributed by G.Steinmetz
+ 
+ program p
+   integer, parameter :: a(-1) = 1
+   integer, parameter :: b(1)  = maskl(shape(a))
+   integer, parameter :: c(1)  = shape(a)
+   integer, parameter :: d(1)  = maskr(shape(a))
+   if (b(1) /= 0) stop 1
+   if (c(1) /= 0) stop 2
+   if (d(1) /= 0) stop 3
+ end
+ 
+ ! { dg-final { scan-tree-dump-not "_gfortran_stop_numeric" "original" } }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/structure_constructor_17.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/structure_constructor_17.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/structure_constructor_17.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/structure_constructor_17.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,21 ----
+ ! { dg-do compile }
+ !
+ ! Test the fix for PR97612.
+ !
+ ! Contributed by Martin Stein  <mscfd@gmx.net>
+ !
+ program constructor_allocatable
+   implicit none
+ 
+   type :: s
+     integer, dimension(:), allocatable :: u
+   end type s
+ 
+   type :: t
+     type(s), dimension(:), allocatable :: x
+   end type t
+ 
+   type(t) :: a = t()
+   if (allocated (a%x)) stop 1
+ 
+ end program constructor_allocatable
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/substr_6.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/substr_6.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/substr_6.f90	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/substr_6.f90	Fri May 27 07:21:12 2022
*************** CHARACTER(5), parameter :: c0(1) = (/ "1
*** 6,11 ****
--- 6,13 ----
  CHARACTER*5 c(1)
  CHARACTER(1), parameter :: c1(5) = (/ "1", "2", "3", ACHAR(0), "5" /)
  
+ c = c0(1)(-5:-8)
+ if (c(1) /= "     ") STOP 1
  c = (/ c0(1)(1:5) /)
  do i=1,5
     if (c(1)(i:i) /= c1(i)) STOP 2
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/transfer_check_6.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/transfer_check_6.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/transfer_check_6.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/transfer_check_6.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ ! { dg-do compile }
+ ! PR fortran/104227 - ICE virtual memory exhausted
+ ! Contributed by G.Steinmetz
+ 
+ program p
+   type t
+   end type
+   type(t) :: x(2)
+   print *, transfer(1, x) ! { dg-error "shall not have storage size 0" }
+   x = transfer(1, x)      ! { dg-error "shall not have storage size 0" }
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/transfer_simplify_11.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/transfer_simplify_11.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/transfer_simplify_11.f90	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/transfer_simplify_11.f90	Fri May 27 07:21:12 2022
***************
*** 4,8 ****
     integer, parameter :: N = 2
     character(len=1) :: chr(N)
     chr = transfer(repeat("x",ncopies=N),[character(len=1) ::], N)
!    if (chr(1) /= 'x' .and. chr(2) /= 'x') STOP 1
  end
--- 4,8 ----
     integer, parameter :: N = 2
     character(len=1) :: chr(N)
     chr = transfer(repeat("x",ncopies=N),[character(len=1) ::], N)
!    if (chr(1) /= 'x' .or. chr(2) /= 'x') STOP 1
  end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/transfer_simplify_13.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/transfer_simplify_13.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/transfer_simplify_13.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/transfer_simplify_13.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,34 ----
+ ! { dg-do compile }
+ ! { dg-options "-fdump-tree-original" }
+ ! PR fortran/104127 - ICE in get_array_charlen
+ ! Contributed by G.Steinmetz
+ 
+ program p
+   character(4) :: mold = "XYZ"
+   integer      :: i = 0
+   integer, parameter :: l1 = len  (transfer('ab', 'xyz', size=0))
+   integer, parameter :: s1 = size (transfer('ab', 'xyz', size=0))
+   integer, parameter :: l4 = len  (transfer(4_'abcd', 4_'xy', size=0))
+   integer, parameter :: s4 = size (transfer(4_'abcd', 4_'xy', size=0))
+   integer, parameter :: l2 = len  (transfer('ab', mold,  size=0))
+   integer, parameter :: l3 = len  (transfer('ab', mold,  size=1))
+   integer, parameter :: l5 = len  (transfer('ab',['xyz'], size=0))
+   integer, parameter :: s5 = size (transfer('ab',['xyz'], size=0))
+   call sub0 ( transfer('a', 'y', size=0) )
+ ! call sub1 ([transfer('a', 'y', size=0)]) ! fails for gcc-9
+ ! call sub2 ([transfer('a',['y'],size=0)]) ! fails for gcc-9
+   call sub3 ( transfer('a', 'y', size=1) )
+   call sub4 ([transfer('a', 'y', size=1)])
+   call sub5 ( transfer('a', 'y', size=i) )
+   call sub6 ( transfer(1_'abcd', 1_'xy' , size=0))
+   call sub7 ( transfer(1_'abcd',[1_'xy'], size=0))
+   call sub8 ( transfer(4_'abcd', 4_'xy' , size=0))
+   call sub9 ( transfer(4_'abcd',[4_'xy'], size=0))
+   print *, transfer('abcd', 'xy', size=0)
+   if (l1 /= 3 .or. s1 /= 0) stop 1
+   if (l4 /= 2 .or. s4 /= 0) stop 2
+   if (l2 /= 4 .or. l3 /= 4) stop 3
+   if (l5 /= 3 .or. s5 /= 0) stop 4
+ end
+ 
+ ! { dg-final { scan-tree-dump-not "_gfortran_stop_numeric" "original" } }
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/transfer_simplify_15.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/transfer_simplify_15.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/transfer_simplify_15.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/transfer_simplify_15.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,11 ----
+ ! { dg-do compile }
+ ! PR fortran/104311 - ICE out of memory
+ ! Contributed by G.Steinmetz
+ 
+ program p
+   type t
+   end type
+   type(t) :: x(2)
+   print *, transfer(1,x,2)       ! { dg-error "shall not have storage size 0" }
+   print *, transfer(1,x,huge(1)) ! { dg-error "shall not have storage size 0" }
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/ubsan/pr101624.f90 gcc-9.5.0/gcc/testsuite/gfortran.dg/ubsan/pr101624.f90
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/ubsan/pr101624.f90	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/ubsan/pr101624.f90	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,13 ----
+ ! PR middle-end/101624
+ ! { dg-do compile }
+ ! { dg-options "-O2 -fsanitize=undefined" }
+ 
+ complex function foo (x)
+   complex, intent(in) :: x
+   foo = aimag (x)
+ end
+ program pr101624
+   complex, parameter :: a = (0.0, 1.0)
+   complex :: b, foo
+   b = foo (a)
+ end
diff -Nrcpad gcc-9.4.0/gcc/testsuite/gfortran.dg/ubsan/ubsan.exp gcc-9.5.0/gcc/testsuite/gfortran.dg/ubsan/ubsan.exp
*** gcc-9.4.0/gcc/testsuite/gfortran.dg/ubsan/ubsan.exp	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/gcc/testsuite/gfortran.dg/ubsan/ubsan.exp	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,38 ----
+ # Copyright (C) 2021 Free Software Foundation, Inc.
+ #
+ # 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/>.
+ 
+ # GCC testsuite for gfortran that checks undefined behavior sanitizer.
+ 
+ # Load support procs.
+ load_lib gfortran-dg.exp
+ load_lib ubsan-dg.exp
+ 
+ 
+ # Initialize `dg'.
+ dg-init
+ ubsan_init
+ 
+ # Main loop.
+ if [check_effective_target_fsanitize_undefined] {
+     gfortran-dg-runtest [lsort \
+        [glob -nocomplain $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ] ] "" ""
+ }
+ 
+ # All done.
+ ubsan_finish
+ dg-finish
diff -Nrcpad gcc-9.4.0/gcc/tree-complex.c gcc-9.5.0/gcc/tree-complex.c
*** gcc-9.4.0/gcc/tree-complex.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-complex.c	Fri May 27 07:21:12 2022
*************** set_component_ssa_name (tree ssa_name, b
*** 569,575 ****
      {
        /* Replace an anonymous base value with the variable from cvc_lookup.
  	 This should result in better debug info.  */
!       if (SSA_NAME_VAR (ssa_name)
  	  && (!SSA_NAME_VAR (value) || DECL_IGNORED_P (SSA_NAME_VAR (value)))
  	  && !DECL_IGNORED_P (SSA_NAME_VAR (ssa_name)))
  	{
--- 569,576 ----
      {
        /* Replace an anonymous base value with the variable from cvc_lookup.
  	 This should result in better debug info.  */
!       if (!SSA_NAME_IS_DEFAULT_DEF (value)
! 	  && SSA_NAME_VAR (ssa_name)
  	  && (!SSA_NAME_VAR (value) || DECL_IGNORED_P (SSA_NAME_VAR (value)))
  	  && !DECL_IGNORED_P (SSA_NAME_VAR (ssa_name)))
  	{
diff -Nrcpad gcc-9.4.0/gcc/tree-data-ref.c gcc-9.5.0/gcc/tree-data-ref.c
*** gcc-9.4.0/gcc/tree-data-ref.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-data-ref.c	Fri May 27 07:21:12 2022
*************** print_lambda_vector (FILE * outfile, lam
*** 391,397 ****
    int i;
  
    for (i = 0; i < n; i++)
!     fprintf (outfile, "%3d ", (int)vector[i]);
    fprintf (outfile, "\n");
  }
  
--- 391,397 ----
    int i;
  
    for (i = 0; i < n; i++)
!     fprintf (outfile, HOST_WIDE_INT_PRINT_DEC " ", vector[i]);
    fprintf (outfile, "\n");
  }
  
diff -Nrcpad gcc-9.4.0/gcc/tree-eh.c gcc-9.5.0/gcc/tree-eh.c
*** gcc-9.4.0/gcc/tree-eh.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-eh.c	Fri May 27 07:21:12 2022
*************** operation_could_trap_helper_p (enum tree
*** 2435,2447 ****
      case FLOOR_MOD_EXPR:
      case ROUND_MOD_EXPR:
      case TRUNC_MOD_EXPR:
-     case RDIV_EXPR:
-       if (honor_snans)
- 	return true;
-       if (fp_operation)
- 	return flag_trapping_math;
        if (!TREE_CONSTANT (divisor) || integer_zerop (divisor))
          return true;
        return false;
  
      case LT_EXPR:
--- 2435,2469 ----
      case FLOOR_MOD_EXPR:
      case ROUND_MOD_EXPR:
      case TRUNC_MOD_EXPR:
        if (!TREE_CONSTANT (divisor) || integer_zerop (divisor))
          return true;
+       if (TREE_CODE (divisor) == VECTOR_CST)
+ 	{
+ 	  /* Inspired by initializer_each_zero_or_onep.  */
+ 	  unsigned HOST_WIDE_INT nelts = vector_cst_encoded_nelts (divisor);
+ 	  if (VECTOR_CST_STEPPED_P (divisor)
+ 	      && !TYPE_VECTOR_SUBPARTS (TREE_TYPE (divisor))
+ 		    .is_constant (&nelts))
+ 	    return true;
+ 	  for (unsigned int i = 0; i < nelts; ++i)
+ 	    {
+ 	      tree elt = vector_cst_elt (divisor, i);
+ 	      if (integer_zerop (elt))
+ 		return true;
+ 	    }
+ 	}
+       return false;
+ 
+     case RDIV_EXPR:
+       if (fp_operation)
+ 	{
+ 	  if (honor_snans)
+ 	    return true;
+ 	  return flag_trapping_math;
+ 	}
+       /* Fixed point operations also use RDIV_EXPR.  */
+       if (!TREE_CONSTANT (divisor) || fixed_zerop (divisor))
+ 	return true;
        return false;
  
      case LT_EXPR:
diff -Nrcpad gcc-9.4.0/gcc/tree-inline.c gcc-9.5.0/gcc/tree-inline.c
*** gcc-9.4.0/gcc/tree-inline.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-inline.c	Fri May 27 07:21:12 2022
*************** copy_bb (copy_body_data *id, basic_block
*** 2021,2047 ****
  	      tree p;
  	      gcall *new_call;
  	      vec<tree> argarray;
! 	      size_t nargs = gimple_call_num_args (id->call_stmt);
! 	      size_t n;
  
  	      for (p = DECL_ARGUMENTS (id->src_fn); p; p = DECL_CHAIN (p))
  		nargs--;
  
  	      /* Create the new array of arguments.  */
! 	      n = nargs + gimple_call_num_args (call_stmt);
  	      argarray.create (n);
  	      argarray.safe_grow_cleared (n);
  
  	      /* Copy all the arguments before '...'  */
! 	      memcpy (argarray.address (),
! 		      gimple_call_arg_ptr (call_stmt, 0),
! 		      gimple_call_num_args (call_stmt) * sizeof (tree));
  
  	      /* Append the arguments passed in '...'  */
! 	      memcpy (argarray.address () + gimple_call_num_args (call_stmt),
! 		      gimple_call_arg_ptr (id->call_stmt, 0)
! 		      + (gimple_call_num_args (id->call_stmt) - nargs),
! 		      nargs * sizeof (tree));
  
  	      new_call = gimple_build_call_vec (gimple_call_fn (call_stmt),
  						argarray);
--- 2021,2049 ----
  	      tree p;
  	      gcall *new_call;
  	      vec<tree> argarray;
! 	      size_t nargs_caller = gimple_call_num_args (id->call_stmt);
! 	      size_t nargs = nargs_caller;
  
  	      for (p = DECL_ARGUMENTS (id->src_fn); p; p = DECL_CHAIN (p))
  		nargs--;
  
  	      /* Create the new array of arguments.  */
! 	      size_t nargs_callee = gimple_call_num_args (call_stmt);
! 	      size_t n = nargs + nargs_callee;
  	      argarray.create (n);
  	      argarray.safe_grow_cleared (n);
  
  	      /* Copy all the arguments before '...'  */
! 	      if (nargs_callee)
! 		memcpy (argarray.address (),
! 			gimple_call_arg_ptr (call_stmt, 0),
! 			nargs_callee * sizeof (tree));
  
  	      /* Append the arguments passed in '...'  */
! 	      if (nargs)
! 		memcpy (argarray.address () + nargs_callee,
! 			gimple_call_arg_ptr (id->call_stmt, 0)
! 			+ (nargs_caller - nargs), nargs * sizeof (tree));
  
  	      new_call = gimple_build_call_vec (gimple_call_fn (call_stmt),
  						argarray);
diff -Nrcpad gcc-9.4.0/gcc/tree-nested.c gcc-9.5.0/gcc/tree-nested.c
*** gcc-9.4.0/gcc/tree-nested.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-nested.c	Fri May 27 07:21:12 2022
*************** get_frame_field (struct nesting_info *in
*** 923,928 ****
--- 923,929 ----
      }
  
    x = build3 (COMPONENT_REF, TREE_TYPE (field), x, field, NULL_TREE);
+   TREE_THIS_VOLATILE (x) = TREE_THIS_VOLATILE (field);
    return x;
  }
  
diff -Nrcpad gcc-9.4.0/gcc/tree-sra.c gcc-9.5.0/gcc/tree-sra.c
*** gcc-9.4.0/gcc/tree-sra.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-sra.c	Fri May 27 07:21:12 2022
*************** scan_function (void)
*** 1530,1536 ****
  		    }
  
  		  if (final_bbs
! 		      && (flags & (ECF_CONST | ECF_PURE)) == 0)
  		    bitmap_set_bit (final_bbs, bb->index);
  		}
  
--- 1530,1537 ----
  		    }
  
  		  if (final_bbs
! 		      && ((flags & (ECF_CONST | ECF_PURE)) == 0
! 			  || (flags & ECF_LOOPING_CONST_OR_PURE)))
  		    bitmap_set_bit (final_bbs, bb->index);
  		}
  
diff -Nrcpad gcc-9.4.0/gcc/tree-ssa-address.c gcc-9.5.0/gcc/tree-ssa-address.c
*** gcc-9.4.0/gcc/tree-ssa-address.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-ssa-address.c	Fri May 27 07:21:12 2022
*************** along with GCC; see the file COPYING3.
*** 47,52 ****
--- 47,53 ----
  #include "dumpfile.h"
  #include "tree-affine.h"
  #include "gimplify.h"
+ #include "builtins.h"
  
  /* FIXME: We compute address costs using RTL.  */
  #include "tree-ssa-address.h"
*************** copy_ref_info (tree new_ref, tree old_re
*** 1015,1059 ****
  
    new_ptr_base = TREE_OPERAND (new_ref, 0);
  
    /* We can transfer points-to information from an old pointer
       or decl base to the new one.  */
    if (new_ptr_base
        && TREE_CODE (new_ptr_base) == SSA_NAME
        && !SSA_NAME_PTR_INFO (new_ptr_base))
      {
!       tree base = get_base_address (old_ref);
!       if (!base)
! 	;
!       else if ((TREE_CODE (base) == MEM_REF
! 		|| TREE_CODE (base) == TARGET_MEM_REF)
! 	       && TREE_CODE (TREE_OPERAND (base, 0)) == SSA_NAME
! 	       && SSA_NAME_PTR_INFO (TREE_OPERAND (base, 0)))
  	{
- 	  struct ptr_info_def *new_pi;
- 	  unsigned int align, misalign;
- 
  	  duplicate_ssa_name_ptr_info
  	    (new_ptr_base, SSA_NAME_PTR_INFO (TREE_OPERAND (base, 0)));
! 	  new_pi = SSA_NAME_PTR_INFO (new_ptr_base);
! 	  /* We have to be careful about transferring alignment information.  */
! 	  if (get_ptr_info_alignment (new_pi, &align, &misalign)
! 	      && TREE_CODE (old_ref) == MEM_REF
! 	      && !(TREE_CODE (new_ref) == TARGET_MEM_REF
! 		   && (TMR_INDEX2 (new_ref)
! 		       /* TODO: Below conditions can be relaxed if TMR_INDEX
! 			  is an indcution variable and its initial value and
! 			  step are aligned.  */
! 		       || (TMR_INDEX (new_ref) && !TMR_STEP (new_ref))
! 		       || (TMR_STEP (new_ref)
! 			   && (TREE_INT_CST_LOW (TMR_STEP (new_ref))
! 			       < align)))))
! 	    {
! 	      poly_uint64 inc = (mem_ref_offset (old_ref)
! 				 - mem_ref_offset (new_ref)).force_uhwi ();
! 	      adjust_ptr_info_misalignment (new_pi, inc);
! 	    }
! 	  else
! 	    mark_ptr_info_alignment_unknown (new_pi);
  	}
        else if (VAR_P (base)
  	       || TREE_CODE (base) == PARM_DECL
--- 1016,1039 ----
  
    new_ptr_base = TREE_OPERAND (new_ref, 0);
  
+   tree base = get_base_address (old_ref);
+   if (!base)
+     return;
+ 
    /* We can transfer points-to information from an old pointer
       or decl base to the new one.  */
    if (new_ptr_base
        && TREE_CODE (new_ptr_base) == SSA_NAME
        && !SSA_NAME_PTR_INFO (new_ptr_base))
      {
!       if ((TREE_CODE (base) == MEM_REF
! 	   || TREE_CODE (base) == TARGET_MEM_REF)
! 	  && TREE_CODE (TREE_OPERAND (base, 0)) == SSA_NAME
! 	  && SSA_NAME_PTR_INFO (TREE_OPERAND (base, 0)))
  	{
  	  duplicate_ssa_name_ptr_info
  	    (new_ptr_base, SSA_NAME_PTR_INFO (TREE_OPERAND (base, 0)));
! 	  reset_flow_sensitive_info (new_ptr_base);
  	}
        else if (VAR_P (base)
  	       || TREE_CODE (base) == PARM_DECL
*************** copy_ref_info (tree new_ref, tree old_re
*** 1063,1068 ****
--- 1043,1056 ----
  	  pt_solution_set_var (&pi->pt, base);
  	}
      }
+ 
+   /* And alignment info.  Note we cannot transfer misalignment info
+      since that sits on the SSA name but this is flow-sensitive info
+      which we cannot transfer in this generic routine.  */
+   unsigned old_align = get_object_alignment (old_ref);
+   unsigned new_align = get_object_alignment (new_ref);
+   if (new_align < old_align)
+     TREE_TYPE (new_ref) = build_aligned_type (TREE_TYPE (new_ref), old_align);
  }
  
  /* Move constants in target_mem_ref REF to offset.  Returns the new target
diff -Nrcpad gcc-9.4.0/gcc/tree-ssa-dom.c gcc-9.5.0/gcc/tree-ssa-dom.c
*** gcc-9.4.0/gcc/tree-ssa-dom.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-ssa-dom.c	Fri May 27 07:21:12 2022
*************** pass_dominator::execute (function *fun)
*** 695,701 ****
       gcc.dg/tree-ssa/pr21417.c can't be threaded if loop preheader is
       missing.  We should improve jump threading in future then
       LOOPS_HAVE_PREHEADERS won't be needed here.  */
!   loop_optimizer_init (LOOPS_HAVE_PREHEADERS | LOOPS_HAVE_SIMPLE_LATCHES);
  
    /* Initialize the value-handle array.  */
    threadedge_initialize_values ();
--- 695,702 ----
       gcc.dg/tree-ssa/pr21417.c can't be threaded if loop preheader is
       missing.  We should improve jump threading in future then
       LOOPS_HAVE_PREHEADERS won't be needed here.  */
!   loop_optimizer_init (LOOPS_HAVE_PREHEADERS | LOOPS_HAVE_SIMPLE_LATCHES
! 		       | LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS);
  
    /* Initialize the value-handle array.  */
    threadedge_initialize_values ();
diff -Nrcpad gcc-9.4.0/gcc/tree-ssa-loop-im.c gcc-9.5.0/gcc/tree-ssa-loop-im.c
*** gcc-9.4.0/gcc/tree-ssa-loop-im.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-ssa-loop-im.c	Fri May 27 07:21:12 2022
*************** move_computations_worker (basic_block bb
*** 1170,1183 ****
  					  COND_EXPR, t, arg0, arg1);
  	  todo |= TODO_cleanup_cfg;
  	}
!       if (INTEGRAL_TYPE_P (TREE_TYPE (gimple_assign_lhs (new_stmt)))
! 	  && (!ALWAYS_EXECUTED_IN (bb)
! 	      || (ALWAYS_EXECUTED_IN (bb) != level
! 		  && !flow_loop_nested_p (ALWAYS_EXECUTED_IN (bb), level))))
! 	{
! 	  tree lhs = gimple_assign_lhs (new_stmt);
! 	  SSA_NAME_RANGE_INFO (lhs) = NULL;
! 	}
        gsi_insert_on_edge (loop_preheader_edge (level), new_stmt);
        remove_phi_node (&bsi, false);
      }
--- 1170,1179 ----
  					  COND_EXPR, t, arg0, arg1);
  	  todo |= TODO_cleanup_cfg;
  	}
!       if (!ALWAYS_EXECUTED_IN (bb)
! 	  || (ALWAYS_EXECUTED_IN (bb) != level
! 	      && !flow_loop_nested_p (ALWAYS_EXECUTED_IN (bb), level)))
! 	reset_flow_sensitive_info (gimple_assign_lhs (new_stmt));
        gsi_insert_on_edge (loop_preheader_edge (level), new_stmt);
        remove_phi_node (&bsi, false);
      }
*************** move_computations_worker (basic_block bb
*** 1239,1252 ****
        gsi_remove (&bsi, false);
        if (gimple_has_lhs (stmt)
  	  && TREE_CODE (gimple_get_lhs (stmt)) == SSA_NAME
- 	  && INTEGRAL_TYPE_P (TREE_TYPE (gimple_get_lhs (stmt)))
  	  && (!ALWAYS_EXECUTED_IN (bb)
  	      || !(ALWAYS_EXECUTED_IN (bb) == level
  		   || flow_loop_nested_p (ALWAYS_EXECUTED_IN (bb), level))))
! 	{
! 	  tree lhs = gimple_get_lhs (stmt);
! 	  SSA_NAME_RANGE_INFO (lhs) = NULL;
! 	}
        /* In case this is a stmt that is not unconditionally executed
           when the target loop header is executed and the stmt may
  	 invoke undefined integer or pointer overflow rewrite it to
--- 1235,1244 ----
        gsi_remove (&bsi, false);
        if (gimple_has_lhs (stmt)
  	  && TREE_CODE (gimple_get_lhs (stmt)) == SSA_NAME
  	  && (!ALWAYS_EXECUTED_IN (bb)
  	      || !(ALWAYS_EXECUTED_IN (bb) == level
  		   || flow_loop_nested_p (ALWAYS_EXECUTED_IN (bb), level))))
! 	reset_flow_sensitive_info (gimple_get_lhs (stmt));
        /* In case this is a stmt that is not unconditionally executed
           when the target loop header is executed and the stmt may
  	 invoke undefined integer or pointer overflow rewrite it to
diff -Nrcpad gcc-9.4.0/gcc/tree-ssa-phiopt.c gcc-9.5.0/gcc/tree-ssa-phiopt.c
*** gcc-9.4.0/gcc/tree-ssa-phiopt.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-ssa-phiopt.c	Fri May 27 07:21:12 2022
*************** conditional_replacement (basic_block con
*** 753,761 ****
    if ((integer_zerop (arg0) && integer_onep (arg1))
        || (integer_zerop (arg1) && integer_onep (arg0)))
      neg = false;
    else if ((integer_zerop (arg0) && integer_all_onesp (arg1))
  	   || (integer_zerop (arg1) && integer_all_onesp (arg0)))
!     neg = true;
    else
      return false;
  
--- 753,764 ----
    if ((integer_zerop (arg0) && integer_onep (arg1))
        || (integer_zerop (arg1) && integer_onep (arg0)))
      neg = false;
+   /* For signed one bit types, the negation is not needed and
+      should be avoided and is the same as 1 case for non-signed
+      one bit types.  */
    else if ((integer_zerop (arg0) && integer_all_onesp (arg1))
  	   || (integer_zerop (arg1) && integer_all_onesp (arg0)))
!     neg = TYPE_PRECISION (TREE_TYPE (arg0)) != 1;
    else
      return false;
  
diff -Nrcpad gcc-9.4.0/gcc/tree-ssa-pre.c gcc-9.5.0/gcc/tree-ssa-pre.c
*** gcc-9.4.0/gcc/tree-ssa-pre.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-ssa-pre.c	Fri May 27 07:21:12 2022
*************** prune_clobbered_mems (bitmap_set_t set,
*** 1972,1977 ****
--- 1972,1984 ----
  			  && value_dies_in_block_x (expr, block))))
  		to_remove = i;
  	    }
+ 	  /* If the REFERENCE may trap make sure the block does not contain
+ 	     a possible exit point.
+ 	     ???  This is overly conservative if we translate AVAIL_OUT
+ 	     as the available expression might be after the exit point.  */
+ 	  if (BB_MAY_NOTRETURN (block)
+ 	      && vn_reference_may_trap (ref))
+ 	    to_remove = i;
  	}
        else if (expr->kind == NARY)
  	{
*************** do_pre_regular_insertion (basic_block bl
*** 3302,3308 ****
  	  /* If all edges produce the same value and that value is
  	     an invariant, then the PHI has the same value on all
  	     edges.  Note this.  */
! 	  else if (!cant_insert && all_same)
  	    {
  	      gcc_assert (edoubleprime->kind == CONSTANT
  			  || edoubleprime->kind == NAME);
--- 3309,3319 ----
  	  /* If all edges produce the same value and that value is
  	     an invariant, then the PHI has the same value on all
  	     edges.  Note this.  */
! 	  else if (!cant_insert
! 		   && all_same
! 		   && (edoubleprime->kind != NAME
! 		       || !SSA_NAME_OCCURS_IN_ABNORMAL_PHI
! 			     (PRE_EXPR_NAME (edoubleprime))))
  	    {
  	      gcc_assert (edoubleprime->kind == CONSTANT
  			  || edoubleprime->kind == NAME);
diff -Nrcpad gcc-9.4.0/gcc/tree-ssa-sccvn.c gcc-9.5.0/gcc/tree-ssa-sccvn.c
*** gcc-9.4.0/gcc/tree-ssa-sccvn.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-ssa-sccvn.c	Fri May 27 07:21:12 2022
*************** eliminate_dom_walker::eliminate_stmt (ba
*** 5080,5087 ****
  	      duplicate_ssa_name_ptr_info (sprime,
  					   SSA_NAME_PTR_INFO (lhs));
  	      if (b != sprime_b)
! 		mark_ptr_info_alignment_unknown
! 		    (SSA_NAME_PTR_INFO (sprime));
  	    }
  	  else if (INTEGRAL_TYPE_P (TREE_TYPE (lhs))
  		   && SSA_NAME_RANGE_INFO (lhs)
--- 5080,5086 ----
  	      duplicate_ssa_name_ptr_info (sprime,
  					   SSA_NAME_PTR_INFO (lhs));
  	      if (b != sprime_b)
! 		reset_flow_sensitive_info (sprime);
  	    }
  	  else if (INTEGRAL_TYPE_P (TREE_TYPE (lhs))
  		   && SSA_NAME_RANGE_INFO (lhs)
diff -Nrcpad gcc-9.4.0/gcc/tree-switch-conversion.c gcc-9.5.0/gcc/tree-switch-conversion.c
*** gcc-9.4.0/gcc/tree-switch-conversion.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-switch-conversion.c	Fri May 27 07:21:12 2022
*************** group_cluster::dump (FILE *f, bool detai
*** 1120,1126 ****
  
  void
  jump_table_cluster::emit (tree index_expr, tree,
! 			  tree default_label_expr, basic_block default_bb)
  {
    unsigned HOST_WIDE_INT range = get_range (get_low (), get_high ());
    unsigned HOST_WIDE_INT nondefault_range = 0;
--- 1120,1127 ----
  
  void
  jump_table_cluster::emit (tree index_expr, tree,
! 			  tree default_label_expr, basic_block default_bb,
! 			  location_t loc)
  {
    unsigned HOST_WIDE_INT range = get_range (get_low (), get_high ());
    unsigned HOST_WIDE_INT nondefault_range = 0;
*************** jump_table_cluster::emit (tree index_exp
*** 1139,1144 ****
--- 1140,1146 ----
  
    gswitch *s = gimple_build_switch (index_expr,
  				    unshare_expr (default_label_expr), labels);
+   gimple_set_location (s, loc);
    gimple_stmt_iterator gsi = gsi_start_bb (m_case_bb);
    gsi_insert_after (&gsi, s, GSI_NEW_STMT);
  
*************** case_bit_test::cmp (const void *p1, cons
*** 1478,1484 ****
  
  void
  bit_test_cluster::emit (tree index_expr, tree index_type,
! 			tree, basic_block default_bb)
  {
    struct case_bit_test test[m_max_case_bit_tests] = { {} };
    unsigned int i, j, k;
--- 1480,1486 ----
  
  void
  bit_test_cluster::emit (tree index_expr, tree index_type,
! 			tree, basic_block default_bb, location_t loc)
  {
    struct case_bit_test test[m_max_case_bit_tests] = { {} };
    unsigned int i, j, k;
*************** bit_test_cluster::emit (tree index_expr,
*** 1572,1580 ****
    gsi = gsi_last_bb (m_case_bb);
  
    /* idx = (unsigned)x - minval.  */
!   idx = fold_convert (unsigned_index_type, index_expr);
!   idx = fold_build2 (MINUS_EXPR, unsigned_index_type, idx,
! 		     fold_convert (unsigned_index_type, minval));
    idx = force_gimple_operand_gsi (&gsi, idx,
  				  /*simple=*/true, NULL_TREE,
  				  /*before=*/true, GSI_SAME_STMT);
--- 1574,1582 ----
    gsi = gsi_last_bb (m_case_bb);
  
    /* idx = (unsigned)x - minval.  */
!   idx = fold_convert_loc (loc, unsigned_index_type, index_expr);
!   idx = fold_build2_loc (loc, MINUS_EXPR, unsigned_index_type, idx,
! 			 fold_convert_loc (loc, unsigned_index_type, minval));
    idx = force_gimple_operand_gsi (&gsi, idx,
  				  /*simple=*/true, NULL_TREE,
  				  /*before=*/true, GSI_SAME_STMT);
*************** bit_test_cluster::emit (tree index_expr,
*** 1587,1603 ****
  				    fold_convert (unsigned_index_type, range),
  				    /*simple=*/true, NULL_TREE,
  				    /*before=*/true, GSI_SAME_STMT);
!       tmp = fold_build2 (GT_EXPR, boolean_type_node, idx, range);
        basic_block new_bb
  	= hoist_edge_and_branch_if_true (&gsi, tmp, default_bb,
! 					 profile_probability::unlikely ());
        gsi = gsi_last_bb (new_bb);
      }
  
    /* csui = (1 << (word_mode) idx) */
    csui = make_ssa_name (word_type_node);
!   tmp = fold_build2 (LSHIFT_EXPR, word_type_node, word_mode_one,
! 		     fold_convert (word_type_node, idx));
    tmp = force_gimple_operand_gsi (&gsi, tmp,
  				  /*simple=*/false, NULL_TREE,
  				  /*before=*/true, GSI_SAME_STMT);
--- 1589,1605 ----
  				    fold_convert (unsigned_index_type, range),
  				    /*simple=*/true, NULL_TREE,
  				    /*before=*/true, GSI_SAME_STMT);
!       tmp = fold_build2_loc (loc, GT_EXPR, boolean_type_node, idx, range);
        basic_block new_bb
  	= hoist_edge_and_branch_if_true (&gsi, tmp, default_bb,
! 					 profile_probability::unlikely (), loc);
        gsi = gsi_last_bb (new_bb);
      }
  
    /* csui = (1 << (word_mode) idx) */
    csui = make_ssa_name (word_type_node);
!   tmp = fold_build2_loc (loc, LSHIFT_EXPR, word_type_node, word_mode_one,
! 			 fold_convert_loc (loc, word_type_node, idx));
    tmp = force_gimple_operand_gsi (&gsi, tmp,
  				  /*simple=*/false, NULL_TREE,
  				  /*before=*/true, GSI_SAME_STMT);
*************** bit_test_cluster::emit (tree index_expr,
*** 1615,1627 ****
  							 bt_range);
        bt_range -= test[k].bits;
        tmp = wide_int_to_tree (word_type_node, test[k].mask);
!       tmp = fold_build2 (BIT_AND_EXPR, word_type_node, csui, tmp);
        tmp = force_gimple_operand_gsi (&gsi, tmp,
  				      /*simple=*/true, NULL_TREE,
  				      /*before=*/true, GSI_SAME_STMT);
!       tmp = fold_build2 (NE_EXPR, boolean_type_node, tmp, word_mode_zero);
        basic_block new_bb
! 	= hoist_edge_and_branch_if_true (&gsi, tmp, test[k].target_bb, prob);
        gsi = gsi_last_bb (new_bb);
      }
  
--- 1617,1631 ----
  							 bt_range);
        bt_range -= test[k].bits;
        tmp = wide_int_to_tree (word_type_node, test[k].mask);
!       tmp = fold_build2_loc (loc, BIT_AND_EXPR, word_type_node, csui, tmp);
        tmp = force_gimple_operand_gsi (&gsi, tmp,
  				      /*simple=*/true, NULL_TREE,
  				      /*before=*/true, GSI_SAME_STMT);
!       tmp = fold_build2_loc (loc, NE_EXPR, boolean_type_node,
! 			     tmp, word_mode_zero);
        basic_block new_bb
! 	= hoist_edge_and_branch_if_true (&gsi, tmp, test[k].target_bb,
! 					 prob, loc);
        gsi = gsi_last_bb (new_bb);
      }
  
*************** bit_test_cluster::emit (tree index_expr,
*** 1651,1657 ****
  basic_block
  bit_test_cluster::hoist_edge_and_branch_if_true (gimple_stmt_iterator *gsip,
  						 tree cond, basic_block case_bb,
! 						 profile_probability prob)
  {
    tree tmp;
    gcond *cond_stmt;
--- 1655,1662 ----
  basic_block
  bit_test_cluster::hoist_edge_and_branch_if_true (gimple_stmt_iterator *gsip,
  						 tree cond, basic_block case_bb,
! 						 profile_probability prob,
! 						 location_t loc)
  {
    tree tmp;
    gcond *cond_stmt;
*************** bit_test_cluster::hoist_edge_and_branch_
*** 1665,1670 ****
--- 1670,1676 ----
    tmp = force_gimple_operand_gsi (gsip, cond, /*simple=*/true, NULL,
  				  /*before=*/true, GSI_SAME_STMT);
    cond_stmt = gimple_build_cond_from_tree (tmp, NULL_TREE, NULL_TREE);
+   gimple_set_location (cond_stmt, loc);
    gsi_insert_before (gsip, cond_stmt, GSI_SAME_STMT);
  
    e_false = split_block (split_bb, cond_stmt);
*************** switch_decision_tree::try_switch_expansi
*** 1844,1850 ****
      {
        cluster *c = clusters[0];
        c->emit (index_expr, index_type,
! 	       gimple_switch_default_label (m_switch), m_default_bb);
        redirect_edge_succ (single_succ_edge (bb), c->m_case_bb);
      }
    else
--- 1850,1857 ----
      {
        cluster *c = clusters[0];
        c->emit (index_expr, index_type,
! 	       gimple_switch_default_label (m_switch), m_default_bb,
! 	       gimple_location (m_switch));
        redirect_edge_succ (single_succ_edge (bb), c->m_case_bb);
      }
    else
*************** switch_decision_tree::try_switch_expansi
*** 1856,1862 ****
  	if (clusters[i]->get_type () != SIMPLE_CASE)
  	  clusters[i]->emit (index_expr, index_type,
  			     gimple_switch_default_label (m_switch),
! 			     m_default_bb);
      }
  
    fix_phi_operands_for_edges ();
--- 1863,1869 ----
  	if (clusters[i]->get_type () != SIMPLE_CASE)
  	  clusters[i]->emit (index_expr, index_type,
  			     gimple_switch_default_label (m_switch),
! 			     m_default_bb, gimple_location (m_switch));
      }
  
    fix_phi_operands_for_edges ();
diff -Nrcpad gcc-9.4.0/gcc/tree-switch-conversion.h gcc-9.5.0/gcc/tree-switch-conversion.h
*** gcc-9.4.0/gcc/tree-switch-conversion.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-switch-conversion.h	Fri May 27 07:21:12 2022
*************** struct cluster
*** 70,76 ****
    virtual void dump (FILE *f, bool details = false) = 0;
  
    /* Emit GIMPLE code to handle the cluster.  */
!   virtual void emit (tree, tree, tree, basic_block) = 0;
  
    /* Return true if a cluster handles only a single case value and the
       value is not a range.  */
--- 70,76 ----
    virtual void dump (FILE *f, bool details = false) = 0;
  
    /* Emit GIMPLE code to handle the cluster.  */
!   virtual void emit (tree, tree, tree, basic_block, location_t) = 0;
  
    /* Return true if a cluster handles only a single case value and the
       value is not a range.  */
*************** struct simple_cluster: public cluster
*** 163,169 ****
      fprintf (f, " ");
    }
  
!   void emit (tree, tree, tree, basic_block)
    {
      gcc_unreachable ();
    }
--- 163,169 ----
      fprintf (f, " ");
    }
  
!   void emit (tree, tree, tree, basic_block, location_t)
    {
      gcc_unreachable ();
    }
*************** struct jump_table_cluster: public group_
*** 247,253 ****
    }
  
    void emit (tree index_expr, tree index_type,
! 	     tree default_label_expr, basic_block default_bb);
  
    /* Find jump tables of given CLUSTERS, where all members of the vector
       are of type simple_cluster.  New clusters are returned.  */
--- 247,253 ----
    }
  
    void emit (tree index_expr, tree index_type,
! 	     tree default_label_expr, basic_block default_bb, location_t loc);
  
    /* Find jump tables of given CLUSTERS, where all members of the vector
       are of type simple_cluster.  New clusters are returned.  */
*************** struct bit_test_cluster: public group_cl
*** 370,376 ****
      There *MUST* be max_case_bit_tests or less unique case
      node targets.  */
    void emit (tree index_expr, tree index_type,
! 	     tree default_label_expr, basic_block default_bb);
  
    /* Find bit tests of given CLUSTERS, where all members of the vector
       are of type simple_cluster.  New clusters are returned.  */
--- 370,376 ----
      There *MUST* be max_case_bit_tests or less unique case
      node targets.  */
    void emit (tree index_expr, tree index_type,
! 	     tree default_label_expr, basic_block default_bb, location_t loc);
  
    /* Find bit tests of given CLUSTERS, where all members of the vector
       are of type simple_cluster.  New clusters are returned.  */
*************** struct bit_test_cluster: public group_cl
*** 411,417 ****
    static basic_block hoist_edge_and_branch_if_true (gimple_stmt_iterator *gsip,
  						    tree cond,
  						    basic_block case_bb,
! 						    profile_probability prob);
  
    /* True when the jump table handles an entire switch statement.  */
    bool m_handles_entire_switch;
--- 411,418 ----
    static basic_block hoist_edge_and_branch_if_true (gimple_stmt_iterator *gsip,
  						    tree cond,
  						    basic_block case_bb,
! 						    profile_probability prob,
! 						    location_t);
  
    /* True when the jump table handles an entire switch statement.  */
    bool m_handles_entire_switch;
diff -Nrcpad gcc-9.4.0/gcc/tree-vect-data-refs.c gcc-9.5.0/gcc/tree-vect-data-refs.c
*** gcc-9.4.0/gcc/tree-vect-data-refs.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-vect-data-refs.c	Fri May 27 07:21:12 2022
*************** vect_prune_runtime_alias_test_list (loop
*** 3424,3432 ****
    /* Step values are irrelevant for aliasing if the number of vector
       iterations is equal to the number of scalar iterations (which can
       happen for fully-SLP loops).  */
!   bool ignore_step_p = known_eq (LOOP_VINFO_VECT_FACTOR (loop_vinfo), 1U);
  
!   if (!ignore_step_p)
      {
        /* Convert the checks for nonzero steps into bound tests.  */
        tree value;
--- 3424,3432 ----
    /* Step values are irrelevant for aliasing if the number of vector
       iterations is equal to the number of scalar iterations (which can
       happen for fully-SLP loops).  */
!   bool vf_one_p = known_eq (LOOP_VINFO_VECT_FACTOR (loop_vinfo), 1U);
  
!   if (!vf_one_p)
      {
        /* Convert the checks for nonzero steps into bound tests.  */
        tree value;
*************** vect_prune_runtime_alias_test_list (loop
*** 3478,3487 ****
        dr_vec_info *dr_info_b = loop_vinfo->lookup_dr (DDR_B (ddr));
        stmt_vec_info stmt_info_b = dr_info_b->stmt;
  
        /* Skip the pair if inter-iteration dependencies are irrelevant
  	 and intra-iteration dependencies are guaranteed to be honored.  */
        if (ignore_step_p
! 	  && (vect_preserves_scalar_order_p (dr_info_a, dr_info_b)
  	      || vectorizable_with_step_bound_p (dr_info_a, dr_info_b,
  						 &lower_bound)))
  	{
--- 3478,3495 ----
        dr_vec_info *dr_info_b = loop_vinfo->lookup_dr (DDR_B (ddr));
        stmt_vec_info stmt_info_b = dr_info_b->stmt;
  
+       bool preserves_scalar_order_p
+ 	= vect_preserves_scalar_order_p (dr_info_a, dr_info_b);
+       bool ignore_step_p
+ 	  = (vf_one_p
+ 	     && (preserves_scalar_order_p
+ 		 || operand_equal_p (DR_STEP (dr_info_a->dr),
+ 				     DR_STEP (dr_info_b->dr), 0)));
+ 
        /* Skip the pair if inter-iteration dependencies are irrelevant
  	 and intra-iteration dependencies are guaranteed to be honored.  */
        if (ignore_step_p
! 	  && (preserves_scalar_order_p
  	      || vectorizable_with_step_bound_p (dr_info_a, dr_info_b,
  						 &lower_bound)))
  	{
*************** vect_create_addr_base_for_vector_ref (st
*** 4556,4562 ****
  
    if (DR_PTR_INFO (dr)
        && TREE_CODE (addr_base) == SSA_NAME
!       && !SSA_NAME_PTR_INFO (addr_base))
      {
        vect_duplicate_ssa_name_ptr_info (addr_base, dr_info);
        if (offset || byte_offset)
--- 4564,4571 ----
  
    if (DR_PTR_INFO (dr)
        && TREE_CODE (addr_base) == SSA_NAME
!       /* We should only duplicate pointer info to newly created SSA names.  */
!       && SSA_NAME_VAR (addr_base) == dest)
      {
        vect_duplicate_ssa_name_ptr_info (addr_base, dr_info);
        if (offset || byte_offset)
diff -Nrcpad gcc-9.4.0/gcc/tree-vect-loop-manip.c gcc-9.5.0/gcc/tree-vect-loop-manip.c
*** gcc-9.4.0/gcc/tree-vect-loop-manip.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-vect-loop-manip.c	Fri May 27 07:21:12 2022
*************** vect_update_inits_of_drs (loop_vec_info
*** 1774,1780 ****
    FOR_EACH_VEC_ELT (datarefs, i, dr)
      {
        dr_vec_info *dr_info = loop_vinfo->lookup_dr (dr);
!       if (!STMT_VINFO_GATHER_SCATTER_P (dr_info->stmt))
  	vect_update_init_of_dr (dr, niters, code);
      }
  }
--- 1774,1781 ----
    FOR_EACH_VEC_ELT (datarefs, i, dr)
      {
        dr_vec_info *dr_info = loop_vinfo->lookup_dr (dr);
!       if (!STMT_VINFO_GATHER_SCATTER_P (dr_info->stmt)
! 	  && !STMT_VINFO_SIMD_LANE_ACCESS_P (dr_info->stmt))
  	vect_update_init_of_dr (dr, niters, code);
      }
  }
diff -Nrcpad gcc-9.4.0/gcc/tree-vect-loop.c gcc-9.5.0/gcc/tree-vect-loop.c
*** gcc-9.4.0/gcc/tree-vect-loop.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-vect-loop.c	Fri May 27 07:21:12 2022
*************** vect_is_simple_reduction (loop_vec_info
*** 2925,2930 ****
--- 2925,2941 ----
  	}
      }
  
+   /* When the inner loop of a double reduction ends up with more than
+      one loop-closed PHI we have failed to classify alternate such
+      PHIs as double reduction, leading to wrong code.  See PR103237.  */
+   if (inner_loop_of_double_reduc && lcphis.length () != 1)
+     {
+       if (dump_enabled_p ())
+ 	dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
+ 			 "unhandle double reduction\n");
+       return NULL;
+     }
+ 
    /* If this isn't a nested cycle or if the nested cycle reduction value
       is used ouside of the inner loop we cannot handle uses of the reduction
       value.  */
diff -Nrcpad gcc-9.4.0/gcc/tree-vect-slp.c gcc-9.5.0/gcc/tree-vect-slp.c
*** gcc-9.4.0/gcc/tree-vect-slp.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree-vect-slp.c	Fri May 27 07:21:12 2022
*************** vect_analyze_slp_instance (vec_info *vin
*** 2051,2059 ****
  		  /* The load requires permutation when unrolling exposes
  		     a gap either because the group is larger than the SLP
  		     group-size or because there is a gap between the groups.  */
! 		  && (known_eq (unrolling_factor, 1U)
! 		      || (group_size == DR_GROUP_SIZE (first_stmt_info)
! 			  && DR_GROUP_GAP (first_stmt_info) == 0)))
  		{
  		  load_permutation.release ();
  		  continue;
--- 2051,2058 ----
  		  /* The load requires permutation when unrolling exposes
  		     a gap either because the group is larger than the SLP
  		     group-size or because there is a gap between the groups.  */
! 		  && group_size == DR_GROUP_SIZE (first_stmt_info)
! 		  && DR_GROUP_GAP (first_stmt_info) == 0)
  		{
  		  load_permutation.release ();
  		  continue;
diff -Nrcpad gcc-9.4.0/gcc/tree.c gcc-9.5.0/gcc/tree.c
*** gcc-9.4.0/gcc/tree.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/tree.c	Fri May 27 07:21:12 2022
*************** walk_tree_1 (tree *tp, walk_tree_fn func
*** 12340,12346 ****
  	case OMP_CLAUSE_DEFAULTMAP:
  	case OMP_CLAUSE_AUTO:
  	case OMP_CLAUSE_SEQ:
- 	case OMP_CLAUSE_TILE:
  	case OMP_CLAUSE__SIMT_:
  	case OMP_CLAUSE_IF_PRESENT:
  	case OMP_CLAUSE_FINALIZE:
--- 12340,12345 ----
*************** walk_tree_1 (tree *tp, walk_tree_fn func
*** 12352,12357 ****
--- 12351,12357 ----
  	  WALK_SUBTREE_TAIL (OMP_CLAUSE_CHAIN (*tp));
  
  	case OMP_CLAUSE_COLLAPSE:
+ 	case OMP_CLAUSE_TILE:
  	  {
  	    int i;
  	    for (i = 0; i < 3; i++)
diff -Nrcpad gcc-9.4.0/gcc/ubsan.c gcc-9.5.0/gcc/ubsan.c
*** gcc-9.4.0/gcc/ubsan.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/ubsan.c	Fri May 27 07:21:12 2022
*************** maybe_instrument_pointer_overflow (gimpl
*** 1440,1446 ****
    tree base;
    if (decl_p)
      {
!       if (DECL_REGISTER (inner))
  	return;
        base = inner;
        /* If BASE is a fixed size automatic variable or
--- 1440,1449 ----
    tree base;
    if (decl_p)
      {
!       if ((VAR_P (inner)
! 	   || TREE_CODE (inner) == PARM_DECL
! 	   || TREE_CODE (inner) == RESULT_DECL)
! 	  && DECL_REGISTER (inner))
  	return;
        base = inner;
        /* If BASE is a fixed size automatic variable or
*************** instrument_object_size (gimple_stmt_iter
*** 2104,2110 ****
    tree base;
    if (decl_p)
      {
!       if (DECL_REGISTER (inner))
  	return;
        base = inner;
      }
--- 2107,2118 ----
    tree base;
    if (decl_p)
      {
!       if ((VAR_P (inner)
! 	   || TREE_CODE (inner) == PARM_DECL
! 	   || TREE_CODE (inner) == RESULT_DECL)
! 	  && DECL_REGISTER (inner))
! 	return;
!       if (t == inner && !is_global_var (t))
  	return;
        base = inner;
      }
*************** instrument_object_size (gimple_stmt_iter
*** 2203,2208 ****
--- 2211,2221 ----
  	}
      }
  
+   if (DECL_P (base)
+       && decl_function_context (base) == current_function_decl
+       && !TREE_ADDRESSABLE (base))
+     mark_addressable (base);
+ 
    if (bos_stmt && gimple_call_builtin_p (bos_stmt, BUILT_IN_OBJECT_SIZE))
      ubsan_create_edge (bos_stmt);
  
diff -Nrcpad gcc-9.4.0/gcc/valtrack.c gcc-9.5.0/gcc/valtrack.c
*** gcc-9.4.0/gcc/valtrack.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/valtrack.c	Fri May 27 07:21:12 2022
*************** debug_lowpart_subreg (machine_mode outer
*** 559,565 ****
    rtx ret = simplify_gen_subreg (outer_mode, expr, inner_mode, offset);
    if (ret)
      return ret;
!   return gen_rtx_raw_SUBREG (outer_mode, expr, offset);
  }
  
  /* If UREGNO is referenced by any entry in DEBUG, emit a debug insn
--- 559,567 ----
    rtx ret = simplify_gen_subreg (outer_mode, expr, inner_mode, offset);
    if (ret)
      return ret;
!   if (GET_MODE (expr) != VOIDmode)
!     return gen_rtx_raw_SUBREG (outer_mode, expr, offset);
!   return NULL_RTX;
  }
  
  /* If UREGNO is referenced by any entry in DEBUG, emit a debug insn
diff -Nrcpad gcc-9.4.0/gcc/varasm.c gcc-9.5.0/gcc/varasm.c
*** gcc-9.4.0/gcc/varasm.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/gcc/varasm.c	Fri May 27 07:21:12 2022
*************** output_constructor_regular_field (oc_loc
*** 5251,5264 ****
  	  && (!TYPE_DOMAIN (TREE_TYPE (local->field))
  	      || !TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (local->field)))))
  	{
! 	  fieldsize = array_size_for_constructor (local->val);
  	  /* Given a non-empty initialization, this field had better
  	     be last.  Given a flexible array member, the next field
  	     on the chain is a TYPE_DECL of the enclosing struct.  */
  	  const_tree next = DECL_CHAIN (local->field);
  	  gcc_assert (!fieldsize || !next || TREE_CODE (next) != FIELD_DECL);
- 	  tree size = TYPE_SIZE_UNIT (TREE_TYPE (local->val));
- 	  gcc_checking_assert (compare_tree_int (size, fieldsize) == 0);
  	}
        else
  	fieldsize = tree_to_uhwi (DECL_SIZE_UNIT (local->field));
--- 5251,5270 ----
  	  && (!TYPE_DOMAIN (TREE_TYPE (local->field))
  	      || !TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (local->field)))))
  	{
! 	  unsigned HOST_WIDE_INT fldsize
! 	    = array_size_for_constructor (local->val);
! 	  fieldsize = int_size_in_bytes (TREE_TYPE (local->val));
! 	  /* In most cases fieldsize == fldsize as the size of the initializer
! 	     determines how many elements the flexible array member has.  For
! 	     C++ fldsize can be smaller though, if the last or several last or
! 	     all initializers of the flexible array member have side-effects
! 	     and the FE splits them into dynamic initialization.  */
! 	  gcc_checking_assert (fieldsize >= fldsize);
  	  /* Given a non-empty initialization, this field had better
  	     be last.  Given a flexible array member, the next field
  	     on the chain is a TYPE_DECL of the enclosing struct.  */
  	  const_tree next = DECL_CHAIN (local->field);
  	  gcc_assert (!fieldsize || !next || TREE_CODE (next) != FIELD_DECL);
  	}
        else
  	fieldsize = tree_to_uhwi (DECL_SIZE_UNIT (local->field));
diff -Nrcpad gcc-9.4.0/gnattools/ChangeLog gcc-9.5.0/gnattools/ChangeLog
*** gcc-9.4.0/gnattools/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gnattools/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/gotools/ChangeLog gcc-9.5.0/gotools/ChangeLog
*** gcc-9.4.0/gotools/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/gotools/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/include/ChangeLog gcc-9.5.0/include/ChangeLog
*** gcc-9.4.0/include/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/include/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/intl/ChangeLog gcc-9.5.0/intl/ChangeLog
*** gcc-9.4.0/intl/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/intl/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libada/ChangeLog gcc-9.5.0/libada/ChangeLog
*** gcc-9.4.0/libada/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libada/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libatomic/ChangeLog gcc-9.5.0/libatomic/ChangeLog
*** gcc-9.4.0/libatomic/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libatomic/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libbacktrace/ChangeLog gcc-9.5.0/libbacktrace/ChangeLog
*** gcc-9.4.0/libbacktrace/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libbacktrace/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libcc1/ChangeLog gcc-9.5.0/libcc1/ChangeLog
*** gcc-9.4.0/libcc1/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libcc1/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libcpp/ChangeLog gcc-9.5.0/libcpp/ChangeLog
*** gcc-9.4.0/libcpp/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libcpp/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,36 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR preprocessor/104147
+ 	* macro.c (funlike_invocation_p): For padding prefer a token
+ 	with val.source non-NULL especially if it has PREV_WHITE set
+ 	on val.source->flags.  Add gcc_assert that CPP_PADDING tokens
+ 	don't have PREV_WHITE set in flags.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* directives.c (destringize_and_run): Push &pfile->avoid_paste
+ 	instead of a copy of pfile->directive_result for the CPP_PADDING
+ 	case.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR preprocessor/89971
+ 	* macro.c (replace_args): For ##__VA_OPT__, if __VA_OPT__ expands
+ 	to no tokens at all, drop PASTE_LEFT flag from the previous token.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libcpp/directives.c gcc-9.5.0/libcpp/directives.c
*** gcc-9.4.0/libcpp/directives.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libcpp/directives.c	Fri May 27 07:21:12 2022
*************** destringize_and_run (cpp_reader *pfile,
*** 1896,1903 ****
    else
      {
        count = 1;
!       toks = XNEW (cpp_token);
!       toks[0] = pfile->directive_result;
  
        /* If we handled the entire pragma internally, make sure we get the
  	 line number correct for the next token.  */
--- 1896,1902 ----
    else
      {
        count = 1;
!       toks = &pfile->avoid_paste;
  
        /* If we handled the entire pragma internally, make sure we get the
  	 line number correct for the next token.  */
diff -Nrcpad gcc-9.4.0/libcpp/macro.c gcc-9.5.0/libcpp/macro.c
*** gcc-9.4.0/libcpp/macro.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libcpp/macro.c	Fri May 27 07:21:12 2022
*************** funlike_invocation_p (cpp_reader *pfile,
*** 1209,1216 ****
        token = cpp_get_token (pfile);
        if (token->type != CPP_PADDING)
  	break;
        if (padding == NULL
! 	  || (!(padding->flags & PREV_WHITE) && token->val.source == NULL))
  	padding = token;
      }
  
--- 1209,1219 ----
        token = cpp_get_token (pfile);
        if (token->type != CPP_PADDING)
  	break;
+       gcc_assert ((token->flags & PREV_WHITE) == 0);
        if (padding == NULL
! 	  || padding->val.source == NULL
! 	  || (!(padding->val.source->flags & PREV_WHITE)
! 	      && token->val.source == NULL))
  	padding = token;
      }
  
diff -Nrcpad gcc-9.4.0/libcpp/po/ChangeLog gcc-9.5.0/libcpp/po/ChangeLog
*** gcc-9.4.0/libcpp/po/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libcpp/po/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libdecnumber/ChangeLog gcc-9.5.0/libdecnumber/ChangeLog
*** gcc-9.4.0/libdecnumber/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libdecnumber/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libffi/ChangeLog gcc-9.5.0/libffi/ChangeLog
*** gcc-9.4.0/libffi/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libffi/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,18 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* src/x86/ffi64.c (classify_argument): For FFI_TYPE_STRUCT set words
+ 	to number of words needed for type->size + byte_offset bytes rather
+ 	than just type->size bytes.  Compute pos before the loop and check
+ 	total size of the structure.
+ 	* testsuite/libffi.call/nested_struct12.c: New test.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libffi/src/x86/ffi64.c gcc-9.5.0/libffi/src/x86/ffi64.c
*** gcc-9.4.0/libffi/src/x86/ffi64.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libffi/src/x86/ffi64.c	Fri May 27 07:21:12 2022
*************** classify_argument (ffi_type *type, enum
*** 217,223 ****
      case FFI_TYPE_STRUCT:
        {
  	const size_t UNITS_PER_WORD = 8;
! 	size_t words = (type->size + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
  	ffi_type **ptr;
  	int i;
  	enum x86_64_reg_class subclasses[MAX_CLASSES];
--- 217,224 ----
      case FFI_TYPE_STRUCT:
        {
  	const size_t UNITS_PER_WORD = 8;
! 	size_t words = (type->size + byte_offset + UNITS_PER_WORD - 1)
! 		       / UNITS_PER_WORD;
  	ffi_type **ptr;
  	int i;
  	enum x86_64_reg_class subclasses[MAX_CLASSES];
*************** classify_argument (ffi_type *type, enum
*** 241,256 ****
  	/* Merge the fields of structure.  */
  	for (ptr = type->elements; *ptr != NULL; ptr++)
  	  {
! 	    size_t num;
  
  	    byte_offset = ALIGN (byte_offset, (*ptr)->alignment);
  
  	    num = classify_argument (*ptr, subclasses, byte_offset % 8);
  	    if (num == 0)
  	      return 0;
! 	    for (i = 0; i < num; i++)
  	      {
- 		size_t pos = byte_offset / 8;
  		classes[i + pos] =
  		  merge_classes (subclasses[i], classes[i + pos]);
  	      }
--- 242,257 ----
  	/* Merge the fields of structure.  */
  	for (ptr = type->elements; *ptr != NULL; ptr++)
  	  {
! 	    size_t num, pos;
  
  	    byte_offset = ALIGN (byte_offset, (*ptr)->alignment);
  
  	    num = classify_argument (*ptr, subclasses, byte_offset % 8);
  	    if (num == 0)
  	      return 0;
! 	    pos = byte_offset / 8;
! 	    for (i = 0; i < num && (i + pos) < words; i++)
  	      {
  		classes[i + pos] =
  		  merge_classes (subclasses[i], classes[i + pos]);
  	      }
diff -Nrcpad gcc-9.4.0/libffi/testsuite/libffi.call/nested_struct12.c gcc-9.5.0/libffi/testsuite/libffi.call/nested_struct12.c
*** gcc-9.4.0/libffi/testsuite/libffi.call/nested_struct12.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libffi/testsuite/libffi.call/nested_struct12.c	Fri May 27 07:21:12 2022
***************
*** 0 ****
--- 1,107 ----
+ /* Area:	ffi_call, closure_call
+    Purpose:	Check structure passing.
+    Limitations:	none.
+    PR:		none.
+    Originator:	<jincheng@ca.ibm.com> and <jakub@redhat.com> 20210609	 */
+ 
+ /* { dg-do run } */
+ #include "ffitest.h"
+ 
+ typedef struct A {
+   float a, b;
+ } A;
+ 
+ typedef struct B {
+   float x;
+   struct A y;
+ } B;
+ 
+ B B_fn(float b0, struct B b1)
+ {
+   struct B result;
+ 
+   result.x = b0 + b1.x;
+   result.y.a = b0 + b1.y.a;
+   result.y.b = b0 + b1.y.b;
+ 
+   printf("%g %g %g %g: %g %g %g\n", b0, b1.x, b1.y.a, b1.y.b,
+ 	 result.x, result.y.a, result.y.b);
+ 
+   return result;
+ }
+ 
+ static void
+ B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+      void* userdata __UNUSED__)
+ {
+   float b0;
+   struct B b1;
+ 
+   b0 = *(float*)(args[0]);
+   b1 = *(struct B*)(args[1]);
+ 
+   *(B*)resp = B_fn(b0, b1);
+ }
+ 
+ int main (void)
+ {
+   ffi_cif cif;
+   void *code;
+   ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+   void* args_dbl[3];
+   ffi_type* cls_struct_fields[3];
+   ffi_type* cls_struct_fields1[3];
+   ffi_type cls_struct_type, cls_struct_type1;
+   ffi_type* dbl_arg_types[3];
+ 
+   float e_dbl = 12.125f;
+   struct B f_dbl = { 24.75f, { 31.625f, 32.25f } };
+ 
+   struct B res_dbl;
+ 
+   cls_struct_type.size = 0;
+   cls_struct_type.alignment = 0;
+   cls_struct_type.type = FFI_TYPE_STRUCT;
+   cls_struct_type.elements = cls_struct_fields;
+ 
+   cls_struct_type1.size = 0;
+   cls_struct_type1.alignment = 0;
+   cls_struct_type1.type = FFI_TYPE_STRUCT;
+   cls_struct_type1.elements = cls_struct_fields1;
+ 
+   cls_struct_fields[0] = &ffi_type_float;
+   cls_struct_fields[1] = &ffi_type_float;
+   cls_struct_fields[2] = NULL;
+ 
+   cls_struct_fields1[0] = &ffi_type_float;
+   cls_struct_fields1[1] = &cls_struct_type;
+   cls_struct_fields1[2] = NULL;
+ 
+ 
+   dbl_arg_types[0] = &ffi_type_float;
+   dbl_arg_types[1] = &cls_struct_type1;
+   dbl_arg_types[2] = NULL;
+ 
+   CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
+ 		     dbl_arg_types) == FFI_OK);
+ 
+   args_dbl[0] = &e_dbl;
+   args_dbl[1] = &f_dbl;
+   args_dbl[2] = NULL;
+ 
+   ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
+   /* { dg-output "12.125 24.75 31.625 32.25: 36.875 43.75 44.375" } */
+   CHECK( res_dbl.x == (e_dbl + f_dbl.x));
+   CHECK( res_dbl.y.a == (e_dbl + f_dbl.y.a));
+   CHECK( res_dbl.y.b == (e_dbl + f_dbl.y.b));
+ 
+   CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
+ 
+   res_dbl = ((B(*)(float, B))(code))(e_dbl, f_dbl);
+   /* { dg-output "\n12.125 24.75 31.625 32.25: 36.875 43.75 44.375" } */
+   CHECK( res_dbl.x == (e_dbl + f_dbl.x));
+   CHECK( res_dbl.y.a == (e_dbl + f_dbl.y.a));
+   CHECK( res_dbl.y.b == (e_dbl + f_dbl.y.b));
+ 
+   exit(0);
+ }
diff -Nrcpad gcc-9.4.0/libgcc/ChangeLog gcc-9.5.0/libgcc/ChangeLog
*** gcc-9.4.0/libgcc/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libgcc/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,35 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-16  Sebastian Pop  <spop@amazon.com>
+ 
+ 	PR target/105162
+ 	* config/aarch64/lse.S: Define BARRIER and handle memory MODEL 5.
+ 	* config/aarch64/t-lse: Add a 5th memory model for _sync functions.
+ 
+ 2021-10-27  John David Anglin  <danglin@gcc.gnu.org>
+ 
+ 	* config.host (hppa*64*-*-linux*): Don't add pa/t-linux to
+ 	tmake_file.
+ 	* config/pa/linux-atomic.c: Define u8, u16 and u64 types.
+ 	Use them in FETCH_AND_OP_2, OP_AND_FETCH_2, COMPARE_AND_SWAP_2,
+ 	SYNC_LOCK_TEST_AND_SET_2 and SYNC_LOCK_RELEASE_1 macros.
+ 	* config/pa/t-linux64 (LIB1ASMSRC): New define.
+ 	(LIB1ASMFUNCS): Revise.
+ 	(HOST_LIBGCC2_CFLAGS): Add "-DLINUX=1".
+ 
+ 2021-08-31  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2021-08-31  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/value-unwind.h: Add missing runtime exception
+ 	paragraph.
+ 	* config/frv/frv-abi.h: Likewise.
+ 	* config/i386/value-unwind.h: Likewise.
+ 	* config/pa/pa64-hpux-lib.h: Likewise.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libgcc/config/aarch64/lse.S gcc-9.5.0/libgcc/config/aarch64/lse.S
*** gcc-9.4.0/libgcc/config/aarch64/lse.S	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgcc/config/aarch64/lse.S	Fri May 27 07:21:12 2022
*************** see the files COPYING3 and COPYING.RUNTI
*** 87,110 ****
--- 87,130 ----
  # define L
  # define M     0x000000
  # define N     0x000000
+ # define BARRIER
  #elif MODEL == 2
  # define SUFF  _acq
  # define A     a
  # define L
  # define M     0x400000
  # define N     0x800000
+ # define BARRIER
  #elif MODEL == 3
  # define SUFF  _rel
  # define A
  # define L     l
  # define M     0x008000
  # define N     0x400000
+ # define BARRIER
  #elif MODEL == 4
  # define SUFF  _acq_rel
  # define A     a
  # define L     l
  # define M     0x408000
  # define N     0xc00000
+ # define BARRIER
+ #elif MODEL == 5
+ # define SUFF  _sync
+ #ifdef L_swp
+ /* swp has _acq semantics.  */
+ #  define A    a
+ #  define L
+ #  define M    0x400000
+ #  define N    0x800000
+ #else
+ /* All other _sync functions have _seq semantics.  */
+ #  define A    a
+ #  define L    l
+ #  define M    0x408000
+ #  define N    0xc00000
+ #endif
+ # define BARRIER dmb		ish
  #else
  # error
  #endif
*************** see the files COPYING3 and COPYING.RUNTI
*** 127,133 ****
  #endif
  
  #define NAME(BASE)		glue4(__aarch64_, BASE, SIZE, SUFF)
! #define LDXR			glue4(ld, A, xr, S)
  #define STXR			glue4(st, L, xr, S)
  
  /* Temporary registers used.  Other than these, only the return value
--- 147,158 ----
  #endif
  
  #define NAME(BASE)		glue4(__aarch64_, BASE, SIZE, SUFF)
! #if MODEL == 5
! /* Drop A for _sync functions.  */
! # define LDXR			glue3(ld, xr, S)
! #else
! # define LDXR			glue4(ld, A, xr, S)
! #endif
  #define STXR			glue4(st, L, xr, S)
  
  /* Temporary registers used.  Other than these, only the return value
*************** STARTFN	NAME(cas)
*** 183,192 ****
  	bne		1f
  	STXR		w(tmp1), s(1), [x2]
  	cbnz		w(tmp1), 0b
! 1:	ret
  
  #else
! #define LDXP	glue3(ld, A, xp)
  #define STXP	glue3(st, L, xp)
  #ifdef HAVE_AS_LSE
  # define CASP	glue3(casp, A, L)	x0, x1, x2, x3, [x4]
--- 208,223 ----
  	bne		1f
  	STXR		w(tmp1), s(1), [x2]
  	cbnz		w(tmp1), 0b
! 1:	BARRIER
! 	ret
  
  #else
! #if MODEL == 5
! /* Drop A for _sync functions.  */
! # define LDXP	glue2(ld, xp)
! #else
! # define LDXP	glue3(ld, A, xp)
! #endif
  #define STXP	glue3(st, L, xp)
  #ifdef HAVE_AS_LSE
  # define CASP	glue3(casp, A, L)	x0, x1, x2, x3, [x4]
*************** STARTFN	NAME(cas)
*** 205,211 ****
  	bne		1f
  	STXP		w(tmp2), x2, x3, [x4]
  	cbnz		w(tmp2), 0b
! 1:	ret
  
  #endif
  
--- 236,243 ----
  	bne		1f
  	STXP		w(tmp2), x2, x3, [x4]
  	cbnz		w(tmp2), 0b
! 1:	BARRIER
! 	ret
  
  #endif
  
*************** STARTFN	NAME(swp)
*** 229,234 ****
--- 261,267 ----
  0:	LDXR		s(0), [x1]
  	STXR		w(tmp1), s(tmp0), [x1]
  	cbnz		w(tmp1), 0b
+ 	BARRIER
  	ret
  
  ENDFN	NAME(swp)
*************** STARTFN	NAME(LDNM)
*** 273,278 ****
--- 306,312 ----
  	OP		s(tmp1), s(0), s(tmp0)
  	STXR		w(tmp2), s(tmp1), [x1]
  	cbnz		w(tmp2), 0b
+ 	BARRIER
  	ret
  
  ENDFN	NAME(LDNM)
diff -Nrcpad gcc-9.4.0/libgcc/config/aarch64/t-lse gcc-9.5.0/libgcc/config/aarch64/t-lse
*** gcc-9.4.0/libgcc/config/aarch64/t-lse	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgcc/config/aarch64/t-lse	Fri May 27 07:21:12 2022
***************
*** 18,30 ****
  # along with GCC; see the file COPYING3.  If not see
  # <http://www.gnu.org/licenses/>.
  
! # Compare-and-swap has 5 sizes and 4 memory models.
  S0 := $(foreach s, 1 2 4 8 16, $(addsuffix _$(s), cas))
! O0 := $(foreach m, 1 2 3 4, $(addsuffix _$(m)$(objext), $(S0)))
  
! # Swap, Load-and-operate have 4 sizes and 4 memory models
  S1 := $(foreach s, 1 2 4 8, $(addsuffix _$(s), swp ldadd ldclr ldeor ldset))
! O1 := $(foreach m, 1 2 3 4, $(addsuffix _$(m)$(objext), $(S1)))
  
  LSE_OBJS := $(O0) $(O1)
  
--- 18,30 ----
  # along with GCC; see the file COPYING3.  If not see
  # <http://www.gnu.org/licenses/>.
  
! # Compare-and-swap has 5 sizes and 5 memory models.
  S0 := $(foreach s, 1 2 4 8 16, $(addsuffix _$(s), cas))
! O0 := $(foreach m, 1 2 3 4 5, $(addsuffix _$(m)$(objext), $(S0)))
  
! # Swap, Load-and-operate have 4 sizes and 5 memory models
  S1 := $(foreach s, 1 2 4 8, $(addsuffix _$(s), swp ldadd ldclr ldeor ldset))
! O1 := $(foreach m, 1 2 3 4 5, $(addsuffix _$(m)$(objext), $(S1)))
  
  LSE_OBJS := $(O0) $(O1)
  
diff -Nrcpad gcc-9.4.0/libgcc/config/aarch64/value-unwind.h gcc-9.5.0/libgcc/config/aarch64/value-unwind.h
*** gcc-9.4.0/libgcc/config/aarch64/value-unwind.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgcc/config/aarch64/value-unwind.h	Fri May 27 07:21:12 2022
***************
*** 13,18 ****
--- 13,22 ----
     or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     License for more details.
  
+    Under Section 7 of GPL version 3, you are granted additional
+    permissions described in the GCC Runtime Library Exception, version
+    3.1, as published by the Free Software Foundation.
+ 
     You should have received a copy of the GNU General Public License and
     a copy of the GCC Runtime Library Exception along with this program;
     see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
diff -Nrcpad gcc-9.4.0/libgcc/config/frv/frv-abi.h gcc-9.5.0/libgcc/config/frv/frv-abi.h
*** gcc-9.4.0/libgcc/config/frv/frv-abi.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgcc/config/frv/frv-abi.h	Fri May 27 07:21:12 2022
***************
*** 14,19 ****
--- 14,23 ----
     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     for more details.
  
+    Under Section 7 of GPL version 3, you are granted additional
+    permissions described in the GCC Runtime Library Exception, version
+    3.1, as published by the Free Software Foundation.
+ 
     You should have received a copy of the GNU General Public License and
     a copy of the GCC Runtime Library Exception along with this program;
     see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
diff -Nrcpad gcc-9.4.0/libgcc/config/i386/value-unwind.h gcc-9.5.0/libgcc/config/i386/value-unwind.h
*** gcc-9.4.0/libgcc/config/i386/value-unwind.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgcc/config/i386/value-unwind.h	Fri May 27 07:21:12 2022
***************
*** 13,18 ****
--- 13,22 ----
     or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     License for more details.
  
+    Under Section 7 of GPL version 3, you are granted additional
+    permissions described in the GCC Runtime Library Exception, version
+    3.1, as published by the Free Software Foundation.
+ 
     You should have received a copy of the GNU General Public License and
     a copy of the GCC Runtime Library Exception along with this program;
     see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
diff -Nrcpad gcc-9.4.0/libgcc/config/libbid/ChangeLog gcc-9.5.0/libgcc/config/libbid/ChangeLog
*** gcc-9.4.0/libgcc/config/libbid/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libgcc/config/libbid/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libgcc/config/pa/linux-atomic.c gcc-9.5.0/libgcc/config/pa/linux-atomic.c
*** gcc-9.4.0/libgcc/config/pa/linux-atomic.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgcc/config/pa/linux-atomic.c	Fri May 27 07:21:12 2022
*************** see the files COPYING3 and COPYING.RUNTI
*** 28,33 ****
--- 28,41 ----
  #define EBUSY   16
  #define ENOSYS 251 
  
+ typedef unsigned char u8;
+ typedef short unsigned int u16;
+ #ifdef __LP64__
+ typedef long unsigned int u64;
+ #else
+ typedef long long unsigned int u64;
+ #endif
+ 
  /* PA-RISC 2.0 supports out-of-order execution for loads and stores.
     Thus, we need to synchonize memory accesses.  For more info, see:
     "Advanced Performance Features of the 64-bit PA-8000" by Doug Hunt.
*************** __kernel_cmpxchg2 (volatile void *mem, c
*** 117,142 ****
      return tmp;								\
    }
  
! FETCH_AND_OP_2 (add,   , +, long long unsigned int, 8, 3)
! FETCH_AND_OP_2 (sub,   , -, long long unsigned int, 8, 3)
! FETCH_AND_OP_2 (or,    , |, long long unsigned int, 8, 3)
! FETCH_AND_OP_2 (and,   , &, long long unsigned int, 8, 3)
! FETCH_AND_OP_2 (xor,   , ^, long long unsigned int, 8, 3)
! FETCH_AND_OP_2 (nand, ~, &, long long unsigned int, 8, 3)
  
! FETCH_AND_OP_2 (add,   , +, short unsigned int, 2, 1)
! FETCH_AND_OP_2 (sub,   , -, short unsigned int, 2, 1)
! FETCH_AND_OP_2 (or,    , |, short unsigned int, 2, 1)
! FETCH_AND_OP_2 (and,   , &, short unsigned int, 2, 1)
! FETCH_AND_OP_2 (xor,   , ^, short unsigned int, 2, 1)
! FETCH_AND_OP_2 (nand, ~, &, short unsigned int, 2, 1)
  
! FETCH_AND_OP_2 (add,   , +, unsigned char, 1, 0)
! FETCH_AND_OP_2 (sub,   , -, unsigned char, 1, 0)
! FETCH_AND_OP_2 (or,    , |, unsigned char, 1, 0)
! FETCH_AND_OP_2 (and,   , &, unsigned char, 1, 0)
! FETCH_AND_OP_2 (xor,   , ^, unsigned char, 1, 0)
! FETCH_AND_OP_2 (nand, ~, &, unsigned char, 1, 0)
  
  #define OP_AND_FETCH_2(OP, PFX_OP, INF_OP, TYPE, WIDTH, INDEX)		\
    TYPE HIDDEN								\
--- 125,150 ----
      return tmp;								\
    }
  
! FETCH_AND_OP_2 (add,   , +, u64, 8, 3)
! FETCH_AND_OP_2 (sub,   , -, u64, 8, 3)
! FETCH_AND_OP_2 (or,    , |, u64, 8, 3)
! FETCH_AND_OP_2 (and,   , &, u64, 8, 3)
! FETCH_AND_OP_2 (xor,   , ^, u64, 8, 3)
! FETCH_AND_OP_2 (nand, ~, &, u64, 8, 3)
  
! FETCH_AND_OP_2 (add,   , +, u16, 2, 1)
! FETCH_AND_OP_2 (sub,   , -, u16, 2, 1)
! FETCH_AND_OP_2 (or,    , |, u16, 2, 1)
! FETCH_AND_OP_2 (and,   , &, u16, 2, 1)
! FETCH_AND_OP_2 (xor,   , ^, u16, 2, 1)
! FETCH_AND_OP_2 (nand, ~, &, u16, 2, 1)
  
! FETCH_AND_OP_2 (add,   , +, u8, 1, 0)
! FETCH_AND_OP_2 (sub,   , -, u8, 1, 0)
! FETCH_AND_OP_2 (or,    , |, u8, 1, 0)
! FETCH_AND_OP_2 (and,   , &, u8, 1, 0)
! FETCH_AND_OP_2 (xor,   , ^, u8, 1, 0)
! FETCH_AND_OP_2 (nand, ~, &, u8, 1, 0)
  
  #define OP_AND_FETCH_2(OP, PFX_OP, INF_OP, TYPE, WIDTH, INDEX)		\
    TYPE HIDDEN								\
*************** FETCH_AND_OP_2 (nand, ~, &, unsigned cha
*** 154,179 ****
      return PFX_OP (tmp INF_OP val);					\
    }
  
! OP_AND_FETCH_2 (add,   , +, long long unsigned int, 8, 3)
! OP_AND_FETCH_2 (sub,   , -, long long unsigned int, 8, 3)
! OP_AND_FETCH_2 (or,    , |, long long unsigned int, 8, 3)
! OP_AND_FETCH_2 (and,   , &, long long unsigned int, 8, 3)
! OP_AND_FETCH_2 (xor,   , ^, long long unsigned int, 8, 3)
! OP_AND_FETCH_2 (nand, ~, &, long long unsigned int, 8, 3)
  
! OP_AND_FETCH_2 (add,   , +, short unsigned int, 2, 1)
! OP_AND_FETCH_2 (sub,   , -, short unsigned int, 2, 1)
! OP_AND_FETCH_2 (or,    , |, short unsigned int, 2, 1)
! OP_AND_FETCH_2 (and,   , &, short unsigned int, 2, 1)
! OP_AND_FETCH_2 (xor,   , ^, short unsigned int, 2, 1)
! OP_AND_FETCH_2 (nand, ~, &, short unsigned int, 2, 1)
  
! OP_AND_FETCH_2 (add,   , +, unsigned char, 1, 0)
! OP_AND_FETCH_2 (sub,   , -, unsigned char, 1, 0)
! OP_AND_FETCH_2 (or,    , |, unsigned char, 1, 0)
! OP_AND_FETCH_2 (and,   , &, unsigned char, 1, 0)
! OP_AND_FETCH_2 (xor,   , ^, unsigned char, 1, 0)
! OP_AND_FETCH_2 (nand, ~, &, unsigned char, 1, 0)
  
  #define FETCH_AND_OP_WORD(OP, PFX_OP, INF_OP)				\
    unsigned int HIDDEN							\
--- 162,187 ----
      return PFX_OP (tmp INF_OP val);					\
    }
  
! OP_AND_FETCH_2 (add,   , +, u64, 8, 3)
! OP_AND_FETCH_2 (sub,   , -, u64, 8, 3)
! OP_AND_FETCH_2 (or,    , |, u64, 8, 3)
! OP_AND_FETCH_2 (and,   , &, u64, 8, 3)
! OP_AND_FETCH_2 (xor,   , ^, u64, 8, 3)
! OP_AND_FETCH_2 (nand, ~, &, u64, 8, 3)
  
! OP_AND_FETCH_2 (add,   , +, u16, 2, 1)
! OP_AND_FETCH_2 (sub,   , -, u16, 2, 1)
! OP_AND_FETCH_2 (or,    , |, u16, 2, 1)
! OP_AND_FETCH_2 (and,   , &, u16, 2, 1)
! OP_AND_FETCH_2 (xor,   , ^, u16, 2, 1)
! OP_AND_FETCH_2 (nand, ~, &, u16, 2, 1)
  
! OP_AND_FETCH_2 (add,   , +, u8, 1, 0)
! OP_AND_FETCH_2 (sub,   , -, u8, 1, 0)
! OP_AND_FETCH_2 (or,    , |, u8, 1, 0)
! OP_AND_FETCH_2 (and,   , &, u8, 1, 0)
! OP_AND_FETCH_2 (xor,   , ^, u8, 1, 0)
! OP_AND_FETCH_2 (nand, ~, &, u8, 1, 0)
  
  #define FETCH_AND_OP_WORD(OP, PFX_OP, INF_OP)				\
    unsigned int HIDDEN							\
*************** typedef unsigned char bool;
*** 254,262 ****
      return (failure == 0);						\
    }
  
! COMPARE_AND_SWAP_2 (long long unsigned int, 8, 3)
! COMPARE_AND_SWAP_2 (short unsigned int, 2, 1)
! COMPARE_AND_SWAP_2 (unsigned char, 1, 0)
  
  unsigned int HIDDEN
  __sync_val_compare_and_swap_4 (volatile void *ptr, unsigned int oldval,
--- 262,270 ----
      return (failure == 0);						\
    }
  
! COMPARE_AND_SWAP_2 (u64, 8, 3)
! COMPARE_AND_SWAP_2 (u16, 2, 1)
! COMPARE_AND_SWAP_2 (u8, 1, 0)
  
  unsigned int HIDDEN
  __sync_val_compare_and_swap_4 (volatile void *ptr, unsigned int oldval,
*************** TYPE HIDDEN								\
*** 304,312 ****
      return oldval;							\
    }
  
! SYNC_LOCK_TEST_AND_SET_2 (long long unsigned int, 8, 3)
! SYNC_LOCK_TEST_AND_SET_2 (short unsigned int, 2, 1)
! SYNC_LOCK_TEST_AND_SET_2 (unsigned char, 1, 0)
  
  unsigned int HIDDEN
  __sync_lock_test_and_set_4 (volatile void *ptr, unsigned int val)
--- 312,320 ----
      return oldval;							\
    }
  
! SYNC_LOCK_TEST_AND_SET_2 (u64, 8, 3)
! SYNC_LOCK_TEST_AND_SET_2 (u16, 2, 1)
! SYNC_LOCK_TEST_AND_SET_2 (u8, 1, 0)
  
  unsigned int HIDDEN
  __sync_lock_test_and_set_4 (volatile void *ptr, unsigned int val)
*************** __sync_lock_test_and_set_4 (volatile voi
*** 336,344 ****
      } while (failure != 0);					\
    }
  
! SYNC_LOCK_RELEASE_1 (long long unsigned int, 8, 3)
! SYNC_LOCK_RELEASE_1 (short unsigned int, 2, 1)
! SYNC_LOCK_RELEASE_1 (unsigned char, 1, 0)
  
  void HIDDEN
  __sync_lock_release_4 (volatile void *ptr)
--- 344,352 ----
      } while (failure != 0);					\
    }
  
! SYNC_LOCK_RELEASE_1 (u64, 8, 3)
! SYNC_LOCK_RELEASE_1 (u16, 2, 1)
! SYNC_LOCK_RELEASE_1 (u8, 1, 0)
  
  void HIDDEN
  __sync_lock_release_4 (volatile void *ptr)
diff -Nrcpad gcc-9.4.0/libgcc/config/pa/pa64-hpux-lib.h gcc-9.5.0/libgcc/config/pa/pa64-hpux-lib.h
*** gcc-9.4.0/libgcc/config/pa/pa64-hpux-lib.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgcc/config/pa/pa64-hpux-lib.h	Fri May 27 07:21:12 2022
*************** but WITHOUT ANY WARRANTY; without even t
*** 14,21 ****
  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/>.  */
  
  /* We use DTOR_LIST_BEGIN to carry a bunch of hacks to allow us to use
--- 14,26 ----
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  
! Under Section 7 of GPL version 3, you are granted additional
! permissions described in the GCC Runtime Library Exception, version
! 3.1, as published by the Free Software Foundation.
! 
! You should have received a copy of the GNU General Public License and
! a copy of the GCC Runtime Library Exception along with this program;
! see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  <http://www.gnu.org/licenses/>.  */
  
  /* We use DTOR_LIST_BEGIN to carry a bunch of hacks to allow us to use
diff -Nrcpad gcc-9.4.0/libgcc/config/pa/t-linux64 gcc-9.5.0/libgcc/config/pa/t-linux64
*** gcc-9.4.0/libgcc/config/pa/t-linux64	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgcc/config/pa/t-linux64	Fri May 27 07:21:12 2022
***************
*** 1,8 ****
  # Plug millicode routines into libgcc.a  We want these on both native and
  # cross compiles.
! # FIXME: Explain.
! LIB1ASMFUNCS := $(filter-out _dyncall, $(LIB1ASMFUNCS))
  
! LIB2ADD_ST = $(srcdir)/config/pa/linux-atomic.c
  
! HOST_LIBGCC2_CFLAGS += -Dpa64=1 -DELF=1
--- 1,8 ----
  # Plug millicode routines into libgcc.a  We want these on both native and
  # cross compiles.
! LIB1ASMSRC = pa/milli64.S
! LIB1ASMFUNCS = _divI _divU _remI _remU _div_const _mulI
  
! HOST_LIBGCC2_CFLAGS += -Dpa64=1 -DELF=1 -DLINUX=1
  
! LIB2ADD_ST = $(srcdir)/config/pa/linux-atomic.c
diff -Nrcpad gcc-9.4.0/libgcc/config.host gcc-9.5.0/libgcc/config.host
*** gcc-9.4.0/libgcc/config.host	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgcc/config.host	Fri May 27 07:21:12 2022
*************** h8300-*-linux*)
*** 566,572 ****
  	tm_file="$tm_file h8300/h8300-lib.h"
  	;;
  hppa*64*-*-linux*)
! 	tmake_file="$tmake_file pa/t-linux pa/t-linux64"
  	extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
  	;;
  hppa*-*-linux*)
--- 566,572 ----
  	tm_file="$tm_file h8300/h8300-lib.h"
  	;;
  hppa*64*-*-linux*)
! 	tmake_file="$tmake_file pa/t-linux64"
  	extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
  	;;
  hppa*-*-linux*)
diff -Nrcpad gcc-9.4.0/libgfortran/ChangeLog gcc-9.5.0/libgfortran/ChangeLog
*** gcc-9.4.0/libgfortran/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libgfortran/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,17 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2021-12-27  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2021-12-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR libfortran/103634
+ 	* intrinsics/pack_generic.c (pack_internal): Handle case when the
+ 	array argument of PACK has one or more extents of size zero to
+ 	avoid invalid reads.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libgfortran/intrinsics/pack_generic.c gcc-9.5.0/libgfortran/intrinsics/pack_generic.c
*** gcc-9.4.0/libgfortran/intrinsics/pack_generic.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgfortran/intrinsics/pack_generic.c	Fri May 27 07:21:12 2022
*************** pack_internal (gfc_array_char *ret, cons
*** 85,90 ****
--- 85,91 ----
  
    index_type count[GFC_MAX_DIMENSIONS];
    index_type extent[GFC_MAX_DIMENSIONS];
+   bool zero_sized;
    index_type n;
    index_type dim;
    index_type nelem;
*************** pack_internal (gfc_array_char *ret, cons
*** 114,123 ****
--- 115,127 ----
    else
      runtime_error ("Funny sized logical array");
  
+   zero_sized = false;
    for (n = 0; n < dim; n++)
      {
        count[n] = 0;
        extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+       if (extent[n] <= 0)
+ 	zero_sized = true;
        sstride[n] = GFC_DESCRIPTOR_STRIDE_BYTES(array,n);
        mstride[n] = GFC_DESCRIPTOR_STRIDE_BYTES(mask,n);
      }
*************** pack_internal (gfc_array_char *ret, cons
*** 126,131 ****
--- 130,140 ----
    if (mstride[0] == 0)
      mstride[0] = mask_kind;
  
+   if (zero_sized)
+     sptr = NULL;
+   else
+     sptr = array->base_addr;
+ 
    if (ret->base_addr == NULL || unlikely (compile_options.bounds_check))
      {
        /* Count the elements, either for allocating memory or
diff -Nrcpad gcc-9.4.0/libgomp/ChangeLog gcc-9.5.0/libgomp/ChangeLog
*** gcc-9.4.0/libgomp/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libgomp/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,75 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libgomp/104385
+ 	* task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
+ 	clear task->parent.
+ 	* testsuite/libgomp.c/pr104385.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
+ 	after creating count places clean up and return immediately.
+ 	* testsuite/libgomp.c/places-6.c: New test.
+ 	* testsuite/libgomp.c/places-7.c: New test.
+ 	* testsuite/libgomp.c/places-8.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/94366
+ 	* testsuite/libgomp.c-c++-common/pr94366.c: New test.
+ 
+ 2022-05-11  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	* testsuite/libgomp.c-c++-common/reduction-1.c: New test.
+ 	* testsuite/libgomp.c-c++-common/reduction-2.c: New test.
+ 	* testsuite/libgomp.c-c++-common/reduction-3.c: New test.
+ 	* testsuite/libgomp.c-c++-common/reduction-4.c: New file.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-13  Jakub Jelinek  <jakub@redhat.com>
+ 		    Florian Weimer  <fweimer@redhat.com>
+ 
+ 	* config/linux/sem.h: Don't include limits.h.
+ 	(SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
+ 	* config/linux/affinity.c: Include limits.h.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/101167
+ 	* testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/100471
+ 	* taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
+ 	GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
+ 	reduction pointer.
+ 	* testsuite/libgomp.c/task-reduction-4.c: New test.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libgomp/config/linux/affinity.c gcc-9.5.0/libgomp/config/linux/affinity.c
*** gcc-9.4.0/libgomp/config/linux/affinity.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgomp/config/linux/affinity.c	Fri May 27 07:21:13 2022
***************
*** 35,40 ****
--- 35,41 ----
  #include <stdio.h>
  #include <string.h>
  #include <unistd.h>
+ #include <limits.h>
  
  #ifdef HAVE_PTHREAD_AFFINITY_NP
  
*************** gomp_affinity_init_level_1 (int level, i
*** 280,287 ****
  		      if (gomp_affinity_add_cpus (pl, first, 1, 0, true))
  			{
  			  CPU_CLR_S (first, gomp_cpuset_size, copy);
! 			  if (level == 1)
! 			    gomp_places_list_len++;
  			}
  		    }
  		if (*p == ',')
--- 281,293 ----
  		      if (gomp_affinity_add_cpus (pl, first, 1, 0, true))
  			{
  			  CPU_CLR_S (first, gomp_cpuset_size, copy);
! 			  if (level == 1
! 			      && ++gomp_places_list_len >= count)
! 			    {
! 			      fclose (f);
! 			      free (line);
! 			      return;
! 			    }
  			}
  		    }
  		if (*p == ',')
diff -Nrcpad gcc-9.4.0/libgomp/config/linux/sem.h gcc-9.5.0/libgomp/config/linux/sem.h
*** gcc-9.4.0/libgomp/config/linux/sem.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgomp/config/linux/sem.h	Fri May 27 07:21:13 2022
***************
*** 33,42 ****
  #ifndef GOMP_SEM_H
  #define GOMP_SEM_H 1
  
- #include <limits.h> /* For INT_MIN */
- 
  typedef int gomp_sem_t;
! #define SEM_WAIT INT_MIN
  #define SEM_INC 1
  
  extern void gomp_sem_wait_slow (gomp_sem_t *, int);
--- 33,40 ----
  #ifndef GOMP_SEM_H
  #define GOMP_SEM_H 1
  
  typedef int gomp_sem_t;
! #define SEM_WAIT (-__INT_MAX__ - 1)
  #define SEM_INC 1
  
  extern void gomp_sem_wait_slow (gomp_sem_t *, int);
diff -Nrcpad gcc-9.4.0/libgomp/task.c gcc-9.5.0/libgomp/task.c
*** gcc-9.4.0/libgomp/task.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgomp/task.c	Fri May 27 07:21:13 2022
*************** gomp_task_run_post_handle_dependers (str
*** 1188,1193 ****
--- 1188,1195 ----
  		}
  	    }
  	}
+       else
+ 	task->parent = NULL;
        if (taskgroup)
  	{
  	  priority_queue_insert (PQ_TASKGROUP, &taskgroup->taskgroup_queue,
diff -Nrcpad gcc-9.4.0/libgomp/taskloop.c gcc-9.5.0/libgomp/taskloop.c
*** gcc-9.4.0/libgomp/taskloop.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libgomp/taskloop.c	Fri May 27 07:21:13 2022
*************** GOMP_taskloop (void (*fn) (void *), void
*** 51,70 ****
  
    /* If parallel or taskgroup has been cancelled, don't start new tasks.  */
    if (team && gomp_team_barrier_cancelled (&team->barrier))
!     return;
  
  #ifdef TYPE_is_long
    TYPE s = step;
    if (step > 0)
      {
        if (start >= end)
! 	return;
        s--;
      }
    else
      {
        if (start <= end)
! 	return;
        s++;
      }
    UTYPE n = (end - start + s) / step;
--- 51,82 ----
  
    /* If parallel or taskgroup has been cancelled, don't start new tasks.  */
    if (team && gomp_team_barrier_cancelled (&team->barrier))
!     {
!     early_return:
!       if ((flags & (GOMP_TASK_FLAG_NOGROUP | GOMP_TASK_FLAG_REDUCTION))
! 	  == GOMP_TASK_FLAG_REDUCTION)
! 	{
! 	  struct gomp_data_head { TYPE t1, t2; uintptr_t *ptr; };
! 	  uintptr_t *ptr = ((struct gomp_data_head *) data)->ptr;
! 	  /* Tell callers GOMP_taskgroup_reduction_register has not been
! 	     called.  */
! 	  ptr[2] = 0;
! 	}
!       return;
!     }
  
  #ifdef TYPE_is_long
    TYPE s = step;
    if (step > 0)
      {
        if (start >= end)
! 	goto early_return;
        s--;
      }
    else
      {
        if (start <= end)
! 	goto early_return;
        s++;
      }
    UTYPE n = (end - start + s) / step;
*************** GOMP_taskloop (void (*fn) (void *), void
*** 73,85 ****
    if (flags & GOMP_TASK_FLAG_UP)
      {
        if (start >= end)
! 	return;
        n = (end - start + step - 1) / step;
      }
    else
      {
        if (start <= end)
! 	return;
        n = (start - end - step - 1) / -step;
      }
  #endif
--- 85,97 ----
    if (flags & GOMP_TASK_FLAG_UP)
      {
        if (start >= end)
! 	goto early_return;
        n = (end - start + step - 1) / step;
      }
    else
      {
        if (start <= end)
! 	goto early_return;
        n = (start - end - step - 1) / -step;
      }
  #endif
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c/places-6.c gcc-9.5.0/libgomp/testsuite/libgomp.c/places-6.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c/places-6.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c/places-6.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-set-target-env-var OMP_PLACES "threads(1)" } */
+ /* { dg-set-target-env-var OMP_DISPLAY_ENV "true" } */
+ 
+ int
+ main ()
+ {
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c/places-7.c gcc-9.5.0/libgomp/testsuite/libgomp.c/places-7.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c/places-7.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c/places-7.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-set-target-env-var OMP_PLACES "cores(1)" } */
+ /* { dg-set-target-env-var OMP_DISPLAY_ENV "true" } */
+ 
+ int
+ main ()
+ {
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c/places-8.c gcc-9.5.0/libgomp/testsuite/libgomp.c/places-8.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c/places-8.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c/places-8.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-set-target-env-var OMP_PLACES "sockets(1)" } */
+ /* { dg-set-target-env-var OMP_DISPLAY_ENV "true" } */
+ 
+ int
+ main ()
+ {
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c/pr104385.c gcc-9.5.0/libgomp/testsuite/libgomp.c/pr104385.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c/pr104385.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c/pr104385.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,26 ----
+ /* PR libgomp/104385 */
+ 
+ #include <unistd.h>
+ 
+ int
+ main ()
+ {
+   int j = 0;
+   #pragma omp parallel shared(j) num_threads(2)
+   {
+     #pragma omp barrier
+     #pragma omp master
+     #pragma omp task shared(j)
+     {
+       #pragma omp task depend(out: j) shared(j)
+       {
+         usleep (10000);
+         j = 1;
+       }
+ 
+       #pragma omp task depend(inout: j) shared(j)
+       j += 1;
+     }
+   }
+   return j - 2;
+ }
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c/task-reduction-4.c gcc-9.5.0/libgomp/testsuite/libgomp.c/task-reduction-4.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c/task-reduction-4.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c/task-reduction-4.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,21 ----
+ /* PR middle-end/100471 */
+ 
+ extern void abort (void);
+ 
+ int c;
+ 
+ int
+ main ()
+ {
+ #pragma omp parallel
+ #pragma omp single
+   {
+     int r = 0, i;
+     #pragma omp taskloop reduction(+:r)
+     for (i = 0; i < c; i++)
+       r++;
+     if (r != 0)
+       abort ();
+   }
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/pr94366.c gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/pr94366.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/pr94366.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/pr94366.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,17 ----
+ /* PR middle-end/94366 */
+ 
+ int
+ main ()
+ {
+   int a = 2;
+   #pragma omp parallel reduction(&& : a)
+     a = a && 1;
+   if (!a)
+     __builtin_abort ();
+   a = 4;
+   #pragma omp parallel reduction(|| : a)
+     a = a || 0;
+   if (!a)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/reduction-1.c gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/reduction-1.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/reduction-1.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/reduction-1.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,192 ----
+ /* C / C++'s logical AND and OR operators take any scalar argument
+    which compares (un)equal to 0 - the result 1 or 0 and of type int.
+ 
+    In this testcase, the int result is again converted to a floating-poing
+    or complex type.
+ 
+    While having a floating-point/complex array element with || and && can make
+    sense, having a non-integer/non-bool reduction variable is odd but valid.
+ 
+    Test: FP reduction variable + FP array.  */
+ 
+ #define N 1024
+ _Complex float rcf[N];
+ _Complex double rcd[N];
+ float rf[N];
+ double rd[N];
+ 
+ int
+ reduction_or ()
+ {
+   float orf = 0;
+   double ord = 0;
+   _Complex float orfc = 0;
+   _Complex double ordc = 0;
+ 
+   #pragma omp parallel reduction(||: orf)
+   for (int i=0; i < N; ++i)
+     orf = orf || rf[i];
+ 
+   #pragma omp parallel for reduction(||: ord)
+   for (int i=0; i < N; ++i)
+     ord = ord || rcd[i];
+ 
+   #pragma omp parallel for simd reduction(||: orfc)
+   for (int i=0; i < N; ++i)
+     orfc = orfc || rcf[i];
+ 
+   #pragma omp parallel for reduction(||: ordc)
+   for (int i=0; i < N; ++i)
+     ordc = ordc || rcd[i];
+ 
+   return orf + ord + __real__ orfc + __real__ ordc;
+ }
+ 
+ int
+ reduction_or_teams ()
+ {
+   float orf = 0;
+   double ord = 0;
+   _Complex float orfc = 0;
+   _Complex double ordc = 0;
+ 
+   #pragma omp teams distribute parallel for reduction(||: orf)
+   for (int i=0; i < N; ++i)
+     orf = orf || rf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(||: ord)
+   for (int i=0; i < N; ++i)
+     ord = ord || rcd[i];
+ 
+   #pragma omp teams distribute parallel for reduction(||: orfc)
+   for (int i=0; i < N; ++i)
+     orfc = orfc || rcf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(||: ordc)
+   for (int i=0; i < N; ++i)
+     ordc = ordc || rcd[i];
+ 
+   return orf + ord + __real__ orfc + __real__ ordc;
+ }
+ 
+ int
+ reduction_and ()
+ {
+   float andf = 1;
+   double andd = 1;
+   _Complex float andfc = 1;
+   _Complex double anddc = 1;
+ 
+   #pragma omp parallel reduction(&&: andf)
+   for (int i=0; i < N; ++i)
+     andf = andf && rf[i];
+ 
+   #pragma omp parallel for reduction(&&: andd)
+   for (int i=0; i < N; ++i)
+     andd = andd && rcd[i];
+ 
+   #pragma omp parallel for simd reduction(&&: andfc)
+   for (int i=0; i < N; ++i)
+     andfc = andfc && rcf[i];
+ 
+   #pragma omp parallel for reduction(&&: anddc)
+   for (int i=0; i < N; ++i)
+     anddc = anddc && rcd[i];
+ 
+   return andf + andd + __real__ andfc + __real__ anddc;
+ }
+ 
+ int
+ reduction_and_teams ()
+ {
+   float andf = 1;
+   double andd = 1;
+   _Complex float andfc = 1;
+   _Complex double anddc = 1;
+ 
+   #pragma omp teams distribute parallel for reduction(&&: andf)
+   for (int i=0; i < N; ++i)
+     andf = andf && rf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(&&: andd)
+   for (int i=0; i < N; ++i)
+     andd = andd && rcd[i];
+ 
+   #pragma omp teams distribute parallel for reduction(&&: andfc)
+   for (int i=0; i < N; ++i)
+     andfc = andfc && rcf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(&&: anddc)
+   for (int i=0; i < N; ++i)
+     anddc = anddc && rcd[i];
+ 
+   return andf + andd + __real__ andfc + __real__ anddc;
+ }
+ 
+ int
+ main ()
+ {
+   for (int i = 0; i < N; ++i)
+     {
+       rf[i] = 0;
+       rd[i] = 0;
+       rcf[i] = 0;
+       rcd[i] = 0;
+     }
+ 
+   if (reduction_or () != 0)
+     __builtin_abort ();
+   if (reduction_or_teams () != 0)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   rf[10] = 1.0;
+   rd[15] = 1.0;
+   rcf[10] = 1.0;
+   rcd[15] = 1.0i;
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   for (int i = 0; i < N; ++i)
+     {
+       rf[i] = 1;
+       rd[i] = 1;
+       rcf[i] = 1;
+       rcd[i] = 1;
+     }
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 4)
+     __builtin_abort ();
+   if (reduction_and_teams () != 4)
+     __builtin_abort ();
+ 
+   rf[10] = 0.0;
+   rd[15] = 0.0;
+   rcf[10] = 0.0;
+   rcd[15] = 0.0;
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/reduction-2.c gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/reduction-2.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/reduction-2.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/reduction-2.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,192 ----
+ /* C / C++'s logical AND and OR operators take any scalar argument
+    which compares (un)equal to 0 - the result 1 or 0 and of type int.
+ 
+    In this testcase, the int result is again converted to a floating-poing
+    or complex type.
+ 
+    While having a floating-point/complex array element with || and && can make
+    sense, having a non-integer/non-bool reduction variable is odd but valid.
+ 
+    Test: FP reduction variable + integer array.  */
+ 
+ #define N 1024
+ char rcf[N];
+ short rcd[N];
+ int rf[N];
+ long rd[N];
+ 
+ int
+ reduction_or ()
+ {
+   float orf = 0;
+   double ord = 0;
+   _Complex float orfc = 0;
+   _Complex double ordc = 0;
+ 
+   #pragma omp parallel reduction(||: orf)
+   for (int i=0; i < N; ++i)
+     orf = orf || rf[i];
+ 
+   #pragma omp parallel for reduction(||: ord)
+   for (int i=0; i < N; ++i)
+     ord = ord || rcd[i];
+ 
+   #pragma omp parallel for simd reduction(||: orfc)
+   for (int i=0; i < N; ++i)
+     orfc = orfc || rcf[i];
+ 
+   #pragma omp parallel for reduction(||: ordc)
+   for (int i=0; i < N; ++i)
+     ordc = ordc || rcd[i];
+ 
+   return orf + ord + __real__ orfc + __real__ ordc;
+ }
+ 
+ int
+ reduction_or_teams ()
+ {
+   float orf = 0;
+   double ord = 0;
+   _Complex float orfc = 0;
+   _Complex double ordc = 0;
+ 
+   #pragma omp teams distribute parallel for reduction(||: orf)
+   for (int i=0; i < N; ++i)
+     orf = orf || rf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(||: ord)
+   for (int i=0; i < N; ++i)
+     ord = ord || rcd[i];
+ 
+   #pragma omp teams distribute parallel for reduction(||: orfc)
+   for (int i=0; i < N; ++i)
+     orfc = orfc || rcf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(||: ordc)
+   for (int i=0; i < N; ++i)
+     ordc = ordc || rcd[i];
+ 
+   return orf + ord + __real__ orfc + __real__ ordc;
+ }
+ 
+ int
+ reduction_and ()
+ {
+   float andf = 1;
+   double andd = 1;
+   _Complex float andfc = 1;
+   _Complex double anddc = 1;
+ 
+   #pragma omp parallel reduction(&&: andf)
+   for (int i=0; i < N; ++i)
+     andf = andf && rf[i];
+ 
+   #pragma omp parallel for reduction(&&: andd)
+   for (int i=0; i < N; ++i)
+     andd = andd && rcd[i];
+ 
+   #pragma omp parallel for simd reduction(&&: andfc)
+   for (int i=0; i < N; ++i)
+     andfc = andfc && rcf[i];
+ 
+   #pragma omp parallel for reduction(&&: anddc)
+   for (int i=0; i < N; ++i)
+     anddc = anddc && rcd[i];
+ 
+   return andf + andd + __real__ andfc + __real__ anddc;
+ }
+ 
+ int
+ reduction_and_teams ()
+ {
+   float andf = 1;
+   double andd = 1;
+   _Complex float andfc = 1;
+   _Complex double anddc = 1;
+ 
+   #pragma omp teams distribute parallel for reduction(&&: andf)
+   for (int i=0; i < N; ++i)
+     andf = andf && rf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(&&: andd)
+   for (int i=0; i < N; ++i)
+     andd = andd && rcd[i];
+ 
+   #pragma omp teams distribute parallel for reduction(&&: andfc)
+   for (int i=0; i < N; ++i)
+     andfc = andfc && rcf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(&&: anddc)
+   for (int i=0; i < N; ++i)
+     anddc = anddc && rcd[i];
+ 
+   return andf + andd + __real__ andfc + __real__ anddc;
+ }
+ 
+ int
+ main ()
+ {
+   for (int i = 0; i < N; ++i)
+     {
+       rf[i] = 0;
+       rd[i] = 0;
+       rcf[i] = 0;
+       rcd[i] = 0;
+     }
+ 
+   if (reduction_or () != 0)
+     __builtin_abort ();
+   if (reduction_or_teams () != 0)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   rf[10] = 1;
+   rd[15] = 1;
+   rcf[10] = 1;
+   rcd[15] = 1;
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   for (int i = 0; i < N; ++i)
+     {
+       rf[i] = 1;
+       rd[i] = 1;
+       rcf[i] = 1;
+       rcd[i] = 1;
+     }
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 4)
+     __builtin_abort ();
+   if (reduction_and_teams () != 4)
+     __builtin_abort ();
+ 
+   rf[10] = 0;
+   rd[15] = 0;
+   rcf[10] = 0;
+   rcd[15] = 0;
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/reduction-3.c gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/reduction-3.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/reduction-3.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/reduction-3.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,192 ----
+ /* C / C++'s logical AND and OR operators take any scalar argument
+    which compares (un)equal to 0 - the result 1 or 0 and of type int.
+ 
+    In this testcase, the int result is again converted to a floating-poing
+    or complex type.
+ 
+    While having a floating-point/complex array element with || and && can make
+    sense, having a non-integer/non-bool reduction variable is odd but valid.
+ 
+    Test: integer reduction variable + FP array.  */
+ 
+ #define N 1024
+ _Complex float rcf[N];
+ _Complex double rcd[N];
+ float rf[N];
+ double rd[N];
+ 
+ int
+ reduction_or ()
+ {
+   char orf = 0;
+   short ord = 0;
+   int orfc = 0;
+   long ordc = 0;
+ 
+   #pragma omp parallel reduction(||: orf)
+   for (int i=0; i < N; ++i)
+     orf = orf || rf[i];
+ 
+   #pragma omp parallel for reduction(||: ord)
+   for (int i=0; i < N; ++i)
+     ord = ord || rcd[i];
+ 
+   #pragma omp parallel for simd reduction(||: orfc)
+   for (int i=0; i < N; ++i)
+     orfc = orfc || rcf[i];
+ 
+   #pragma omp parallel for reduction(||: ordc)
+   for (int i=0; i < N; ++i)
+     ordc = ordc || rcd[i];
+ 
+   return orf + ord + __real__ orfc + __real__ ordc;
+ }
+ 
+ int
+ reduction_or_teams ()
+ {
+   char orf = 0;
+   short ord = 0;
+   int orfc = 0;
+   long ordc = 0;
+ 
+   #pragma omp teams distribute parallel for reduction(||: orf)
+   for (int i=0; i < N; ++i)
+     orf = orf || rf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(||: ord)
+   for (int i=0; i < N; ++i)
+     ord = ord || rcd[i];
+ 
+   #pragma omp teams distribute parallel for reduction(||: orfc)
+   for (int i=0; i < N; ++i)
+     orfc = orfc || rcf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(||: ordc)
+   for (int i=0; i < N; ++i)
+     ordc = ordc || rcd[i];
+ 
+   return orf + ord + __real__ orfc + __real__ ordc;
+ }
+ 
+ int
+ reduction_and ()
+ {
+   unsigned char andf = 1;
+   unsigned short andd = 1;
+   unsigned int andfc = 1;
+   unsigned long anddc = 1;
+ 
+   #pragma omp parallel reduction(&&: andf)
+   for (int i=0; i < N; ++i)
+     andf = andf && rf[i];
+ 
+   #pragma omp parallel for reduction(&&: andd)
+   for (int i=0; i < N; ++i)
+     andd = andd && rcd[i];
+ 
+   #pragma omp parallel for simd reduction(&&: andfc)
+   for (int i=0; i < N; ++i)
+     andfc = andfc && rcf[i];
+ 
+   #pragma omp parallel for reduction(&&: anddc)
+   for (int i=0; i < N; ++i)
+     anddc = anddc && rcd[i];
+ 
+   return andf + andd + __real__ andfc + __real__ anddc;
+ }
+ 
+ int
+ reduction_and_teams ()
+ {
+   unsigned char andf = 1;
+   unsigned short andd = 1;
+   unsigned int andfc = 1;
+   unsigned long anddc = 1;
+ 
+   #pragma omp teams distribute parallel for reduction(&&: andf)
+   for (int i=0; i < N; ++i)
+     andf = andf && rf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(&&: andd)
+   for (int i=0; i < N; ++i)
+     andd = andd && rcd[i];
+ 
+   #pragma omp teams distribute parallel for reduction(&&: andfc)
+   for (int i=0; i < N; ++i)
+     andfc = andfc && rcf[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(&&: anddc)
+   for (int i=0; i < N; ++i)
+     anddc = anddc && rcd[i];
+ 
+   return andf + andd + __real__ andfc + __real__ anddc;
+ }
+ 
+ int
+ main ()
+ {
+   for (int i = 0; i < N; ++i)
+     {
+       rf[i] = 0;
+       rd[i] = 0;
+       rcf[i] = 0;
+       rcd[i] = 0;
+     }
+ 
+   if (reduction_or () != 0)
+     __builtin_abort ();
+   if (reduction_or_teams () != 0)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   rf[10] = 1.0;
+   rd[15] = 1.0;
+   rcf[10] = 1.0;
+   rcd[15] = 1.0i;
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   for (int i = 0; i < N; ++i)
+     {
+       rf[i] = 1;
+       rd[i] = 1;
+       rcf[i] = 1;
+       rcd[i] = 1;
+     }
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 4)
+     __builtin_abort ();
+   if (reduction_and_teams () != 4)
+     __builtin_abort ();
+ 
+   rf[10] = 0.0;
+   rd[15] = 0.0;
+   rcf[10] = 0.0;
+   rcd[15] = 0.0;
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/reduction-4.c gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/reduction-4.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/reduction-4.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/reduction-4.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,194 ----
+ /* C / C++'s logical AND and OR operators take any scalar argument
+    which compares (un)equal to 0 - the result 1 or 0 and of type int.
+ 
+    In this testcase, the int result is again converted to an integer complex
+    type.
+ 
+    While having a floating-point/complex array element with || and && can make
+    sense, having a complex reduction variable is odd but valid.
+ 
+    Test: int complex reduction variable + int complex array.  */
+ 
+ #define N 1024
+ _Complex char rcc[N];
+ _Complex short rcs[N];
+ _Complex int rci[N];
+ _Complex long long rcl[N];
+ 
+ int
+ reduction_or ()
+ {
+   _Complex char orc = 0;
+   _Complex short ors = 0;
+   _Complex int ori = 0;
+   _Complex long orl = 0;
+ 
+   #pragma omp parallel reduction(||: orc)
+   for (int i=0; i < N; ++i)
+     orc = orc || rcl[i];
+ 
+   #pragma omp parallel for reduction(||: ors)
+   for (int i=0; i < N; ++i)
+     ors = ors || rci[i];
+ 
+   #pragma omp parallel for simd reduction(||: ori)
+   for (int i=0; i < N; ++i)
+     ori = ori || rcs[i];
+ 
+   #pragma omp parallel for reduction(||: orl)
+   for (int i=0; i < N; ++i)
+     orl = orl || rcc[i];
+ 
+   return __real__ (orc + ors + ori + orl) + __imag__ (orc + ors + ori + orl);
+ }
+ 
+ int
+ reduction_or_teams ()
+ {
+   _Complex char orc = 0;
+   _Complex short ors = 0;
+   _Complex int ori = 0;
+   _Complex long orl = 0;
+ 
+   #pragma omp teams distribute parallel for reduction(||: orc)
+   for (int i=0; i < N; ++i)
+     orc = orc || rcc[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(||: ors)
+   for (int i=0; i < N; ++i)
+     ors = ors || rcs[i];
+ 
+   #pragma omp teams distribute parallel for reduction(||: ori)
+   for (int i=0; i < N; ++i)
+     ori = ori || rci[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(||: orl)
+   for (int i=0; i < N; ++i)
+     orl = orl || rcl[i];
+ 
+   return __real__ (orc + ors + ori + orl) + __imag__ (orc + ors + ori + orl);
+ }
+ 
+ int
+ reduction_and ()
+ {
+   _Complex char andc = 1;
+   _Complex short ands = 1;
+   _Complex int andi = 1;
+   _Complex long andl = 1;
+ 
+   #pragma omp parallel reduction(&&: andc)
+   for (int i=0; i < N; ++i)
+     andc = andc && rcc[i];
+ 
+   #pragma omp parallel for reduction(&&: ands)
+   for (int i=0; i < N; ++i)
+     ands = ands && rcs[i];
+ 
+   #pragma omp parallel for simd reduction(&&: andi)
+   for (int i=0; i < N; ++i)
+     andi = andi && rci[i];
+ 
+   #pragma omp parallel for reduction(&&: andl)
+   for (int i=0; i < N; ++i)
+     andl = andl && rcl[i];
+ 
+   return __real__ (andc + ands + andi + andl)
+ 	 + __imag__ (andc + ands + andi + andl);
+ }
+ 
+ int
+ reduction_and_teams ()
+ {
+   _Complex char andc = 1;
+   _Complex short ands = 1;
+   _Complex int andi = 1;
+   _Complex long andl = 1;
+ 
+   #pragma omp teams distribute parallel for reduction(&&: andc)
+   for (int i=0; i < N; ++i)
+     andc = andc && rcl[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(&&: ands)
+   for (int i=0; i < N; ++i)
+     ands = ands && rci[i];
+ 
+   #pragma omp teams distribute parallel for reduction(&&: andi)
+   for (int i=0; i < N; ++i)
+     andi = andi && rcs[i];
+ 
+   #pragma omp teams distribute parallel for simd reduction(&&: andl)
+   for (int i=0; i < N; ++i)
+     andl = andl && rcc[i];
+ 
+   return __real__ (andc + ands + andi + andl)
+ 	 + __imag__ (andc + ands + andi + andl);
+ }
+ 
+ int
+ main ()
+ {
+   for (int i = 0; i < N; ++i)
+     {
+       rcc[i] = 0;
+       rcs[i] = 0;
+       rci[i] = 0;
+       rcl[i] = 0;
+     }
+ 
+   if (reduction_or () != 0)
+     __builtin_abort ();
+   if (reduction_or_teams () != 0)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   rcc[10] = 1.0;
+   rcs[15] = 1.0i;
+   rci[10] = 1.0;
+   rcl[15] = 1.0i;
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   for (int i = 0; i < N; ++i)
+     {
+       rcc[i] = 1;
+       rcs[i] = 1i;
+       rci[i] = 1;
+       rcl[i] = 1 + 1i;
+     }
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 4)
+     __builtin_abort ();
+   if (reduction_and_teams () != 4)
+     __builtin_abort ();
+ 
+   rcc[10] = 0.0;
+   rcs[15] = 0.0;
+   rci[10] = 0.0;
+   rcl[15] = 0.0;
+ 
+   if (reduction_or () != 4)
+     __builtin_abort ();
+   if (reduction_or_teams () != 4)
+     __builtin_abort ();
+   if (reduction_and () != 0)
+     __builtin_abort ();
+   if (reduction_and_teams () != 0)
+     __builtin_abort ();
+ 
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-15.c gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-15.c
*** gcc-9.4.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-15.c	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-15.c	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,61 ----
+ /* PR middle-end/101167 */
+ 
+ extern
+ #ifdef __cplusplus
+ "C"
+ #endif
+ void abort (void);
+ 
+ struct S { int a, b, c[2]; };
+ 
+ void
+ init (struct S *x)
+ {
+   x->a = 0;
+   x->b = 0;
+   x->c[0] = 0;
+   x->c[1] = 0;
+ }
+ 
+ void
+ merge (struct S *x, struct S *y)
+ {
+   x->a += y->a;
+   x->b += y->b;
+ }
+ 
+ #pragma omp declare reduction (+: struct S : merge (&omp_out, &omp_in)) initializer (init (&omp_priv))
+ 
+ void
+ foo (struct S x)
+ {
+   #pragma omp taskgroup task_reduction (+: x)
+   {
+     #pragma omp task in_reduction (+: x)
+     {
+       x.a++;
+       x.b++;
+     }
+     #pragma omp task in_reduction (+: x)
+     {
+       x.a += 4;
+       x.b += 14;
+     }
+     #pragma omp task in_reduction (+: x)
+     {
+       x.a += 9;
+       x.b += 19;
+     }
+   }
+   if (x.a != 56 || x.b != 86)
+     abort ();
+ }
+ 
+ int
+ main ()
+ {
+   struct S x = { 42, 52 };
+   #pragma omp parallel master num_threads(3)
+   foo (x);
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libhsail-rt/ChangeLog gcc-9.5.0/libhsail-rt/ChangeLog
*** gcc-9.4.0/libhsail-rt/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libhsail-rt/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libiberty/ChangeLog gcc-9.5.0/libiberty/ChangeLog
*** gcc-9.4.0/libiberty/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libiberty/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,19 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR lto/104617
+ 	* simple-object-elf.c (simple_object_elf_match): Fix up URL
+ 	in comment.
+ 	(simple_object_elf_copy_lto_debug_sections): Remap sh_info and
+ 	sh_link even if they are in the SHN_LORESERVE .. SHN_HIRESERVE
+ 	range (inclusive).
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libiberty/simple-object-elf.c gcc-9.5.0/libiberty/simple-object-elf.c
*** gcc-9.4.0/libiberty/simple-object-elf.c	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libiberty/simple-object-elf.c	Fri May 27 07:21:13 2022
*************** simple_object_elf_match (unsigned char h
*** 528,534 ****
  	     not handle objects with more than SHN_LORESERVE sections
  	     correctly.  All large section indexes were offset by
  	     0x100.  There is more information at
! 	     http://sourceware.org/bugzilla/show_bug.cgi?id-5900 .
  	     Fortunately these object files are easy to detect, as the
  	     GNU binutils always put the section header string table
  	     near the end of the list of sections.  Thus if the
--- 528,534 ----
  	     not handle objects with more than SHN_LORESERVE sections
  	     correctly.  All large section indexes were offset by
  	     0x100.  There is more information at
! 	     https://sourceware.org/PR5900 .
  	     Fortunately these object files are easy to detect, as the
  	     GNU binutils always put the section header string table
  	     near the end of the list of sections.  Thus if the
*************** simple_object_elf_copy_lto_debug_section
*** 1536,1552 ****
  	  {
  	    sh_info = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
  				       shdr, sh_info, Elf_Word);
! 	    if (sh_info < SHN_LORESERVE
! 		|| sh_info > SHN_HIRESERVE)
! 	      sh_info = sh_map[sh_info];
  	    ELF_SET_FIELD (type_functions, ei_class, Shdr,
  			   shdr, sh_info, Elf_Word, sh_info);
  	  }
  	sh_link = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
  				   shdr, sh_link, Elf_Word);
! 	if (sh_link < SHN_LORESERVE
! 	    || sh_link > SHN_HIRESERVE)
! 	  sh_link = sh_map[sh_link];
  	ELF_SET_FIELD (type_functions, ei_class, Shdr,
  		       shdr, sh_link, Elf_Word, sh_link);
        }
--- 1536,1548 ----
  	  {
  	    sh_info = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
  				       shdr, sh_info, Elf_Word);
! 	    sh_info = sh_map[sh_info];
  	    ELF_SET_FIELD (type_functions, ei_class, Shdr,
  			   shdr, sh_info, Elf_Word, sh_info);
  	  }
  	sh_link = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
  				   shdr, sh_link, Elf_Word);
! 	sh_link = sh_map[sh_link];
  	ELF_SET_FIELD (type_functions, ei_class, Shdr,
  		       shdr, sh_link, Elf_Word, sh_link);
        }
diff -Nrcpad gcc-9.4.0/libitm/ChangeLog gcc-9.5.0/libitm/ChangeLog
*** gcc-9.4.0/libitm/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libitm/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,15 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-17  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/91488
+ 	* testsuite/libitm.c++/libstdc++-pr91488.C: New test.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libitm/testsuite/libitm.c++/libstdc++-pr91488.C gcc-9.5.0/libitm/testsuite/libitm.c++/libstdc++-pr91488.C
*** gcc-9.4.0/libitm/testsuite/libitm.c++/libstdc++-pr91488.C	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libitm/testsuite/libitm.c++/libstdc++-pr91488.C	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,9 ----
+ // PR libstdc++/91488 "inlining failed in call to always_inline"
+ // { dg-do run }
+ // { dg-additional-options "-O1" }
+ 
+ #include <string>
+ 
+ int main() {
+     return std::char_traits<char>::length("");
+ }
diff -Nrcpad gcc-9.4.0/libobjc/ChangeLog gcc-9.5.0/libobjc/ChangeLog
*** gcc-9.4.0/libobjc/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libobjc/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/liboffloadmic/ChangeLog gcc-9.5.0/liboffloadmic/ChangeLog
*** gcc-9.4.0/liboffloadmic/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/liboffloadmic/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libphobos/ChangeLog gcc-9.5.0/libphobos/ChangeLog
*** gcc-9.4.0/libphobos/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libphobos/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,49 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-04-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-09-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	* libdruntime/gcc/unwind/generic.d (__aligned__): Define.
+ 	(_Unwind_Exception): Align struct to __aligned__.
+ 
+ 2022-04-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2022-04-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	* libdruntime/gcc/emutls.d (emutlsDestroyThread): Clear the per-thread
+ 	TLS array, don't call free().
+ 
+ 2021-12-21  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-12-21  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/103604
+ 	* libdruntime/core/sys/posix/sys/stat.d (struct stat_t): Fix
+ 	definition for MIPS64.
+ 
+ 2021-11-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-11-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	* libdruntime/core/thread.d (defaultStackPages): New constant.
+ 	(Fiber.this): Set stack size to be a multiple of defaultStackPages.
+ 
+ 2021-11-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2021-11-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	* libdruntime/gcc/emutls.d (emutlsDestroyThread): Don't remove entry
+ 	from global array.
+ 	(_d_emutls_destroy): Don't call __gthread_key_delete.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libphobos/libdruntime/core/sys/posix/sys/stat.d gcc-9.5.0/libphobos/libdruntime/core/sys/posix/sys/stat.d
*** gcc-9.4.0/libphobos/libdruntime/core/sys/posix/sys/stat.d	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libphobos/libdruntime/core/sys/posix/sys/stat.d	Fri May 27 07:21:13 2022
*************** version (CRuntime_Glibc)
*** 337,362 ****
              }
              c_long[14]  st_pad5;
          }
      }
      else version (MIPS64)
      {
          struct stat_t
          {
!             c_ulong     st_dev;
              int[3]      st_pad1;
!             static if (!__USE_FILE_OFFSET64)
!             {
!                 ino_t       st_ino;
!             }
!             else
!             {
!                 c_ulong     st_ino;
!             }
              mode_t      st_mode;
              nlink_t     st_nlink;
              uid_t       st_uid;
              gid_t       st_gid;
!             c_ulong     st_rdev;
              static if (!__USE_FILE_OFFSET64)
              {
                  uint[2]     st_pad2;
--- 337,359 ----
              }
              c_long[14]  st_pad5;
          }
+         static if (!__USE_FILE_OFFSET64)
+             static assert(stat_t.sizeof == 144);
+         else
+             static assert(stat_t.sizeof == 160);
      }
      else version (MIPS64)
      {
          struct stat_t
          {
!             dev_t       st_dev;
              int[3]      st_pad1;
!             ino_t       st_ino;
              mode_t      st_mode;
              nlink_t     st_nlink;
              uid_t       st_uid;
              gid_t       st_gid;
!             dev_t       st_rdev;
              static if (!__USE_FILE_OFFSET64)
              {
                  uint[2]     st_pad2;
*************** version (CRuntime_Glibc)
*** 365,372 ****
              }
              else
              {
!                 c_long[3]   st_pad2;
!                 c_long      st_size;
              }
              static if (__USE_MISC || __USE_XOPEN2K8)
              {
--- 362,369 ----
              }
              else
              {
!                 uint[3]     st_pad2;
!                 off_t       st_size;
              }
              static if (__USE_MISC || __USE_XOPEN2K8)
              {
*************** version (CRuntime_Glibc)
*** 391,405 ****
              }
              blksize_t   st_blksize;
              uint        st_pad4;
              static if (!__USE_FILE_OFFSET64)
!             {
!                 blkcnt_t    st_blocks;
!             }
              else
!             {
!                 c_long  st_blocks;
!             }
!             c_long[14]  st_pad5;
          }
      }
      else version (PPC)
--- 388,413 ----
              }
              blksize_t   st_blksize;
              uint        st_pad4;
+             blkcnt_t    st_blocks;
+             int[14]     st_pad5;
+         }
+         version (MIPS_N32)
+         {
              static if (!__USE_FILE_OFFSET64)
!                 static assert(stat_t.sizeof == 160);
              else
!                 static assert(stat_t.sizeof == 176);
!         }
!         else version (MIPS_O64)
!         {
!             static if (!__USE_FILE_OFFSET64)
!                 static assert(stat_t.sizeof == 160);
!             else
!                 static assert(stat_t.sizeof == 176);
!         }
!         else
!         {
!             static assert(stat_t.sizeof == 216);
          }
      }
      else version (PPC)
diff -Nrcpad gcc-9.4.0/libphobos/libdruntime/core/thread.d gcc-9.5.0/libphobos/libdruntime/core/thread.d
*** gcc-9.4.0/libphobos/libdruntime/core/thread.d	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libphobos/libdruntime/core/thread.d	Fri May 27 07:21:13 2022
*************** class Fiber
*** 4144,4149 ****
--- 4144,4167 ----
      // Initialization
      ///////////////////////////////////////////////////////////////////////////
  
+     version (Windows)
+         // exception handling walks the stack, invoking DbgHelp.dll which
+         // needs up to 16k of stack space depending on the version of DbgHelp.dll,
+         // the existence of debug symbols and other conditions. Avoid causing
+         // stack overflows by defaulting to a larger stack size
+         enum defaultStackPages = 8;
+     else version (OSX)
+     {
+         version (X86_64)
+             // libunwind on macOS 11 now requires more stack space than 16k, so
+             // default to a larger stack size. This is only applied to X86 as
+             // the PAGESIZE is still 4k, however on AArch64 it is 16k.
+             enum defaultStackPages = 8;
+         else
+             enum defaultStackPages = 4;
+     }
+     else
+         enum defaultStackPages = 4;
  
      /**
       * Initializes a fiber object which is associated with a static
*************** class Fiber
*** 4158,4164 ****
       * In:
       *  fn must not be null.
       */
!     this( void function() fn, size_t sz = PAGESIZE*4,
            size_t guardPageSize = PAGESIZE ) nothrow
      in
      {
--- 4176,4182 ----
       * In:
       *  fn must not be null.
       */
!     this( void function() fn, size_t sz = PAGESIZE * defaultStackPages,
            size_t guardPageSize = PAGESIZE ) nothrow
      in
      {
*************** class Fiber
*** 4184,4190 ****
       * In:
       *  dg must not be null.
       */
!     this( void delegate() dg, size_t sz = PAGESIZE*4,
            size_t guardPageSize = PAGESIZE ) nothrow
      in
      {
--- 4202,4208 ----
       * In:
       *  dg must not be null.
       */
!     this( void delegate() dg, size_t sz = PAGESIZE * defaultStackPages,
            size_t guardPageSize = PAGESIZE ) nothrow
      in
      {
diff -Nrcpad gcc-9.4.0/libphobos/libdruntime/gcc/emutls.d gcc-9.5.0/libphobos/libdruntime/gcc/emutls.d
*** gcc-9.4.0/libphobos/libdruntime/gcc/emutls.d	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libphobos/libdruntime/gcc/emutls.d	Fri May 27 07:21:13 2022
*************** void** emutlsAlloc(shared __emutls_objec
*** 222,237 ****
  }
  
  /*
!  * When a thread has finished, remove the TLS array from the GC
!  * scan list emutlsArrays, free all allocated TLS variables and
!  * finally free the array.
   */
  extern (C) void emutlsDestroyThread(void* ptr) nothrow @nogc
  {
      auto arr = cast(TlsArray*) ptr;
-     emutlsMutex.lock_nothrow();
-     emutlsArrays.remove(arr);
-     emutlsMutex.unlock_nothrow();
  
      foreach (entry; *arr)
      {
--- 222,234 ----
  }
  
  /*
!  * When a thread has finished, free all allocated TLS variables and empty the
!  * array.  The pointer is not free'd as it is stil referenced by the GC scan
!  * list emutlsArrays, which gets destroyed when druntime is unloaded.
   */
  extern (C) void emutlsDestroyThread(void* ptr) nothrow @nogc
  {
      auto arr = cast(TlsArray*) ptr;
  
      foreach (entry; *arr)
      {
*************** extern (C) void emutlsDestroyThread(void
*** 239,245 ****
              free(entry[-1]);
      }
  
!     free(arr);
  }
  
  /*
--- 236,242 ----
              free(entry[-1]);
      }
  
!     arr.length = 0;
  }
  
  /*
*************** void _d_emutls_scan(scope void delegate(
*** 308,316 ****
  // Call this after druntime has been unloaded
  void _d_emutls_destroy() nothrow @nogc
  {
-     if (__gthread_key_delete(emutlsKey) != 0)
-         abort();
- 
      (cast(Mutex) _emutlsMutex.ptr).__dtor();
      destroy(emutlsArrays);
  }
--- 305,310 ----
diff -Nrcpad gcc-9.4.0/libphobos/libdruntime/gcc/unwind/generic.d gcc-9.5.0/libphobos/libdruntime/gcc/unwind/generic.d
*** gcc-9.4.0/libphobos/libdruntime/gcc/unwind/generic.d	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libphobos/libdruntime/gcc/unwind/generic.d	Fri May 27 07:21:13 2022
*************** enum : _Unwind_Reason_Code
*** 123,129 ****
  // @@@ The IA-64 ABI says that this structure must be double-word aligned.
  // Taking that literally does not make much sense generically.  Instead we
  // provide the maximum alignment required by any type for the machine.
! struct _Unwind_Exception
  {
      _Unwind_Exception_Class exception_class;
      _Unwind_Exception_Cleanup_Fn exception_cleanup;
--- 123,149 ----
  // @@@ The IA-64 ABI says that this structure must be double-word aligned.
  // Taking that literally does not make much sense generically.  Instead we
  // provide the maximum alignment required by any type for the machine.
!      version (ARM)      private enum __aligned__ = 8;
! else version (AArch64)  private enum __aligned__ = 16;
! else version (HPPA)     private enum __aligned__ = 8;
! else version (HPPA64)   private enum __aligned__ = 16;
! else version (MIPS_N32) private enum __aligned__ = 16;
! else version (MIPS_N64) private enum __aligned__ = 16;
! else version (MIPS32)   private enum __aligned__ = 8;
! else version (MIPS64)   private enum __aligned__ = 8;
! else version (PPC)      private enum __aligned__ = 16;
! else version (PPC64)    private enum __aligned__ = 16;
! else version (RISCV32)  private enum __aligned__ = 16;
! else version (RISCV64)  private enum __aligned__ = 16;
! else version (S390)     private enum __aligned__ = 8;
! else version (SPARC)    private enum __aligned__ = 8;
! else version (SPARC64)  private enum __aligned__ = 16;
! else version (SystemZ)  private enum __aligned__ = 8;
! else version (X86)      private enum __aligned__ = 16;
! else version (X86_64)   private enum __aligned__ = 16;
! else static assert( false, "Platform not supported.");
! 
! align(__aligned__) struct _Unwind_Exception
  {
      _Unwind_Exception_Class exception_class;
      _Unwind_Exception_Cleanup_Fn exception_cleanup;
diff -Nrcpad gcc-9.4.0/libquadmath/ChangeLog gcc-9.5.0/libquadmath/ChangeLog
*** gcc-9.4.0/libquadmath/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libquadmath/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libsanitizer/ChangeLog gcc-9.5.0/libsanitizer/ChangeLog
*** gcc-9.4.0/libsanitizer/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libsanitizer/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,31 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* sanitizer_common/sanitizer_linux_libcdep.cc: Cherry-pick
+ 	llvm-project revision ef14b78d9a144ba81ba02083fe21eb286a88732b.
+ 
+ 2022-01-19  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	Backported from master:
+ 	2022-01-12  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR sanitizer/102911
+ 	* asan/asan_malloc_linux.cc (kDlsymAllocPoolSize): Set it to
+ 	8192 on Linux.
+ 
+ 2021-08-05  Martin Liska  <mliska@suse.cz>
+ 
+ 	PR sanitizer/101749
+ 	* sanitizer_common/sanitizer_posix_libcdep.cc: Prevent
+ 	generation of dependency on _cxa_guard for static
+ 	initialization.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libsanitizer/asan/asan_malloc_linux.cc gcc-9.5.0/libsanitizer/asan/asan_malloc_linux.cc
*** gcc-9.4.0/libsanitizer/asan/asan_malloc_linux.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libsanitizer/asan/asan_malloc_linux.cc	Fri May 27 07:21:13 2022
*************** using namespace __asan;  // NOLINT
*** 30,36 ****
  
  static uptr allocated_for_dlsym;
  static uptr last_dlsym_alloc_size_in_words;
! static const uptr kDlsymAllocPoolSize = SANITIZER_RTEMS ? 4096 : 1024;
  static uptr alloc_memory_for_dlsym[kDlsymAllocPoolSize];
  
  static INLINE bool IsInDlsymAllocPool(const void *ptr) {
--- 30,36 ----
  
  static uptr allocated_for_dlsym;
  static uptr last_dlsym_alloc_size_in_words;
! static const uptr kDlsymAllocPoolSize = SANITIZER_RTEMS ? 4096 : 8192;
  static uptr alloc_memory_for_dlsym[kDlsymAllocPoolSize];
  
  static INLINE bool IsInDlsymAllocPool(const void *ptr) {
diff -Nrcpad gcc-9.4.0/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc gcc-9.5.0/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc
*** gcc-9.4.0/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc	Fri May 27 07:21:13 2022
*************** void InitTlsSize() { }
*** 263,272 ****
  // sizeof(struct pthread) from glibc.
  static atomic_uintptr_t thread_descriptor_size;
  
! uptr ThreadDescriptorSize() {
!   uptr val = atomic_load_relaxed(&thread_descriptor_size);
!   if (val)
!     return val;
  #if defined(__x86_64__) || defined(__i386__) || defined(__arm__)
    int major;
    int minor;
--- 263,270 ----
  // sizeof(struct pthread) from glibc.
  static atomic_uintptr_t thread_descriptor_size;
  
! static uptr ThreadDescriptorSizeFallback() {
!   uptr val = 0;
  #if defined(__x86_64__) || defined(__i386__) || defined(__arm__)
    int major;
    int minor;
*************** uptr ThreadDescriptorSize() {
*** 306,313 ****
  #elif defined(__s390__)
    val = FIRST_32_SECOND_64(1152, 1776); // valid for glibc 2.22
  #endif
    if (val)
!     atomic_store_relaxed(&thread_descriptor_size, val);
    return val;
  }
  
--- 304,324 ----
  #elif defined(__s390__)
    val = FIRST_32_SECOND_64(1152, 1776); // valid for glibc 2.22
  #endif
+   return val;
+ }
+ 
+ uptr ThreadDescriptorSize() {
+   uptr val = atomic_load_relaxed(&thread_descriptor_size);
    if (val)
!     return val;
!   // _thread_db_sizeof_pthread is a GLIBC_PRIVATE symbol that is exported in
!   // glibc 2.34 and later.
!   if (unsigned *psizeof = static_cast<unsigned *>(
!           dlsym(RTLD_DEFAULT, "_thread_db_sizeof_pthread")))
!     val = *psizeof;
!   if (!val)
!     val = ThreadDescriptorSizeFallback();
!   atomic_store_relaxed(&thread_descriptor_size, val);
    return val;
  }
  
diff -Nrcpad gcc-9.4.0/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc gcc-9.5.0/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
*** gcc-9.4.0/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc	Fri May 27 07:21:13 2022
*************** bool SupportsColoredOutput(fd_t fd) {
*** 170,178 ****
  #if !SANITIZER_GO
  // TODO(glider): different tools may require different altstack size.
  static uptr GetAltStackSize() {
!   // SIGSTKSZ is not enough.
!   static const uptr kAltStackSize = SIGSTKSZ * 4;
!   return kAltStackSize;
  }
  
  void SetAlternateSignalStack() {
--- 170,179 ----
  #if !SANITIZER_GO
  // TODO(glider): different tools may require different altstack size.
  static uptr GetAltStackSize() {
!   // Note: since GLIBC_2.31, SIGSTKSZ may be a function call, so this may be
!   // more costly that you think. However GetAltStackSize is only call 2-3 times
!   // per thread so don't cache the evaluation.
!   return SIGSTKSZ * 4;
  }
  
  void SetAlternateSignalStack() {
diff -Nrcpad gcc-9.4.0/libssp/ChangeLog gcc-9.5.0/libssp/ChangeLog
*** gcc-9.4.0/libssp/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libssp/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libstdc++-v3/ChangeLog gcc-9.5.0/libstdc++-v3/ChangeLog
*** gcc-9.4.0/libstdc++-v3/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libstdc++-v3/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,472 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
+ 2022-05-16  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-05-16  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* doc/html/manual/status.html: Regenerate.
+ 	* doc/xml/manual/status_cxx2020.xml: Fix supported version for
+ 	C++20 bit operations and power-of-two operations.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-05-06  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/105502
+ 	* include/bits/random.tcc
+ 	(operator>>(basic_istream<C,T>&, normal_distribution<R>&)):
+ 	Update state when __state_avail is false.
+ 	* testsuite/26_numerics/random/normal_distribution/operators/serialize.cc:
+ 	Check that deserialized object equals serialized one.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-26  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/27_io/types/1.cc: Add c++11 target selector to
+ 	warnings.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/experimental/bits/fs_ops.h (fs::copy_file): Remove
+ 	noexcept.
+ 	(fs::create_directories): Likewise.
+ 	(fs::remove_all): Likewise.
+ 	* src/filesystem/ops.cc (fs::copy_file): Remove noexcept.
+ 	(fs::create_directories): Likewise.
+ 	(fs::remove_all): Likewise.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/103630
+ 	* libsupc++/exception_ptr.h (make_exception_ptr): Decay the
+ 	template parameter. Use typeid of the static type.
+ 	* testsuite/18_support/exception_ptr/103630.cc: New test.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2020-12-17  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/93151
+ 	* config/os/djgpp/error_constants.h: Test POSIX errno macros
+ 	directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros.
+ 	* config/os/mingw32-w64/error_constants.h: Likewise.
+ 	* config/os/mingw32/error_constants.h: Likewise.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2020-12-16  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/93151
+ 	* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove.
+ 	* config.h.in: Regenerate.
+ 	* configure: Regenerate.
+ 	* configure.ac (GLIBCXX_CHECK_SYSTEM_ERROR): Do not use.
+ 	* config/os/generic/error_constants.h: Test POSIX errno macros
+ 	directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros.
+ 	* testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
+ 	Likewise.
+ 	* testsuite/19_diagnostics/headers/system_error/93151.cc: New
+ 	test.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/bits/basic_string.h (basic_string(const CharT*, const A&)):
+ 	Do not do arithmetic on null pointer.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-08-12  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/101870
+ 	* include/c_global/cmath (hypot): Use __promoted_t.
+ 	(lerp): Add new overload accepting any arithmetic types.
+ 	* include/ext/type_traits.h (__promoted_t): New alias template.
+ 	* testsuite/26_numerics/lerp.cc: Moved to...
+ 	* testsuite/26_numerics/lerp/1.cc: ...here.
+ 	* testsuite/26_numerics/lerp/constexpr.cc: New test.
+ 	* testsuite/26_numerics/lerp/version.cc: New test.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/100153
+ 	* include/bits/vector.tcc (vector<bool>::_M_shrink_to_fit()):
+ 	When size() is zero just deallocate and reset.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/25_algorithms/is_permutation/2.cc: Include <iterator>.
+ 
+ 2022-05-09  Pavel I. Kryukov  <pavel.kryukov@phystech.edu>
+ 
+ 	Backported from master:
+ 	2022-01-06  Pavel I. Kryukov  <pavel.kryukov@phystech.edu>
+ 		    Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/103853
+ 	* include/bits/forward_list.tcc (forward_list::merge): Check for
+ 	self-merge.
+ 	* testsuite/23_containers/forward_list/operations/merge.cc: New test.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-12-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/103549
+ 	* include/bits/regex.h (match_results): Give names to template
+ 	parameters in first declaration.
+ 	(match_results::_M_begin): Add default member-initializer.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-05  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/103877
+ 	* doc/xml/faq.xml: Add '-x c++' to preprocessor command.
+ 	* doc/html/faq.html: Regenerate.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-17  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/103650
+ 	* include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS.
+ 	* include/Makefile.in: Regenerate.
+ 	* testsuite/17_intro/headers/c++1998/103650.cc: New test.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/experimental/bits/fs_fwd.h (copy_file): Remove
+ 	incorrect noexcept from declaration.
+ 	* include/experimental/bits/fs_path.h (path::begin, path::end):
+ 	Add noexcept to declarations, to match definitions.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* doc/xml/manual/intro.xml: Fix comment.
+ 
+ 2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-05-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/102048
+ 	* include/ext/rope (rope::erase(size_type)): Deprecate broken
+ 	function.
+ 
+ 2021-11-23  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-23  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/103381
+ 	* include/ext/bitmap_allocator.h: Include <bits/stl_function.h>
+ 	instead of <functional>.
+ 
+ 2021-11-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/103022
+ 	* include/std/valarray (begin, end): Do not dereference an empty
+ 	valarray. Add noexcept.
+ 	* testsuite/26_numerics/valarray/range_access.cc: Check empty
+ 	valarray. Check iterator properties. Run as well as compiling.
+ 	* testsuite/26_numerics/valarray/range_access2.cc: Likewise.
+ 	* testsuite/26_numerics/valarray/103022.cc: New test.
+ 
+ 2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/28_regex/match_results/102667.C: Moved to...
+ 	* testsuite/28_regex/match_results/102667.cc: ...here.
+ 
+ 2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-17  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/26_numerics/valarray/dr630-3.C: Moved to...
+ 	* testsuite/26_numerics/valarray/dr630-3.cc: ...here.
+ 	* testsuite/27_io/basic_iostream/cons/16251.C: Moved to...
+ 	* testsuite/27_io/basic_iostream/cons/16251.cc: ...here.
+ 
+ 2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/bits/fs_path.h (advance): Remove non-deducible
+ 	template parameter.
+ 
+ 2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-09-23  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/102425
+ 	* src/c++11/system_error.cc
+ 	(system_error_category::default_error_condition): Add 0 to
+ 	switch.
+ 	* testsuite/19_diagnostics/error_category/102425.cc: New test.
+ 
+ 2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-08-17  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Define.
+ 	(build_libstdcxx_dictionary): Register printer for
+ 	std::error_code and std::error_condition.
+ 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
+ 
+ 2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-08-16  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* python/Makefile.am [GLIBCXX_BUILD_DEBUG] (install-data-local):
+ 	Install another copy of the GDB hook.
+ 	* python/Makefile.in: Regenerate.
+ 
+ 2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/27_io/filesystem/operations/remove_all.cc: Remove
+ 	test directory after making it writable again.
+ 	* testsuite/experimental/filesystem/operations/remove_all.cc:
+ 	Likewise.
+ 
+ 2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-11  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/102667
+ 	* include/bits/regex.h (match_result::empty()): Optimize by
+ 	calling the base function directly.
+ 	(match_results::end()): Check _Base_type::empty() not empty().
+ 	* testsuite/28_regex/match_results/102667.C: New test.
+ 
+ 2021-08-11  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-08-11  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/101866
+ 	* testsuite/experimental/random/randint.cc: Loop and retry if
+ 	reseed() produces the same sequence.
+ 
+ 2021-08-11  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-20  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/101510
+ 	* src/c++17/fs_ops.cc (fs::create_directories): Use status
+ 	instead of symlink_status.
+ 	* src/filesystem/ops.cc (fs::create_directories): Likewise.
+ 	* testsuite/27_io/filesystem/operations/create_directories.cc:
+ 	Check symlink to existing directory.
+ 	* testsuite/27_io/filesystem/operations/create_directory.cc: Do
+ 	not test with symlinks on Windows.
+ 	* testsuite/experimental/filesystem/operations/create_directories.cc:
+ 	Check symlink to existing directory.
+ 	* testsuite/experimental/filesystem/operations/create_directory.cc:
+ 	Do not test with symlinks on Windows.
+ 
+ 2021-08-11  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-07-20  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/101510
+ 	* src/c++17/fs_ops.cc (create_dir): Adjust whitespace.
+ 	* testsuite/27_io/filesystem/operations/create_directory.cc:
+ 	Test creating directory with name of existing symlink to
+ 	directory.
+ 	* testsuite/experimental/filesystem/operations/create_directory.cc:
+ 	Likewise.
+ 
+ 2021-08-02  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/88881
+ 	* src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
+ 
+ 2021-08-02  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-02-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/88881
+ 	* src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
+ 
+ 2021-07-22  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/ext/profile/mutex_extensions_neg.cc: Prune
+ 	additional errors in C++20 mode.
+ 
+ 2021-07-22  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-04-15  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/96657
+ 	* libsupc++/Makefile.am: Add atomicity.cc here.
+ 	* src/c++98/Makefile.am: Remove it from here.
+ 	* libsupc++/Makefile.in: Regenerate.
+ 	* src/c++98/Makefile.in: Regenerate.
+ 	* testsuite/18_support/exception_ptr/96657.cc: New test.
+ 
+ 2021-07-22  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/101034
+ 	* include/std/any (any(in_place_t<T>, initializer_list<U>, A&&...))
+ 	(any::emplace<T>(initializer_list<U>, A&&...)): Fix constraint
+ 	to use lvalue.
+ 	* testsuite/20_util/any/cons/101034.cc: New test.
+ 
+ 2021-07-22  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2020-04-23  Kamlesh Kumar  <kamleshbhalui@gmail.com>
+ 		    Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/90415
+ 	PR libstdc++/92156
+ 	* include/std/any (any): Rename template parameters for consistency
+ 	with the standard.
+ 	(any::_Decay): Rename to _Decay_if_not_any.
+ 	(any::any(T&&)): Remove is_constructible from constraints. Remove
+ 	non-standard overload.
+ 	(any::any(in_place_type_t<T>, Args&&...))
+ 	(any::any(in_place_type_t<T>, initializer_list<U>, Args&&...))
+ 	(any::emplace(Args&&...))
+ 	(any::emplace(initializer_list<U>, Args&&...)):
+ 	Use decay_t instead of _Decay.
+ 	* testsuite/20_util/any/cons/90415.cc: New test.
+ 	* testsuite/20_util/any/cons/92156.cc: New Test.
+ 	* testsuite/20_util/any/misc/any_cast_neg.cc: Make dg-error directives
+ 	more robust.
+ 	* testsuite/20_util/any/modifiers/92156.cc: New test.
+ 
+ 2021-07-22  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/100982
+ 	* include/std/optional (optional::operator=(const optional<U>&)):
+ 	Fix value category used in is_assignable check.
+ 	* testsuite/20_util/optional/assignment/100982.cc: New test.
+ 
+ 2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/95833
+ 	* include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace
+ 	incorrect static_assert with ones matching the 'Mandates'
+ 	conditions in the standard.
+ 	* testsuite/26_numerics/reduce/95833.cc: New test.
+ 
+ 2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-05-17  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/100630
+ 	* include/bits/fs_path.h (__is_constructible_from): Test
+ 	construction from a const lvalue, not an rvalue.
+ 	* include/experimental/bits/fs_path.h (__is_constructible_from):
+ 	Likewise.
+ 	* testsuite/27_io/filesystem/path/construct/100630.cc: New test.
+ 	* testsuite/experimental/filesystem/path/construct/100630.cc:
+ 	New test.
+ 
+ 2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/100384
+ 	* include/std/variant (__get_t): New alias template yielding the
+ 	return type of std::get<N> on a variant.
+ 	(__visit_result_t): New alias template yielding the result of
+ 	std::visit.
+ 	(__do_visit): Use __get_t.
+ 	(visit): Use __visit_result_t for return type.
+ 	* testsuite/20_util/variant/100384.cc: New test.
+ 
+ 2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-04-22  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/99006
+ 	* include/bits/shared_ptr.h (allocate_shared): Assert that _Tp
+ 	is not an array type.
+ 	* include/bits/shared_ptr_base.h (__allocate_shared): Likewise.
+ 	* testsuite/20_util/shared_ptr/creation/99006.cc: New test.
+ 
+ 2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-06-17  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/91488
+ 	* include/bits/char_traits.h (__constant_string_p)
+ 	(__constant_array_p): Give external linkage.
+ 
+ 2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-03-11  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* python/libstdcxx/v6/printers.py (find_type): Use tag attribute
+ 	instead of unqualified() method.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/libstdc++-v3/acinclude.m4 gcc-9.5.0/libstdc++-v3/acinclude.m4
*** gcc-9.4.0/libstdc++-v3/acinclude.m4	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/acinclude.m4	Fri May 27 07:21:13 2022
*************** AC_DEFUN([GLIBCXX_CHECK_MATH11_PROTO], [
*** 2323,2357 ****
  ])
  
  dnl
- dnl Check whether macros, etc are present for <system_error>
- dnl
- AC_DEFUN([GLIBCXX_CHECK_SYSTEM_ERROR], [
- 
- m4_pushdef([n_syserr], [1])dnl
- m4_foreach([syserr], [EOWNERDEAD, ENOTRECOVERABLE, ENOLINK, EPROTO, ENODATA,
- 		      ENOSR, ENOSTR, ETIME, EBADMSG, ECANCELED,
- 		      EOVERFLOW, ENOTSUP, EIDRM, ETXTBSY,
- 		      ECHILD, ENOSPC, EPERM,
- 		      ETIMEDOUT, EWOULDBLOCK],
- [m4_pushdef([SYSERR], m4_toupper(syserr))dnl
- AC_MSG_CHECKING([for syserr])
- AC_CACHE_VAL([glibcxx_cv_system_error[]n_syserr], [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <errno.h>]],
- 				   [int i = syserr;])],
- 		  [glibcxx_cv_system_error[]n_syserr=yes],
- 		  [glibcxx_cv_system_error[]n_syserr=no])
- ])
- AC_MSG_RESULT([$glibcxx_cv_system_error[]n_syserr])
- if test x"$glibcxx_cv_system_error[]n_syserr" = x"yes"; then
-   AC_DEFINE([HAVE_]SYSERR, 1, [Define if ]syserr[ exists.])
- fi
- m4_define([n_syserr], m4_incr(n_syserr))dnl
- m4_popdef([SYSERR])dnl
- ])
- m4_popdef([n_syserr])dnl
- ])
- 
- dnl
  dnl Check for what type of C headers to use.
  dnl
  dnl --enable-cheaders= [does stuff].
--- 2323,2328 ----
diff -Nrcpad gcc-9.4.0/libstdc++-v3/config/os/djgpp/error_constants.h gcc-9.5.0/libstdc++-v3/config/os/djgpp/error_constants.h
*** gcc-9.4.0/libstdc++-v3/config/os/djgpp/error_constants.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/config/os/djgpp/error_constants.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 48,54 ****
        bad_address = 				EFAULT,
        bad_file_descriptor = 			EBADF,
  
! #ifdef _GLIBCXX_HAVE_EBADMSG
        bad_message = 				EBADMSG,
  #endif
  
--- 48,54 ----
        bad_address = 				EFAULT,
        bad_file_descriptor = 			EBADF,
  
! #ifdef EBADMSG
        bad_message = 				EBADMSG,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 68,74 ****
        function_not_supported = 			ENOSYS,
  //    host_unreachable = 			EHOSTUNREACH,
  
! #ifdef _GLIBCXX_HAVE_EIDRM
        identifier_removed = 			EIDRM,
  #endif
  
--- 68,74 ----
        function_not_supported = 			ENOSYS,
  //    host_unreachable = 			EHOSTUNREACH,
  
! #ifdef EIDRM
        identifier_removed = 			EIDRM,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 86,98 ****
  //    no_buffer_space = 			ENOBUFS,
        no_child_process = 			ECHILD,
  
! #ifdef _GLIBCXX_HAVE_ENOLINK
        no_link = 				ENOLINK,
  #endif
  
        no_lock_available = 			ENOLCK,
  
! #ifdef _GLIBCXX_HAVE_ENODATA
        no_message_available = 			ENODATA,
  #endif
  
--- 86,98 ----
  //    no_buffer_space = 			ENOBUFS,
        no_child_process = 			ECHILD,
  
! #ifdef ENOLINK
        no_link = 				ENOLINK,
  #endif
  
        no_lock_available = 			ENOLCK,
  
! #ifdef ENODATA
        no_message_available = 			ENODATA,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 100,106 ****
  //    no_protocol_option = 			ENOPROTOOPT,
        no_space_on_device = 			ENOSPC,
  
! #ifdef _GLIBCXX_HAVE_ENOSR
        no_stream_resources = 			ENOSR,
  #endif
  
--- 100,106 ----
  //    no_protocol_option = 			ENOPROTOOPT,
        no_space_on_device = 			ENOSPC,
  
! #ifdef ENOSR
        no_stream_resources = 			ENOSR,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 111,128 ****
        not_a_directory = 			ENOTDIR,
  //    not_a_socket = 				ENOTSOCK,
  
! #ifdef _GLIBCXX_HAVE_ENOSTR
        not_a_stream = 				ENOSTR,
  #endif
  
  //    not_connected = 				ENOTCONN,
        not_enough_memory = 			ENOMEM,
  
! #ifdef _GLIBCXX_HAVE_ENOTSUP
        not_supported = 				ENOTSUP,
  #endif
  
! #ifdef _GLIBCXX_HAVE_ECANCELED
        operation_canceled = 			ECANCELED,
  #endif
  
--- 111,128 ----
        not_a_directory = 			ENOTDIR,
  //    not_a_socket = 				ENOTSOCK,
  
! #ifdef ENOSTR
        not_a_stream = 				ENOSTR,
  #endif
  
  //    not_connected = 				ENOTCONN,
        not_enough_memory = 			ENOMEM,
  
! #ifdef ENOTSUP
        not_supported = 				ENOTSUP,
  #endif
  
! #ifdef ECANCELED
        operation_canceled = 			ECANCELED,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 131,143 ****
  //    operation_not_supported = 		EOPNOTSUPP,
  //    operation_would_block = 			EWOULDBLOCK,
  
! #ifdef _GLIBCXX_HAVE_EOWNERDEAD
        owner_dead = 				EOWNERDEAD,
  #endif
  
        permission_denied = 			EACCES,
  
! #ifdef _GLIBCXX_HAVE_EPROTO
        protocol_error = 				EPROTO,
  #endif
  
--- 131,143 ----
  //    operation_not_supported = 		EOPNOTSUPP,
  //    operation_would_block = 			EWOULDBLOCK,
  
! #ifdef EOWNERDEAD
        owner_dead = 				EOWNERDEAD,
  #endif
  
        permission_denied = 			EACCES,
  
! #ifdef EPROTO
        protocol_error = 				EPROTO,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 147,161 ****
        resource_unavailable_try_again = 		EAGAIN,
        result_out_of_range = 			ERANGE,
  
! #ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
        state_not_recoverable = 			ENOTRECOVERABLE,
  #endif
  
! #ifdef _GLIBCXX_HAVE_ETIME
        stream_timeout = 				ETIME,
  #endif
  
! #ifdef _GLIBCXX_HAVE_ETXTBSY
        text_file_busy = 				ETXTBSY,
  #endif
  
--- 147,161 ----
        resource_unavailable_try_again = 		EAGAIN,
        result_out_of_range = 			ERANGE,
  
! #ifdef ENOTRECOVERABLE
        state_not_recoverable = 			ENOTRECOVERABLE,
  #endif
  
! #ifdef ETIME
        stream_timeout = 				ETIME,
  #endif
  
! #ifdef ETXTBSY
        text_file_busy = 				ETXTBSY,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 165,171 ****
        too_many_links = 				EMLINK,
        too_many_symbolic_link_levels = 		ELOOP,
  
! #ifdef _GLIBCXX_HAVE_EOVERFLOW
        value_too_large = 			EOVERFLOW,
  #endif
  
--- 165,171 ----
        too_many_links = 				EMLINK,
        too_many_symbolic_link_levels = 		ELOOP,
  
! #ifdef EOVERFLOW
        value_too_large = 			EOVERFLOW,
  #endif
  
diff -Nrcpad gcc-9.4.0/libstdc++-v3/config/os/generic/error_constants.h gcc-9.5.0/libstdc++-v3/config/os/generic/error_constants.h
*** gcc-9.4.0/libstdc++-v3/config/os/generic/error_constants.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/config/os/generic/error_constants.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 48,54 ****
        bad_address = 				EFAULT,
        bad_file_descriptor = 			EBADF,
  
! #ifdef _GLIBCXX_HAVE_EBADMSG
        bad_message = 				EBADMSG,
  #endif
  
--- 48,54 ----
        bad_address = 				EFAULT,
        bad_file_descriptor = 			EBADF,
  
! #ifdef EBADMSG
        bad_message = 				EBADMSG,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 68,74 ****
        function_not_supported = 			ENOSYS,
        host_unreachable = 			EHOSTUNREACH,
  
! #ifdef _GLIBCXX_HAVE_EIDRM
        identifier_removed = 			EIDRM,
  #endif
  
--- 68,74 ----
        function_not_supported = 			ENOSYS,
        host_unreachable = 			EHOSTUNREACH,
  
! #ifdef EIDRM
        identifier_removed = 			EIDRM,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 86,98 ****
        no_buffer_space = 			ENOBUFS,
        no_child_process = 			ECHILD,
  
! #ifdef _GLIBCXX_HAVE_ENOLINK
        no_link = 				ENOLINK,
  #endif
  
        no_lock_available = 			ENOLCK,
  
! #ifdef _GLIBCXX_HAVE_ENODATA
        no_message_available = 			ENODATA,
  #endif
  
--- 86,98 ----
        no_buffer_space = 			ENOBUFS,
        no_child_process = 			ECHILD,
  
! #ifdef ENOLINK
        no_link = 				ENOLINK,
  #endif
  
        no_lock_available = 			ENOLCK,
  
! #ifdef ENODATA
        no_message_available = 			ENODATA,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 100,106 ****
        no_protocol_option = 			ENOPROTOOPT,
        no_space_on_device = 			ENOSPC,
  
! #ifdef _GLIBCXX_HAVE_ENOSR
        no_stream_resources = 			ENOSR,
  #endif
  
--- 100,106 ----
        no_protocol_option = 			ENOPROTOOPT,
        no_space_on_device = 			ENOSPC,
  
! #ifdef ENOSR
        no_stream_resources = 			ENOSR,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 111,128 ****
        not_a_directory = 			ENOTDIR,
        not_a_socket = 				ENOTSOCK,
  
! #ifdef _GLIBCXX_HAVE_ENOSTR
        not_a_stream = 				ENOSTR,
  #endif
  
        not_connected = 				ENOTCONN,
        not_enough_memory = 			ENOMEM,
  
! #ifdef _GLIBCXX_HAVE_ENOTSUP
        not_supported = 				ENOTSUP,
  #endif
  
! #ifdef _GLIBCXX_HAVE_ECANCELED
        operation_canceled = 			ECANCELED,
  #endif
  
--- 111,128 ----
        not_a_directory = 			ENOTDIR,
        not_a_socket = 				ENOTSOCK,
  
! #ifdef ENOSTR
        not_a_stream = 				ENOSTR,
  #endif
  
        not_connected = 				ENOTCONN,
        not_enough_memory = 			ENOMEM,
  
! #ifdef ENOTSUP
        not_supported = 				ENOTSUP,
  #endif
  
! #ifdef ECANCELED
        operation_canceled = 			ECANCELED,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 131,143 ****
        operation_not_supported = 		EOPNOTSUPP,
        operation_would_block = 			EWOULDBLOCK,
  
! #ifdef _GLIBCXX_HAVE_EOWNERDEAD
        owner_dead = 				EOWNERDEAD,
  #endif
  
        permission_denied = 			EACCES,
  
! #ifdef _GLIBCXX_HAVE_EPROTO
        protocol_error = 				EPROTO,
  #endif
  
--- 131,143 ----
        operation_not_supported = 		EOPNOTSUPP,
        operation_would_block = 			EWOULDBLOCK,
  
! #ifdef EOWNERDEAD
        owner_dead = 				EOWNERDEAD,
  #endif
  
        permission_denied = 			EACCES,
  
! #ifdef EPROTO
        protocol_error = 				EPROTO,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 147,161 ****
        resource_unavailable_try_again = 		EAGAIN,
        result_out_of_range = 			ERANGE,
  
! #ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
        state_not_recoverable = 			ENOTRECOVERABLE,
  #endif
  
! #ifdef _GLIBCXX_HAVE_ETIME
        stream_timeout = 				ETIME,
  #endif
  
! #ifdef _GLIBCXX_HAVE_ETXTBSY
        text_file_busy = 				ETXTBSY,
  #endif
  
--- 147,161 ----
        resource_unavailable_try_again = 		EAGAIN,
        result_out_of_range = 			ERANGE,
  
! #ifdef ENOTRECOVERABLE
        state_not_recoverable = 			ENOTRECOVERABLE,
  #endif
  
! #ifdef ETIME
        stream_timeout = 				ETIME,
  #endif
  
! #ifdef ETXTBSY
        text_file_busy = 				ETXTBSY,
  #endif
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 165,171 ****
        too_many_links = 				EMLINK,
        too_many_symbolic_link_levels = 		ELOOP,
  
! #ifdef _GLIBCXX_HAVE_EOVERFLOW
        value_too_large = 			EOVERFLOW,
  #endif
  
--- 165,171 ----
        too_many_links = 				EMLINK,
        too_many_symbolic_link_levels = 		ELOOP,
  
! #ifdef EOVERFLOW
        value_too_large = 			EOVERFLOW,
  #endif
  
diff -Nrcpad gcc-9.4.0/libstdc++-v3/config/os/mingw32/error_constants.h gcc-9.5.0/libstdc++-v3/config/os/mingw32/error_constants.h
*** gcc-9.4.0/libstdc++-v3/config/os/mingw32/error_constants.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/config/os/mingw32/error_constants.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 78,84 ****
  //    network_reset = 				ENETRESET,
  //    network_unreachable = 			ENETUNREACH,
  //    no_buffer_space = 			ENOBUFS,
! #ifdef _GLIBCXX_HAVE_ECHILD
        no_child_process = 			ECHILD,
  #endif
  //    no_link = 				ENOLINK,
--- 78,84 ----
  //    network_reset = 				ENETRESET,
  //    network_unreachable = 			ENETUNREACH,
  //    no_buffer_space = 			ENOBUFS,
! #ifdef ECHILD
        no_child_process = 			ECHILD,
  #endif
  //    no_link = 				ENOLINK,
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 86,92 ****
  //    no_message_available = 			ENODATA,
  //    no_message = 				ENOMSG,
  //    no_protocol_option = 			ENOPROTOOPT,
! #ifdef _GLIBCXX_HAVE_ENOSPC
        no_space_on_device = 			ENOSPC,
  #endif
  //    no_stream_resources = 			ENOSR,
--- 86,92 ----
  //    no_message_available = 			ENODATA,
  //    no_message = 				ENOMSG,
  //    no_protocol_option = 			ENOPROTOOPT,
! #ifdef ENOSPC
        no_space_on_device = 			ENOSPC,
  #endif
  //    no_stream_resources = 			ENOSR,
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 99,114 ****
  //    not_a_stream = 				ENOSTR,
  //    not_connected = 				ENOTCONN,
        not_enough_memory = 			ENOMEM,
! #ifdef _GLIBCXX_HAVE_ENOTSUP
        not_supported = 				ENOTSUP,
  #endif
  //    operation_canceled = 			ECANCELED,
  //    operation_in_progress = 			EINPROGRESS,
! #ifdef _GLIBCXX_HAVE_EPERM
        operation_not_permitted = 		EPERM,
  #endif
  //    operation_not_supported = 		EOPNOTSUPP,
! #ifdef _GLIBCXX_HAVE_EWOULDBLOCK
        operation_would_block = 			EWOULDBLOCK,
  #endif
  //    owner_dead = 				EOWNERDEAD,
--- 99,114 ----
  //    not_a_stream = 				ENOSTR,
  //    not_connected = 				ENOTCONN,
        not_enough_memory = 			ENOMEM,
! #ifdef ENOTSUP
        not_supported = 				ENOTSUP,
  #endif
  //    operation_canceled = 			ECANCELED,
  //    operation_in_progress = 			EINPROGRESS,
! #ifdef EPERM
        operation_not_permitted = 		EPERM,
  #endif
  //    operation_not_supported = 		EOPNOTSUPP,
! #ifdef EWOULDBLOCK
        operation_would_block = 			EWOULDBLOCK,
  #endif
  //    owner_dead = 				EOWNERDEAD,
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 122,135 ****
  //    state_not_recoverable = 			ENOTRECOVERABLE,
  //    stream_timeout = 				ETIME,
  //    text_file_busy = 				ETXTBSY,
! #ifdef _GLIBCXX_HAVE_ETIMEDOUT
        timed_out = 				ETIMEDOUT,
  #endif
        too_many_files_open_in_system = 		ENFILE,
        too_many_files_open = 			EMFILE,
        too_many_links = 				EMLINK
  //    too_many_symbolic_link_levels = 		ELOOP,
! #ifdef _GLIBCXX_HAVE_EOVERFLOW
  	,
        value_too_large = 			EOVERFLOW
  #endif
--- 122,135 ----
  //    state_not_recoverable = 			ENOTRECOVERABLE,
  //    stream_timeout = 				ETIME,
  //    text_file_busy = 				ETXTBSY,
! #ifdef ETIMEDOUT
        timed_out = 				ETIMEDOUT,
  #endif
        too_many_files_open_in_system = 		ENFILE,
        too_many_files_open = 			EMFILE,
        too_many_links = 				EMLINK
  //    too_many_symbolic_link_levels = 		ELOOP,
! #ifdef EOVERFLOW
  	,
        value_too_large = 			EOVERFLOW
  #endif
diff -Nrcpad gcc-9.4.0/libstdc++-v3/config/os/mingw32-w64/error_constants.h gcc-9.5.0/libstdc++-v3/config/os/mingw32-w64/error_constants.h
*** gcc-9.4.0/libstdc++-v3/config/os/mingw32-w64/error_constants.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/config/os/mingw32-w64/error_constants.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 49,55 ****
        argument_out_of_domain = 			EDOM,
        bad_address = 				EFAULT,
        bad_file_descriptor = 			EBADF,
! #ifdef _GLIBCXX_HAVE_EBADMSG
        bad_message = 				EBADMSG,
  #endif
        broken_pipe = 				EPIPE,
--- 49,55 ----
        argument_out_of_domain = 			EDOM,
        bad_address = 				EFAULT,
        bad_file_descriptor = 			EBADF,
! #ifdef EBADMSG
        bad_message = 				EBADMSG,
  #endif
        broken_pipe = 				EPIPE,
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 67,73 ****
        filename_too_long = 			ENAMETOOLONG,
        function_not_supported = 			ENOSYS,
        host_unreachable = 			EHOSTUNREACH,
! #ifdef _GLIBCXX_HAVE_EIDRM
        identifier_removed = 			EIDRM,
  #endif
        illegal_byte_sequence = 			EILSEQ,
--- 67,73 ----
        filename_too_long = 			ENAMETOOLONG,
        function_not_supported = 			ENOSYS,
        host_unreachable = 			EHOSTUNREACH,
! #ifdef EIDRM
        identifier_removed = 			EIDRM,
  #endif
        illegal_byte_sequence = 			EILSEQ,
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 82,105 ****
        network_reset = 				ENETRESET,
        network_unreachable = 			ENETUNREACH,
        no_buffer_space = 			ENOBUFS,
! #ifdef _GLIBCXX_HAVE_ECHILD
        no_child_process = 			ECHILD,
  #endif
! #ifdef _GLIBCXX_HAVE_ENOLINK
        no_link = 				ENOLINK,
  #endif
        no_lock_available = 			ENOLCK,
! #ifdef _GLIBCXX_HAVE_ENODATA
        no_message_available = 			ENODATA,
  #endif
! #ifdef _GLIBCXX_HAVE_ENOMSG
        no_message = 				ENOMSG,
  #endif
        no_protocol_option = 			ENOPROTOOPT,
! #ifdef _GLIBCXX_HAVE_ENOSPC
        no_space_on_device = 			ENOSPC,
  #endif
! #ifdef _GLIBCXX_HAVE_ENOSR
        no_stream_resources = 			ENOSR,
  #endif
        no_such_device_or_address = 		ENXIO,
--- 82,105 ----
        network_reset = 				ENETRESET,
        network_unreachable = 			ENETUNREACH,
        no_buffer_space = 			ENOBUFS,
! #ifdef ECHILD
        no_child_process = 			ECHILD,
  #endif
! #ifdef ENOLINK
        no_link = 				ENOLINK,
  #endif
        no_lock_available = 			ENOLCK,
! #ifdef ENODATA
        no_message_available = 			ENODATA,
  #endif
! #ifdef ENOMSG
        no_message = 				ENOMSG,
  #endif
        no_protocol_option = 			ENOPROTOOPT,
! #ifdef ENOSPC
        no_space_on_device = 			ENOSPC,
  #endif
! #ifdef ENOSR
        no_stream_resources = 			ENOSR,
  #endif
        no_such_device_or_address = 		ENXIO,
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 108,131 ****
        no_such_process = 			ESRCH,
        not_a_directory = 			ENOTDIR,
        not_a_socket = 				ENOTSOCK,
! #ifdef _GLIBCXX_HAVE_ENOSTR
        not_a_stream = 				ENOSTR,
  #endif
        not_connected = 				ENOTCONN,
        not_enough_memory = 			ENOMEM,
! #ifdef _GLIBCXX_HAVE_ENOTSUP
        not_supported = 				ENOTSUP,
  #endif
        operation_canceled = 			ECANCELED,
        operation_in_progress = 			EINPROGRESS,
! #ifdef _GLIBCXX_HAVE_EPERM
        operation_not_permitted = 		EPERM,
  #endif
        operation_not_supported = 		EOPNOTSUPP,
! #ifdef _GLIBCXX_HAVE_EWOULDBLOCK
        operation_would_block = 			EWOULDBLOCK,
  #endif
! #ifdef _GLIBCXX_HAVE_EOWNERDEAD
        owner_dead = 				EOWNERDEAD,
  #endif
        permission_denied = 			EACCES,
--- 108,131 ----
        no_such_process = 			ESRCH,
        not_a_directory = 			ENOTDIR,
        not_a_socket = 				ENOTSOCK,
! #ifdef ENOSTR
        not_a_stream = 				ENOSTR,
  #endif
        not_connected = 				ENOTCONN,
        not_enough_memory = 			ENOMEM,
! #ifdef ENOTSUP
        not_supported = 				ENOTSUP,
  #endif
        operation_canceled = 			ECANCELED,
        operation_in_progress = 			EINPROGRESS,
! #ifdef EPERM
        operation_not_permitted = 		EPERM,
  #endif
        operation_not_supported = 		EOPNOTSUPP,
! #ifdef EWOULDBLOCK
        operation_would_block = 			EWOULDBLOCK,
  #endif
! #ifdef EOWNERDEAD
        owner_dead = 				EOWNERDEAD,
  #endif
        permission_denied = 			EACCES,
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 135,157 ****
        resource_deadlock_would_occur = 		EDEADLK,
        resource_unavailable_try_again = 		EAGAIN,
        result_out_of_range = 			ERANGE,
! #ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
        state_not_recoverable = 			ENOTRECOVERABLE,
  #endif
! #ifdef _GLIBCXX_HAVE_ETIME
        stream_timeout = 				ETIME,
  #endif
! #ifdef _GLIBCXX_HAVE_ETXTBSY
        text_file_busy = 				ETXTBSY,
  #endif
! #ifdef _GLIBCXX_HAVE_ETIMEDOUT
        timed_out = 				ETIMEDOUT,
  #endif
        too_many_files_open_in_system = 		ENFILE,
        too_many_files_open = 			EMFILE,
        too_many_links = 				EMLINK,
        too_many_symbolic_link_levels = 		ELOOP,
! #ifdef _GLIBCXX_HAVE_EOVERFLOW
        value_too_large = 			EOVERFLOW,
  #endif
        wrong_protocol_type = 			EPROTOTYPE
--- 135,157 ----
        resource_deadlock_would_occur = 		EDEADLK,
        resource_unavailable_try_again = 		EAGAIN,
        result_out_of_range = 			ERANGE,
! #ifdef ENOTRECOVERABLE
        state_not_recoverable = 			ENOTRECOVERABLE,
  #endif
! #ifdef ETIME
        stream_timeout = 				ETIME,
  #endif
! #ifdef ETXTBSY
        text_file_busy = 				ETXTBSY,
  #endif
! #ifdef ETIMEDOUT
        timed_out = 				ETIMEDOUT,
  #endif
        too_many_files_open_in_system = 		ENFILE,
        too_many_files_open = 			EMFILE,
        too_many_links = 				EMLINK,
        too_many_symbolic_link_levels = 		ELOOP,
! #ifdef EOVERFLOW
        value_too_large = 			EOVERFLOW,
  #endif
        wrong_protocol_type = 			EPROTOTYPE
diff -Nrcpad gcc-9.4.0/libstdc++-v3/config.h.in gcc-9.5.0/libstdc++-v3/config.h.in
*** gcc-9.4.0/libstdc++-v3/config.h.in	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/config.h.in	Fri May 27 07:21:13 2022
***************
*** 69,134 ****
  /* Define to 1 if you have the <dlfcn.h> header file. */
  #undef HAVE_DLFCN_H
  
- /* Define if EBADMSG exists. */
- #undef HAVE_EBADMSG
- 
- /* Define if ECANCELED exists. */
- #undef HAVE_ECANCELED
- 
- /* Define if ECHILD exists. */
- #undef HAVE_ECHILD
- 
- /* Define if EIDRM exists. */
- #undef HAVE_EIDRM
- 
  /* Define to 1 if you have the <endian.h> header file. */
  #undef HAVE_ENDIAN_H
  
- /* Define if ENODATA exists. */
- #undef HAVE_ENODATA
- 
- /* Define if ENOLINK exists. */
- #undef HAVE_ENOLINK
- 
- /* Define if ENOSPC exists. */
- #undef HAVE_ENOSPC
- 
- /* Define if ENOSR exists. */
- #undef HAVE_ENOSR
- 
- /* Define if ENOSTR exists. */
- #undef HAVE_ENOSTR
- 
- /* Define if ENOTRECOVERABLE exists. */
- #undef HAVE_ENOTRECOVERABLE
- 
- /* Define if ENOTSUP exists. */
- #undef HAVE_ENOTSUP
- 
- /* Define if EOVERFLOW exists. */
- #undef HAVE_EOVERFLOW
- 
- /* Define if EOWNERDEAD exists. */
- #undef HAVE_EOWNERDEAD
- 
- /* Define if EPERM exists. */
- #undef HAVE_EPERM
- 
- /* Define if EPROTO exists. */
- #undef HAVE_EPROTO
- 
- /* Define if ETIME exists. */
- #undef HAVE_ETIME
- 
- /* Define if ETIMEDOUT exists. */
- #undef HAVE_ETIMEDOUT
- 
- /* Define if ETXTBSY exists. */
- #undef HAVE_ETXTBSY
- 
- /* Define if EWOULDBLOCK exists. */
- #undef HAVE_EWOULDBLOCK
- 
  /* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */
  #undef HAVE_EXCEPTION_PTR_SINCE_GCC46
  
--- 69,77 ----
diff -Nrcpad gcc-9.4.0/libstdc++-v3/configure gcc-9.5.0/libstdc++-v3/configure
*** gcc-9.4.0/libstdc++-v3/configure	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/configure	Fri May 27 07:21:13 2022
*************** ac_compiler_gnu=$ac_cv_c_compiler_gnu
*** 18942,19578 ****
  
  
  
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOWNERDEAD" >&5
- $as_echo_n "checking for EOWNERDEAD... " >&6; }
- if ${glibcxx_cv_system_error1+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = EOWNERDEAD;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error1=yes
- else
-   glibcxx_cv_system_error1=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error1" >&5
- $as_echo "$glibcxx_cv_system_error1" >&6; }
- if test x"$glibcxx_cv_system_error1" = x"yes"; then
- 
- $as_echo "#define HAVE_EOWNERDEAD 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOTRECOVERABLE" >&5
- $as_echo_n "checking for ENOTRECOVERABLE... " >&6; }
- if ${glibcxx_cv_system_error2+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ENOTRECOVERABLE;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error2=yes
- else
-   glibcxx_cv_system_error2=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error2" >&5
- $as_echo "$glibcxx_cv_system_error2" >&6; }
- if test x"$glibcxx_cv_system_error2" = x"yes"; then
- 
- $as_echo "#define HAVE_ENOTRECOVERABLE 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK" >&5
- $as_echo_n "checking for ENOLINK... " >&6; }
- if ${glibcxx_cv_system_error3+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ENOLINK;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error3=yes
- else
-   glibcxx_cv_system_error3=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error3" >&5
- $as_echo "$glibcxx_cv_system_error3" >&6; }
- if test x"$glibcxx_cv_system_error3" = x"yes"; then
- 
- $as_echo "#define HAVE_ENOLINK 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EPROTO" >&5
- $as_echo_n "checking for EPROTO... " >&6; }
- if ${glibcxx_cv_system_error4+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = EPROTO;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error4=yes
- else
-   glibcxx_cv_system_error4=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error4" >&5
- $as_echo "$glibcxx_cv_system_error4" >&6; }
- if test x"$glibcxx_cv_system_error4" = x"yes"; then
- 
- $as_echo "#define HAVE_EPROTO 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENODATA" >&5
- $as_echo_n "checking for ENODATA... " >&6; }
- if ${glibcxx_cv_system_error5+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ENODATA;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error5=yes
- else
-   glibcxx_cv_system_error5=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error5" >&5
- $as_echo "$glibcxx_cv_system_error5" >&6; }
- if test x"$glibcxx_cv_system_error5" = x"yes"; then
- 
- $as_echo "#define HAVE_ENODATA 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOSR" >&5
- $as_echo_n "checking for ENOSR... " >&6; }
- if ${glibcxx_cv_system_error6+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ENOSR;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error6=yes
- else
-   glibcxx_cv_system_error6=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error6" >&5
- $as_echo "$glibcxx_cv_system_error6" >&6; }
- if test x"$glibcxx_cv_system_error6" = x"yes"; then
- 
- $as_echo "#define HAVE_ENOSR 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOSTR" >&5
- $as_echo_n "checking for ENOSTR... " >&6; }
- if ${glibcxx_cv_system_error7+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ENOSTR;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error7=yes
- else
-   glibcxx_cv_system_error7=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error7" >&5
- $as_echo "$glibcxx_cv_system_error7" >&6; }
- if test x"$glibcxx_cv_system_error7" = x"yes"; then
- 
- $as_echo "#define HAVE_ENOSTR 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ETIME" >&5
- $as_echo_n "checking for ETIME... " >&6; }
- if ${glibcxx_cv_system_error8+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ETIME;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error8=yes
- else
-   glibcxx_cv_system_error8=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error8" >&5
- $as_echo "$glibcxx_cv_system_error8" >&6; }
- if test x"$glibcxx_cv_system_error8" = x"yes"; then
- 
- $as_echo "#define HAVE_ETIME 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EBADMSG" >&5
- $as_echo_n "checking for EBADMSG... " >&6; }
- if ${glibcxx_cv_system_error9+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = EBADMSG;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error9=yes
- else
-   glibcxx_cv_system_error9=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error9" >&5
- $as_echo "$glibcxx_cv_system_error9" >&6; }
- if test x"$glibcxx_cv_system_error9" = x"yes"; then
- 
- $as_echo "#define HAVE_EBADMSG 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECANCELED" >&5
- $as_echo_n "checking for ECANCELED... " >&6; }
- if ${glibcxx_cv_system_error10+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ECANCELED;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error10=yes
- else
-   glibcxx_cv_system_error10=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error10" >&5
- $as_echo "$glibcxx_cv_system_error10" >&6; }
- if test x"$glibcxx_cv_system_error10" = x"yes"; then
- 
- $as_echo "#define HAVE_ECANCELED 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW" >&5
- $as_echo_n "checking for EOVERFLOW... " >&6; }
- if ${glibcxx_cv_system_error11+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = EOVERFLOW;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error11=yes
- else
-   glibcxx_cv_system_error11=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error11" >&5
- $as_echo "$glibcxx_cv_system_error11" >&6; }
- if test x"$glibcxx_cv_system_error11" = x"yes"; then
- 
- $as_echo "#define HAVE_EOVERFLOW 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOTSUP" >&5
- $as_echo_n "checking for ENOTSUP... " >&6; }
- if ${glibcxx_cv_system_error12+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ENOTSUP;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error12=yes
- else
-   glibcxx_cv_system_error12=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error12" >&5
- $as_echo "$glibcxx_cv_system_error12" >&6; }
- if test x"$glibcxx_cv_system_error12" = x"yes"; then
- 
- $as_echo "#define HAVE_ENOTSUP 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EIDRM" >&5
- $as_echo_n "checking for EIDRM... " >&6; }
- if ${glibcxx_cv_system_error13+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = EIDRM;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error13=yes
- else
-   glibcxx_cv_system_error13=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error13" >&5
- $as_echo "$glibcxx_cv_system_error13" >&6; }
- if test x"$glibcxx_cv_system_error13" = x"yes"; then
- 
- $as_echo "#define HAVE_EIDRM 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ETXTBSY" >&5
- $as_echo_n "checking for ETXTBSY... " >&6; }
- if ${glibcxx_cv_system_error14+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ETXTBSY;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error14=yes
- else
-   glibcxx_cv_system_error14=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error14" >&5
- $as_echo "$glibcxx_cv_system_error14" >&6; }
- if test x"$glibcxx_cv_system_error14" = x"yes"; then
- 
- $as_echo "#define HAVE_ETXTBSY 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECHILD" >&5
- $as_echo_n "checking for ECHILD... " >&6; }
- if ${glibcxx_cv_system_error15+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ECHILD;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error15=yes
- else
-   glibcxx_cv_system_error15=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error15" >&5
- $as_echo "$glibcxx_cv_system_error15" >&6; }
- if test x"$glibcxx_cv_system_error15" = x"yes"; then
- 
- $as_echo "#define HAVE_ECHILD 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOSPC" >&5
- $as_echo_n "checking for ENOSPC... " >&6; }
- if ${glibcxx_cv_system_error16+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ENOSPC;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error16=yes
- else
-   glibcxx_cv_system_error16=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error16" >&5
- $as_echo "$glibcxx_cv_system_error16" >&6; }
- if test x"$glibcxx_cv_system_error16" = x"yes"; then
- 
- $as_echo "#define HAVE_ENOSPC 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EPERM" >&5
- $as_echo_n "checking for EPERM... " >&6; }
- if ${glibcxx_cv_system_error17+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = EPERM;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error17=yes
- else
-   glibcxx_cv_system_error17=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error17" >&5
- $as_echo "$glibcxx_cv_system_error17" >&6; }
- if test x"$glibcxx_cv_system_error17" = x"yes"; then
- 
- $as_echo "#define HAVE_EPERM 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ETIMEDOUT" >&5
- $as_echo_n "checking for ETIMEDOUT... " >&6; }
- if ${glibcxx_cv_system_error18+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = ETIMEDOUT;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error18=yes
- else
-   glibcxx_cv_system_error18=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error18" >&5
- $as_echo "$glibcxx_cv_system_error18" >&6; }
- if test x"$glibcxx_cv_system_error18" = x"yes"; then
- 
- $as_echo "#define HAVE_ETIMEDOUT 1" >>confdefs.h
- 
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EWOULDBLOCK" >&5
- $as_echo_n "checking for EWOULDBLOCK... " >&6; }
- if ${glibcxx_cv_system_error19+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
- 
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include <errno.h>
- int
- main ()
- {
- int i = EWOULDBLOCK;
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   glibcxx_cv_system_error19=yes
- else
-   glibcxx_cv_system_error19=no
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- 
- fi
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error19" >&5
- $as_echo "$glibcxx_cv_system_error19" >&6; }
- if test x"$glibcxx_cv_system_error19" = x"yes"; then
- 
- $as_echo "#define HAVE_EWOULDBLOCK 1" >>confdefs.h
- 
- fi
- 
- 
- 
- 
    # Test uchar.h.
    for ac_header in uchar.h
  do :
--- 18942,18947 ----
diff -Nrcpad gcc-9.4.0/libstdc++-v3/configure.ac gcc-9.5.0/libstdc++-v3/configure.ac
*** gcc-9.4.0/libstdc++-v3/configure.ac	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/configure.ac	Fri May 27 07:21:13 2022
*************** GLIBCXX_ENABLE_VTABLE_VERIFY([no])
*** 183,189 ****
  # Checks for operating systems support that doesn't require linking.
  GLIBCXX_CHECK_STDIO_PROTO
  GLIBCXX_CHECK_MATH11_PROTO
- GLIBCXX_CHECK_SYSTEM_ERROR
  GLIBCXX_CHECK_UCHAR_H
  
  # For the streamoff typedef.
--- 183,188 ----
diff -Nrcpad gcc-9.4.0/libstdc++-v3/doc/html/faq.html gcc-9.5.0/libstdc++-v3/doc/html/faq.html
*** gcc-9.4.0/libstdc++-v3/doc/html/faq.html	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/doc/html/faq.html	Fri May 27 07:21:13 2022
***************
*** 456,462 ****
           <code class="varname">CPLUSPLUS_CPP_SPEC</code> in
           the gcc config headers for your target (and try changing them to
           see what happens when building complicated code).  You can also run
!          <span class="command"><strong>g++ -E -dM - &lt; /dev/null"</strong></span> to display
           a list of predefined macros for any particular installation.
        </p><p>This has been discussed on the mailing lists
           <a class="link" href="http://gcc.gnu.org/cgi-bin/htsearch?method=and&amp;format=builtin-long&amp;sort=score&amp;words=_XOPEN_SOURCE+Solaris" target="_top">quite a bit</a>.
--- 456,462 ----
           <code class="varname">CPLUSPLUS_CPP_SPEC</code> in
           the gcc config headers for your target (and try changing them to
           see what happens when building complicated code).  You can also run
!          <span class="command"><strong>g++ -E -dM -x c++ /dev/null</strong></span> to display
           a list of predefined macros for any particular installation.
        </p><p>This has been discussed on the mailing lists
           <a class="link" href="http://gcc.gnu.org/cgi-bin/htsearch?method=and&amp;format=builtin-long&amp;sort=score&amp;words=_XOPEN_SOURCE+Solaris" target="_top">quite a bit</a>.
diff -Nrcpad gcc-9.4.0/libstdc++-v3/doc/html/manual/status.html gcc-9.5.0/libstdc++-v3/doc/html/manual/status.html
*** gcc-9.4.0/libstdc++-v3/doc/html/manual/status.html	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/doc/html/manual/status.html	Fri May 27 07:21:13 2022
*************** Feature-testing recommendations for C++<
*** 1025,1031 ****
          <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0463r1.html" target="_top">
  	P0463R1
  	</a>
!       </td><td align="center"> 8.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  Extending <code class="code">make_shared</code> to Support Arrays </td><td align="left">
          <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0674r1.html" target="_top">
  	P0674R1
  	</a>
--- 1025,1034 ----
          <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0463r1.html" target="_top">
  	P0463R1
  	</a>
!       </td><td align="center"> 8.1 </td><td align="left"> </td></tr><tr><td align="left"> Bit operations </td><td align="left">
!         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0553r4.html" target="_top">
!         P0553R4 </a>
!       </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_bitops &gt;= 201907L</code> (macro only defined since 9.4) </td></tr><tr bgcolor="#C8B0B0"><td align="left">  Extending <code class="code">make_shared</code> to Support Arrays </td><td align="left">
          <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0674r1.html" target="_top">
  	P0674R1
  	</a>
*************** Feature-testing recommendations for C++<
*** 1150,1156 ****
          <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0556r3.html" target="_top">
  	P0556R3
  	</a>
!       </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  Reviewing Deprecated Facilities of C++17 for C++20 </td><td align="left">
          <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0619r4.html" target="_top">
  	P0619R4
  	</a>
--- 1153,1159 ----
          <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0556r3.html" target="_top">
  	P0556R3
  	</a>
!       </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_int_pow2 &gt;= 201806L</code> (macro only defined since 9.4) </td></tr><tr bgcolor="#C8B0B0"><td align="left">  Reviewing Deprecated Facilities of C++17 for C++20 </td><td align="left">
          <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0619r4.html" target="_top">
  	P0619R4
  	</a>
diff -Nrcpad gcc-9.4.0/libstdc++-v3/doc/xml/faq.xml gcc-9.5.0/libstdc++-v3/doc/xml/faq.xml
*** gcc-9.4.0/libstdc++-v3/doc/xml/faq.xml	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/doc/xml/faq.xml	Fri May 27 07:21:13 2022
***************
*** 580,586 ****
           <varname>CPLUSPLUS_CPP_SPEC</varname> in
           the gcc config headers for your target (and try changing them to
           see what happens when building complicated code).  You can also run
!          <command>g++ -E -dM - &lt; /dev/null"</command> to display
           a list of predefined macros for any particular installation.
        </para>
        <para>This has been discussed on the mailing lists
--- 580,586 ----
           <varname>CPLUSPLUS_CPP_SPEC</varname> in
           the gcc config headers for your target (and try changing them to
           see what happens when building complicated code).  You can also run
!          <command>g++ -E -dM -x c++ /dev/null</command> to display
           a list of predefined macros for any particular installation.
        </para>
        <para>This has been discussed on the mailing lists
diff -Nrcpad gcc-9.4.0/libstdc++-v3/doc/xml/manual/intro.xml gcc-9.5.0/libstdc++-v3/doc/xml/manual/intro.xml
*** gcc-9.4.0/libstdc++-v3/doc/xml/manual/intro.xml	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/doc/xml/manual/intro.xml	Fri May 27 07:21:13 2022
***************
*** 55,61 ****
      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxtr24733.xml">
      </xi:include>
  
!     <!-- Section 01.7 : Status C++ IS 24733 -->
      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxis29124.xml">
      </xi:include>
    </section>
--- 55,61 ----
      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxtr24733.xml">
      </xi:include>
  
!     <!-- Section 01.7 : Status C++ IS 29124 -->
      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxis29124.xml">
      </xi:include>
    </section>
diff -Nrcpad gcc-9.4.0/libstdc++-v3/doc/xml/manual/status_cxx2020.xml gcc-9.5.0/libstdc++-v3/doc/xml/manual/status_cxx2020.xml
*** gcc-9.4.0/libstdc++-v3/doc/xml/manual/status_cxx2020.xml	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/doc/xml/manual/status_cxx2020.xml	Fri May 27 07:21:13 2022
*************** Feature-testing recommendations for C++<
*** 65,70 ****
--- 65,80 ----
      </row>
  
      <row>
+       <entry> Bit operations </entry>
+       <entry>
+         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0553r4.html">
+         P0553R4 </link>
+       </entry>
+       <entry align="center"> 9.1 </entry>
+       <entry> <code>__cpp_lib_bitops &gt;= 201907L</code> (macro only defined since 9.4) </entry>
+     </row>
+ 
+     <row>
        <?dbhtml bgcolor="#C8B0B0" ?>
        <entry>  Extending <code>make_shared</code> to Support Arrays </entry>
        <entry>
*************** Feature-testing recommendations for C++<
*** 421,427 ****
  	</link>
        </entry>
        <entry align="center"> 9.1 </entry>
!       <entry />
      </row>
  
      <row>
--- 431,437 ----
  	</link>
        </entry>
        <entry align="center"> 9.1 </entry>
!       <entry> <code>__cpp_lib_int_pow2 &gt;= 201806L</code> (macro only defined since 9.4) </entry>
      </row>
  
      <row>
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/Makefile.am gcc-9.5.0/libstdc++-v3/include/Makefile.am
*** gcc-9.4.0/libstdc++-v3/include/Makefile.am	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/Makefile.am	Fri May 27 07:21:13 2022
*************** ${host_builddir}/c++config.h: ${CONFIG_H
*** 1334,1339 ****
--- 1334,1341 ----
  	    -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
  	    -e 's/VERSION/_GLIBCXX_VERSION/g' \
  	    -e 's/WORDS_/_GLIBCXX_WORDS_/g' \
+ 	    -e 's/LT_OBJDIR/_GLIBCXX_LT_OBJDIR/g' \
+ 	    -e 's/STDC_HEADERS/_GLIBCXX_STDC_HEADERS/g' \
  	    -e 's/_DARWIN_USE_64_BIT_INODE/_GLIBCXX_DARWIN_USE_64_BIT_INODE/g' \
  	    -e 's/_FILE_OFFSET_BITS/_GLIBCXX_FILE_OFFSET_BITS/g' \
  	    -e 's/_LARGE_FILES/_GLIBCXX_LARGE_FILES/g' \
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/Makefile.in gcc-9.5.0/libstdc++-v3/include/Makefile.in
*** gcc-9.4.0/libstdc++-v3/include/Makefile.in	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/Makefile.in	Fri May 27 07:21:13 2022
*************** ${host_builddir}/c++config.h: ${CONFIG_H
*** 1816,1821 ****
--- 1816,1823 ----
  	    -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
  	    -e 's/VERSION/_GLIBCXX_VERSION/g' \
  	    -e 's/WORDS_/_GLIBCXX_WORDS_/g' \
+ 	    -e 's/LT_OBJDIR/_GLIBCXX_LT_OBJDIR/g' \
+ 	    -e 's/STDC_HEADERS/_GLIBCXX_STDC_HEADERS/g' \
  	    -e 's/_DARWIN_USE_64_BIT_INODE/_GLIBCXX_DARWIN_USE_64_BIT_INODE/g' \
  	    -e 's/_FILE_OFFSET_BITS/_GLIBCXX_FILE_OFFSET_BITS/g' \
  	    -e 's/_LARGE_FILES/_GLIBCXX_LARGE_FILES/g' \
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/bits/basic_string.h gcc-9.5.0/libstdc++-v3/include/bits/basic_string.h
*** gcc-9.4.0/libstdc++-v3/include/bits/basic_string.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/bits/basic_string.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 528,534 ****
  #endif
        basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
        : _M_dataplus(_M_local_data(), __a)
!       { _M_construct(__s, __s ? __s + traits_type::length(__s) : __s+npos); }
  
        /**
         *  @brief  Construct string as multiple characters.
--- 528,539 ----
  #endif
        basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
        : _M_dataplus(_M_local_data(), __a)
!       {
! 	const _CharT* __end = __s ? __s + traits_type::length(__s)
! 	  // We just need a non-null pointer here to get an exception:
! 	  : reinterpret_cast<const _CharT*>(__alignof__(_CharT));
! 	_M_construct(__s, __end, random_access_iterator_tag());
!       }
  
        /**
         *  @brief  Construct string as multiple characters.
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/bits/char_traits.h gcc-9.5.0/libstdc++-v3/include/bits/char_traits.h
*** gcc-9.4.0/libstdc++-v3/include/bits/char_traits.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/bits/char_traits.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 227,233 ****
     *  Assumes that _CharT is a built-in character type.
     */
    template<typename _CharT>
!     static _GLIBCXX_ALWAYS_INLINE constexpr bool
      __constant_string_p(const _CharT* __s)
      {
  #ifdef _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED
--- 227,233 ----
     *  Assumes that _CharT is a built-in character type.
     */
    template<typename _CharT>
!     _GLIBCXX_ALWAYS_INLINE constexpr bool
      __constant_string_p(const _CharT* __s)
      {
  #ifdef _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 250,256 ****
     *  Assumes that _CharT is a built-in character type.
     */
    template<typename _CharT>
!     static _GLIBCXX_ALWAYS_INLINE constexpr bool
      __constant_char_array_p(const _CharT* __a, size_t __n)
      {
  #ifdef _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED
--- 250,256 ----
     *  Assumes that _CharT is a built-in character type.
     */
    template<typename _CharT>
!     _GLIBCXX_ALWAYS_INLINE constexpr bool
      __constant_char_array_p(const _CharT* __a, size_t __n)
      {
  #ifdef _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/bits/forward_list.tcc gcc-9.5.0/libstdc++-v3/include/bits/forward_list.tcc
*** gcc-9.4.0/libstdc++-v3/include/bits/forward_list.tcc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/bits/forward_list.tcc	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*** 372,377 ****
--- 372,382 ----
        forward_list<_Tp, _Alloc>::
        merge(forward_list&& __list, _Comp __comp)
        {
+ 	// _GLIBCXX_RESOLVE_LIB_DEFECTS
+ 	// 3088. forward_list::merge behavior unclear when passed *this
+ 	if (std::__addressof(__list) == this)
+ 	  return;
+ 
  	_Node_base* __node = &this->_M_impl._M_head;
  	while (__node->_M_next && __list._M_impl._M_head._M_next)
  	  {
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/bits/fs_path.h gcc-9.5.0/libstdc++-v3/include/bits/fs_path.h
*** gcc-9.4.0/libstdc++-v3/include/bits/fs_path.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/bits/fs_path.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 110,116 ****
  
      template<typename _Source>
        struct __constructible_from<_Source, void>
!       : decltype(__is_path_src(std::declval<_Source>(), 0))
        { };
  
      template<typename _Tp1, typename _Tp2 = void>
--- 110,116 ----
  
      template<typename _Source>
        struct __constructible_from<_Source, void>
!       : decltype(__is_path_src(std::declval<const _Source&>(), 0))
        { };
  
      template<typename _Tp1, typename _Tp2 = void>
*************** inline ptrdiff_t
*** 1274,1280 ****
  distance(filesystem::path::iterator __first, filesystem::path::iterator __last)
  { return __path_iter_distance(__first, __last); }
  
! template<typename _InputIterator, typename _Distance>
    void
    advance(filesystem::path::iterator& __i, _Distance __n)
    { __path_iter_advance(__i, static_cast<ptrdiff_t>(__n)); }
--- 1274,1280 ----
  distance(filesystem::path::iterator __first, filesystem::path::iterator __last)
  { return __path_iter_distance(__first, __last); }
  
! template<typename _Distance>
    void
    advance(filesystem::path::iterator& __i, _Distance __n)
    { __path_iter_advance(__i, static_cast<ptrdiff_t>(__n)); }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/bits/random.tcc gcc-9.5.0/libstdc++-v3/include/bits/random.tcc
*** gcc-9.4.0/libstdc++-v3/include/bits/random.tcc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/bits/random.tcc	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1941,1947 ****
        bool __saved_avail;
        if (__is >> __mean >> __stddev >> __saved_avail)
  	{
! 	  if (__saved_avail && (__is >> __x._M_saved))
  	    {
  	      __x._M_saved_available = __saved_avail;
  	      __x.param(typename normal_distribution<_RealType>::
--- 1941,1947 ----
        bool __saved_avail;
        if (__is >> __mean >> __stddev >> __saved_avail)
  	{
! 	  if (!__saved_avail || (__is >> __x._M_saved))
  	    {
  	      __x._M_saved_available = __saved_avail;
  	      __x.param(typename normal_distribution<_RealType>::
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/bits/regex.h gcc-9.5.0/libstdc++-v3/include/bits/regex.h
*** gcc-9.4.0/libstdc++-v3/include/bits/regex.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/bits/regex.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 35,41 ****
    template<typename, typename>
      class basic_regex;
  
!   template<typename, typename>
      class match_results;
  
  _GLIBCXX_END_NAMESPACE_CXX11
--- 35,41 ----
    template<typename, typename>
      class basic_regex;
  
!   template<typename _Bi_iter, typename _Alloc>
      class match_results;
  
  _GLIBCXX_END_NAMESPACE_CXX11
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 1707,1713 ****
         */
        _GLIBCXX_NODISCARD bool
        empty() const noexcept
!       { return size() == 0; }
  
        ///@}
  
--- 1707,1713 ----
         */
        _GLIBCXX_NODISCARD bool
        empty() const noexcept
!       { return _Base_type::size() <= 3; }
  
        ///@}
  
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 1825,1831 ****
         */
        const_iterator
        end() const noexcept
!       { return _Base_type::end() - (empty() ? 0 : 3); }
  
        /**
         * @brief Gets an iterator to one-past-the-end of the collection.
--- 1825,1831 ----
         */
        const_iterator
        end() const noexcept
!       { return _Base_type::end() - (_Base_type::empty() ? 0 : 3); }
  
        /**
         * @brief Gets an iterator to one-past-the-end of the collection.
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 1970,1976 ****
        _M_suffix()
        { return _Base_type::operator[](_Base_type::size() - 1); }
  
!       _Bi_iter _M_begin;
      };
  
    typedef match_results<const char*>		 cmatch;
--- 1970,1976 ----
        _M_suffix()
        { return _Base_type::operator[](_Base_type::size() - 1); }
  
!       _Bi_iter _M_begin {};
      };
  
    typedef match_results<const char*>		 cmatch;
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/bits/shared_ptr.h gcc-9.5.0/libstdc++-v3/include/bits/shared_ptr.h
*** gcc-9.4.0/libstdc++-v3/include/bits/shared_ptr.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/bits/shared_ptr.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 698,703 ****
--- 698,705 ----
      inline shared_ptr<_Tp>
      allocate_shared(const _Alloc& __a, _Args&&... __args)
      {
+       static_assert(!is_array<_Tp>::value, "make_shared<T[]> not supported");
+ 
        return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
  			     std::forward<_Args>(__args)...);
      }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/bits/shared_ptr_base.h gcc-9.5.0/libstdc++-v3/include/bits/shared_ptr_base.h
*** gcc-9.4.0/libstdc++-v3/include/bits/shared_ptr_base.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/bits/shared_ptr_base.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1822,1827 ****
--- 1822,1829 ----
      inline __shared_ptr<_Tp, _Lp>
      __allocate_shared(const _Alloc& __a, _Args&&... __args)
      {
+       static_assert(!is_array<_Tp>::value, "make_shared<T[]> not supported");
+ 
        return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a},
  				    std::forward<_Args>(__args)...);
      }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/bits/vector.tcc gcc-9.5.0/libstdc++-v3/include/bits/vector.tcc
*** gcc-9.4.0/libstdc++-v3/include/bits/vector.tcc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/bits/vector.tcc	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*** 944,950 ****
  	return false;
        __try
  	{
! 	  _M_reallocate(size());
  	  return true;
  	}
        __catch(...)
--- 944,956 ----
  	return false;
        __try
  	{
! 	  if (size_type __n = size())
! 	    _M_reallocate(__n);
! 	  else
! 	    {
! 	      this->_M_deallocate();
! 	      this->_M_impl._M_reset();
! 	    }
  	  return true;
  	}
        __catch(...)
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/c_global/cmath gcc-9.5.0/libstdc++-v3/include/c_global/cmath
*** gcc-9.4.0/libstdc++-v3/include/c_global/cmath	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/c_global/cmath	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1844,1850 ****
  #endif // _GLIBCXX_USE_C99_MATH_TR1
  #endif // C++11
  
! #if __cplusplus > 201402L
  
    // [c.math.hypot3], three-dimensional hypotenuse
  #define __cpp_lib_hypot 201603
--- 1844,1850 ----
  #endif // _GLIBCXX_USE_C99_MATH_TR1
  #endif // C++11
  
! #if __cplusplus >= 201703L
  
    // [c.math.hypot3], three-dimensional hypotenuse
  #define __cpp_lib_hypot 201603
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1877,1886 ****
    { return std::__hypot3<long double>(__x, __y, __z); }
  
    template<typename _Tp, typename _Up, typename _Vp>
!     typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type
      hypot(_Tp __x, _Up __y, _Vp __z)
      {
!       using __type = typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type;
        return std::__hypot3<__type>(__x, __y, __z);
      }
  #endif // C++17
--- 1877,1886 ----
    { return std::__hypot3<long double>(__x, __y, __z); }
  
    template<typename _Tp, typename _Up, typename _Vp>
!     __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>
      hypot(_Tp __x, _Up __y, _Vp __z)
      {
!       using __type = __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>;
        return std::__hypot3<__type>(__x, __y, __z);
      }
  #endif // C++17
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1918,1923 ****
--- 1918,1931 ----
    constexpr long double
    lerp(long double __a, long double __b, long double __t) noexcept
    { return std::__lerp(__a, __b, __t); }
+ 
+   template<typename _Tp, typename _Up, typename _Vp>
+     constexpr __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>
+     lerp(_Tp __x, _Up __y, _Vp __z) noexcept
+     {
+       using __type = __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>;
+       return std::__lerp<__type>(__x, __y, __z);
+     }
  #endif // C++20
  
  _GLIBCXX_END_NAMESPACE_VERSION
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/experimental/bits/fs_fwd.h gcc-9.5.0/libstdc++-v3/include/experimental/bits/fs_fwd.h
*** gcc-9.4.0/libstdc++-v3/include/experimental/bits/fs_fwd.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/experimental/bits/fs_fwd.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_END_NAMESPACE_CXX11
*** 263,269 ****
  
    bool copy_file(const path& __from, const path& __to, copy_options __option);
    bool copy_file(const path& __from, const path& __to, copy_options __option,
! 		 error_code&) noexcept;
  
    path current_path();
  
--- 263,269 ----
  
    bool copy_file(const path& __from, const path& __to, copy_options __option);
    bool copy_file(const path& __from, const path& __to, copy_options __option,
! 		 error_code&);
  
    path current_path();
  
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/experimental/bits/fs_ops.h gcc-9.5.0/libstdc++-v3/include/experimental/bits/fs_ops.h
*** gcc-9.4.0/libstdc++-v3/include/experimental/bits/fs_ops.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/experimental/bits/fs_ops.h	Fri May 27 07:21:13 2022
*************** inline namespace v1
*** 74,92 ****
    { return copy_file(__from, __to, copy_options::none); }
  
    inline bool
!   copy_file(const path& __from, const path& __to, error_code& __ec) noexcept
    { return copy_file(__from, __to, copy_options::none, __ec); }
  
    bool copy_file(const path& __from, const path& __to, copy_options __option);
    bool copy_file(const path& __from, const path& __to, copy_options __option,
! 		 error_code& __ec) noexcept;
  
    void copy_symlink(const path& __existing_symlink, const path& __new_symlink);
    void copy_symlink(const path& __existing_symlink, const path& __new_symlink,
  		    error_code& __ec) noexcept;
  
    bool create_directories(const path& __p);
!   bool create_directories(const path& __p, error_code& __ec) noexcept;
  
    bool create_directory(const path& __p);
    bool create_directory(const path& __p, error_code& __ec) noexcept;
--- 74,92 ----
    { return copy_file(__from, __to, copy_options::none); }
  
    inline bool
!   copy_file(const path& __from, const path& __to, error_code& __ec)
    { return copy_file(__from, __to, copy_options::none, __ec); }
  
    bool copy_file(const path& __from, const path& __to, copy_options __option);
    bool copy_file(const path& __from, const path& __to, copy_options __option,
! 		 error_code& __ec);
  
    void copy_symlink(const path& __existing_symlink, const path& __new_symlink);
    void copy_symlink(const path& __existing_symlink, const path& __new_symlink,
  		    error_code& __ec) noexcept;
  
    bool create_directories(const path& __p);
!   bool create_directories(const path& __p, error_code& __ec);
  
    bool create_directory(const path& __p);
    bool create_directory(const path& __p, error_code& __ec) noexcept;
*************** inline namespace v1
*** 262,268 ****
    bool remove(const path& __p, error_code& __ec) noexcept;
  
    uintmax_t remove_all(const path& __p);
!   uintmax_t remove_all(const path& __p, error_code& __ec) noexcept;
  
    void rename(const path& __from, const path& __to);
    void rename(const path& __from, const path& __to, error_code& __ec) noexcept;
--- 262,268 ----
    bool remove(const path& __p, error_code& __ec) noexcept;
  
    uintmax_t remove_all(const path& __p);
!   uintmax_t remove_all(const path& __p, error_code& __ec);
  
    void rename(const path& __from, const path& __to);
    void rename(const path& __from, const path& __to, error_code& __ec) noexcept;
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/experimental/bits/fs_path.h gcc-9.5.0/libstdc++-v3/include/experimental/bits/fs_path.h
*** gcc-9.4.0/libstdc++-v3/include/experimental/bits/fs_path.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/experimental/bits/fs_path.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 125,131 ****
  
      template<typename _Source>
        struct __constructible_from<_Source, void>
!       : decltype(__is_path_src(std::declval<_Source>(), 0))
        { };
  
      template<typename _Tp1, typename _Tp2 = void,
--- 125,131 ----
  
      template<typename _Source>
        struct __constructible_from<_Source, void>
!       : decltype(__is_path_src(std::declval<const _Source&>(), 0))
        { };
  
      template<typename _Tp1, typename _Tp2 = void,
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 398,405 ****
      class iterator;
      typedef iterator const_iterator;
  
!     iterator begin() const;
!     iterator end() const;
  
      // Create a basic_string by reading until a null character.
      template<typename _InputIterator,
--- 398,405 ----
      class iterator;
      typedef iterator const_iterator;
  
!     iterator begin() const noexcept;
!     iterator end() const noexcept;
  
      // Create a basic_string by reading until a null character.
      template<typename _InputIterator,
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/ext/bitmap_allocator.h gcc-9.5.0/libstdc++-v3/include/ext/bitmap_allocator.h
*** gcc-9.4.0/libstdc++-v3/include/ext/bitmap_allocator.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/ext/bitmap_allocator.h	Fri May 27 07:21:13 2022
***************
*** 31,37 ****
  
  #include <utility> // For std::pair.
  #include <bits/functexcept.h> // For __throw_bad_alloc().
! #include <functional> // For greater_equal, and less_equal.
  #include <new> // For operator new.
  #include <debug/debug.h> // _GLIBCXX_DEBUG_ASSERT
  #include <ext/concurrence.h>
--- 31,37 ----
  
  #include <utility> // For std::pair.
  #include <bits/functexcept.h> // For __throw_bad_alloc().
! #include <bits/stl_function.h> // For greater_equal, and less_equal.
  #include <new> // For operator new.
  #include <debug/debug.h> // _GLIBCXX_DEBUG_ASSERT
  #include <ext/concurrence.h>
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/ext/rope gcc-9.5.0/libstdc++-v3/include/ext/rope
*** gcc-9.4.0/libstdc++-v3/include/ext/rope	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/ext/rope	Fri May 27 07:21:13 2022
*************** protected:
*** 2383,2389 ****
        }
  
        // Erase, single character
!       void
        erase(size_t __p)
        { erase(__p, __p + 1); }
  
--- 2383,2389 ----
        }
  
        // Erase, single character
!       _GLIBCXX_DEPRECATED void
        erase(size_t __p)
        { erase(__p, __p + 1); }
  
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/ext/type_traits.h gcc-9.5.0/libstdc++-v3/include/ext/type_traits.h
*** gcc-9.4.0/libstdc++-v3/include/ext/type_traits.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/ext/type_traits.h	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 163,169 ****
    { return true; }
  #endif
  
!   // For complex and cmath
    template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
      struct __promote
      { typedef double __type; };
--- 163,170 ----
    { return true; }
  #endif
  
!   // For arithmetic promotions in <complex> and <cmath>
! 
    template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
      struct __promote
      { typedef double __type; };
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 187,192 ****
--- 188,198 ----
      struct __promote<float>
      { typedef float __type; };
  
+ #if __cpp_fold_expressions
+   template<typename... _Tp>
+     using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...));
+ #endif
+ 
    template<typename _Tp, typename _Up,
             typename _Tp2 = typename __promote<_Tp>::__type,
             typename _Up2 = typename __promote<_Up>::__type>
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/std/any gcc-9.5.0/libstdc++-v3/include/std/any
*** gcc-9.4.0/libstdc++-v3/include/std/any	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/std/any	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 105,112 ****
  				     _Manager_internal<_Tp>,
  				     _Manager_external<_Tp>>;
  
!     template<typename _Tp, typename _Decayed = decay_t<_Tp>>
!       using _Decay = enable_if_t<!is_same<_Decayed, any>::value, _Decayed>;
  
      /// Emplace with an object created from @p __args as the contained object.
      template <typename _Tp, typename... _Args,
--- 105,112 ----
  				     _Manager_internal<_Tp>,
  				     _Manager_external<_Tp>>;
  
!     template<typename _Tp, typename _VTp = decay_t<_Tp>>
!       using _Decay_if_not_any = enable_if_t<!is_same_v<_VTp, any>, _VTp>;
  
      /// Emplace with an object created from @p __args as the contained object.
      template <typename _Tp, typename... _Args,
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 125,134 ****
        void __do_emplace(initializer_list<_Up> __il, _Args&&... __args)
        {
  	reset();
!         _Mgr::_S_create(_M_storage, __il, std::forward<_Args>(__args)...);
  	_M_manager = &_Mgr::_S_manage;
        }
  
    public:
      // construct/destruct
  
--- 125,148 ----
        void __do_emplace(initializer_list<_Up> __il, _Args&&... __args)
        {
  	reset();
! 	_Mgr::_S_create(_M_storage, __il, std::forward<_Args>(__args)...);
  	_M_manager = &_Mgr::_S_manage;
        }
  
+     template <typename _Res, typename _Tp, typename... _Args>
+       using __any_constructible
+ 	= enable_if<__and_<is_copy_constructible<_Tp>,
+ 			   is_constructible<_Tp, _Args...>>::value,
+ 		    _Res>;
+ 
+     template <typename _Tp, typename... _Args>
+       using __any_constructible_t
+ 	= typename __any_constructible<bool, _Tp, _Args...>::type;
+ 
+     template<typename _VTp, typename... _Args>
+       using __emplace_t
+ 	= typename __any_constructible<_VTp&, _VTp, _Args...>::type;
+ 
    public:
      // construct/destruct
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 165,229 ****
  	}
      }
  
-     template <typename _Res, typename _Tp, typename... _Args>
-     using __any_constructible =
-       enable_if<__and_<is_copy_constructible<_Tp>,
- 			 is_constructible<_Tp, _Args...>>::value,
- 		  _Res>;
- 
-     template <typename _Tp, typename... _Args>
-     using __any_constructible_t =
-       typename __any_constructible<bool, _Tp, _Args...>::type;
- 
      /// Construct with a copy of @p __value as the contained object.
!     template <typename _ValueType, typename _Tp = _Decay<_ValueType>,
! 	      typename _Mgr = _Manager<_Tp>,
!               __any_constructible_t<_Tp, _ValueType&&> = true,
! 	      enable_if_t<!__is_in_place_type<_Tp>::value, bool> = true>
!       any(_ValueType&& __value)
!       : _M_manager(&_Mgr::_S_manage)
!       {
!         _Mgr::_S_create(_M_storage, std::forward<_ValueType>(__value));
!       }
! 
!     /// Construct with a copy of @p __value as the contained object.
!     template <typename _ValueType, typename _Tp = _Decay<_ValueType>,
! 	      typename _Mgr = _Manager<_Tp>,
!               enable_if_t<__and_v<is_copy_constructible<_Tp>,
! 				  __not_<is_constructible<_Tp, _ValueType&&>>,
! 				  __not_<__is_in_place_type<_Tp>>>,
! 			  bool> = false>
!       any(_ValueType&& __value)
        : _M_manager(&_Mgr::_S_manage)
        {
!         _Mgr::_S_create(_M_storage, __value);
        }
  
      /// Construct with an object created from @p __args as the contained object.
!     template <typename _ValueType, typename... _Args,
! 	      typename _Tp = _Decay<_ValueType>,
! 	      typename _Mgr = _Manager<_Tp>,
!               __any_constructible_t<_Tp, _Args&&...> = false>
        explicit
!       any(in_place_type_t<_ValueType>, _Args&&... __args)
        : _M_manager(&_Mgr::_S_manage)
        {
!         _Mgr::_S_create(_M_storage, std::forward<_Args>(__args)...);
        }
  
      /// Construct with an object created from @p __il and @p __args as
      /// the contained object.
!     template <typename _ValueType, typename _Up, typename... _Args,
! 	      typename _Tp = _Decay<_ValueType>,
! 	      typename _Mgr = _Manager<_Tp>,
!               __any_constructible_t<_Tp, initializer_list<_Up>,
  				    _Args&&...> = false>
        explicit
!       any(in_place_type_t<_ValueType>,
! 	  initializer_list<_Up> __il, _Args&&... __args)
        : _M_manager(&_Mgr::_S_manage)
        {
!         _Mgr::_S_create(_M_storage, __il, std::forward<_Args>(__args)...);
        }
  
      /// Destructor, calls @c reset()
--- 179,217 ----
  	}
      }
  
      /// Construct with a copy of @p __value as the contained object.
!     template <typename _Tp, typename _VTp = _Decay_if_not_any<_Tp>,
! 	      typename _Mgr = _Manager<_VTp>,
! 	      enable_if_t<is_copy_constructible<_VTp>::value
! 			  && !__is_in_place_type<_VTp>::value, bool> = true>
!       any(_Tp&& __value)
        : _M_manager(&_Mgr::_S_manage)
        {
! 	_Mgr::_S_create(_M_storage, std::forward<_Tp>(__value));
        }
  
      /// Construct with an object created from @p __args as the contained object.
!     template <typename _Tp, typename... _Args, typename _VTp = decay_t<_Tp>,
! 	      typename _Mgr = _Manager<_VTp>,
! 	      __any_constructible_t<_VTp, _Args&&...> = false>
        explicit
!       any(in_place_type_t<_Tp>, _Args&&... __args)
        : _M_manager(&_Mgr::_S_manage)
        {
! 	_Mgr::_S_create(_M_storage, std::forward<_Args>(__args)...);
        }
  
      /// Construct with an object created from @p __il and @p __args as
      /// the contained object.
!     template <typename _Tp, typename _Up, typename... _Args,
! 	      typename _VTp = decay_t<_Tp>, typename _Mgr = _Manager<_VTp>,
! 	      __any_constructible_t<_VTp, initializer_list<_Up>&,
  				    _Args&&...> = false>
        explicit
!       any(in_place_type_t<_Tp>, initializer_list<_Up> __il, _Args&&... __args)
        : _M_manager(&_Mgr::_S_manage)
        {
! 	_Mgr::_S_create(_M_storage, __il, std::forward<_Args>(__args)...);
        }
  
      /// Destructor, calls @c reset()
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 232,238 ****
      // assignments
  
      /// Copy the state of another object.
!     any& operator=(const any& __rhs)
      {
        *this = any(__rhs);
        return *this;
--- 220,227 ----
      // assignments
  
      /// Copy the state of another object.
!     any&
!     operator=(const any& __rhs)
      {
        *this = any(__rhs);
        return *this;
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 243,249 ****
       *
       * @post @c !__rhs.has_value() (not guaranteed for other implementations)
       */
!     any& operator=(any&& __rhs) noexcept
      {
        if (!__rhs.has_value())
  	reset();
--- 232,239 ----
       *
       * @post @c !__rhs.has_value() (not guaranteed for other implementations)
       */
!     any&
!     operator=(any&& __rhs) noexcept
      {
        if (!__rhs.has_value())
  	reset();
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 258,297 ****
      }
  
      /// Store a copy of @p __rhs as the contained object.
!     template<typename _ValueType>
!       enable_if_t<is_copy_constructible<_Decay<_ValueType>>::value, any&>
!       operator=(_ValueType&& __rhs)
        {
! 	*this = any(std::forward<_ValueType>(__rhs));
  	return *this;
        }
  
      /// Emplace with an object created from @p __args as the contained object.
!     template <typename _ValueType, typename... _Args>
!       typename __any_constructible<_Decay<_ValueType>&,
! 				   _Decay<_ValueType>, _Args&&...>::type
        emplace(_Args&&... __args)
        {
! 	__do_emplace<_Decay<_ValueType>>(std::forward<_Args>(__args)...);
  	any::_Arg __arg;
  	this->_M_manager(any::_Op_access, this, &__arg);
! 	return *static_cast<_Decay<_ValueType>*>(__arg._M_obj);
        }
  
      /// Emplace with an object created from @p __il and @p __args as
      /// the contained object.
!     template <typename _ValueType, typename _Up, typename... _Args>
!       typename __any_constructible<_Decay<_ValueType>&,
! 				   _Decay<_ValueType>,
! 				   initializer_list<_Up>,
! 				   _Args&&...>::type
        emplace(initializer_list<_Up> __il, _Args&&... __args)
        {
! 	__do_emplace<_Decay<_ValueType>, _Up>(__il,
! 					      std::forward<_Args>(__args)...);
  	any::_Arg __arg;
  	this->_M_manager(any::_Op_access, this, &__arg);
! 	return *static_cast<_Decay<_ValueType>*>(__arg._M_obj);
        }
  
      // modifiers
--- 248,284 ----
      }
  
      /// Store a copy of @p __rhs as the contained object.
!     template<typename _Tp>
!       enable_if_t<is_copy_constructible<_Decay_if_not_any<_Tp>>::value, any&>
!       operator=(_Tp&& __rhs)
        {
! 	*this = any(std::forward<_Tp>(__rhs));
  	return *this;
        }
  
      /// Emplace with an object created from @p __args as the contained object.
!     template <typename _Tp, typename... _Args>
!       __emplace_t<decay_t<_Tp>, _Args...>
        emplace(_Args&&... __args)
        {
! 	using _VTp = decay_t<_Tp>;
! 	__do_emplace<_VTp>(std::forward<_Args>(__args)...);
  	any::_Arg __arg;
  	this->_M_manager(any::_Op_access, this, &__arg);
! 	return *static_cast<_VTp*>(__arg._M_obj);
        }
  
      /// Emplace with an object created from @p __il and @p __args as
      /// the contained object.
!     template <typename _Tp, typename _Up, typename... _Args>
!       __emplace_t<decay_t<_Tp>, initializer_list<_Up>&, _Args&&...>
        emplace(initializer_list<_Up> __il, _Args&&... __args)
        {
! 	using _VTp = decay_t<_Tp>;
! 	__do_emplace<_VTp, _Up>(__il, std::forward<_Args>(__args)...);
  	any::_Arg __arg;
  	this->_M_manager(any::_Op_access, this, &__arg);
! 	return *static_cast<_VTp*>(__arg._M_obj);
        }
  
      // modifiers
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/std/numeric gcc-9.5.0/libstdc++-v3/include/std/numeric
*** gcc-9.4.0/libstdc++-v3/include/std/numeric	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/std/numeric	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 261,269 ****
      reduce(_InputIterator __first, _InputIterator __last, _Tp __init,
  	   _BinaryOperation __binary_op)
      {
!       using value_type = typename iterator_traits<_InputIterator>::value_type;
        static_assert(is_invocable_r_v<_Tp, _BinaryOperation&, _Tp&, _Tp&>);
!       static_assert(is_convertible_v<value_type, _Tp>);
        if constexpr (__is_random_access_iter<_InputIterator>::value)
  	{
  	  while ((__last - __first) >= 4)
--- 261,271 ----
      reduce(_InputIterator __first, _InputIterator __last, _Tp __init,
  	   _BinaryOperation __binary_op)
      {
!       using __ref = typename iterator_traits<_InputIterator>::reference;
!       static_assert(is_invocable_r_v<_Tp, _BinaryOperation&, _Tp&, __ref>);
!       static_assert(is_invocable_r_v<_Tp, _BinaryOperation&, __ref, _Tp&>);
        static_assert(is_invocable_r_v<_Tp, _BinaryOperation&, _Tp&, _Tp&>);
!       static_assert(is_invocable_r_v<_Tp, _BinaryOperation&, __ref, __ref>);
        if constexpr (__is_random_access_iter<_InputIterator>::value)
  	{
  	  while ((__last - __first) >= 4)
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/std/optional gcc-9.5.0/libstdc++-v3/include/std/optional
*** gcc-9.4.0/libstdc++-v3/include/std/optional	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/std/optional	Fri May 27 07:21:13 2022
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 796,802 ****
        template<typename _Up>
  	enable_if_t<__and_v<__not_<is_same<_Tp, _Up>>,
  			    is_constructible<_Tp, const _Up&>,
! 			    is_assignable<_Tp&, _Up>,
  			    __not_<__converts_from_optional<_Tp, _Up>>,
  			    __not_<__assigns_from_optional<_Tp, _Up>>>,
  		    optional&>
--- 796,802 ----
        template<typename _Up>
  	enable_if_t<__and_v<__not_<is_same<_Tp, _Up>>,
  			    is_constructible<_Tp, const _Up&>,
! 			    is_assignable<_Tp&, const _Up&>,
  			    __not_<__converts_from_optional<_Tp, _Up>>,
  			    __not_<__assigns_from_optional<_Tp, _Up>>>,
  		    optional&>
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/std/valarray gcc-9.5.0/libstdc++-v3/include/std/valarray
*** gcc-9.4.0/libstdc++-v3/include/std/valarray	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/std/valarray	Fri May 27 07:21:13 2022
*************** _DEFINE_BINARY_OPERATOR(>=, __greater_eq
*** 1211,1218 ****
     */
    template<class _Tp>
      inline _Tp*
!     begin(valarray<_Tp>& __va)
!     { return std::__addressof(__va[0]); }
  
    /**
     *  @brief  Return an iterator pointing to the first element of
--- 1211,1218 ----
     */
    template<class _Tp>
      inline _Tp*
!     begin(valarray<_Tp>& __va) noexcept
!     { return __va.size() ? std::__addressof(__va[0]) : nullptr; }
  
    /**
     *  @brief  Return an iterator pointing to the first element of
*************** _DEFINE_BINARY_OPERATOR(>=, __greater_eq
*** 1221,1228 ****
     */
    template<class _Tp>
      inline const _Tp*
!     begin(const valarray<_Tp>& __va)
!     { return std::__addressof(__va[0]); }
  
    /**
     *  @brief  Return an iterator pointing to one past the last element of
--- 1221,1228 ----
     */
    template<class _Tp>
      inline const _Tp*
!     begin(const valarray<_Tp>& __va) noexcept
!     { return __va.size() ? std::__addressof(__va[0]) : nullptr; }
  
    /**
     *  @brief  Return an iterator pointing to one past the last element of
*************** _DEFINE_BINARY_OPERATOR(>=, __greater_eq
*** 1231,1238 ****
     */
    template<class _Tp>
      inline _Tp*
!     end(valarray<_Tp>& __va)
!     { return std::__addressof(__va[0]) + __va.size(); }
  
    /**
     *  @brief  Return an iterator pointing to one past the last element of
--- 1231,1243 ----
     */
    template<class _Tp>
      inline _Tp*
!     end(valarray<_Tp>& __va) noexcept
!     {
!       if (auto __n = __va.size())
! 	return std::__addressof(__va[0]) + __n;
!       else
! 	return nullptr;
!     }
  
    /**
     *  @brief  Return an iterator pointing to one past the last element of
*************** _DEFINE_BINARY_OPERATOR(>=, __greater_eq
*** 1241,1248 ****
     */
    template<class _Tp>
      inline const _Tp*
!     end(const valarray<_Tp>& __va)
!     { return std::__addressof(__va[0]) + __va.size(); }
  #endif // C++11
  
    /// @} group numeric_arrays
--- 1246,1258 ----
     */
    template<class _Tp>
      inline const _Tp*
!     end(const valarray<_Tp>& __va) noexcept
!     {
!       if (auto __n = __va.size())
! 	return std::__addressof(__va[0]) + __n;
!       else
! 	return nullptr;
!     }
  #endif // C++11
  
    /// @} group numeric_arrays
diff -Nrcpad gcc-9.4.0/libstdc++-v3/include/std/variant gcc-9.5.0/libstdc++-v3/include/std/variant
*** gcc-9.4.0/libstdc++-v3/include/std/variant	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/include/std/variant	Fri May 27 07:21:13 2022
*************** namespace __variant
*** 1039,1044 ****
--- 1039,1052 ----
  			      std::index_sequence<__indices...>>
      : _Base_dedup<__indices, __poison_hash<remove_const_t<_Types>>>... { };
  
+   template<size_t _Np, typename _Variant>
+     using __get_t = decltype(std::get<_Np>(std::declval<_Variant>()));
+ 
+   // Return type of std::visit.
+   template<typename _Visitor, typename... _Variants>
+     using __visit_result_t
+       = invoke_result_t<_Visitor, __get_t<0, _Variants>...>;
+ 
  } // namespace __variant
  } // namespace __detail
  
*************** namespace __variant
*** 1191,1197 ****
  #undef _VARIANT_RELATION_FUNCTION_TEMPLATE
  
    template<typename _Visitor, typename... _Variants>
!     constexpr decltype(auto) visit(_Visitor&&, _Variants&&...);
  
    template<typename... _Types>
      inline enable_if_t<(is_move_constructible_v<_Types> && ...)
--- 1199,1206 ----
  #undef _VARIANT_RELATION_FUNCTION_TEMPLATE
  
    template<typename _Visitor, typename... _Variants>
!     constexpr __detail::__variant::__visit_result_t<_Visitor, _Variants...>
!     visit(_Visitor&&, _Variants&&...);
  
    template<typename... _Types>
      inline enable_if_t<(is_move_constructible_v<_Types> && ...)
*************** namespace __variant
*** 1638,1644 ****
      __do_visit(_Visitor&& __visitor, _Variants&&... __variants)
      {
        using _Deduced_type = std::invoke_result<_Visitor,
! 	decltype(std::get<0>(std::declval<_Variants>()))...>;
  
        using _Result_type = typename std::conditional_t<__use_index,
  	__detail::__variant::__variant_idx_cookie,
--- 1647,1653 ----
      __do_visit(_Visitor&& __visitor, _Variants&&... __variants)
      {
        using _Deduced_type = std::invoke_result<_Visitor,
! 	__detail::__variant::__get_t<0, _Variants>...>;
  
        using _Result_type = typename std::conditional_t<__use_index,
  	__detail::__variant::__variant_idx_cookie,
*************** namespace __variant
*** 1654,1667 ****
      }
  
    template<typename _Visitor, typename... _Variants>
!     constexpr decltype(auto)
      visit(_Visitor&& __visitor, _Variants&&... __variants)
      {
        if ((__variants.valueless_by_exception() || ...))
  	__throw_bad_variant_access("Unexpected index");
  
!       return __do_visit(std::forward<_Visitor>(__visitor),
! 			std::forward<_Variants>(__variants)...);
      }
  
  #if __cplusplus > 201703L
--- 1663,1676 ----
      }
  
    template<typename _Visitor, typename... _Variants>
!     constexpr __detail::__variant::__visit_result_t<_Visitor, _Variants...>
      visit(_Visitor&& __visitor, _Variants&&... __variants)
      {
        if ((__variants.valueless_by_exception() || ...))
  	__throw_bad_variant_access("Unexpected index");
  
!       return std::__do_visit(std::forward<_Visitor>(__visitor),
! 			     std::forward<_Variants>(__variants)...);
      }
  
  #if __cplusplus > 201703L
diff -Nrcpad gcc-9.4.0/libstdc++-v3/libsupc++/Makefile.am gcc-9.5.0/libstdc++-v3/libsupc++/Makefile.am
*** gcc-9.4.0/libstdc++-v3/libsupc++/Makefile.am	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/libsupc++/Makefile.am	Fri May 27 07:21:13 2022
*************** sources = \
*** 48,53 ****
--- 48,54 ----
  	array_type_info.cc \
  	atexit_arm.cc \
  	atexit_thread.cc \
+ 	atomicity.cc \
  	bad_alloc.cc \
  	bad_array_length.cc \
  	bad_array_new.cc \
*************** cp-demangle.lo: cp-demangle.c
*** 127,132 ****
--- 128,136 ----
  cp-demangle.o: cp-demangle.c
  	$(C_COMPILE) -DIN_GLIBCPP_V3 -Wno-error -c $<
  
+ atomicity_file = ${glibcxx_srcdir}/$(ATOMICITY_SRCDIR)/atomicity.h
+ atomicity.cc: ${atomicity_file}
+ 	$(LN_S) ${atomicity_file} ./atomicity.cc || true
  
  # Use special rules for the C++17 sources so that the proper flags are passed.
  new_opa.lo: new_opa.cc
diff -Nrcpad gcc-9.4.0/libstdc++-v3/libsupc++/Makefile.in gcc-9.5.0/libstdc++-v3/libsupc++/Makefile.in
*** gcc-9.4.0/libstdc++-v3/libsupc++/Makefile.in	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/libsupc++/Makefile.in	Fri May 27 07:21:13 2022
*************** am__installdirs = "$(DESTDIR)$(toolexecl
*** 152,164 ****
  LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
  libsupc___la_LIBADD =
  am__objects_1 = array_type_info.lo atexit_arm.lo atexit_thread.lo \
! 	bad_alloc.lo bad_array_length.lo bad_array_new.lo bad_cast.lo \
! 	bad_typeid.lo class_type_info.lo del_op.lo del_ops.lo \
! 	del_opnt.lo del_opv.lo del_opvs.lo del_opvnt.lo dyncast.lo \
! 	eh_alloc.lo eh_arm.lo eh_aux_runtime.lo eh_call.lo eh_catch.lo \
! 	eh_exception.lo eh_globals.lo eh_personality.lo eh_ptr.lo \
! 	eh_term_handler.lo eh_terminate.lo eh_tm.lo eh_throw.lo \
! 	eh_type.lo eh_unex_handler.lo enum_type_info.lo \
  	function_type_info.lo fundamental_type_info.lo guard.lo \
  	guard_error.lo hash_bytes.lo nested_exception.lo \
  	new_handler.lo new_op.lo new_opnt.lo new_opv.lo new_opvnt.lo \
--- 152,164 ----
  LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
  libsupc___la_LIBADD =
  am__objects_1 = array_type_info.lo atexit_arm.lo atexit_thread.lo \
! 	atomicity.lo bad_alloc.lo bad_array_length.lo bad_array_new.lo \
! 	bad_cast.lo bad_typeid.lo class_type_info.lo del_op.lo \
! 	del_ops.lo del_opnt.lo del_opv.lo del_opvs.lo del_opvnt.lo \
! 	dyncast.lo eh_alloc.lo eh_arm.lo eh_aux_runtime.lo eh_call.lo \
! 	eh_catch.lo eh_exception.lo eh_globals.lo eh_personality.lo \
! 	eh_ptr.lo eh_term_handler.lo eh_terminate.lo eh_tm.lo \
! 	eh_throw.lo eh_type.lo eh_unex_handler.lo enum_type_info.lo \
  	function_type_info.lo fundamental_type_info.lo guard.lo \
  	guard_error.lo hash_bytes.lo nested_exception.lo \
  	new_handler.lo new_op.lo new_opnt.lo new_opv.lo new_opvnt.lo \
*************** sources = \
*** 497,502 ****
--- 497,503 ----
  	array_type_info.cc \
  	atexit_arm.cc \
  	atexit_thread.cc \
+ 	atomicity.cc \
  	bad_alloc.cc \
  	bad_array_length.cc \
  	bad_array_new.cc \
*************** sources = \
*** 563,568 ****
--- 564,570 ----
  
  libsupc___la_SOURCES = $(sources) $(c_sources) $(vtv_sources)
  libsupc__convenience_la_SOURCES = $(sources) $(c_sources) $(vtv_sources)
+ atomicity_file = ${glibcxx_srcdir}/$(ATOMICITY_SRCDIR)/atomicity.h
  
  # AM_CXXFLAGS needs to be in each subdirectory so that it can be
  # modified in a per-library or per-sub-library way.  Need to manually
*************** cp-demangle.lo: cp-demangle.c
*** 954,959 ****
--- 956,963 ----
  	$(LTCOMPILE) -DIN_GLIBCPP_V3 -Wno-error -c $<
  cp-demangle.o: cp-demangle.c
  	$(C_COMPILE) -DIN_GLIBCPP_V3 -Wno-error -c $<
+ atomicity.cc: ${atomicity_file}
+ 	$(LN_S) ${atomicity_file} ./atomicity.cc || true
  
  # Use special rules for the C++17 sources so that the proper flags are passed.
  new_opa.lo: new_opa.cc
diff -Nrcpad gcc-9.4.0/libstdc++-v3/libsupc++/exception_ptr.h gcc-9.5.0/libstdc++-v3/libsupc++/exception_ptr.h
*** gcc-9.4.0/libstdc++-v3/libsupc++/exception_ptr.h	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/libsupc++/exception_ptr.h	Fri May 27 07:21:13 2022
***************
*** 39,44 ****
--- 39,48 ----
  #include <typeinfo>
  #include <new>
  
+ #if __cplusplus >= 201103L
+ # include <bits/move.h>
+ #endif
+ 
  extern "C++" {
  
  namespace std 
*************** namespace std
*** 178,191 ****
      exception_ptr 
      make_exception_ptr(_Ex __ex) _GLIBCXX_USE_NOEXCEPT
      {
! #if __cpp_exceptions && __cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI
        void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex));
        (void) __cxxabiv1::__cxa_init_primary_exception(
! 	  __e, const_cast<std::type_info*>(&typeid(__ex)),
! 	  __exception_ptr::__dest_thunk<_Ex>);
        try
  	{
!           ::new (__e) _Ex(__ex);
            return exception_ptr(__e);
  	}
        catch(...)
--- 182,197 ----
      exception_ptr 
      make_exception_ptr(_Ex __ex) _GLIBCXX_USE_NOEXCEPT
      {
! #if __cpp_exceptions && __cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI \
!       && __cplusplus >= 201103L
!       using _Ex2 = typename remove_reference<_Ex>::type;
        void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex));
        (void) __cxxabiv1::__cxa_init_primary_exception(
! 	  __e, const_cast<std::type_info*>(&typeid(_Ex)),
! 	  __exception_ptr::__dest_thunk<_Ex2>);
        try
  	{
! 	  ::new (__e) _Ex2(std::forward<_Ex>(__ex));
            return exception_ptr(__e);
  	}
        catch(...)
diff -Nrcpad gcc-9.4.0/libstdc++-v3/python/Makefile.am gcc-9.5.0/libstdc++-v3/python/Makefile.am
*** gcc-9.4.0/libstdc++-v3/python/Makefile.am	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/python/Makefile.am	Fri May 27 07:21:13 2022
*************** else
*** 29,34 ****
--- 29,40 ----
  pythondir = $(datadir)/gcc-$(gcc_version)/python
  endif
  
+ if GLIBCXX_BUILD_DEBUG
+ debug_gdb_py = YES
+ else
+ debug_gdb_py =
+ endif
+ 
  all-local: gdb.py
  
  nobase_python_DATA = \
*************** install-data-local: gdb.py
*** 61,64 ****
  	  done; \
  	cd $$here; \
  	echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
! 	$(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py
--- 67,74 ----
  	  done; \
  	cd $$here; \
  	echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
! 	$(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py ; \
! 	if [ -n "$(debug_gdb_py)" ]; then \
! 	  sed "/^libdir = /s;'$$;/debug';" gdb.py > debug-gdb.py ; \
! 	  $(INSTALL_DATA) debug-gdb.py $(DESTDIR)$(toolexeclibdir)/debug/$$libname-gdb.py ; \
! 	fi
diff -Nrcpad gcc-9.4.0/libstdc++-v3/python/Makefile.in gcc-9.5.0/libstdc++-v3/python/Makefile.in
*** gcc-9.4.0/libstdc++-v3/python/Makefile.in	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/python/Makefile.in	Fri May 27 07:21:13 2022
*************** WARN_CXXFLAGS = \
*** 397,402 ****
--- 397,404 ----
  AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
  @ENABLE_PYTHONDIR_FALSE@pythondir = $(datadir)/gcc-$(gcc_version)/python
  @ENABLE_PYTHONDIR_TRUE@pythondir = $(prefix)/$(python_mod_dir)
+ @GLIBCXX_BUILD_DEBUG_FALSE@debug_gdb_py = 
+ @GLIBCXX_BUILD_DEBUG_TRUE@debug_gdb_py = YES
  nobase_python_DATA = \
      libstdcxx/v6/printers.py \
      libstdcxx/v6/xmethods.py \
*************** install-data-local: gdb.py
*** 614,620 ****
  	  done; \
  	cd $$here; \
  	echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
! 	$(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py
  
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
  # Otherwise a system limit (for SysV at least) may be exceeded.
--- 616,626 ----
  	  done; \
  	cd $$here; \
  	echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
! 	$(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py ; \
! 	if [ -n "$(debug_gdb_py)" ]; then \
! 	  sed "/^libdir = /s;'$$;/debug';" gdb.py > debug-gdb.py ; \
! 	  $(INSTALL_DATA) debug-gdb.py $(DESTDIR)$(toolexeclibdir)/debug/$$libname-gdb.py ; \
! 	fi
  
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
  # Otherwise a system limit (for SysV at least) may be exceeded.
diff -Nrcpad gcc-9.4.0/libstdc++-v3/python/libstdcxx/v6/printers.py gcc-9.5.0/libstdc++-v3/python/libstdcxx/v6/printers.py
*** gcc-9.4.0/libstdc++-v3/python/libstdcxx/v6/printers.py	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/python/libstdcxx/v6/printers.py	Fri May 27 07:21:13 2022
***************
*** 18,24 ****
  import gdb
  import itertools
  import re
! import sys
  
  ### Python 2 + Python 3 compatibility code
  
--- 18,24 ----
  import gdb
  import itertools
  import re
! import sys, os, errno
  
  ### Python 2 + Python 3 compatibility code
  
*************** except ImportError:
*** 85,92 ****
  def find_type(orig, name):
      typ = orig.strip_typedefs()
      while True:
!         # Strip cv-qualifiers.  PR 67440.
!         search = '%s::%s' % (typ.unqualified(), name)
          try:
              return gdb.lookup_type(search)
          except RuntimeError:
--- 85,92 ----
  def find_type(orig, name):
      typ = orig.strip_typedefs()
      while True:
!         # Use Type.tag to ignore cv-qualifiers.  PR 67440.
!         search = '%s::%s' % (typ.tag, name)
          try:
              return gdb.lookup_type(search)
          except RuntimeError:
*************** class StdPairPrinter:
*** 1449,1454 ****
--- 1449,1493 ----
          return None
  
  
+ class StdErrorCodePrinter:
+     "Print a std::error_code or std::error_condition"
+ 
+     _errno_categories = None # List of categories that use errno values
+ 
+     def __init__ (self, typename, val):
+         self.val = val
+         self.typename = typename
+         # Do this only once ...
+         if StdErrorCodePrinter._errno_categories is None:
+             StdErrorCodePrinter._errno_categories = ['generic']
+             try:
+                 import posix
+                 StdErrorCodePrinter._errno_categories.append('system')
+             except ImportError:
+                 pass
+ 
+     @staticmethod
+     def _category_name(cat):
+         "Call the virtual function that overrides std::error_category::name()"
+         gdb.set_convenience_variable('__cat', cat)
+         return gdb.parse_and_eval('$__cat->name()').string()
+ 
+     def to_string (self):
+         value = self.val['_M_value']
+         category = self._category_name(self.val['_M_cat'])
+         strval = str(value)
+         if value == 0:
+             default_cats = {'error_code':'system', 'error_condition':'generic'}
+             unqualified = self.typename.split('::')[-1]
+             if category == default_cats[unqualified]:
+                 return self.typename + ' = { }' # default-constructed value
+         if value > 0 and category in StdErrorCodePrinter._errno_categories:
+             try:
+                 strval = errno.errorcode[int(value)]
+             except:
+                 pass
+         return '%s = {"%s": %s}' % (self.typename, category, strval)
+ 
  # A "regular expression" printer which conforms to the
  # "SubPrettyPrinter" protocol from gdb.printing.
  class RxPrinter(object):
*************** def build_libstdcxx_dictionary ():
*** 1846,1851 ****
--- 1885,1892 ----
      libstdcxx_printer.add_version('std::__cxx11::', 'basic_string', StdStringPrinter)
      libstdcxx_printer.add_container('std::', 'bitset', StdBitsetPrinter)
      libstdcxx_printer.add_container('std::', 'deque', StdDequePrinter)
+     libstdcxx_printer.add_version('std::', 'error_code', StdErrorCodePrinter)
+     libstdcxx_printer.add_version('std::', 'error_condition', StdErrorCodePrinter)
      libstdcxx_printer.add_container('std::', 'list', StdListPrinter)
      libstdcxx_printer.add_container('std::__cxx11::', 'list', StdListPrinter)
      libstdcxx_printer.add_container('std::', 'map', StdMapPrinter)
diff -Nrcpad gcc-9.4.0/libstdc++-v3/src/c++11/system_error.cc gcc-9.5.0/libstdc++-v3/src/c++11/system_error.cc
*** gcc-9.4.0/libstdc++-v3/src/c++11/system_error.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/src/c++11/system_error.cc	Fri May 27 07:21:13 2022
*************** namespace
*** 70,75 ****
--- 70,77 ----
      virtual std::error_condition
      default_error_condition(int ev) const noexcept
      {
+       // Use generic category for all known POSIX errno values (including zero)
+       // and system category otherwise.
        switch (ev)
        {
        // List of errno macros from [cerrno.syn].
*************** namespace
*** 309,314 ****
--- 311,317 ----
  #ifdef EXDEV
        case EXDEV:
  #endif
+       case 0:
          return std::error_condition(ev, std::generic_category());
  
        /* Additional system-dependent mappings from non-standard error codes
diff -Nrcpad gcc-9.4.0/libstdc++-v3/src/c++17/fs_ops.cc gcc-9.5.0/libstdc++-v3/src/c++17/fs_ops.cc
*** gcc-9.4.0/libstdc++-v3/src/c++17/fs_ops.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/src/c++17/fs_ops.cc	Fri May 27 07:21:13 2022
*************** fs::create_directories(const path& p, er
*** 496,502 ****
        return false;
      }
  
!   file_status st = symlink_status(p, ec);
    if (is_directory(st))
      return false;
    else if (ec && !status_known(st))
--- 496,502 ----
        return false;
      }
  
!   file_status st = status(p, ec);
    if (is_directory(st))
      return false;
    else if (ec && !status_known(st))
*************** namespace
*** 577,584 ****
    {
      bool created = false;
  #ifdef _GLIBCXX_HAVE_SYS_STAT_H
!     posix::mode_t mode
!       = static_cast<std::underlying_type_t<fs::perms>>(perm);
      if (posix::mkdir(p.c_str(), mode))
        {
  	const int err = errno;
--- 577,583 ----
    {
      bool created = false;
  #ifdef _GLIBCXX_HAVE_SYS_STAT_H
!     posix::mode_t mode = static_cast<std::underlying_type_t<fs::perms>>(perm);
      if (posix::mkdir(p.c_str(), mode))
        {
  	const int err = errno;
*************** fs::status(const fs::path& p, error_code
*** 1404,1410 ****
    auto str = p.c_str();
  
  #if _GLIBCXX_FILESYSTEM_IS_WINDOWS
- #if ! defined __MINGW64_VERSION_MAJOR || __MINGW64_VERSION_MAJOR < 6
    // stat() fails if there's a trailing slash (PR 88881)
    path p2;
    if (p.has_relative_path() && !p.has_filename())
--- 1403,1408 ----
*************** fs::status(const fs::path& p, error_code
*** 1422,1428 ****
        str = p2.c_str();
      }
  #endif
- #endif
  
    stat_type st;
    if (posix::stat(str, &st))
--- 1420,1425 ----
*************** fs::symlink_status(const fs::path& p, st
*** 1451,1457 ****
    auto str = p.c_str();
  
  #if _GLIBCXX_FILESYSTEM_IS_WINDOWS
- #if ! defined __MINGW64_VERSION_MAJOR || __MINGW64_VERSION_MAJOR < 6
    // stat() fails if there's a trailing slash (PR 88881)
    path p2;
    if (p.has_relative_path() && !p.has_filename())
--- 1448,1453 ----
*************** fs::symlink_status(const fs::path& p, st
*** 1469,1475 ****
        str = p2.c_str();
      }
  #endif
- #endif
  
    stat_type st;
    if (posix::lstat(str, &st))
--- 1465,1470 ----
diff -Nrcpad gcc-9.4.0/libstdc++-v3/src/c++98/Makefile.am gcc-9.5.0/libstdc++-v3/src/c++98/Makefile.am
*** gcc-9.4.0/libstdc++-v3/src/c++98/Makefile.am	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/src/c++98/Makefile.am	Fri May 27 07:21:13 2022
*************** endif
*** 39,45 ****
  # particular host.
  host_sources = \
  	$(cow_string_host_sources) \
- 	atomicity.cc \
  	codecvt_members.cc \
  	collate_members.cc \
  	messages_members.cc \
--- 39,44 ----
*************** numeric_members.cc: ${glibcxx_srcdir}/$(
*** 65,74 ****
  time_members.cc: ${glibcxx_srcdir}/$(CTIME_CC)
  	$(LN_S) ${glibcxx_srcdir}/$(CTIME_CC) . || true
  
- atomicity_file = ${glibcxx_srcdir}/$(ATOMICITY_SRCDIR)/atomicity.h
- atomicity.cc: ${atomicity_file}
- 	$(LN_S) ${atomicity_file} ./atomicity.cc || true
- 
  if ENABLE_DUAL_ABI
  collate_members_cow.cc: ${glibcxx_srcdir}/$(CCOLLATE_CC)
  	$(LN_S) ${glibcxx_srcdir}/$(CCOLLATE_CC) ./$@ || true
--- 64,69 ----
diff -Nrcpad gcc-9.4.0/libstdc++-v3/src/c++98/Makefile.in gcc-9.5.0/libstdc++-v3/src/c++98/Makefile.in
*** gcc-9.4.0/libstdc++-v3/src/c++98/Makefile.in	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/src/c++98/Makefile.in	Fri May 27 07:21:13 2022
*************** libc__98convenience_la_LIBADD =
*** 126,134 ****
  @ENABLE_DUAL_ABI_TRUE@	messages_members_cow.lo \
  @ENABLE_DUAL_ABI_TRUE@	monetary_members_cow.lo \
  @ENABLE_DUAL_ABI_TRUE@	numeric_members_cow.lo
! am__objects_3 = $(am__objects_2) atomicity.lo codecvt_members.lo \
! 	collate_members.lo messages_members.lo monetary_members.lo \
! 	numeric_members.lo time_members.lo
  @ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_4 = allocator-inst.lo \
  @ENABLE_EXTERN_TEMPLATE_TRUE@	concept-inst.lo ext-inst.lo \
  @ENABLE_EXTERN_TEMPLATE_TRUE@	misc-inst.lo
--- 126,134 ----
  @ENABLE_DUAL_ABI_TRUE@	messages_members_cow.lo \
  @ENABLE_DUAL_ABI_TRUE@	monetary_members_cow.lo \
  @ENABLE_DUAL_ABI_TRUE@	numeric_members_cow.lo
! am__objects_3 = $(am__objects_2) codecvt_members.lo collate_members.lo \
! 	messages_members.lo monetary_members.lo numeric_members.lo \
! 	time_members.lo
  @ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_4 = allocator-inst.lo \
  @ENABLE_EXTERN_TEMPLATE_TRUE@	concept-inst.lo ext-inst.lo \
  @ENABLE_EXTERN_TEMPLATE_TRUE@	misc-inst.lo
*************** headers =
*** 442,448 ****
  # particular host.
  host_sources = \
  	$(cow_string_host_sources) \
- 	atomicity.cc \
  	codecvt_members.cc \
  	collate_members.cc \
  	messages_members.cc \
--- 442,447 ----
*************** host_sources = \
*** 450,456 ****
  	numeric_members.cc \
  	time_members.cc
  
- atomicity_file = ${glibcxx_srcdir}/$(ATOMICITY_SRCDIR)/atomicity.h
  
  # Source files linked in via configuration/make substitution for a
  # particular host, but with ad hoc naming rules.
--- 449,454 ----
*************** numeric_members.cc: ${glibcxx_srcdir}/$(
*** 841,848 ****
  
  time_members.cc: ${glibcxx_srcdir}/$(CTIME_CC)
  	$(LN_S) ${glibcxx_srcdir}/$(CTIME_CC) . || true
- atomicity.cc: ${atomicity_file}
- 	$(LN_S) ${atomicity_file} ./atomicity.cc || true
  
  @ENABLE_DUAL_ABI_TRUE@collate_members_cow.cc: ${glibcxx_srcdir}/$(CCOLLATE_CC)
  @ENABLE_DUAL_ABI_TRUE@	$(LN_S) ${glibcxx_srcdir}/$(CCOLLATE_CC) ./$@ || true
--- 839,844 ----
diff -Nrcpad gcc-9.4.0/libstdc++-v3/src/filesystem/ops.cc gcc-9.5.0/libstdc++-v3/src/filesystem/ops.cc
*** gcc-9.4.0/libstdc++-v3/src/filesystem/ops.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/src/filesystem/ops.cc	Fri May 27 07:21:13 2022
*************** fs::copy_file(const path& from, const pa
*** 366,372 ****
  
  bool
  fs::copy_file(const path& from, const path& to, copy_options options,
! 	      error_code& ec) noexcept
  {
  #ifdef _GLIBCXX_HAVE_SYS_STAT_H
    return do_copy_file(from.c_str(), to.c_str(), copy_file_options(options),
--- 366,372 ----
  
  bool
  fs::copy_file(const path& from, const path& to, copy_options options,
! 	      error_code& ec)
  {
  #ifdef _GLIBCXX_HAVE_SYS_STAT_H
    return do_copy_file(from.c_str(), to.c_str(), copy_file_options(options),
*************** fs::create_directories(const path& p)
*** 418,424 ****
  }
  
  bool
! fs::create_directories(const path& p, error_code& ec) noexcept
  {
    if (p.empty())
      {
--- 418,424 ----
  }
  
  bool
! fs::create_directories(const path& p, error_code& ec)
  {
    if (p.empty())
      {
*************** fs::create_directories(const path& p, er
*** 426,432 ****
        return false;
      }
  
!   file_status st = symlink_status(p, ec);
    if (is_directory(st))
      return false;
    else if (ec && !status_known(st))
--- 426,432 ----
        return false;
      }
  
!   file_status st = status(p, ec);
    if (is_directory(st))
      return false;
    else if (ec && !status_known(st))
*************** fs::remove_all(const path& p)
*** 1092,1098 ****
  }
  
  std::uintmax_t
! fs::remove_all(const path& p, error_code& ec) noexcept
  {
    const auto s = symlink_status(p, ec);
    if (!status_known(s))
--- 1092,1098 ----
  }
  
  std::uintmax_t
! fs::remove_all(const path& p, error_code& ec)
  {
    const auto s = symlink_status(p, ec);
    if (!status_known(s))
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/17_intro/headers/c++1998/103650.cc gcc-9.5.0/libstdc++-v3/testsuite/17_intro/headers/c++1998/103650.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/17_intro/headers/c++1998/103650.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/17_intro/headers/c++1998/103650.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,13 ----
+ // { dg-do preprocess }
+ 
+ // PR libstdc++/103650 libstdc++ headers defined LT_OBJDIR and STDC_HEADERS
+ 
+ #define LT_OBJDIR 99
+ #define STDC_HEADERS 99
+ #include <utility>
+ #if LT_OBJDIR != 99
+ # error LT_OBJDIR redefined
+ #endif
+ #if STDC_HEADERS != 99
+ # error STDC_HEADERS redefined
+ #endif
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/103630.cc gcc-9.5.0/libstdc++-v3/testsuite/18_support/exception_ptr/103630.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/103630.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/18_support/exception_ptr/103630.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,39 ----
+ // { dg-do run }
+ 
+ #include <exception>
+ #if __cplusplus < 201103L
+ // std::make_exception_ptr is defined for C++98 as a GNU extension
+ # include <bits/exception_ptr.h>
+ #endif
+ 
+ #include <testsuite_hooks.h>
+ 
+ struct B
+ {
+   virtual bool derived() const { return false; }
+ };
+ 
+ struct D : B
+ {
+   virtual bool derived() const { return true; }
+ };
+ 
+ int main()
+ {
+   D d;
+   std::exception_ptr p = std::make_exception_ptr<B&>(d); // PR libstdc++/103630
+ #if __cpp_exceptions
+   try
+   {
+     std::rethrow_exception(p);
+   }
+   catch (const D& d)
+   {
+     VERIFY(d.derived()); // PR libstdc++/103630
+   }
+   catch (const B& b)
+   {
+     VERIFY(!b.derived());
+   }
+ #endif
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/96657.cc gcc-9.5.0/libstdc++-v3/testsuite/18_support/exception_ptr/96657.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/96657.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/18_support/exception_ptr/96657.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,17 ----
+ // { dg-options "-nodefaultlibs -lsupc++ -lgcc_s -lc" { target sparc*-*-linux-gnu } }
+ // { dg-do link { target c++11 } }
+ 
+ #include <exception>
+ 
+ void
+ test01()
+ {
+   // PR libstdc++/96657 undefined references in libsupc++
+   std::make_exception_ptr(1);
+ }
+ 
+ int
+ main()
+ {
+   test01();
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/19_diagnostics/error_category/102425.cc gcc-9.5.0/libstdc++-v3/testsuite/19_diagnostics/error_category/102425.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/19_diagnostics/error_category/102425.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/19_diagnostics/error_category/102425.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,18 ----
+ // { dg-do run { target c++11 } }
+ #include <system_error>
+ #include <testsuite_hooks.h>
+ 
+ void test01()
+ {
+   // PR libstdc++/102425
+   VERIFY( std::error_code() == std::error_condition() );
+ 
+   auto zero = std::system_category().default_error_condition(0);
+   // This is the condition that the equality above relies on:
+   VERIFY( zero.category() == std::generic_category() );
+ }
+ 
+ int main()
+ {
+   test01();
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/93151.cc gcc-9.5.0/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/93151.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/93151.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/93151.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,23 ----
+ // { dg-do compile { target c++11 } }
+ 
+ // Copyright (C) 2020 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library.  This library 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.
+ 
+ // This library 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 this library; see the file COPYING3.  If not see
+ // <http://www.gnu.org/licenses/>.
+ 
+ // PR libstdc++/93151
+ #undef _XOPEN_SOURCE
+ #define _XOPEN_SOURCE 600
+ #include <system_error>
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc gcc-9.5.0/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc	Fri May 27 07:21:13 2022
*************** void test01()
*** 34,40 ****
    TEST_ERRC(bad_address);
    TEST_ERRC(bad_file_descriptor);
  
! #ifdef _GLIBCXX_HAVE_EBADMSG
    TEST_ERRC(bad_message);
  #endif
  
--- 34,40 ----
    TEST_ERRC(bad_address);
    TEST_ERRC(bad_file_descriptor);
  
! #ifdef EBADMSG
    TEST_ERRC(bad_message);
  #endif
  
*************** void test01()
*** 54,60 ****
    TEST_ERRC(function_not_supported);
    TEST_ERRC(host_unreachable);
  
! #ifdef _GLIBCXX_HAVE_EIDRM
    TEST_ERRC(identifier_removed);
  #endif
  
--- 54,60 ----
    TEST_ERRC(function_not_supported);
    TEST_ERRC(host_unreachable);
  
! #ifdef EIDRM
    TEST_ERRC(identifier_removed);
  #endif
  
*************** void test01()
*** 72,94 ****
    TEST_ERRC(no_buffer_space);
    TEST_ERRC(no_child_process);
  
! #ifdef _GLIBCXX_HAVE_ENOLINK
    TEST_ERRC(no_link);
  #endif
  
    TEST_ERRC(no_lock_available);
  
! #ifdef _GLIBCXX_HAVE_ENODATA
    TEST_ERRC(no_message_available);
  #endif
  
! #ifdef _GLIBCXX_HAVE_ENOMSG
    TEST_ERRC(no_message);
  #endif
    TEST_ERRC(no_protocol_option);
    TEST_ERRC(no_space_on_device);
  
! #ifdef _GLIBCXX_HAVE_ENOSR
    TEST_ERRC(no_stream_resources);
  #endif
  
--- 72,94 ----
    TEST_ERRC(no_buffer_space);
    TEST_ERRC(no_child_process);
  
! #ifdef ENOLINK
    TEST_ERRC(no_link);
  #endif
  
    TEST_ERRC(no_lock_available);
  
! #ifdef ENODATA
    TEST_ERRC(no_message_available);
  #endif
  
! #ifdef ENOMSG
    TEST_ERRC(no_message);
  #endif
    TEST_ERRC(no_protocol_option);
    TEST_ERRC(no_space_on_device);
  
! #ifdef ENOSR
    TEST_ERRC(no_stream_resources);
  #endif
  
*************** void test01()
*** 99,113 ****
    TEST_ERRC(not_a_directory);
    TEST_ERRC(not_a_socket);
  
! #ifdef _GLIBCXX_HAVE_ENOSTR
    TEST_ERRC(not_a_stream);
  #endif
  
!   TEST_ERRC(not_connected); 
    TEST_ERRC(not_enough_memory);
    TEST_ERRC(not_supported);
  
! #ifdef _GLIBCXX_HAVE_ECANCELED
    TEST_ERRC(operation_canceled);
  #endif
  
--- 99,113 ----
    TEST_ERRC(not_a_directory);
    TEST_ERRC(not_a_socket);
  
! #ifdef ENOSTR
    TEST_ERRC(not_a_stream);
  #endif
  
!   TEST_ERRC(not_connected);
    TEST_ERRC(not_enough_memory);
    TEST_ERRC(not_supported);
  
! #ifdef ECANCELED
    TEST_ERRC(operation_canceled);
  #endif
  
*************** void test01()
*** 116,146 ****
    TEST_ERRC(operation_not_supported);
    TEST_ERRC(operation_would_block);
  
! #ifdef _GLIBCXX_HAVE_EOWNERDEAD
    TEST_ERRC(owner_dead);
  #endif
  
    TEST_ERRC(permission_denied);
  
! #ifdef _GLIBCXX_HAVE_EPROTO
    TEST_ERRC(protocol_error);
  #endif
  
    TEST_ERRC(protocol_not_supported);
    TEST_ERRC(read_only_file_system);
    TEST_ERRC(resource_deadlock_would_occur);
!   TEST_ERRC(resource_unavailable_try_again); 
    TEST_ERRC(result_out_of_range);
  
! #ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
    TEST_ERRC(state_not_recoverable);
  #endif
  
! #ifdef _GLIBCXX_HAVE_ETIME
    TEST_ERRC(stream_timeout);
  #endif
  
! #ifdef _GLIBCXX_HAVE_ETXTBSY
    TEST_ERRC(text_file_busy);
  #endif
  
--- 116,146 ----
    TEST_ERRC(operation_not_supported);
    TEST_ERRC(operation_would_block);
  
! #ifdef EOWNERDEAD
    TEST_ERRC(owner_dead);
  #endif
  
    TEST_ERRC(permission_denied);
  
! #ifdef EPROTO
    TEST_ERRC(protocol_error);
  #endif
  
    TEST_ERRC(protocol_not_supported);
    TEST_ERRC(read_only_file_system);
    TEST_ERRC(resource_deadlock_would_occur);
!   TEST_ERRC(resource_unavailable_try_again);
    TEST_ERRC(result_out_of_range);
  
! #ifdef ENOTRECOVERABLE
    TEST_ERRC(state_not_recoverable);
  #endif
  
! #ifdef ETIME
    TEST_ERRC(stream_timeout);
  #endif
  
! #ifdef ETXTBSY
    TEST_ERRC(text_file_busy);
  #endif
  
*************** void test01()
*** 150,156 ****
    TEST_ERRC(too_many_links);
    TEST_ERRC(too_many_symbolic_link_levels);
  
! #ifdef _GLIBCXX_HAVE_EOVERFLOW
    TEST_ERRC(value_too_large);
  #endif
  
--- 150,156 ----
    TEST_ERRC(too_many_links);
    TEST_ERRC(too_many_symbolic_link_levels);
  
! #ifdef EOVERFLOW
    TEST_ERRC(value_too_large);
  #endif
  
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/20_util/any/cons/101034.cc gcc-9.5.0/libstdc++-v3/testsuite/20_util/any/cons/101034.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/20_util/any/cons/101034.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/20_util/any/cons/101034.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,11 ----
+ // { dg-do compile { target c++17 } }
+ // PR libstdc++/101034 - wrong constraint in std::any's constructor
+ 
+ #include <any>
+ 
+ struct S {
+   S(std::initializer_list<int>&, int) {}
+ };
+ 
+ std::any a(std::in_place_type<S>, {0}, 0);
+ S& s = a.emplace<S>({0}, 0);
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/20_util/any/cons/90415.cc gcc-9.5.0/libstdc++-v3/testsuite/20_util/any/cons/90415.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/20_util/any/cons/90415.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/20_util/any/cons/90415.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,64 ----
+ // { dg-options "-std=gnu++17" }
+ // { dg-do run { target c++17 } }
+ 
+ // Copyright (C) 2020 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library.  This library 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.
+ 
+ // This library 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 this library; see the file COPYING3.  If not see
+ // <http://www.gnu.org/licenses/>.
+ 
+ #include <any>
+ #include <utility>
+ #include <tuple>
+ #include <testsuite_hooks.h>
+ 
+ void
+ test01()
+ {
+   // PR libstdc++/90415
+   static_assert( std::is_copy_constructible<std::tuple<std::any>>::value );
+ }
+ 
+ struct wrapper
+ {
+   wrapper() = default;
+ 
+   wrapper(const std::any& t);
+ 
+   wrapper(const wrapper& w);
+ 
+   auto& operator=(const std::any& t);
+ 
+   auto& operator=(const wrapper& w)
+   {
+     value = w.value;
+     return *this;
+   }
+ 
+   std::any value;
+ };
+ 
+ void
+ test02()
+ {
+   // PR libstdc++/91630
+   wrapper a, b;
+   a = b;
+ }
+ 
+ int main()
+ {
+   test01();
+   test02();
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/20_util/any/cons/92156.cc gcc-9.5.0/libstdc++-v3/testsuite/20_util/any/cons/92156.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/20_util/any/cons/92156.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/20_util/any/cons/92156.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,53 ----
+ // { dg-options "-std=gnu++17" }
+ // { dg-do run { target c++17 } }
+ 
+ // Copyright (C) 2020 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library.  This library 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.
+ 
+ // This library 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 this library; see the file COPYING3.  If not see
+ // <http://www.gnu.org/licenses/>.
+ 
+ #include <any>
+ #include <utility>
+ #include <tuple>
+ #include <testsuite_hooks.h>
+ 
+ void
+ test01()
+ {
+   auto a = std::any(std::in_place_type<std::any>, 5);
+   VERIFY( std::any_cast<int>(std::any_cast<std::any>(a)) == 5 );
+ 
+   auto b = std::any(std::in_place_type<std::any>, {1});
+   (void) std::any_cast<std::initializer_list<int>>(std::any_cast<std::any>(b));
+ }
+ 
+ void
+ test02()
+ {
+   std::any p = std::pair<std::any, std::any>(1, 1);
+   auto pt = std::any_cast<std::pair<std::any, std::any>>(p);
+   VERIFY( std::any_cast<int>(pt.first) == 1 );
+   VERIFY( std::any_cast<int>(pt.second) == 1 );
+ 
+   std::any t = std::tuple<std::any>(1);
+   auto tt = std::any_cast<std::tuple<std::any>>(t);
+   VERIFY( std::any_cast<int>(std::get<0>(tt)) == 1 );
+ }
+ 
+ int main()
+ {
+   test01();
+   test02();
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/20_util/any/misc/any_cast_neg.cc gcc-9.5.0/libstdc++-v3/testsuite/20_util/any/misc/any_cast_neg.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/20_util/any/misc/any_cast_neg.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/20_util/any/misc/any_cast_neg.cc	Fri May 27 07:21:13 2022
***************
*** 1,5 ****
  // { dg-options "-std=gnu++17" }
! // { dg-do compile }
  
  // Copyright (C) 2014-2019 Free Software Foundation, Inc.
  //
--- 1,5 ----
  // { dg-options "-std=gnu++17" }
! // { dg-do compile { target c++17 } }
  
  // Copyright (C) 2014-2019 Free Software Foundation, Inc.
  //
*************** using std::any_cast;
*** 26,45 ****
  void test01()
  {
    const any y(1);
!   any_cast<int&>(y); // { dg-error "invalid static_cast" "" { target { *-*-* } } 461 }
!   // { dg-error "Template argument must be constructible from a const value" "" { target { *-*-* } } 457 }
  }
  
  void test02()
  {
    any y(1);
!   any_cast<int&&>(y);
!   // { dg-error "Template argument must be constructible from an lvalue" "" { target { *-*-* } } 483 }
  }
  
  void test03()
  {
    any y(1);
!   any_cast<int&>(std::move(y));  // { dg-error "invalid static_cast" "" { target { *-*-* } } 501 }
!   // { dg-error "Template argument must be constructible from an rvalue" "" { target { *-*-* } } 497 }
  }
--- 26,47 ----
  void test01()
  {
    const any y(1);
!   any_cast<int&>(y); // { dg-error "here" }
!   // { dg-error "Template argument must be constructible from a const value" "" { target { *-*-* } } 0 }
  }
  
  void test02()
  {
    any y(1);
!   any_cast<int&&>(y); // { dg-error "here" }
!   // { dg-error "Template argument must be constructible from an lvalue" "" { target { *-*-* } } 0 }
  }
  
  void test03()
  {
    any y(1);
!   any_cast<int&>(std::move(y)); // { dg-error "here" }
!   // { dg-error "Template argument must be constructible from an rvalue" "" { target { *-*-* } } 0 }
  }
+ 
+ // { dg-prune-output "invalid static_cast" }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/20_util/any/modifiers/92156.cc gcc-9.5.0/libstdc++-v3/testsuite/20_util/any/modifiers/92156.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/20_util/any/modifiers/92156.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/20_util/any/modifiers/92156.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,57 ----
+ // { dg-options "-std=gnu++17" }
+ // { dg-do run { target c++17 } }
+ 
+ // Copyright (C) 2020 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library.  This library 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.
+ 
+ // This library 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 this library; see the file COPYING3.  If not see
+ // <http://www.gnu.org/licenses/>.
+ 
+ #include <any>
+ #include <utility>
+ #include <tuple>
+ #include <testsuite_hooks.h>
+ 
+ void
+ test01()
+ {
+   std::any a;
+   a.emplace<std::any>(5);
+   VERIFY( std::any_cast<int>(std::any_cast<std::any>(a)) == 5 );
+ 
+   std::any b;
+   b.emplace<std::any>({1});
+   (void) std::any_cast<std::initializer_list<int>>(std::any_cast<std::any>(b));
+ }
+ 
+ void
+ test02()
+ {
+   std::any p;
+   p.emplace<std::pair<std::any, std::any>>(1, 1);
+   auto pt = std::any_cast<std::pair<std::any, std::any>>(p);
+   VERIFY( std::any_cast<int>(pt.first) == 1 );
+   VERIFY( std::any_cast<int>(pt.second) == 1 );
+ 
+   std::any t;
+   t.emplace<std::tuple<std::any>>(1);
+   auto tt = std::any_cast<std::tuple<std::any>>(t);
+   VERIFY( std::any_cast<int>(std::get<0>(tt)) == 1 );
+ }
+ 
+ int main()
+ {
+   test01();
+   test02();
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/20_util/optional/assignment/100982.cc gcc-9.5.0/libstdc++-v3/testsuite/20_util/optional/assignment/100982.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/20_util/optional/assignment/100982.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/20_util/optional/assignment/100982.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,17 ----
+ // { dg-do compile { target c++17 } }
+ 
+ #include <optional>
+ 
+ struct U {};
+ 
+ struct T {
+   explicit T(const U&);
+   T& operator=(const U&);
+   T& operator=(U&&) = delete;
+ };
+ 
+ int main() {
+   std::optional<U> opt1;
+   std::optional<T> opt2;
+   opt2 = opt1; // PR libstdc++/100982
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc gcc-9.5.0/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,9 ----
+ // FIXME: This should use { target { ! c++20 } }
+ // { dg-do compile }
+ 
+ #include <memory>
+ 
+ auto p = std::make_shared<int[]>(2); // { dg-error "here" }
+ auto q = std::make_shared<int[2]>(1, 2); // { dg-error "here" }
+ 
+ // { dg-prune-output "static assertion failed" }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/20_util/variant/100384.cc gcc-9.5.0/libstdc++-v3/testsuite/20_util/variant/100384.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/20_util/variant/100384.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/20_util/variant/100384.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,9 ----
+ // { dg-do compile { target c++17 } }
+ 
+ #include <variant>
+ 
+ int visit(int*, std::true_type) { return 0; }
+ 
+ const std::true_type dat;
+ 
+ int i = visit(nullptr, dat);
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/23_containers/forward_list/operations/merge.cc gcc-9.5.0/libstdc++-v3/testsuite/23_containers/forward_list/operations/merge.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/23_containers/forward_list/operations/merge.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/23_containers/forward_list/operations/merge.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,48 ----
+ // { dg-do run { target c++11 } }
+ // C++11 23.3.4.6 Operations [forwardlist.ops]
+ 
+ #include <forward_list>
+ #include <testsuite_hooks.h>
+ 
+ void
+ test_stable()
+ {
+   std::forward_list<double> a{1.5, 2.0, 3.5, 4.1};
+   std::forward_list<double> b{1.0, 2.5, 3.0, 4.3, 4.2, 5.0};
+ 
+   a.merge(b, std::less<int>{});
+ 
+   // result is sorted with respect to std::less<int>, so 1.0 and 1.5 are
+   // equivalent, and stability guarantee means the element from a comes first.
+   const std::forward_list<double> r { 1.5, 1.0,
+ 				      2.0, 2.5,
+ 				      3.5, 3.0,
+ 				      4.1, 4.3, 4.2,
+ 				      5.0};
+ 
+   VERIFY(a == r);
+ }
+ 
+ void
+ test_lwg3088()
+ {
+   // LWG 3088: forward_list::merge behavior unclear when passed *this
+   // PR libstdc++/103853
+   std::forward_list<int> c1{ 1, 2, 3 };
+   const std::forward_list<int> c2 = c1;
+   c1.merge(c1);
+   VERIFY( c1 == c2 );
+   c1.merge(c1, std::less<long>{});
+   VERIFY( c1 == c2 );
+   c1.merge(std::move(c1));
+   VERIFY( c1 == c2 );
+   c1.merge(std::move(c1), std::less<long>{});
+   VERIFY( c1 == c2 );
+ }
+ 
+ int
+ main()
+ {
+   test_stable();
+   test_lwg3088();
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc gcc-9.5.0/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc	Fri May 27 07:21:13 2022
***************
*** 20,25 ****
--- 20,26 ----
  // 25.2.12 [alg.is_permutation] Is permutation
  
  #include <algorithm>
+ #include <iterator>
  #include <functional>
  #include <testsuite_hooks.h>
  
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/lerp/1.cc gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/lerp/1.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/lerp/1.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/lerp/1.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,124 ----
+ // Copyright (C) 2019 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library.  This library 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.
+ 
+ // This library 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 this library; see the file COPYING3.  If not see
+ // <http://www.gnu.org/licenses/>.
+ 
+ // { dg-options "-std=gnu++2a" }
+ // { dg-do run { target c++2a } }
+ 
+ #include <cmath>
+ 
+ #ifndef __cpp_lib_interpolate
+ # error "Feature-test macro for midpoint and lerp missing"
+ #elif __cpp_lib_interpolate != 201902L
+ # error "Feature-test macro for midpoint and lerp has wrong value"
+ #endif
+ 
+ #include <limits>
+ #include <testsuite_hooks.h>
+ 
+ void
+ test01()
+ {
+   using lim = std::numeric_limits<double>;
+ 
+   VERIFY( std::lerp(0.0, 1.0, 0.0) == 0.0 );
+   VERIFY( std::lerp(-2.0, 10.0, 1.0) == 10.0 );
+   VERIFY( std::lerp(2.0, -10.0, 1.0) == -10.0 );
+   VERIFY( std::lerp(-8.0, 10.0, 0.5) == 1.0 );
+   VERIFY( std::lerp(-10.0, 10.0, 0.25) == -5.0 );
+   VERIFY( std::lerp(10.0, -10.0, 0.375) == 2.5 );
+ 
+   VERIFY( std::lerp(2.0, 2.0, 200.0) == 2.0 );
+   VERIFY( std::lerp(2.0, 4.0, 200.0) == 402.0 );
+   VERIFY( std::lerp(2.0, 4.0, -20.0) == -38.0 );
+ 
+   VERIFY( std::lerp(1.1, 30201.1, 0) == 1.1 );
+   VERIFY( std::lerp(1.1, 30201.1, 1) == 30201.1 );
+   VERIFY( std::lerp(1.1, -30201.1, 0) == 1.1 );
+   VERIFY( std::lerp(1.1, -30201.1, 1) == -30201.1 );
+ 
+   VERIFY( std::lerp(1.1, 1.1, lim::infinity()) == 1.1 );
+   VERIFY( std::isfinite(std::lerp(1.1, 1.1+lim::min(), lim::max())) );
+ 
+   VERIFY( std::lerp(lim::max(), lim::max(), 1) == lim::max() );
+   VERIFY( std::lerp(lim::max(), lim::max()/9e9, 0) == lim::max() );
+   VERIFY( std::lerp(lim::max()/9e9, lim::max(), 1) == lim::max() );
+ }
+ 
+ void
+ test02()
+ {
+   using lim = std::numeric_limits<float>;
+ 
+   VERIFY( std::lerp(0.0f, 1.0f, 0.0f) == 0.0f );
+   VERIFY( std::lerp(-2.0f, 10.0f, 1.0f) == 10.0f );
+   VERIFY( std::lerp(2.0f, -10.0f, 1.0f) == -10.0f );
+   VERIFY( std::lerp(-8.0f, 10.0f, 0.5f) == 1.0f );
+   VERIFY( std::lerp(-10.0f, 10.0f, 0.25f) == -5.0f );
+   VERIFY( std::lerp(10.0f, -10.0f, 0.375f) == 2.5f );
+ 
+   VERIFY( std::lerp(2.0f, 2.0f, 200.0f) == 2.0f );
+   VERIFY( std::lerp(2.0f, 4.0f, 200.0f) == 402.0f );
+   VERIFY( std::lerp(2.0f, 4.0f, -20.0f) == -38.0f );
+ 
+   VERIFY( std::lerp(1.1f, 30201.1f, 0) == 1.1f );
+   VERIFY( std::lerp(1.1f, 30201.1f, 1) == 30201.1f );
+   VERIFY( std::lerp(1.1f, -30201.1f, 0) == 1.1f );
+   VERIFY( std::lerp(1.1f, -30201.1f, 1) == -30201.1f );
+ 
+   VERIFY( std::lerp(1.1f, 1.1f, lim::infinity()) == 1.1f );
+   VERIFY( std::isfinite(std::lerp(1.1f, 1.1f+lim::min(), lim::max())) );
+ 
+   VERIFY( std::lerp(lim::max(), lim::max(), 1) == lim::max() );
+   VERIFY( std::lerp(lim::max(), lim::max()/9e9f, 0) == lim::max() );
+   VERIFY( std::lerp(lim::max()/9e9f, lim::max(), 1) == lim::max() );
+ }
+ 
+ void
+ test03()
+ {
+   using lim = std::numeric_limits<long double>;
+ 
+   VERIFY( std::lerp(0.0l, 1.0l, 0.0l) == 0.0l );
+   VERIFY( std::lerp(-2.0l, 10.0l, 1.0l) == 10.0l );
+   VERIFY( std::lerp(2.0l, -10.0l, 1.0l) == -10.0l );
+   VERIFY( std::lerp(-8.0l, 10.0l, 0.5l) == 1.0l );
+   VERIFY( std::lerp(-10.0l, 10.0l, 0.25l) == -5.0l );
+   VERIFY( std::lerp(10.0l, -10.0l, 0.375l) == 2.5l );
+ 
+   VERIFY( std::lerp(2.0l, 2.0l, 200.0l) == 2.0l );
+   VERIFY( std::lerp(2.0l, 4.0l, 200.0l) == 402.0l );
+   VERIFY( std::lerp(2.0l, 4.0l, -20.0l) == -38.0l );
+ 
+   VERIFY( std::lerp(1.1l, 30201.1l, 0) == 1.1l );
+   VERIFY( std::lerp(1.1l, 30201.1l, 1) == 30201.1l );
+   VERIFY( std::lerp(1.1l, -30201.1l, 0) == 1.1l );
+   VERIFY( std::lerp(1.1l, -30201.1l, 1) == -30201.1l );
+ 
+   VERIFY( std::lerp(1.1l, 1.1l, lim::infinity()) == 1.1l );
+   VERIFY( std::isfinite(std::lerp(1.1l, 1.1l+lim::min(), lim::max())) );
+ 
+   VERIFY( std::lerp(lim::max(), lim::max(), 1) == lim::max() );
+   VERIFY( std::lerp(lim::max(), lim::max()/9e9l, 0) == lim::max() );
+   VERIFY( std::lerp(lim::max()/9e9l, lim::max(), 1) == lim::max() );
+ }
+ 
+ int main()
+ {
+   test01();
+   test02();
+   test03();
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/lerp/constexpr.cc gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/lerp/constexpr.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/lerp/constexpr.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/lerp/constexpr.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,21 ----
+ // { dg-options "-std=gnu++2a" }
+ // { dg-do compile { target c++2a } }
+ 
+ #include <cmath>
+ 
+ // Fails template argument deduction unless both arguments are the same type.
+ template<typename T>
+ constexpr bool
+ eq(T result, T expected) { return result == expected; }
+ 
+ static_assert( eq( std::lerp(-10.0, 10.0, 0.25), -5.0 ) );
+ static_assert( eq( std::lerp(2.0f, 2.0f, 200.0f), 2.0f ) );
+ static_assert( eq( std::lerp(2.0L, 4.0L, 200.0L), 402.0L ) );
+ // at least one type is long double, so result is long double
+ static_assert( eq( std::lerp(2.0L, 4.0f, -20.0), -38.0L ) );
+ // at least one type is double, so result is double:
+ static_assert( eq( std::lerp(-8.0f, 10.0, 0.5f), 1.0 ) );
+ // int promotes to double, so result is double
+ static_assert( eq( std::lerp(0, 1, 0), 0.0 ) );
+ // int promotes to double, so result is double
+ static_assert( eq( std::lerp(2.0f, -10.0f, 1), -10.0 ) );
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/lerp/version.cc gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/lerp/version.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/lerp/version.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/lerp/version.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,10 ----
+ // { dg-options "-std=gnu++2a" }
+ // { dg-do preprocess { target c++2a } }
+ 
+ #include <version>
+ 
+ #ifndef __cpp_lib_interpolate
+ # error "Feature-test macro for midpoint and lerp missing in <version>"
+ #elif __cpp_lib_interpolate != 201902L
+ # error "Feature-test macro for midpoint and lerp has wrong value in <version>"
+ #endif
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/lerp.cc gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/lerp.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/lerp.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/lerp.cc	Thu Jan  1 00:00:00 1970
***************
*** 1,124 ****
- // Copyright (C) 2019 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library 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.
- 
- // This library 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 this library; see the file COPYING3.  If not see
- // <http://www.gnu.org/licenses/>.
- 
- // { dg-options "-std=gnu++2a" }
- // { dg-do run { target c++2a } }
- 
- #include <cmath>
- 
- #ifndef __cpp_lib_interpolate
- # error "Feature-test macro for midpoint and lerp missing"
- #elif __cpp_lib_interpolate != 201902L
- # error "Feature-test macro for midpoint and lerp has wrong value"
- #endif
- 
- #include <limits>
- #include <testsuite_hooks.h>
- 
- void
- test01()
- {
-   using lim = std::numeric_limits<double>;
- 
-   VERIFY( std::lerp(0.0, 1.0, 0.0) == 0.0 );
-   VERIFY( std::lerp(-2.0, 10.0, 1.0) == 10.0 );
-   VERIFY( std::lerp(2.0, -10.0, 1.0) == -10.0 );
-   VERIFY( std::lerp(-8.0, 10.0, 0.5) == 1.0 );
-   VERIFY( std::lerp(-10.0, 10.0, 0.25) == -5.0 );
-   VERIFY( std::lerp(10.0, -10.0, 0.375) == 2.5 );
- 
-   VERIFY( std::lerp(2.0, 2.0, 200.0) == 2.0 );
-   VERIFY( std::lerp(2.0, 4.0, 200.0) == 402.0 );
-   VERIFY( std::lerp(2.0, 4.0, -20.0) == -38.0 );
- 
-   VERIFY( std::lerp(1.1, 30201.1, 0) == 1.1 );
-   VERIFY( std::lerp(1.1, 30201.1, 1) == 30201.1 );
-   VERIFY( std::lerp(1.1, -30201.1, 0) == 1.1 );
-   VERIFY( std::lerp(1.1, -30201.1, 1) == -30201.1 );
- 
-   VERIFY( std::lerp(1.1, 1.1, lim::infinity()) == 1.1 );
-   VERIFY( std::isfinite(std::lerp(1.1, 1.1+lim::min(), lim::max())) );
- 
-   VERIFY( std::lerp(lim::max(), lim::max(), 1) == lim::max() );
-   VERIFY( std::lerp(lim::max(), lim::max()/9e9, 0) == lim::max() );
-   VERIFY( std::lerp(lim::max()/9e9, lim::max(), 1) == lim::max() );
- }
- 
- void
- test02()
- {
-   using lim = std::numeric_limits<float>;
- 
-   VERIFY( std::lerp(0.0f, 1.0f, 0.0f) == 0.0f );
-   VERIFY( std::lerp(-2.0f, 10.0f, 1.0f) == 10.0f );
-   VERIFY( std::lerp(2.0f, -10.0f, 1.0f) == -10.0f );
-   VERIFY( std::lerp(-8.0f, 10.0f, 0.5f) == 1.0f );
-   VERIFY( std::lerp(-10.0f, 10.0f, 0.25f) == -5.0f );
-   VERIFY( std::lerp(10.0f, -10.0f, 0.375f) == 2.5f );
- 
-   VERIFY( std::lerp(2.0f, 2.0f, 200.0f) == 2.0f );
-   VERIFY( std::lerp(2.0f, 4.0f, 200.0f) == 402.0f );
-   VERIFY( std::lerp(2.0f, 4.0f, -20.0f) == -38.0f );
- 
-   VERIFY( std::lerp(1.1f, 30201.1f, 0) == 1.1f );
-   VERIFY( std::lerp(1.1f, 30201.1f, 1) == 30201.1f );
-   VERIFY( std::lerp(1.1f, -30201.1f, 0) == 1.1f );
-   VERIFY( std::lerp(1.1f, -30201.1f, 1) == -30201.1f );
- 
-   VERIFY( std::lerp(1.1f, 1.1f, lim::infinity()) == 1.1f );
-   VERIFY( std::isfinite(std::lerp(1.1f, 1.1f+lim::min(), lim::max())) );
- 
-   VERIFY( std::lerp(lim::max(), lim::max(), 1) == lim::max() );
-   VERIFY( std::lerp(lim::max(), lim::max()/9e9f, 0) == lim::max() );
-   VERIFY( std::lerp(lim::max()/9e9f, lim::max(), 1) == lim::max() );
- }
- 
- void
- test03()
- {
-   using lim = std::numeric_limits<long double>;
- 
-   VERIFY( std::lerp(0.0l, 1.0l, 0.0l) == 0.0l );
-   VERIFY( std::lerp(-2.0l, 10.0l, 1.0l) == 10.0l );
-   VERIFY( std::lerp(2.0l, -10.0l, 1.0l) == -10.0l );
-   VERIFY( std::lerp(-8.0l, 10.0l, 0.5l) == 1.0l );
-   VERIFY( std::lerp(-10.0l, 10.0l, 0.25l) == -5.0l );
-   VERIFY( std::lerp(10.0l, -10.0l, 0.375l) == 2.5l );
- 
-   VERIFY( std::lerp(2.0l, 2.0l, 200.0l) == 2.0l );
-   VERIFY( std::lerp(2.0l, 4.0l, 200.0l) == 402.0l );
-   VERIFY( std::lerp(2.0l, 4.0l, -20.0l) == -38.0l );
- 
-   VERIFY( std::lerp(1.1l, 30201.1l, 0) == 1.1l );
-   VERIFY( std::lerp(1.1l, 30201.1l, 1) == 30201.1l );
-   VERIFY( std::lerp(1.1l, -30201.1l, 0) == 1.1l );
-   VERIFY( std::lerp(1.1l, -30201.1l, 1) == -30201.1l );
- 
-   VERIFY( std::lerp(1.1l, 1.1l, lim::infinity()) == 1.1l );
-   VERIFY( std::isfinite(std::lerp(1.1l, 1.1l+lim::min(), lim::max())) );
- 
-   VERIFY( std::lerp(lim::max(), lim::max(), 1) == lim::max() );
-   VERIFY( std::lerp(lim::max(), lim::max()/9e9l, 0) == lim::max() );
-   VERIFY( std::lerp(lim::max()/9e9l, lim::max(), 1) == lim::max() );
- }
- 
- int main()
- {
-   test01();
-   test02();
-   test03();
- }
--- 0 ----
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc	Fri May 27 07:21:13 2022
***************
*** 25,30 ****
--- 25,31 ----
  
  #include <random>
  #include <sstream>
+ #include <testsuite_hooks.h>
  
  void
  test01()
*************** test01()
*** 37,46 ****
    str << u;
  
    str >> v;
  }
  
  int main()
  {
    test01();
!   return 0;
  }
--- 38,80 ----
    str << u;
  
    str >> v;
+   VERIFY( u == v );
+ }
+ 
+ void
+ test_pr105502()
+ {
+   // PR libstdc++/105502 std::normal_distribution deserialization issue
+   std::stringstream str;
+   std::normal_distribution<> d{1, 2}, d2;
+   std::minstd_rand0 g;
+   str << d;
+   VERIFY( str );
+   str >> d2;
+   VERIFY( str );
+   VERIFY( d == d2 );
+ 
+   (void) d(g); // sets d._M_saved_available = true
+   str.str("");
+   str.clear();
+   str << d;
+   VERIFY( str );
+   str >> d2;
+   VERIFY( str );
+   VERIFY( d == d2 );
+ 
+   (void) d(g); // sets d._M_saved_available = false
+   str.str("");
+   str.clear();
+   str << d;
+   VERIFY( str );
+   str >> d2;
+   VERIFY( str );
+   VERIFY( d == d2 );
  }
  
  int main()
  {
    test01();
!   test_pr105502();
  }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/reduce/95833.cc gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/reduce/95833.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/reduce/95833.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/reduce/95833.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,16 ----
+ // { dg-do compile { target c++17 } }
+ // PR libstdc++/95833 - Incorrect static_assert in std::reduce overload
+ 
+ #include <numeric>
+ 
+ struct A { };
+ struct B { };
+ 
+ struct binop
+ {
+   template<typename T, typename U>
+     A operator()(T&&, U&&) const { return A{}; }
+ };
+ 
+ B b;
+ A a = std::reduce(&b, &b + 1, A{}, binop{});
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/valarray/103022.cc gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/valarray/103022.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/valarray/103022.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/valarray/103022.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,15 ----
+ // { dg-options "-D_GLIBCXX_DEBUG" }
+ // { dg-do compile { target c++11 } }
+ 
+ #include <valarray>
+ 
+ int main()
+ {
+   // PR libstdc++/103022
+   std::valarray<double> va;
+   (void) std::begin(va);
+   (void) std::end(va);
+   const auto& cva = va;
+   (void) std::begin(cva);
+   (void) std::end(cva);
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.C gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.C
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.C	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.C	Thu Jan  1 00:00:00 1970
***************
*** 1,35 ****
- // Copyright (C) 2013-2019 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library 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.
- 
- // This library 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 this library; see the file COPYING3.  If not see
- // <http://www.gnu.org/licenses/>.
- 
- #include <valarray>
- #include <testsuite_hooks.h>
- 
- // libstdc++/57666
- void test01()
- {
-   std::valarray<int> a(3), b(3), d1, d2;
-   d1 = a;
-   VERIFY( d1.size() == 3 );
-   d2 = a + b;
-   VERIFY( d2.size() == 3 );
- }
- 
- int main()
- {
-   test01();
-   return 0;
- }
--- 0 ----
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.cc gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,35 ----
+ // Copyright (C) 2013-2019 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library.  This library 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.
+ 
+ // This library 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 this library; see the file COPYING3.  If not see
+ // <http://www.gnu.org/licenses/>.
+ 
+ #include <valarray>
+ #include <testsuite_hooks.h>
+ 
+ // libstdc++/57666
+ void test01()
+ {
+   std::valarray<int> a(3), b(3), d1, d2;
+   d1 = a;
+   VERIFY( d1.size() == 3 );
+   d2 = a + b;
+   VERIFY( d2.size() == 3 );
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc	Fri May 27 07:21:13 2022
***************
*** 1,4 ****
! // { dg-do compile { target c++11 } }
  
  // Copyright (C) 2010-2019 Free Software Foundation, Inc.
  //
--- 1,4 ----
! // { dg-do run { target c++11 } }
  
  // Copyright (C) 2010-2019 Free Software Foundation, Inc.
  //
***************
*** 17,23 ****
  // with this library; see the file COPYING3.  If not see
  // <http://www.gnu.org/licenses/>.
  
! // 26.6.10 valarray range access: [valarray.range]
  
  #include <valarray>
  
--- 17,23 ----
  // with this library; see the file COPYING3.  If not see
  // <http://www.gnu.org/licenses/>.
  
! // C++11 26.6.10 valarray range access: [valarray.range]
  
  #include <valarray>
  
*************** void
*** 25,33 ****
  test01()
  {
    std::valarray<double> va{1.0, 2.0, 3.0};
!   std::begin(va);
!   std::end(va);
    const auto& cva = va;
!   std::begin(cva);
!   std::end(cva);
  }
--- 25,66 ----
  test01()
  {
    std::valarray<double> va{1.0, 2.0, 3.0};
!   (void) std::begin(va);
!   (void) std::end(va);
    const auto& cva = va;
!   (void) std::begin(cva);
!   (void) std::end(cva);
! 
!   using Iter = decltype(std::begin(va));
!   using IterTraits = std::iterator_traits<Iter>;
!   static_assert( std::is_same<Iter, decltype(std::end(va))>::value, "" );
!   static_assert( std::is_same<IterTraits::iterator_category,
! 			      std::random_access_iterator_tag>::value, "" );
!   static_assert( std::is_same<IterTraits::value_type, double>::value, "" );
!   static_assert( std::is_same<IterTraits::reference, double&>::value, "" );
!   using CIter = decltype(std::begin(cva));
!   using CIterTraits = std::iterator_traits<CIter>;
!   static_assert( std::is_same<CIter, decltype(std::end(cva))>::value, "" );
!   static_assert( std::is_same<CIterTraits::iterator_category,
! 			      std::random_access_iterator_tag>::value, "" );
!   static_assert( std::is_same<CIterTraits::value_type, double>::value, "" );
!   static_assert( std::is_same<CIterTraits::reference, const double&>::value, "" );
! }
! 
! // PR libstdc++/103022
! void
! test02()
! {
!   std::valarray<double> va;
!   (void) std::begin(va);
!   (void) std::end(va);
!   const auto& cva = va;
!   (void) std::begin(cva);
!   (void) std::end(cva);
! }
! 
! int main()
! {
!   test01();
!   test02();
  }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc	Fri May 27 07:21:13 2022
***************
*** 1,4 ****
! // { dg-do compile { target c++14 } }
  
  // Copyright (C) 2015-2019 Free Software Foundation, Inc.
  //
--- 1,4 ----
! // { dg-do run { target c++14 } }
  
  // Copyright (C) 2015-2019 Free Software Foundation, Inc.
  //
***************
*** 17,23 ****
  // with this library; see the file COPYING3.  If not see
  // <http://www.gnu.org/licenses/>.
  
! // 26.6.10 valarray range access: [valarray.range]
  
  #include <iterator>
  #include <valarray>
--- 17,23 ----
  // with this library; see the file COPYING3.  If not see
  // <http://www.gnu.org/licenses/>.
  
! // C++11 26.6.10 valarray range access: [valarray.range]
  
  #include <iterator>
  #include <valarray>
*************** test01()
*** 33,35 ****
--- 33,53 ----
    std::cbegin(cva);
    std::cend(cva);
  }
+ 
+ // PR libstdc++/103022
+ void
+ test02()
+ {
+   std::valarray<double> va;
+   (void) std::cbegin(va);
+   (void) std::cend(va);
+   const auto& cva = va;
+   (void) std::cbegin(cva);
+   (void) std::cend(cva);
+ }
+ 
+ int main()
+ {
+   test01();
+   test02();
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.C gcc-9.5.0/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.C
*** gcc-9.4.0/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.C	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.C	Thu Jan  1 00:00:00 1970
***************
*** 1,41 ****
- // Copyright (C) 2008-2019 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library 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.
- 
- // This library 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 this library; see the file COPYING3.  If not see
- // <http://www.gnu.org/licenses/>.
- 
- // 27.6.1.5 - Template class basic_iostream 
- 
- #include <iostream>
- 
- class mystream
- : public std::iostream
- {
- public:
-   mystream () { };
- };
- 
- // libstdc++/16251
- void test01()
- {
-   mystream x;
-   x.rdbuf(std::cout.rdbuf());
-   x << std::endl;
- }
- 
- int main()
- {
-   test01();
-   return 0;
- }
--- 0 ----
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.cc gcc-9.5.0/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,41 ----
+ // Copyright (C) 2008-2019 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library.  This library 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.
+ 
+ // This library 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 this library; see the file COPYING3.  If not see
+ // <http://www.gnu.org/licenses/>.
+ 
+ // 27.6.1.5 - Template class basic_iostream 
+ 
+ #include <iostream>
+ 
+ class mystream
+ : public std::iostream
+ {
+ public:
+   mystream () { };
+ };
+ 
+ // libstdc++/16251
+ void test01()
+ {
+   mystream x;
+   x.rdbuf(std::cout.rdbuf());
+   x << std::endl;
+ }
+ 
+ int main()
+ {
+   test01();
+   return 0;
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc gcc-9.5.0/libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc	Fri May 27 07:21:13 2022
*************** test03()
*** 146,155 ****
--- 146,178 ----
    remove_all(p);
  }
  
+ void
+ test04()
+ {
+ #if defined(__MINGW32__) || defined(__MINGW64__)
+   // no symlinks
+ #else
+   // PR libstdc++/101510
+   // create_directories reports an error if the path is a symlink to a dir
+   std::error_code ec = make_error_code(std::errc::invalid_argument);
+   const auto p = __gnu_test::nonexistent_path() / "";
+   fs::create_directories(p/"dir");
+   auto link = p/"link";
+   fs::create_directory_symlink("dir", link);
+   bool created = fs::create_directories(link, ec);
+   VERIFY( !created );
+   VERIFY( !ec );
+   created = fs::create_directories(link);
+   VERIFY( !created );
+   remove_all(p);
+ #endif
+ }
+ 
  int
  main()
  {
    test01();
    test02();
    test03();
+   test04();
  }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc gcc-9.5.0/libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc	Fri May 27 07:21:13 2022
*************** test01()
*** 55,60 ****
--- 55,91 ----
    b = create_directory(p);
    VERIFY( !b );
  
+   auto f = p/"file";
+   std::ofstream{f} << "create file";
+   b = create_directory(f, ec);
+   VERIFY( ec == std::errc::file_exists );
+   VERIFY( !b );
+   try
+   {
+     create_directory(f);
+     VERIFY( false );
+   }
+   catch (const fs::filesystem_error& e)
+   {
+     VERIFY( e.code() == std::errc::file_exists );
+     VERIFY( e.path1() == f );
+   }
+ 
+ #if defined(__MINGW32__) || defined(__MINGW64__)
+   // no symlinks
+ #else
+   // PR libstdc++/101510 create_directory on an existing symlink to a directory
+   fs::create_directory(p/"dir");
+   auto link = p/"link";
+   fs::create_directory_symlink("dir", link);
+   ec = bad_ec;
+   b = fs::create_directory(link, ec);
+   VERIFY( !b );
+   VERIFY( !ec );
+   b = fs::create_directory(link);
+   VERIFY( !b );
+ #endif
+ 
    remove_all(p, ec);
  }
  
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/27_io/filesystem/operations/remove_all.cc gcc-9.5.0/libstdc++-v3/testsuite/27_io/filesystem/operations/remove_all.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/27_io/filesystem/operations/remove_all.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/27_io/filesystem/operations/remove_all.cc	Fri May 27 07:21:13 2022
*************** test04()
*** 169,174 ****
--- 169,176 ----
    }
  
    fs::permissions(dir, fs::perms::owner_write, fs::perm_options::add);
+   fs::remove_all(dir, ec);
+   f.path.clear();
  #endif
  }
  
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/27_io/filesystem/path/construct/100630.cc gcc-9.5.0/libstdc++-v3/testsuite/27_io/filesystem/path/construct/100630.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/27_io/filesystem/path/construct/100630.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/27_io/filesystem/path/construct/100630.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,14 ----
+ // { dg-options "-std=gnu++17" }
+ // { dg-do compile { target c++17 } }
+ 
+ #include <filesystem>
+ 
+ void f(bool) { }
+ void f(const std::filesystem::path&) { }
+ 
+ void
+ test_100630()
+ {
+   volatile bool b = true;
+   f(b);
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/27_io/types/1.cc gcc-9.5.0/libstdc++-v3/testsuite/27_io/types/1.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/27_io/types/1.cc	Tue Jun  1 07:53:06 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/27_io/types/1.cc	Fri May 27 07:21:13 2022
***************
*** 27,40 ****
  // Annex D, deprecated.
  void test01()
  {
!   typedef std::ios_base::streampos streampos_type; // { dg-warning "is deprecated: use 'std::streampos' instead" }
!   typedef std::ios_base::streamoff streamoff_type; // { dg-warning "is deprecated: use 'std::streamoff' instead" }
  }
  
  // Annex D, deprecated.
  void test02()
  {
!   typedef std::ios_base::io_state iostate_type; // { dg-warning "is deprecated: use 'std::iostate' instead" }
!   typedef std::ios_base::open_mode openmode_type; // { dg-warning "is deprecated: use 'std::openmode' instead" }
!   typedef std::ios_base::seek_dir seekdir_type; // { dg-warning "is deprecated: use 'std::seekdir' instead" }
  }
--- 27,40 ----
  // Annex D, deprecated.
  void test01()
  {
!   typedef std::ios_base::streampos streampos_type; // { dg-warning "is deprecated: use 'std::streampos' instead" "" { target c++11 } }
!   typedef std::ios_base::streamoff streamoff_type; // { dg-warning "is deprecated: use 'std::streamoff' instead" "" { target c++11 } }
  }
  
  // Annex D, deprecated.
  void test02()
  {
!   typedef std::ios_base::io_state iostate_type; // { dg-warning "is deprecated: use 'std::iostate' instead" "" { target c++11 } }
!   typedef std::ios_base::open_mode openmode_type; // { dg-warning "is deprecated: use 'std::openmode' instead" "" { target c++11 } }
!   typedef std::ios_base::seek_dir seekdir_type; // { dg-warning "is deprecated: use 'std::seekdir' instead" "" { target c++11 } }
  }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/28_regex/match_results/102667.cc gcc-9.5.0/libstdc++-v3/testsuite/28_regex/match_results/102667.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/28_regex/match_results/102667.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/28_regex/match_results/102667.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,39 ----
+ // { dg-do run { target c++11 } }
+ 
+ #include <regex>
+ #include <testsuite_hooks.h>
+ 
+ void
+ test01()
+ {
+   std::cmatch sm;
+   VERIFY( sm.empty() );
+   VERIFY( sm.size() == 0 );
+   VERIFY( sm.begin() == sm.end() );  // PR libstdc++/83600
+ 
+   bool matched = std::regex_match("a", sm, std::regex("b"));
+   VERIFY( ! matched );
+   VERIFY( sm.ready() );
+   VERIFY( sm.empty() );
+   VERIFY( sm.size() == 0 );
+   VERIFY( sm.begin() == sm.end() ); // PR libstdc++/102667
+ 
+   matched = std::regex_match("a", sm, std::regex("a"));
+   VERIFY( matched );
+   VERIFY( sm.ready() );
+   VERIFY( ! sm.empty() );
+   VERIFY( sm.size() == 1 );
+   VERIFY( (sm.end() - sm.begin()) == 1 );
+ 
+   matched = std::regex_search("abcd", sm, std::regex("(b)(c)"));
+   VERIFY( matched );
+   VERIFY( sm.ready() );
+   VERIFY( ! sm.empty() );
+   VERIFY( sm.size() == 3 );
+   VERIFY( (sm.end() - sm.begin()) == 3 );
+ }
+ 
+ int main()
+ {
+   test01();
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc gcc-9.5.0/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc	Tue Jun  1 07:53:07 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc	Fri May 27 07:21:13 2022
*************** test03()
*** 129,138 ****
--- 129,161 ----
    remove_all(p);
  }
  
+ void
+ test04()
+ {
+ #if defined(__MINGW32__) || defined(__MINGW64__)
+   // no symlinks
+ #else
+   // PR libstdc++/101510
+   // create_directories reports an error if the path is a symlink to a dir
+   std::error_code ec = make_error_code(std::errc::invalid_argument);
+   const auto p = __gnu_test::nonexistent_path() / "";
+   fs::create_directories(p/"dir");
+   auto link = p/"link";
+   fs::create_directory_symlink("dir", link);
+   bool created = fs::create_directories(link, ec);
+   VERIFY( !created );
+   VERIFY( !ec );
+   created = fs::create_directories(link);
+   VERIFY( !created );
+   remove_all(p);
+ #endif
+ }
+ 
  int
  main()
  {
    test01();
    test02();
    test03();
+   test04();
  }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc gcc-9.5.0/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc	Tue Jun  1 07:53:07 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc	Fri May 27 07:21:13 2022
*************** test01()
*** 46,57 ****
--- 46,89 ----
    VERIFY( exists(p) );
  
    // Test existing path (libstdc++/71036).
+   ec = make_error_code(std::errc::invalid_argument);
    b = create_directory(p, ec);
    VERIFY( !ec );
    VERIFY( !b );
    b = create_directory(p);
    VERIFY( !b );
  
+   auto f = p/"file";
+   std::ofstream{f} << "create file";
+   b = create_directory(f, ec);
+   VERIFY( ec == std::errc::file_exists );
+   VERIFY( !b );
+   try
+   {
+     create_directory(f);
+     VERIFY( false );
+   }
+   catch (const fs::filesystem_error& e)
+   {
+     VERIFY( e.code() == std::errc::file_exists );
+     VERIFY( e.path1() == f );
+   }
+ 
+ #if defined(__MINGW32__) || defined(__MINGW64__)
+   // no symlinks
+ #else
+   // PR libstdc++/101510 create_directory on an existing symlink to a directory
+   fs::create_directory(p/"dir");
+   auto link = p/"link";
+   fs::create_directory_symlink("dir", link);
+   ec = make_error_code(std::errc::invalid_argument);
+   b = fs::create_directory(link, ec);
+   VERIFY( !b );
+   VERIFY( !ec );
+   b = fs::create_directory(link);
+   VERIFY( !b );
+ #endif
+ 
    remove_all(p, ec);
  }
  
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc gcc-9.5.0/libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc	Tue Jun  1 07:53:07 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc	Fri May 27 07:21:13 2022
*************** test04()
*** 137,142 ****
--- 137,144 ----
    }
  
    fs::permissions(dir, fs::perms::owner_write|fs::perms::add_perms);
+   fs::remove_all(dir, ec);
+   f.path.clear();
  #endif
  }
  
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/experimental/filesystem/path/construct/100630.cc gcc-9.5.0/libstdc++-v3/testsuite/experimental/filesystem/path/construct/100630.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/experimental/filesystem/path/construct/100630.cc	Thu Jan  1 00:00:00 1970
--- gcc-9.5.0/libstdc++-v3/testsuite/experimental/filesystem/path/construct/100630.cc	Fri May 27 07:21:13 2022
***************
*** 0 ****
--- 1,14 ----
+ // { dg-do compile { target c++11 } }
+ // { dg-require-filesystem-ts "" }
+ 
+ #include <experimental/filesystem>
+ 
+ void f(bool) { }
+ void f(const std::experimental::filesystem::path&) { }
+ 
+ void
+ test_100630()
+ {
+   volatile bool b = true;
+   f(b);
+ }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/experimental/random/randint.cc gcc-9.5.0/libstdc++-v3/testsuite/experimental/random/randint.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/experimental/random/randint.cc	Tue Jun  1 07:53:07 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/experimental/random/randint.cc	Fri May 27 07:21:13 2022
*************** test01()
*** 34,40 ****
    }
  
    std::experimental::reseed(99u);
!   const long n1[] = {
      std::experimental::randint(0, 100),
      std::experimental::randint(0, 100),
      std::experimental::randint(0, 100),
--- 34,40 ----
    }
  
    std::experimental::reseed(99u);
!   const int n1[] = {
      std::experimental::randint(0, 100),
      std::experimental::randint(0, 100),
      std::experimental::randint(0, 100),
*************** test01()
*** 42,48 ****
      std::experimental::randint(0, 100)
    };
    std::experimental::reseed(99u);
!   const long n2[] = {
      std::experimental::randint(0, 100),
      std::experimental::randint(0, 100),
      std::experimental::randint(0, 100),
--- 42,48 ----
      std::experimental::randint(0, 100)
    };
    std::experimental::reseed(99u);
!   const int n2[] = {
      std::experimental::randint(0, 100),
      std::experimental::randint(0, 100),
      std::experimental::randint(0, 100),
*************** test01()
*** 52,64 ****
    for (int i = 0; i < 5; ++i)
      VERIFY( n1[i] == n2[i] );
  
!   std::experimental::reseed();
!   const long n3[] = {
!     std::experimental::randint(0, 100),
!     std::experimental::randint(0, 100),
!     std::experimental::randint(0, 100)
!   };
!   VERIFY( !(n3[0] == n1[0] && n3[1] == n1[1] && n3[2] == n1[2]) );
  }
  
  void
--- 52,64 ----
    for (int i = 0; i < 5; ++i)
      VERIFY( n1[i] == n2[i] );
  
!   do
!   {
!     std::experimental::reseed();
!   }
!   while (std::experimental::randint(0, 100) == n1[0]
!       && std::experimental::randint(0, 100) == n1[1]
!       && std::experimental::randint(0, 100) == n1[2]);
  }
  
  void
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc gcc-9.5.0/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc	Tue Jun  1 07:53:07 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc	Fri May 27 07:21:13 2022
***************
*** 31,33 ****
--- 31,36 ----
  // { dg-prune-output "tuple:993" }
  // PMR alias templates cause ambiguities between debug and profile containers:
  // { dg-prune-output "is ambiguous" }
+ // C++20 uniform container erasure causes more errors
+ // { dg-prune-output "expected nested-name-specifier before" }
+ // { dg-prune-output "expected initializer before" }
diff -Nrcpad gcc-9.4.0/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc gcc-9.5.0/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc
*** gcc-9.4.0/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc	Tue Jun  1 07:53:07 2021
--- gcc-9.5.0/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc	Fri May 27 07:21:13 2022
*************** main()
*** 161,166 ****
--- 161,185 ----
  // { dg-final { note-test tpl {std::tuple containing = {[1] = 6, [2] = 7}} } }
    ExTuple &rtpl = tpl;
  // { dg-final { note-test rtpl {std::tuple containing = {[1] = 6, [2] = 7}} } }
+ 
+   std::error_code e0;
+   // { dg-final { note-test e0 {std::error_code = { }} } }
+   std::error_condition ec0;
+   // { dg-final { note-test ec0 {std::error_condition = { }} } }
+   std::error_code einval = std::make_error_code(std::errc::invalid_argument);
+   // { dg-final { note-test einval {std::error_code = {"generic": EINVAL}} } }
+   std::error_condition ecinval = std::make_error_condition(std::errc::invalid_argument);
+   // { dg-final { note-test ecinval {std::error_condition = {"generic": EINVAL}} } }
+ 
+   struct custom_cat : std::error_category {
+     const char* name() const noexcept { return "miaow"; }
+     std::string message(int) const { return ""; }
+   } cat;
+   std::error_code emiaow(42, cat);
+   // { dg-final { note-test emiaow {std::error_code = {"miaow": 42}} } }
+   std::error_condition ecmiaow(42, cat);
+   // { dg-final { note-test ecmiaow {std::error_condition = {"miaow": 42}} } }
+ 
    placeholder(""); // Mark SPOT
    use(efl);
    use(fl);
diff -Nrcpad gcc-9.4.0/libvtv/ChangeLog gcc-9.5.0/libvtv/ChangeLog
*** gcc-9.4.0/libvtv/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/libvtv/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/lto-plugin/ChangeLog gcc-9.5.0/lto-plugin/ChangeLog
*** gcc-9.4.0/lto-plugin/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/lto-plugin/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/maintainer-scripts/ChangeLog gcc-9.5.0/maintainer-scripts/ChangeLog
*** gcc-9.4.0/maintainer-scripts/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/maintainer-scripts/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
diff -Nrcpad gcc-9.4.0/zlib/ChangeLog gcc-9.5.0/zlib/ChangeLog
*** gcc-9.4.0/zlib/ChangeLog	Tue Jun  1 07:53:23 2021
--- gcc-9.5.0/zlib/ChangeLog	Fri May 27 07:21:30 2022
***************
*** 1,3 ****
--- 1,7 ----
+ 2022-05-27  Release Manager
+ 
+ 	* GCC 9.5.0 released.
+ 
  2021-06-01  Release Manager
  
  	* GCC 9.4.0 released.
