https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63362

--- Comment #23 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Ville Voutilainen from comment #22)
> This test fails the static_assert for TType (which is a trivial type),
> PODType and DelDef, and it would be expected that all those static_asserts
> succeed.

No:

struct A { };

int main()
{
  volatile A a;
  volatile A a2(a); // ill-formed
}

test_category is testing whether volatile TType is trivially
copy-constructible, and it isn't copy-constructible at all.

Incidentally, you don't need to test anything else before
__is_trivially_constructible, it will just return false if the type isn't
constructible at all.  Likewise for assignable.

Looking at the ICE.

Reply via email to