cppcheck/test/cfg/boost.cpp
versat 6f7612de03 boost.cfg: Add argument directions; some fixes; rearrange and document.
- Remove redundant function configurations for the same function since
it is not (yet) possible to configure overloaded functions. Instead mark
the optional arguments with `default="0"` so the configuration works
with a different number of arguments.
- Add documentation to boost.cfg (links and function declarations).
- Rearranged configurations so functions, defines, ... are together now.
- Add `direction` for function arguments where applicable.
- Add some tests to boost.cpp.
2019-03-15 11:13:08 +01:00

61 lines
1.3 KiB
C++

// Test library configuration for boost.cfg
//
// Usage:
// $ cppcheck --check-library --enable=information --error-exitcode=1 --suppress=missingIncludeSystem --inline-suppr test/cfg/boost.cpp
// =>
// No warnings about bad library configuration, unmatched suppressions, etc. exitcode=0
//
#include <boost/config.hpp>
#include <boost/math/special_functions/round.hpp>
#include <boost/endian/conversion.hpp>
BOOST_FORCEINLINE void boost_forceinline_test()
{
}
BOOST_NOINLINE void boost_noinline_test()
{
}
BOOST_NORETURN void boost_noreturn_test()
{
}
void valid_code()
{
if (BOOST_LIKELY(1)) {
}
if (BOOST_UNLIKELY(0)) {
}
int int1 = 5;
boost::endian::endian_reverse_inplace(int1);
}
void ignoredReturnValue(char * buf)
{
// cppcheck-suppress ignoredReturnValue
boost::math::round(1.5);
// cppcheck-suppress ignoredReturnValue
boost::math::iround(1.5);
// cppcheck-suppress ignoredReturnValue
boost::math::lround(1.5);
// cppcheck-suppress ignoredReturnValue
boost::math::llround(1.5);
// cppcheck-suppress ignoredReturnValue
boost::endian::endian_reverse(1);
}
void uninitvar()
{
int intUninit1;
int intUninit2;
// cppcheck-suppress uninitvar
boost::endian::endian_reverse_inplace(intUninit1);
// cppcheck-suppress uninitvar
(void)boost::math::round(intUninit2);
}