Conversation
869ced0 to
55d6e09
Compare
55d6e09 to
4c5e574
Compare
4c5e574 to
4e62f79
Compare
|
👉 View analysis in DeepCode’s Dashboard | Configure the bot |
ba919d1 to
4ee33ca
Compare
|
The order of includes I established in this PR is:
AFTER the block of includes two blank lines should be present before anything else. For header files item 2 is simply skipped. Important note: For functions used as part of macro defines you must add an IWYU pragma to keep these headers. Otherwise IWYU will suggest to remove them as unused AND ask each and every user of a define to include those headers. This is BTW another good reason to avoid function-like defines in headers and replace them as inline functions. |
8d59218 to
4004cc2
Compare
15ecd94 to
fc399a9
Compare
fc399a9 to
c6b42ac
Compare
Information as seen by IWYU 0.12 + clang 9 on Linux
c6b42ac to
0f52629
Compare
LGTM. The 'run_iwyu.sh' script looks like it uses bash-isms - perhaps it should use a /bin/bash shebang line instead of /bin/sh? (the run_valgrind script has the same issue, so I'm gonna ignore it for now - feel free to follow up though)
Hmm - that sounds more like a bug in IWYU than a good reason to do anything, TBH. |
This updates all source files to mention exactly those includes required for compiling.
Tested with IWYU 0.12 + clang 9. Please report issues with other setups.
NB: IWYU sometimes has issues with finding certain declarations and reports compile issues in these cases. If plain
clangcompiles then this is an issue with IWYU. Such issues can usually be ignored.FWIW: IWYU sees functions used inside defines as being used where the macro is used, not where the define is declared. This is a good reason to adopt #154 to avoid this issue.
As I'm sure there will be compile issues on some platforms with this as is I'm just drafting this for now.