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.

Reply via email to