libstdc++: Use built-ins for some variable templates
authorJonathan Wakely <jwakely@redhat.com>
Wed, 31 Aug 2022 14:00:24 +0000 (15:00 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 1 Sep 2022 19:31:00 +0000 (20:31 +0100)
commitcd20d9482a1f10ddf1c398c1a1d8421f97dfdefa
tree1a83467f811f25b52b5ced57d048d650dcab2e19
parent0a4b219d39c74aec7ebf87ac3be38d8f93efd634
libstdc++: Use built-ins for some variable templates

This avoids having to instantiate a class template that just uses the
same built-in anyway.

None of the corresponding class templates have any type-completeness
static assertions, so we're not losing any diagnostics by using the
built-ins directly.

libstdc++-v3/ChangeLog:

* include/std/type_traits (is_enum_v, is_class_v, is_union_v)
(is_empty_v, is_polymoprhic_v, is_abstract_v, is_final_v)
(is_base_of_v, is_aggregate_v): Use built-in directly instead of
instantiating class template.
libstdc++-v3/include/std/type_traits