[pkg-boost-devel] Bug#789329: Bug#789329: libboost-wave-dev: Requesting the activation of BOOST_WAVE_SUPPORT_MS_EXTENSIONS compilation flag

Vincent Hobeïka vincent.hobeika at gmail.com
Mon Sep 28 08:46:19 UTC 2015


Hi,
"Steve M. Robbins" <steve at sumost.ca> writes:
> Did you try simply building vera++ with this flag against the existing
> Boost.Wave library?

Sorry for the long delay since your last answer.
I took some time to review and test what you told me.

I was thrilled when I read your suggestions. Yet after some testing
it appeared that it does not work:

[vincent][0]~/tmp/vera++-1.3.0/build$ ctest -R RuleDUMP -V | grep stdcall
72: 4/0 identifier__stdcall
--------^
72: 4/0 msext_stdcall__stdcall
Errors while running CTest

So I tried to understand why this flag was tied to the compilation options of boost.

After some research in the code I have come to realise that the
BOOST_WAVE_SUPPORT_MS_EXTENSIONS flag is used to is the
BOOST_WAVE_CONFIG define which is a mask of bits:

http://sources.debian.net/src/boost1.55/1.55.0%2Bdfsg-4/boost/wave/wave_config_constant.hpp/?hl=61#L61

This define is used to provide some tests in order to check the configuration of the calling application:
http://sources.debian.net/src/boost1.55/1.55.0%2Bdfsg-4/libs/wave/src/wave_config_constant.cpp/?hl=37#L37

But it doesn't seem to be the real problem…

After further research I have come up to the following. lexertl::init_data() is a templated function involving
the BOOST_WAVE_SUPPORT_MS_EXTENSIONS flag too:

http://sources.debian.net/src/boost1.55/1.55.0%2Bdfsg-4/libs/wave/samples/list_includes/lexertl/lexertl_lexer.hpp/?hl=328#L186

My guess is that the code containing the tokens that vera++ needs is
stripped in the non templated version of this function during the
compilation of boost wave.

http://sources.debian.net/src/boost1.55/1.55.0+dfsg-4/libs/wave/samples/list_includes/lexertl/lexertl_lexer.hpp/?hl=328#L328

Thus, it seems I don't have many solutions here. It seems that if
BOOST_WAVE_SUPPORT_MS_EXTENSIONS is not activated when compiling
boost wave, there will be no chances for vera++ to catch these
precious tokens.

Could anyone here with better knowledge and understanding of boost
wave could confirm this please?

Is there any problem setting this flag in boost wave for debian?

Thanks in advance.

Best regards,
--
Vincent Hobeïka
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-boost-devel/attachments/20150928/6d7bcf52/attachment.sig>


More information about the pkg-boost-devel mailing list