https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69552
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Yes, there's no linker output so we use whatever else. We could try falling back to a.out. Similarly without LTO -save-temps overwrites files if you do gcc t.c t.C both assembly and linker files will be t.s/t.o and the link will even fail. t.c --- int main() { foo();} t.C --- extern "C" int foo () {} so hardly a new issue with -save-temps - you need to know what you are doing.