On Fri, Oct 18, 2024 at 05:07:20PM +0100, Lorenzo Stoakes wrote: [snip] > Firstly, as I said, the code _does not compile_ if I do not use braces in > many cases. This is probably an issue with the macros, but it is out of > scope for this series for me to fix that. > > 'Fixing' these cases results in: > > CC guard-pages > guard-pages.c: In function ‘guard_pages_split_merge’: > guard-pages.c:566:17: error: ‘else’ without a previous ‘if’ > 566 | else > | ^~~~ > guard-pages.c: In function ‘guard_pages_dontneed’: > guard-pages.c:666:17: error: ‘else’ without a previous ‘if’ > 666 | else > | ^~~~ > guard-pages.c: In function ‘guard_pages_fork’: > guard-pages.c:957:17: error: ‘else’ without a previous ‘if’ > 957 | else > | ^~~~ > guard-pages.c: In function ‘guard_pages_fork_wipeonfork’: > guard-pages.c:1010:17: error: ‘else’ without a previous ‘if’ > 1010 | else > | ^~~~ [snip] An added note - the fact this happens makes the macros suspect everywhere, and I am concerned single-lining them might break or cause failures not to propagate perhaps, which led to me _never_ single-lining them I believe and accounts for a bunch of the warnings. I can go through and manually test each one to make sure before I single-line them if necessary.