https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85600

rdapp at linux dot ibm.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rdapp at linux dot ibm.com

--- Comment #4 from rdapp at linux dot ibm.com ---
This also happens on s390x, even with -O0 and no new -march setting.

The following line in EtherMac.cc

 delete outputbuffer.pop()

actually emits two calls to

 cQueue::pop ().

On the second call, the queue is empty and the program terminates.

Already in the .original pass, a SAVE_EXPR that was there before is not present
anymore:

if (SAVE_EXPR <cQueue::pop [..]

vs.

if (cQueue::pop [..]

r259771 removes two checks like this:

-      if (TREE_SIDE_EFFECTS (addr))          
-       addr = save_expr (addr);

Are they really redundant?

Reply via email to