This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/64191] [4.9/5 Regression] indirect clobbers messes up dead code elimination in loop calling dtor
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 09 Dec 2014 09:11:32 +0000
- Subject: [Bug c++/64191] [4.9/5 Regression] indirect clobbers messes up dead code elimination in loop calling dtor
- Auto-submitted: auto-generated
- References: <bug-64191-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64191
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.9/5 Regression] |[4.9/5 Regression] indirect
|-march=native messes up |clobbers messes up dead
|dead code elimination in |code elimination in loop
|loop calling dtor |calling dtor
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
Relevant part of the testcase:
struct Bar
{
int i;
~Bar() { }
};
void bar_dtor_loop(Bar* p, unsigned int n)
{
if (p) {
Bar* e = p + n;
while (e > p) {
--e;
e->~Bar();
}
}
}