Linting boost (particually asio)

PC-lint Plus User Discussion
Post Reply
nopcode85

Linting boost (particually asio)

Post by nopcode85 »

Trying to lint a smallish project using the boost::asio library, and pclint is crashing. All it takes is a simple test.cpp file with no code, just a single include.

test.cpp:

Code: Select all

#include <boost/asio.hpp>
And then the command line:

c:\msdev\lint\pclp64.exe -iMyLintFolder -i"." -u "std.lnt" "test.cpp"

And I get a flurry of errors:

Code: Select all

--- Module:   test.cpp (C++)
      is_nothrow_query<const Executor&, blocking_t<>::possibly_t>::value))
boost\asio\execution\blocking.hpp(332): error 5682: (error -- implicit instantiation of template 'struct boost::asio::execution::detail::blocking_t<0>' within its own definition)
      is_nothrow_query<const Executor&, blocking_t<>::possibly_t>::value))
boost\asio\execution\blocking.hpp(332): error 5849: (error -- no type named 'value' in the global namespace)
#   define BOOST_ASIO_NOEXCEPT_IF(c) BOOST_NOEXCEPT_IF(c)
boost\asio\detail\config.hpp(294): error 893: (supplemental -- expanded from macro 'BOOST_ASIO_NOEXCEPT_IF')
More of the same and then...

Code: Select all

boost\asio\execution\bulk_guarantee.hpp(866): error 5849: (error -- no type named 'is_valid' in the global namespace)
  >::type>
boost\asio\execution\bulk_execute.hpp(198): error 5849: (error -- no type named 'type' in the global namespace)

                   === CRASH ===
PC-lint Plus 1.3.5 for Windows has crashed: Diag Info Code 0.
Please contact Gimpel Software Technical Support at support@gimpel.com.
If feasible, please provide a reduced test case along with any necessary
options/configuration required to reproduce the issue.

Thread: test.cpp
                   === CRASH ===
Obviously not great, so I wonder if there is a way to simple tell pcLint to just flat-out not lint the boost file - for example, something like a #pragma warning push/pop block?
Post Reply