diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2019-05-16 15:56:26 +0000 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2019-05-16 15:56:26 +0000 |
commit | 402ca78c436bcd1973136a23c7dfa85f1e1c584f (patch) | |
tree | 51da9cd1defc52b05846d6cdd43797d3d1534d79 /libcxx/test/std/utilities/meta | |
parent | daa91492dd93f76fd3212bfe338f3fe41c30d26e (diff) | |
download | bcm5719-llvm-402ca78c436bcd1973136a23c7dfa85f1e1c584f.tar.gz bcm5719-llvm-402ca78c436bcd1973136a23c7dfa85f1e1c584f.zip |
Improve the test coverage for std::is_base_of
llvm-svn: 360911
Diffstat (limited to 'libcxx/test/std/utilities/meta')
-rw-r--r-- | libcxx/test/std/utilities/meta/meta.rel/is_base_of.pass.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libcxx/test/std/utilities/meta/meta.rel/is_base_of.pass.cpp b/libcxx/test/std/utilities/meta/meta.rel/is_base_of.pass.cpp index ec27581a4f9..b50cf57ed16 100644 --- a/libcxx/test/std/utilities/meta/meta.rel/is_base_of.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.rel/is_base_of.pass.cpp @@ -39,6 +39,7 @@ struct B {}; struct B1 : B {}; struct B2 : B {}; struct D : private B1, private B2 {}; +struct I0; // incomplete int main(int, char**) { @@ -54,5 +55,19 @@ int main(int, char**) test_is_not_base_of<B[3], D[3]>(); test_is_not_base_of<int, int>(); +// A scalar is never the base class of anything (including incomplete types) + test_is_not_base_of<int, B>(); + test_is_not_base_of<int, B1>(); + test_is_not_base_of<int, B2>(); + test_is_not_base_of<int, D>(); + test_is_not_base_of<int, I0>(); + +// A scalar never has base classes (including incomplete types) + test_is_not_base_of<B, int>(); + test_is_not_base_of<B1, int>(); + test_is_not_base_of<B2, int>(); + test_is_not_base_of<D, int>(); + test_is_not_base_of<I0, int>(); + return 0; } |