diff options
author | Mark Mitchell <mark@codesourcery.com> | 2009-11-04 15:47:00 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2009-11-04 15:47:00 +0000 |
commit | 7d6ce94a23b0a7c6398faf7cf6aa515813fde153 (patch) | |
tree | d5f60b19d9114f3dc2d743b3cbee84d72a48ad9a /gcc | |
parent | 1cddcdcac5828432683a159f43534e09606688f4 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/alpha/osf.h | 4 | ||||
-rw-r--r-- | gcc/config/mips/iris.h | 3 | ||||
-rw-r--r-- | gcc/gcc.c | 10 |
4 files changed, 15 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1367409..b9735ef 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-11-03 Mark Mitchell <mark@codesourcery.com> + + 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. + 2009-11-04 Richard Earnshaw <rearnsha@arm.com> PR target/40835 diff --git a/gcc/config/alpha/osf.h b/gcc/config/alpha/osf.h index 2b5165c..81c12aa 100644 --- a/gcc/config/alpha/osf.h +++ b/gcc/config/alpha/osf.h @@ -167,10 +167,6 @@ __enable_execute_stack (void *addr) \ #define LD_INIT_SWITCH "-init" #define LD_FINI_SWITCH "-fini" -/* The linker needs a space after "-o". This allows -oldstyle_liblookup to - be passed to ld. */ -#define SWITCHES_NEED_SPACES "o" - /* Select a format to encode pointers in exception handling data. CODE is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is true if the symbol may be affected by dynamic relocations. diff --git a/gcc/config/mips/iris.h b/gcc/config/mips/iris.h index fce8217..373691e 100644 --- a/gcc/config/mips/iris.h +++ b/gcc/config/mips/iris.h @@ -63,9 +63,6 @@ along with GCC; see the file COPYING3. If not see #undef ASM_FINISH_DECLARE_OBJECT #define ASM_FINISH_DECLARE_OBJECT mips_finish_declare_object -/* The linker needs a space after "-o". */ -#define SWITCHES_NEED_SPACES "o" - /* Specify wchar_t types. */ #undef WCHAR_TYPE #define WCHAR_TYPE (Pmode == DImode ? "int" : "long int") @@ -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. */ |