https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121397
--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > I must say I have no idea why the forward declaration is there at all, it > isn't > needed even for -Wstrict-prototypes when it is static, the unused attribute if > needed (doesn't gcc just not warn about "unused" functions with constructor > attribute?) can be added to the definition as well. I have no idea either: I've just moved the code there from gcc/libgcc2.c during the libgcc cleanup 14 years ago.