FreeBSD の arm64 の BOOST_CHECK_THROW の動作がおかしい ― 2024年03月15日 13時16分35秒
問題があるのは、一部の BOOST_CHECK_THROW。残念だが、完全な再現条件は特定していない。ただ、例外の撒き戻し処理に一部想定外の事が起こっているようで、std::terminate が呼ばれてしまっている。
取り合えず、BOOST_CHECK_THROW の例。
このコードは arm64 でも問題なく処理できている。
#define BOOST_TEST_MODULE Verify Std C++
#include <boost/test/unit_test.hpp>
#include <boost/test/included/unit_test.hpp>
BOOST_AUTO_TEST_CASE( test_throw )
{
BOOST_CHECK_THROW(throw 1, int);
}
% c++ -I /usr/local/include/ -L /usr/local/lib -l boost_unit_test_framework boost_unit_test_exception.cpp
% ./a.out
Running 1 test case...
*** No errors detected
最近のコメント