On Fri, May 20, 2022 at 02:46:20PM +0200, Geert Uytterhoeven wrote: > > The "(void)" makes sure there is no return value. > > Which matters if the result of a function returning void is propagated > > to another function returning void. > > Which, FTR, sparse also doesn't like: > > error: return expression in void function You should get this message only if the expression is itself not void. For example: $ cat test.c extern void fun(void); static void ko(int *ptr) { return *ptr; } static void ok1(int *ptr) { return (void) *ptr; } static void ok2(int *ptr) { return fun(); } $ sparse test.c test.c:5:16: error: return expression in void function IOW, sparse warn only for the ko() but not for ok1() or ok2(). If you have a case whee it s not the case, please send me the pre-processed file and I'll be glad to investigate. Best regards, -- Luc