https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109183
--- Comment #3 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- dump files now consistently take the base name from the output name, when not overridden since in this case gcc is called for (compiling and) linking, and the final output name is a.* (.out or .exe, depending on the platform), the prefix for dump files is taken to be 'a'. since there could be multiple source files, the source file name is then appended to the prefix to form each compilation's dump file base name. using the randomized temporary output names for each compilation wouldn't make for predictable dump file names, which was a primary motivator for this implementation. enabling separate dump files from multiple compilations of the same source file was another. change can be surprising, but the previous behaviors (they changed over time) were very often undesirable, now (because we have tons of tests for the current behavior) it will hopefully settle down, and will eventually feel intuitive and just "right" :-) thanks for bearing with us,