https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33980
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>: https://gcc.gnu.org/g:cddb6dd6668843db351807ab8d2ff7440109f39a commit r14-1000-gcddb6dd6668843db351807ab8d2ff7440109f39a Author: Andrew Pinski <apin...@marvell.com> Date: Fri May 19 06:12:49 2023 +0000 Fix driver/33980: Precompiled header file not removed on error So the problem here is that in the spec files, we were not marking the pch output file to be removed on error. The way to fix this is to mark the --output-pch argument as the output file argument. For the C++ specs file, we had to move around where the %V was located such that it would be after the %w marker as %V marker clears the outputfiles. OK? Bootstrapped and tested on x86_64-linux-gnu. gcc/cp/ChangeLog: PR driver/33980 * lang-specs.h ("@c++-header"): Add %w after the --output-pch. ("@c++-system-header"): Likewise. ("@c++-user-header"): Likewise. gcc/ChangeLog: PR driver/33980 * gcc.cc (default_compilers["@c-header"]): Add %w after the --output-pch.