[Bug c++/66139] destructor not called for members of partially constructed anonymous struct/array
antoshkka at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Dec 13 09:55:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66139
Antony Polukhin <antoshkka at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |antoshkka at gmail dot com
--- Comment #16 from Antony Polukhin <antoshkka at gmail dot com> ---
Can we increase the priority of this issue to P1 or P2? It affects the very
basics of the C++.
BTW, I've minimized example. It aborts on every version of GCC with -std=c++11,
passes on Clang:
int constructed = 0;
class lock_guard_ext{
public:
lock_guard_ext() { ++constructed; }
~lock_guard_ext() { --constructed; }
};
struct Access {
lock_guard_ext lock;
int value;
};
int t() {
throw 0;
}
Access foo1() {
return { {}, t() };
}
int main () {
try {
foo1();
} catch (int) {}
if (constructed != 0)
__builtin_abort();
}
More information about the Gcc-bugs
mailing list