https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88969
--- Comment #2 from Arseny Solokha <asolokha at gmx dot com> --- I get what you see when I modify the testcase from comment 0 the following way: --- mi9qy2yt.cpp 2019-01-22 15:48:53.473604944 +0700 +++ r9d6mwt2.cpp 2019-01-22 15:46:45.567008369 +0700 @@ -1,3 +1,4 @@ + namespace std { struct destroying_delete_t { struct __construct { explicit __construct() = default; }; @@ -9,5 +10,5 @@ void operator delete(void*) = delete; void operator delete(B *, std::destroying_delete_t) = delete; }; - void delete_B(B *b) { delete b; } -} + void delete_B(B *b) + Looks like a copy-paste error?