https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105935
Bug ID: 105935 Summary: libgfortran build fails if HAVE_VSNPRINTF test fails Product: gcc Version: 10.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libfortran Assignee: unassigned at gcc dot gnu.org Reporter: phil at krylov dot eu CC: jb at gcc dot gnu.org Target Milestone: --- The commit edaaef601d0d6d263fba87b42d6d04c99dd23dba [1] transforms st_vprintf() function in libgfortran/into gf_vsnprintf() and #ifndefs it out [2]. It seems the code has never been finished, but I've luckily created an environment where HAVE_VSNPRINTF test fails (mingw-w64 10.0, see the respective ticket [3]), and: /usr/ports/lang/gcc10/work-i686_w64_mingw32/gcc-10.3.0/libgfortran/runtime/error.c: In function 'gf_vsnprintf': /usr/ports/lang/gcc10/work-i686_w64_mingw32/gcc-10.3.0/libgfortran/runtime/error.c:145:22: error: 'buffer' undeclared (first use in this function) 145 | written = vsprintf(buffer, format, ap); | ^~~~~~ /usr/ports/lang/gcc10/work-i686_w64_mingw32/gcc-10.3.0/libgfortran/runtime/error.c:145:22: note: each undeclared identifier is reported only once for each function it appears in /usr/ports/lang/gcc10/work-i686_w64_mingw32/gcc-10.3.0/libgfortran/runtime/error.c:147:15: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 147 | if (written >= size - 1) | ^~ /usr/ports/lang/gcc10/work-i686_w64_mingw32/gcc-10.3.0/libgfortran/runtime/error.c:141:21: warning: unused parameter 'str' [-Wunused-parameter] 141 | gf_vsnprintf (char *str, size_t size, const char *format, va_list ap) | ~~~~~~^~~ gmake[6]: *** [Makefile:2802: error.lo] Error 1 By the way, even after renaming `str` argument to `buffer` as was probably intended, the #ifndefed-out code seems quite dangerous by modern standards (it ignores the buffer size, lets vsprintf() produce a buffer overrun, and only then reports it). [1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=edaaef601d0d6d263fba87b42d6d04c99dd23dba [2] https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff;f=libgfortran/runtime/error.c;h=b07a4c0b12a57e93ee4546c074cfc2b081f49e5d;hp=1e8b6223aca5683c9721b4fec7b33fbd6275a6f1;hb=edaaef601d0d6d263fba87b42d6d04c99dd23dba;hpb=5b4dd0158308d1a3effffd6316f1b39fdd1ad120 [3] https://sourceforge.net/p/mingw-w64/bugs/935/