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.