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

--- Comment #6 from rdapp at linux dot ibm.com ---
This hunk causes the double pop():

@@ -4650,8 +4648,6 @@ build_delete (tree otype, tree addr,
special_function_kind auto_delete,
                }
            }
        }
-      if (TREE_SIDE_EFFECTS (addr))
-       addr = save_expr (addr);

       /* Throw away const and volatile on target type of addr.  */
       addr = convert_force (build_pointer_type (type), addr, 0, complain);


addr has the side-effects bit set at that point.

Reply via email to