Wes McKinney created ARROW-7989:
-----------------------------------
Summary: [Developer][C++] IWYU fails on include-cycle in
uriparser/Uri.h
Key: ARROW-7989
URL: https://issues.apache.org/jira/browse/ARROW-7989
Project: Apache Arrow
Issue Type: Bug
Components: C++
Reporter: Wes McKinney
Fix For: 1.0.0
{code}
$ make
[ 8%] Built target jemalloc_ep
[ 8%] Built target toolchain
[ 8%] Built target arrow_dependencies
[ 9%] Building CXX object src/arrow/CMakeFiles/arrow_objlib.dir/util/uri.cc.o
Error running '/home/wesm/code/iwyu/build/bin/include-what-you-use': Cycle in
include-mapping:
"arrow/vendored/uriparser/Uri.h" ->
"arrow/vendored/uriparser/Uri.h"
/home/wesm/code/iwyu/iwyu_include_picker.cc:919: Assertion failed: Cycle in
include-mapping
Child aborted
src/arrow/CMakeFiles/arrow_objlib.dir/build.make:842: recipe for target
'src/arrow/CMakeFiles/arrow_objlib.dir/util/uri.cc.o' failed
make[2]: *** [src/arrow/CMakeFiles/arrow_objlib.dir/util/uri.cc.o] Error 1
CMakeFiles/Makefile2:864: recipe for target
'src/arrow/CMakeFiles/arrow_objlib.dir/all' failed
make[1]: *** [src/arrow/CMakeFiles/arrow_objlib.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
{code}
According to
https://github.com/include-what-you-use/include-what-you-use/issues/424#issuecomment-555098094
it should be possible to break the cycle and make IWYU happy using a mapping
file. Apparently Boost has a lot of include cycles and so they have had to fix
this
--
This message was sent by Atlassian Jira
(v8.3.4#803005)