https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68164
Bug ID: 68164 Summary: Destructor side effect unexpectedly elided Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: webrown.cpp at gmail dot com Target Milestone: --- Created attachment 36625 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36625&action=edit Test program Compiler version: g++-mp-6 (MacPorts gcc6 6-20151025_0) 6.0.0 20151025 (experimental). Compiling via: g++-mp-6 -Og -std=c++1z The enclosed test program improperly asserts because (it seems) that the assignment in the body of B's destructor is elided. The program does not assert, however, if I insert a debugging output statement (marked #1) following the assignment. Comment #1 out to see the unexpected failed assertion. Repositioning #1 to precede the assignment also results in a failed assertion.