diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-26 17:04:16 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-26 17:04:16 +0000 |
commit | eb31cde6e23e19dffe715eac78b4513d680a8edf (patch) | |
tree | 7dedea3332fdbb66a9633e1476683abb625fc438 /gcc | |
parent | ff24e1e2d718b2d5242fef97bc5b181eeaeb6fb9 (diff) | |
download | gcc-eb31cde6e23e19dffe715eac78b4513d680a8edf.tar.gz |
* collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
* doc/tm.texi (SWITCHES_NEED_SPACES): Don't document.
* gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove.
(static_specs): Remove switches_need_spaces.
(process_command, do_self_spec): Hardcode handling "-o" instead of
checking switches_need_spaces.
* system.h (SWITCHES_NEED_SPACES): Poison.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161436 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/collect2.c | 7 | ||||
-rw-r--r-- | gcc/doc/tm.texi | 7 | ||||
-rw-r--r-- | gcc/gcc.c | 22 | ||||
-rw-r--r-- | gcc/system.h | 2 |
5 files changed, 16 insertions, 32 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 79a1182ca0f..32d0a00f981 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2010-06-26 Joseph Myers <joseph@codesourcery.com> + + * collect2.c (main): Remove SWITCHES_NEED_SPACES conditional. + * doc/tm.texi (SWITCHES_NEED_SPACES): Don't document. + * gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove. + (static_specs): Remove switches_need_spaces. + (process_command, do_self_spec): Hardcode handling "-o" instead of + checking switches_need_spaces. + * system.h (SWITCHES_NEED_SPACES): Poison. + 2010-06-26 Richard Guenther <rguenther@suse.de> PR tree-optimization/44393 diff --git a/gcc/collect2.c b/gcc/collect2.c index b5421179fd2..b26aaf31485 100644 --- a/gcc/collect2.c +++ b/gcc/collect2.c @@ -1535,12 +1535,7 @@ main (int argc, char **argv) case 'o': if (arg[2] == '\0') output_file = *ld1++ = *ld2++ = *++argv; - else if (1 -#ifdef SWITCHES_NEED_SPACES - && ! strchr (SWITCHES_NEED_SPACES, arg[1]) -#endif - ) - + else output_file = &arg[2]; break; diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 87329e019d8..c001c8b9faa 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -141,13 +141,6 @@ should call @code{DEFAULT_SWITCH_CURTAILS_COMPILATION} and then check for additional options. @end defmac -@defmac SWITCHES_NEED_SPACES -A string-valued C expression which enumerates the options for which -the linker needs a space between the option and its argument. - -If this macro is not defined, the default value is @code{""}. -@end defmac - @defmac TARGET_OPTION_TRANSLATE_TABLE If defined, a list of pairs of strings, the first of which is a potential command line target to the @file{gcc} driver program, and the diff --git a/gcc/gcc.c b/gcc/gcc.c index 7376a774180..6a0dae5c5a0 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -664,18 +664,6 @@ proper position among the other output files. */ "%{!shared:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}" #endif -/* config.h can define SWITCHES_NEED_SPACES to control which options - 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 "o" -#endif - /* config.h can define ENDFILE_SPEC to override the default crtn files. */ #ifndef ENDFILE_SPEC #define ENDFILE_SPEC "" @@ -811,7 +799,6 @@ static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; -static const char *switches_need_spaces = SWITCHES_NEED_SPACES; static const char *linker_name_spec = LINKER_NAME; static const char *linker_plugin_file_spec = ""; static const char *lto_wrapper_spec = ""; @@ -1651,7 +1638,6 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), INIT_STATIC_SPEC ("startfile", &startfile_spec), - INIT_STATIC_SPEC ("switches_need_spaces", &switches_need_spaces), INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), INIT_STATIC_SPEC ("multilib", &multilib_select), @@ -4214,9 +4200,9 @@ process_command (int argc, const char **argv) /* Null-terminate the vector. */ switches[n_switches].args[j] = 0; } - else if (strchr (switches_need_spaces, c)) + else if (c == 'o') { - /* On some systems, ld cannot handle some options without + /* On some systems, ld cannot handle "-o" without a space. So split the option from its argument. */ char *part1 = XNEWVEC (char, 2); part1[0] = c; @@ -4786,9 +4772,9 @@ do_self_spec (const char *spec) /* Null-terminate the vector. */ sw->args[j] = 0; } - else if (strchr (switches_need_spaces, c)) + else if (c == 'o') { - /* On some systems, ld cannot handle some options without + /* On some systems, ld cannot handle "-o" without a space. So split the option from its argument. */ char *part1 = XNEWVEC (char, 2); part1[0] = c; diff --git a/gcc/system.h b/gcc/system.h index 49f4918aab0..256ebb1f502 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -769,7 +769,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; ASM_OUTPUT_SHARED_LOCAL ASM_MAKE_LABEL_LINKONCE \ STACK_CHECK_PROBE_INTERVAL STACK_CHECK_PROBE_LOAD \ ORDER_REGS_FOR_LOCAL_ALLOC FUNCTION_OUTGOING_VALUE \ - ASM_DECLARE_CONSTANT_NAME MODIFY_TARGET_NAME + ASM_DECLARE_CONSTANT_NAME MODIFY_TARGET_NAME SWITCHES_NEED_SPACES /* Hooks that are no longer used. */ #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \ |