https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83437
Bernd Edlinger <edlinger at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #7 from Bernd Edlinger <edlinger at gcc dot gnu.org> --- Yes, in C++ "void (*) ()" means exactly the same as "void (*) (void)" so that should be guaranteed to suppress the warning here. IMHO when casting between completely unrelated function types this warning is justified and often points out a potential problem.