diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-02-11 13:25:42 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-02-11 13:25:42 +0000 |
| commit | e392b74caad5d93946653d4656f1b354fa0ef713 (patch) | |
| tree | 0432181d8ae0e410bfb961f7d0a14a6b60b68b6c /test/std/utilities | |
| parent | 7c24d4db412189cf83de2bb328543564c8ad9224 (diff) | |
Notes
Diffstat (limited to 'test/std/utilities')
| -rw-r--r-- | test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp | 6 | ||||
| -rw-r--r-- | test/std/utilities/variant/variant.visit/visit.pass.cpp | 11 |
2 files changed, 14 insertions, 3 deletions
diff --git a/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp b/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp index 85e36d2c107d..d96f70bb7ba4 100644 --- a/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp +++ b/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp @@ -11,7 +11,7 @@ // <optional> -// class bad_optional_access : public logic_error +// class bad_optional_access : public exception #include <optional> #include <type_traits> @@ -20,6 +20,6 @@ int main() { using std::bad_optional_access; - static_assert(std::is_base_of<std::logic_error, bad_optional_access>::value, ""); - static_assert(std::is_convertible<bad_optional_access*, std::logic_error*>::value, ""); + static_assert(std::is_base_of<std::exception, bad_optional_access>::value, ""); + static_assert(std::is_convertible<bad_optional_access*, std::exception*>::value, ""); } diff --git a/test/std/utilities/variant/variant.visit/visit.pass.cpp b/test/std/utilities/variant/variant.visit/visit.pass.cpp index 46d225883ae9..408a65c0903f 100644 --- a/test/std/utilities/variant/variant.visit/visit.pass.cpp +++ b/test/std/utilities/variant/variant.visit/visit.pass.cpp @@ -283,9 +283,20 @@ void test_exceptions() { #endif } +// See http://llvm.org/PR31916 +void test_caller_accepts_nonconst() { + struct A {}; + struct Visitor { + void operator()(A&) {} + }; + std::variant<A> v; + std::visit(Visitor{}, v); +} + int main() { test_call_operator_forwarding(); test_argument_forwarding(); test_constexpr(); test_exceptions(); + test_caller_accepts_nonconst(); } |
