]> git.ipfire.org Git - thirdparty/gcc.git/commit
Remove redundant static assertions in [meta.unary.prop] traits
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Jun 2019 12:13:47 +0000 (12:13 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Jun 2019 12:13:47 +0000 (12:13 +0000)
commit6ffe4cf371688563be1680ffb75cc1160540cf2e
treea96dc1ea03015db9f91d556938797031d7cef0ba
parent186ade930fb95c8a0425f76c10fe2c2a029d0039
Remove redundant static assertions in [meta.unary.prop] traits

The type property predicates that are implemented by a compiler builtin
already do the right checks in the compiler. The checks for complete
type or unbounded arrays were wrong for these types anyway.

* include/std/type_traits (is_empty, is_polymorphic, is_final)
(is_abstract, is_aggregate): Remove static_assert.
* testsuite/20_util/is_abstract/incomplete_neg.cc: Check for error
from builtin only.
* testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise. Add
missing -std=gnu++17 option.
* testsuite/20_util/is_empty/incomplete_neg.cc: New test.
* testsuite/20_util/is_final/incomplete_neg.cc: New test.
* testsuite/20_util/is_polymorphic/incomplete_neg.cc: Check for error
from builtin only.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272000 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/type_traits
libstdc++-v3/testsuite/20_util/is_abstract/incomplete_neg.cc
libstdc++-v3/testsuite/20_util/is_aggregate/incomplete_neg.cc
libstdc++-v3/testsuite/20_util/is_empty/incomplete_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/is_final/incomplete_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/is_polymorphic/incomplete_neg.cc