From 366519de8397852132bcb46076d26befbe09d3da Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Tue, 6 Feb 2024 21:56:29 +0200 Subject: [PATCH] Add workaround for a GCC bug #verification #sonar --- cetlvast/suites/unittest/test_pf17_optional.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cetlvast/suites/unittest/test_pf17_optional.cpp b/cetlvast/suites/unittest/test_pf17_optional.cpp index b98d475b..8e225893 100644 --- a/cetlvast/suites/unittest/test_pf17_optional.cpp +++ b/cetlvast/suites/unittest/test_pf17_optional.cpp @@ -346,11 +346,12 @@ TYPED_TEST(TestOptionalSpecialFunctionPolicy, Common) TYPED_TEST(TestOptionalSpecialFunctionPolicy, Exceptions) { optional opt; - EXPECT_THROW((void) opt.value(), cetl::pf17::bad_optional_access); - EXPECT_THROW((void) std::move(opt).value(), cetl::pf17::bad_optional_access); + const auto sink = [](auto&&) {}; // Workaround for GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425 + EXPECT_THROW(sink(opt.value()), cetl::pf17::bad_optional_access); + EXPECT_THROW(sink(std::move(opt).value()), cetl::pf17::bad_optional_access); opt.emplace(); - EXPECT_NO_THROW((void) opt.value()); - EXPECT_NO_THROW((void) std::move(opt).value()); + EXPECT_NO_THROW(sink(opt.value())); + EXPECT_NO_THROW(sink(std::move(opt).value())); } #endif