diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-05-22 17:10:06 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-05-22 17:10:06 -0400 |
commit | f70165f69f33b7ae30f8dfba293475f622862f1e (patch) | |
tree | bd40d611fe5644f4e05631a0266ec367d423c13a | |
parent | 2c69f2538b6f6447e43a568d602ff6afc87f694f (diff) | |
download | gcc-f70165f69f33b7ae30f8dfba293475f622862f1e.zip gcc-f70165f69f33b7ae30f8dfba293475f622862f1e.tar.gz gcc-f70165f69f33b7ae30f8dfba293475f622862f1e.tar.bz2 |
(HAVE_OBJECT_SUFFIX): New macro.
(process_command): Convert x.o to x.foo for OBJECT_SUFFIX of ".foo".
(do_spec_1): Avoid shadow variable "i" and always use for loop var.
From-SVN: r9766
-rw-r--r-- | gcc/gcc.c | 29 |
1 files changed, 22 insertions, 7 deletions
@@ -145,7 +145,9 @@ compilation is specified by a string called a "spec". */ #endif /* By default, the suffix for object files is ".o". */ -#ifndef OBJECT_SUFFIX +#ifdef OBJECT_SUFFIX +#define HAVE_OBJECT_SUFFIX +#else #define OBJECT_SUFFIX ".o" #endif @@ -2924,6 +2926,23 @@ process_command (argc, argv) } else { +#ifdef HAVE_OBJECT_SUFFIX + /* Convert x.o to x.obj if OBJECT_SUFFIX is ".obj". */ + if (strlen (argv[i]) > 2 + && argv[i][strlen (argv[i]) - 2] == '.' + && argv[i][strlen (argv[i]) - 1] == 'o') + { + int j; + + for (j = 0; j < strlen (argv[i]) - 2; j++) + obstack_1grow (&obstack, argv[i][j]); + + obstack_grow (&obstack, OBJECT_SUFFIX, strlen (OBJECT_SUFFIX)); + obstack_1grow (&obstack, 0); + argv[i] = obstack_finish (&obstack); + } +#endif + if (strcmp (argv[i], "-") != 0 && access (argv[i], R_OK) < 0) { perror_with_name (argv[i]); @@ -3060,7 +3079,6 @@ do_spec_1 (spec, inswitch, soft_matched_part) if (argbuf_index > 0 && !strcmp (argbuf[argbuf_index - 1], "|")) { - int i; for (i = 0; i < n_switches; i++) if (!strcmp (switches[i].part1, "pipe")) break; @@ -3365,11 +3383,8 @@ do_spec_1 (spec, inswitch, soft_matched_part) break; case 'o': - { - register int f; - for (f = 0; f < n_infiles; f++) - store_arg (outfiles[f], 0, 0); - } + for (i = 0; i < n_infiles; i++) + store_arg (outfiles[i], 0, 0); break; case 'O': |