Hi,
I'm a first-time user of include-what-you-use, trying to run it on our software suite. Unfortunately, I've run into an issue with Boost. Fortunately, it can be reproduced with a simple source file with an empty main and only the include <boost/spirit/include/qi.hpp>.
I've tried using the mapping file boost-1.75-all-private.imp; I've also tried generating a specific mapping file for 1.79 following the comments in the 1.75 file, but I still get the following error:
Cycle in include-mapping:
<boost/preprocessor/iteration/detail/iter/forward1.hpp> ->
<boost/spirit/home/support/detail/as_variant.hpp> ->
<boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp> ->
<boost/preprocessor/iteration/detail/iter/forward1.hpp> ->
<boost/preprocessor/iteration/detail/iter/forward1.hpp>
/scratch/greenc/test-products/iwyu/v0_18/src/include-what-you-use-0.18/iwyu_include_picker.cc:1081: Assertion failed: Cycle in include-mapping
Subprocess aborted
Should I be using the boost-1.75-all.imp in addition to boost-1.75-all-private.imp, or generating one for 1.79 and using the two together, or is there something else I'm missing? I've been programming C++ for >25y, but I'm stumped by Boost's use of preprocessor iteration and how IWYU can accommodate it.
I can provide more information/output if it would help.
Thanks for any help or advice,
Chris.