diff options
author | Eric Christopher <echristo@redhat.com> | 2005-07-12 18:10:32 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gcc.gnu.org> | 2005-07-12 18:10:32 +0000 |
commit | 817a82551ec74a6c6f1e1a94c2f42adefdce0240 (patch) | |
tree | 17f89da87c3c10babdf608c9118efba5f77280d4 /gcc/gcc.c | |
parent | fd5d2c3eb8be24888508f421c852442a64b1d96b (diff) | |
download | gcc-817a82551ec74a6c6f1e1a94c2f42adefdce0240.zip gcc-817a82551ec74a6c6f1e1a94c2f42adefdce0240.tar.gz gcc-817a82551ec74a6c6f1e1a94c2f42adefdce0240.tar.bz2 |
gcc.c (struct infile): Update comment for language.
2005-07-12 Eric Christopher <echristo@redhat.com>
* gcc.c (struct infile): Update comment for language.
(main): Rewrite input file resetting code.
From-SVN: r101934
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r-- | gcc/gcc.c | 25 |
1 files changed, 21 insertions, 4 deletions
@@ -2936,6 +2936,13 @@ static struct switchstr *switches; static int n_switches; +/* Language is one of three things: + + 1) The name of a real programming language. + 2) NULL, indicating that no one has figured out + what it is yet. + 3) '*', indicating that the file should be passed + to the linker. */ struct infile { const char *name; @@ -6553,11 +6560,21 @@ main (int argc, const char **argv) clear_failure_queue (); } - /* Reset the output file name to the first input file name, for use - with %b in LINK_SPEC on a target that prefers not to emit a.out - by default. */ + /* Reset the input file name to the first compile/object file name, for use + with %b in LINK_SPEC. We use the first input file that we can find + a compiler to compile it instead of using infiles.language since for + languages other than C we use aliases that we then lookup later. */ if (n_infiles > 0) - set_input (infiles[0].name); + { + int i; + + for (i = 0; i < n_infiles ; i++) + if (infiles[i].language && infiles[i].language != '*') + { + set_input (infiles[i].name); + break; + } + } if (error_count == 0) { |