https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64100
Bug ID: 64100
Summary: A static assert using the the current class in a
noexcept test leads to a segfault
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ville.voutilainen at gmail dot com
template<typename> struct foo
{
static_assert(noexcept(((foo *)1)->~foo()), "");
};
template class foo<int>;
Clang diagnoses the use of the constructor of foo as an attempt to
use an incomplete type, gcc segfaults. See
http://melpon.org/wandbox/permlink/Xz0rchej4eij4tOA
for the actual trace.
This looks like a regression, since my build from 20141121 just silently
eats the code. 20141127 produces the segfault.