diff options
Diffstat (limited to 'test/std/experimental/optional/optional.object/optional.object.observe')
3 files changed, 11 insertions, 2 deletions
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp index cf900d7029e1..46586c65a6e0 100644 --- a/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp +++ b/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp @@ -51,6 +51,9 @@ int main() { constexpr optional<Z> opt(Z{}); assert(opt->test() == 1); +#ifndef _LIBCPP_HAS_NO_BUILTIN_ADDRESSOF + static_assert(opt->test() == 1, ""); +#endif } #ifdef _LIBCPP_DEBUG { diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp index b998f3067f4f..c8f07111c23d 100644 --- a/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp +++ b/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++98, c++03, c++11 -// XFAIL: libcpp-no-exceptions // <optional> // T& optional<T>::value(); @@ -17,6 +16,8 @@ #include <type_traits> #include <cassert> +#include "test_macros.h" + using std::experimental::optional; using std::experimental::bad_optional_access; @@ -35,6 +36,7 @@ int main() opt.emplace(); assert(opt.value().test() == 4); } +#ifndef TEST_HAS_NO_EXCEPTIONS { optional<X> opt; try @@ -46,4 +48,5 @@ int main() { } } +#endif } diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp index a38b1f930c72..98ff16e4d13b 100644 --- a/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp +++ b/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++98, c++03, c++11 -// XFAIL: libcpp-no-exceptions // <optional> // constexpr const T& optional<T>::value() const; @@ -17,6 +16,8 @@ #include <type_traits> #include <cassert> +#include "test_macros.h" + using std::experimental::optional; using std::experimental::in_place_t; using std::experimental::in_place; @@ -40,6 +41,7 @@ int main() const optional<X> opt(in_place); assert(opt.value().test() == 3); } +#ifndef TEST_HAS_NO_EXCEPTIONS { const optional<X> opt; try @@ -51,4 +53,5 @@ int main() { } } +#endif } |
