https://gcc.gnu.org/g:7b0a85ab6633f71e0488299b2b3a8e26b7cf7d78
commit r16-6396-g7b0a85ab6633f71e0488299b2b3a8e26b7cf7d78 Author: Egas Ribeiro <[email protected]> Date: Mon Dec 22 21:41:00 2025 +0000 c-family: Fix ICE with -MD and -fdeps-format sharing output [PR121864] When -MD, -fdeps-format=p1689r5 and -save-temps are used without explicit output files, they default to the same stream, which is invalid. The error message attempted to print fdeps_file, but this is NULL in this case, causing an ICE. Use out_fname as a fallback when fdeps_file is NULL to avoid the ICE and provide a meaningful error message. Fix suggested by Andrew Pinski. PR c++/121864 gcc/c-family/ChangeLog: * c-opts.cc (c_common_finish): Use out_fname as fallback when fdeps_file is NULL in error message. Signed-off-by: Egas Ribeiro <[email protected]> Reviewed-by: Jason Merrill <[email protected]> Diff: --- gcc/c-family/c-opts.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc index 8da51759dfd3..4ad5a0278c96 100644 --- a/gcc/c-family/c-opts.cc +++ b/gcc/c-family/c-opts.cc @@ -1490,7 +1490,7 @@ c_common_finish (void) } if (fdeps_stream == deps_stream && fdeps_stream != stdout) fatal_error (input_location, "%<-MF%> and %<-fdeps-file=%> cannot share an output file %s: %m", - fdeps_file); + fdeps_file ? fdeps_file : out_fname); } /* For performance, avoid tearing down cpplib's internal structures
