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.