note this is later bootstrap stages so shouldn't matter what the bootstrap compiler was (assuming it compiled the compiler reasonably correctly) For the missing prototypes, I suggest you just put them right there: void Foo(void); void Foo(void) { ... } for the uninitialized I suggest just initializing them and not worrying about it. For the cast I already posted a patch adding const. The shifts are buried in macros and I didn't look so not sure. Personally if I want (a << 32) I'd just do ((a << 31) << 1)..or, uh, just 0, but that may or may not be relevant here. _darwin10_Unwind_FindEnclosingFunction I didn't look at. I'll maybe come back to this myself, hopefully that's not an abuse of gcc bugzilla (esp. given that this is not using -disable-bootstrap so not a terrible bug report). I'm surprised -Werror isn't used here. I suggest -Wmissing-prototypes only apply to callers not implementers? I realize it is a tradeoff, because you want to make sure there is a prototype somewhere for callers (though not really for libgcc math helpers...) and forcing the implementor to pull that in is a reasonable way to make that so. /home/jayk/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2.c: In function 'uw_init_context_1': /home/jayk/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2.c:1452:5: warning: missing initializer /home/jayk/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2.c:1452:5: warning: (near initialization for 'once_regsizes.__reserved') /Users/jay/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2-fde-darwin.c: At top level: /Users/jay/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2-fde-darwin.c:279:1: warning: no previous prototype for '_darwin10_Unwind_FindEnclosingFunction' /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -m32 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -Wno-missing-prototypes -Wno-type-limits -o fixunstfsi_s.o -MT fixunstfsi_s.o -MD -MP -MF fixunstfsi_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/fixunstfsi.c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/fixunstfsi.c: In function '__fixunstfsi': /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/fixunstfsi.c:42:3: warning: left shift count >= width of type /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -m32 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -Wno-missing-prototypes -Wno-type-limits -o multf3_s.o -MT multf3_s.o -MD -MP -MF multf3_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/multf3.c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/multf3.c: In function '__multf3': /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/multf3.c:38:1: warning: 'R_e' may be used uninitialized in this function /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o darwin-64_s.o -MT darwin-64_s.o -MD -MP -MF darwin-64_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/darwin-64.c /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o addtf3_s.o -MT addtf3_s.o -MD -MP -MF addtf3_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/addtf3.c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/addtf3.c:35:8: warning: no previous prototype for '__addtf3' /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o divtf3_s.o -MT divtf3_s.o -MD -MP -MF divtf3_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/divtf3.c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/divtf3.c:35:8: warning: no previous prototype for '__divtf3' /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/divtf3.c: In function '__divtf3': /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/divtf3.c:38:1: warning: 'R_e' may be used uninitialized in this function /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o eqtf2_s.o -MT eqtf2_s.o -MD -MP -MF eqtf2_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/eqtf2.c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/eqtf2.c:35:9: warning: no previous prototype for '__eqtf2' /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/eqtf2.c:51:1: warning: no previous prototype for '__netf2' /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o getf2_s.o -MT getf2_s.o -MD -MP -MF getf2_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/getf2.c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/getf2.c:35:9: warning: no previous prototype for '__getf2' /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/getf2.c:51:1: warning: no previous prototype for '__gttf2' /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o letf2_s.o -MT letf2_s.o -MD -MP -MF letf2_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/letf2.c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/letf2.c:35:9: warning: no previous prototype for '__letf2' /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/letf2.c:51:1: warning: no previous prototype for '__lttf2' /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o multf3_s.o -MT multf3_s.o -MD -MP -MF multf3_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/multf3.c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/multf3.c:35:8: warning: no previous prototype for '__multf3' /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/multf3.c: In function '__multf3': /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/multf3.c:38:1: warning: 'R_e' may be used uninitialized in this function /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o negtf2_s.o -MT negtf2_s.o -MD -MP -MF negtf2_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/negtf2.c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/negtf2.c:35:8: warning: no previous prototype for '__negtf2' /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o subtf3_s.o -MT subtf3_s.o -MD -MP -MF subtf3_s.dep -DSHARED -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/subtf3.c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/subtf3.c:35:8: warning: no previous prototype for '__subtf3' /Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/ -B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem /Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/. -I/Users/jay/src/gcc-4.5.0/libgcc/../gcc -I/Users/jay/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o unwind-dw2-fde-darwin.o -MT unwind-dw2-fde-darwin.o -MD -MP -MF unwind-dw2-fde-darwin.dep -fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2-fde-darwin.c -fvisibility=hidden -DHIDE_EXPORTS In file included from /Users/jay/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2-fde-darwin.c:36:0: /Users/jay/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2-fde.h: In function 'last_fde': /Users/jay/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2-fde.h:173:3: warning: cast discards qualifiers from pointer target type /Users/jay/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2-fde-darwin.c: At top level: /Users/jay/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2-fde-darwin.c:279:1: warning: no previous prototype for '_darwin10_Unwind_FindEnclosingFunction'
I see the soft-fl warning for the 4.8 branch (r206161), but not for the trunk (r206155). The "warning: no previous prototype for ..." are still there for both branches. Since this PR is more than three years old without feedback, I prefer to close as fixed (true for the soft-fl part) and open new ones for the different components generating warnings.