aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2009-11-04 15:47:00 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2009-11-04 15:47:00 +0000
commit7d6ce94a23b0a7c6398faf7cf6aa515813fde153 (patch)
treed5f60b19d9114f3dc2d743b3cbee84d72a48ad9a /gcc/gcc.c
parent1cddcdcac5828432683a159f43534e09606688f4 (diff)
downloadgcc-7d6ce94a23b0a7c6398faf7cf6aa515813fde153.zip
gcc-7d6ce94a23b0a7c6398faf7cf6aa515813fde153.tar.gz
gcc-7d6ce94a23b0a7c6398faf7cf6aa515813fde153.tar.bz2
re PR driver/11810 (gcc -pipe -ox.o -c x.c writes erroneous x.o on compile error)
PR driver/11810 * gcc.c (SWITCHES_NEED_SPACES): Define to "o". * config/alpha/osf.h (SWITCHES_NEED_SPACES): Remove here. * config/mips/iris.h (SWITCHES_NEED_SPACES): Remove here. From-SVN: r153900
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r--gcc/gcc.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/gcc.c b/gcc/gcc.c
index b033d62..0f74dd0 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -684,9 +684,15 @@ proper position among the other output files. */
#endif
/* config.h can define SWITCHES_NEED_SPACES to control which options
- require spaces between the option and the argument. */
+ require spaces between the option and the argument.
+
+ We define SWITCHES_NEED_SPACES to include "o" by default. This
+ causes "-ofoo.o" to be split into "-o foo.o" during the initial
+ processing of the command-line, before being seen by the specs
+ machinery. This makes sure we record "foo.o" as the temporary file
+ to be deleted in the case of error, rather than "-ofoo.o". */
#ifndef SWITCHES_NEED_SPACES
-#define SWITCHES_NEED_SPACES ""
+#define SWITCHES_NEED_SPACES "o"
#endif
/* config.h can define ENDFILE_SPEC to override the default crtn files. */