https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122691
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jakub Jelinek <[email protected]>: https://gcc.gnu.org/g:246ec58c9bc56bf454f7781c2f1b8e72bbe30394 commit r16-5302-g246ec58c9bc56bf454f7781c2f1b8e72bbe30394 Author: Jakub Jelinek <[email protected]> Date: Sat Nov 15 16:04:56 2025 +0100 cobol: Fix bootstrap [PR122691] Andrew's recent r16-5258 change broke bootstrap on x86_64-linux with cobol enabled, the error is ../../gcc/cobol/lexio.cc: In function âstd::pair<std::__cxx11::list<replace_t>, char*> parse_replace_pairs(const char*, const char*, bool)â: ../../gcc/cobol/lexio.cc:907:76: error: â%.*sâ directive argument is null [-Werror=format-overflow=] 907 | dbgmsg( "%s:%d: %s: " HOST_SIZE_T_PRINT_UNSIGNED " pairs parsed from '%.*s'", | ^~~~ The problem is that some jump threading is happening now that didn't happen before and a dbgmsg call is duplicated, once with 0, NULL as the last two arguments, once with some size and pointer. The following patch makes sure we never call it with NULL pointer, even when the size is 0, to silence the warning. 2025-11-15 Jakub Jelinek <[email protected]> PR cobol/122691 * lexio.cc (parse_replace_pairs): Replace parsed.stmt.p with parsed.stmt.size() ? parsed.stmt.p : "" in the last argument to dbgmsg.
