diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index bf07950..1648d46 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -61,4 +61,4 @@ system-run failed_constexpr_test.cpp ; # Quick (CI) test run quick.cpp ; -run quick.cpp : : : all on gcc:-Wnon-virtual-dtor clang:-Wnon-virtual-dtor : warnings_test ; +run warnings_test.cpp : : : all on gcc:-Wnon-virtual-dtor clang:-Wnon-virtual-dtor ; diff --git a/test/warnings_test.cpp b/test/warnings_test.cpp new file mode 100644 index 0000000..f7554e1 --- /dev/null +++ b/test/warnings_test.cpp @@ -0,0 +1,42 @@ + +// Copyright 2017, 2019 Peter Dimov. +// +// Distributed under the Boost Software License, Version 1.0. +// +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt + +// See library home page at http://www.boost.org/libs/system + +#include + +#if defined( BOOST_GCC ) && BOOST_GCC < 40600 +#pragma GCC diagnostic ignored "-Wnon-virtual-dtor" +#endif + +#include +#include +#include + +int main() +{ + boost::system::error_category const & bt = boost::system::generic_category(); + + int ev = ENOENT; + + boost::system::error_code bc( ev, bt ); + + BOOST_TEST_EQ( bc.value(), ev ); + BOOST_TEST_EQ( &bc.category(), &bt ); + + boost::system::error_condition bn = bt.default_error_condition( ev ); + + BOOST_TEST_EQ( bn.value(), ev ); + BOOST_TEST_EQ( &bn.category(), &bt ); + + BOOST_TEST( bt.equivalent( ev, bn ) ); + + BOOST_TEST( bc == bn ); + + return boost::report_errors(); +}