forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
dnf
dnf install gcc-c++ cmake make python3 libevent-devel boost-devel sqlite-devel zeromq-devel systemtap-sdt-devel capnproto qt6-qtbase-devel qt6-qttools-devel qt6-qtwayland qrencode-devel llvm-devel clang-devel libtool autoconf automake clang llvm lbzip2 patch xz curl htop git vim ccache -y && git clone https://github.com/bitcoin/bitcoin.git --depth=1 ./b-c && cd b-c
git clone --depth=1 https://github.com/include-what-you-use/include-what-you-use -b clang_20 /include-what-you-use
cmake -B /build_iwyu/ -G 'Unix Makefiles' -S /include-what-you-use -DCMAKE_PREFIX_PATH=/usr/lib/clang/20 # ?
make -C /build_iwyu/ install -j $(nproc)
cmake -B bld-cmake -DWITH_ZMQ=ON -DBUILD_BENCH=ON -DWITH_ZMQ=ON -DCMAKE_CXX_COMPILER='clang++;-I/usr/lib/clang/20/include' -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
python3 "/include-what-you-use/iwyu_tool.py" -p ./bld-cmake -j 9 -- -Xiwyu --cxx17ns -Xiwyu --mapping_file="$PWD/contrib/devtools/iwyu/bitcoin.core.imp" 2>&1 | tee /tmp/iwyu_ci.out
echo 'aW1wb3J0IHN1YnByb2Nlc3MKaW1wb3J0IGFyZ3BhcnNlCiAgICAgICAgCgpkZWYgbWFpbigpOgog
ICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249IlByZS0gb3Ig
UG9zdC1wcm9jZXNzIGZpbGVzIGZvciBpd3l1LiIpCiAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCct
LWJ3ZCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhlbHA9IlBvc3QtcHJvY2VzcyIpCiAgICBhcmdz
ID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQoKICAgIHNyY19maWxlcyA9IHN1YnByb2Nlc3MucnVuKFsn
Z2l0JywgJ2xzLWZpbGVzJywgJ3NyYy8qLmgnICwgJ3NyYy8qLmNwcCddLCBjYXB0dXJlX291dHB1
dD1UcnVlLCB0ZXh0PVRydWUsIGNoZWNrPVRydWUpICAgICAgICAgIC5zdGRvdXQuc3RyaXAoKS5z
cGxpdGxpbmVzKCkKICAgIGhlYWRlcnMgPSBzdWJwcm9jZXNzLnJ1bihbJ2dpdCcsICdscy1maWxl
cycsICdzcmMvKi5oJ10sIGNhcHR1cmVfb3V0cHV0PVRydWUsIHRleHQ9VHJ1ZSwgY2hlY2s9VHJ1
ZSkgICAgICAgICAgLnN0ZG91dC5zdHJpcCgpLnNwbGl0bGluZXMoKQogICAgaGVhZGVycyA9IFto
LnJlbW92ZXByZWZpeCgnc3JjLycpIGZvciBoIGluIGhlYWRlcnNdCiAgICBoZWFkZXJzLmV4dGVu
ZChbJ2NvbmZpZy9iaXRjb2luLWNvbmZpZy5oJywgJ3VuaXZhbHVlLmgnXSkgIyBnZW5lcmF0ZWQg
aGVhZGVycyBhbmQgaW5jbHVkZWQgc3VidHJlZXMKICAgIHNlZF9jbWQgPSBbJ3NlZCcsICctaScs
XQogICAgZm9yIGggaW4gaGVhZGVyczoKICAgICAgICBzZWRfY21kLmV4dGVuZChbJy1lJywKICAg
ICAgICAgICAgICAgICAgICAgICAgZidzOiJ7aH0iOjx7aH0+OmcnICAgICAgICAgIGlmIGFyZ3Mu
YndkIGVsc2UgIAogICAgICAgICAgICAgICAgICAgICAgICBmJ3M6PHtofT46IntofSI6ZycgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIF0pCiAgICBzZWRfY21kLmV4dGVuZChzcmNf
ZmlsZXMpCiAgICAKICAgIHByaW50KHNlZF9jbWQpCiAgICBzdWJwcm9jZXNzLnJ1bihzZWRfY21k
LCBjaGVjaz1UcnVlKQoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIG1haW4oKQoK' | base64 --decode > /tmp/helper.py
python3 /tmp/helper.py
( cd src && python3 "/include-what-you-use/fix_includes.py" --reorder < /tmp/iwyu_ci.out )
python3 /tmp/helper.py --bwd
diff
diff --git a/fix_includes.py b/fix_includes.py
index 2b95d0e..5b98cb9 100755
--- a/fix_includes.py
+++ b/fix_includes.py
@@ -1538,10 +1538,10 @@ def _GetNamespaceLevelReorderSpans(file_lines):
# These are potential 'kind' arguments to _FirstReorderSpanWith.
# We also sort our output in this order, to the extent possible.
_MAIN_CU_INCLUDE_KIND = 1 # e.g. #include "foo.h" when editing foo.cc
-_C_SYSTEM_INCLUDE_KIND = 2 # e.g. #include <stdio.h>
-_CXX_SYSTEM_INCLUDE_KIND = 3 # e.g. #include <vector>
-_NONSYSTEM_INCLUDE_KIND = 4 # e.g. #include "bar.h"
-_PROJECT_INCLUDE_KIND = 5 # e.g. #include "myproject/quux.h"
+_C_SYSTEM_INCLUDE_KIND = 4 # e.g. #include <stdio.h>
+_CXX_SYSTEM_INCLUDE_KIND = 5 # e.g. #include <vector>
+_NONSYSTEM_INCLUDE_KIND = 2 # e.g. #include "bar.h"
+_PROJECT_INCLUDE_KIND = 3 # e.g. #include "myproject/quux.h"
_FORWARD_DECLARE_KIND = 6 # e.g. class Baz;
_EOF_KIND = 7 # used at eof
bwd
<assert.h>:<cassert>
<ctype.h>:<cctype>
<errno.h>:<cerrno>
<float.h>:<cfloat>
<limits.h>:<climits>
<locale.h>:<clocale>
<math.h>:<cmath>
<setjmp.h>:<csetjmp>
<signal.h>:<csignal>
<stdarg.h>:<cstdarg>
<stddef.h>:<cstddef>
<stdio.h>:<cstdio>
<stdlib.h>:<cstdlib>
<string.h>:<cstring>
<time.h>:<ctime>
<wchar.h>:<cwchar>
<wctype.h>:<cwctype>
<uchar.h>:<cuchar>
<inttypes.h>:<cinttypes>
<stdint.h>:<cstdint>
Metadata
Metadata
Assignees
Labels
No labels