https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100394
Richard Biener changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100394
--- Comment #6 from CVS Commits ---
The master branch has been updated by Richard Biener :
https://gcc.gnu.org/g:8ebf6b99952ada09bf9ea0144dcd1d46363b0464
commit r12-475-g8ebf6b99952ada09bf9ea0144dcd1d46363b0464
Author: Richard Biener
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100394
Richard Biener changed:
What|Removed |Added
Ever confirmed|0 |1
Assignee|unassigned at gcc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100394
--- Comment #4 from Michael Matz ---
That then still shows problems with the pure function and -O2, but with
standard
C++ this then works:
struct S {
int foo(int i) const { if (i) throw 42; return 0; }
};
int __attribute__((noinline)) bar2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100394
Michael Matz changed:
What|Removed |Added
Known to fail|3.4.6, 4.3.5|
CC|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100394
--- Comment #2 from Richard Biener ---
Classically it needs two DCE passes, the first removes the call LHS, the second
then no longer considers the call necessary because of EH. But even with that
fixed there are subsequent passes breaking thin
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100394
--- Comment #1 from Richard Biener ---
See also https://gcc.gnu.org/pipermail/gcc-patches/2021-May/569429.html