]> git.ipfire.org Git - thirdparty/gcc.git/commit
ipa/111245 - bogus modref analysis for store in call that might throw
authorRichard Biener <rguenther@suse.de>
Fri, 28 Feb 2025 10:44:26 +0000 (11:44 +0100)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 2 Apr 2025 12:00:17 +0000 (14:00 +0200)
commitd9faa7c2eb47c7fabf9dafce6d569f52d49c7030
tree801ef54b369a8ac151ef4a4e9e5d6dd08d70f3d9
parent35ed15af7ddab55c2ea1c07811f273a7c4e223fa
ipa/111245 - bogus modref analysis for store in call that might throw

We currently record a kill for

  *x_4(D) = always_throws ();

because we consider the store always executing since the appropriate
check for whether the stmt could throw is guarded by
!cfun->can_throw_non_call_exceptions.

PR ipa/111245
* ipa-modref.cc (modref_access_analysis::analyze_store): Do
not guard the check of whether the stmt could throw by
cfun->can_throw_non_call_exceptions.

* g++.dg/torture/pr111245.C: New testcase.

(cherry picked from commit e6037af6d5e5a43c437257580d75bc8b35a6dcfd)
gcc/ipa-modref.cc
gcc/testsuite/g++.dg/torture/pr111245.C [new file with mode: 0644]