summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/20_util/variant/compile.cc
diff options
context:
space:
mode:
authorVille Voutilainen <ville.voutilainen@gmail.com>2020-06-29 00:36:38 +0300
committerVille Voutilainen <ville.voutilainen@gmail.com>2020-06-29 00:36:38 +0300
commit24b54628cfa95194a8de4071c28cb56e6e81c08e (patch)
treedd028749f6d9fd43bbc7171330d4e415963387fa /libstdc++-v3/testsuite/20_util/variant/compile.cc
parent75ff24e1920ea6b198350a2961e23175e6108e75 (diff)
downloadgcc-24b54628cfa95194a8de4071c28cb56e6e81c08e.tar.gz
PR libstdc++/95915
PR libstdc++/95915 * include/std/type_traits (is_literal_type, is_literal_type_v): Deprecate in C++17. * include/std/variant (_Uninitialized): Adjust the condition and the comment. * testsuite/20_util/is_literal_type/deprecated-1z.cc: New. * testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc: Adjust. * testsuite/20_util/is_literal_type/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_literal_type/value.cc: Likewise. * testsuite/20_util/optional/constexpr/nullopt.cc: Use __is_literal_type directly. * testsuite/20_util/optional/nullopt.cc: Likewise. * testsuite/20_util/variable_templates_for_traits.cc: Adjust. * testsuite/20_util/variant/95915.cc: New. * testsuite/20_util/variant/compile.cc: Add new test. * testsuite/experimental/optional/constexpr/nullopt.cc: Use __is_literal_type directly. * testsuite/experimental/optional/nullopt.cc: Likewise. * testsuite/experimental/type_traits/value.cc: Adjust. * testsuite/util/testsuite_common_types.h: Use __is_literal_type directly.
Diffstat (limited to 'libstdc++-v3/testsuite/20_util/variant/compile.cc')
-rw-r--r--libstdc++-v3/testsuite/20_util/variant/compile.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/20_util/variant/compile.cc b/libstdc++-v3/testsuite/20_util/variant/compile.cc
index b2b60d1cf10..5f681754b5f 100644
--- a/libstdc++-v3/testsuite/20_util/variant/compile.cc
+++ b/libstdc++-v3/testsuite/20_util/variant/compile.cc
@@ -84,6 +84,10 @@ struct nonliteral
bool operator>(const nonliteral&) const;
};
+struct virtual_default_dtor {
+ virtual ~virtual_default_dtor() = default;
+};
+
void default_ctor()
{
static_assert(is_default_constructible_v<variant<int, string>>);
@@ -95,6 +99,9 @@ void default_ctor()
static_assert(noexcept(variant<int>()));
static_assert(!noexcept(variant<Empty>()));
static_assert(noexcept(variant<DefaultNoexcept>()));
+ {
+ variant<virtual_default_dtor> a;
+ }
}
void copy_ctor()