c++: make trait of incomplete type a permerror [PR109277]
An incomplete type argument to several traits is specified to be undefined
behavior in the library; since it's a compile-time property, we diagnose
it. But apparently some code was relying on the previous behavior of not
diagnosing. So let's make it a permerror.
The assert in cxx_incomplete_type_diagnostic didn't like that, and I don't
see the point of having the assert, so let's just remove it.
PR c++/109277
gcc/cp/ChangeLog:
* semantics.cc (check_trait_type): Handle incomplete type directly.
* typeck2.cc (cxx_incomplete_type_diagnostic): Remove assert.
gcc/testsuite/ChangeLog:
* g++.dg/ext/is_convertible5.C: New test.