Fix driver/33980: Precompiled header file not removed on error
commitcddb6dd6668843db351807ab8d2ff7440109f39a
authorAndrew Pinski <apinski@marvell.com>
Fri, 19 May 2023 06:12:49 +0000 (19 06:12 +0000)
committerAndrew Pinski <apinski@marvell.com>
Fri, 19 May 2023 17:58:54 +0000 (19 17:58 +0000)
tree26805d16e4dbb312eb9b1c1297f0c65b9d20929d
parentc104ef4b5eb1f781bbef953e3c282ef1ca94c4f1
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.
gcc/cp/lang-specs.h
gcc/gcc.cc