Commit af41c57d by Andrew Pinski Committed by Andrew Pinski

re PR driver/22544 (gcc ignores input file given on the command line)

2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR driver/22544
        * gcc.c (have_c): New static variable.
        (have_o): Likewise.
        (process_command): Remove declation of have_c.
        Set have_o to 1 when handling -o.
        (main): Add a fatel error if there are multiple
        files specified and -o and -c/-S is passed witout
        -combine or multiple languages.

From-SVN: r105487
parent d938e461
2005-10-16 Andrew Pinski <pinskia@physics.uc.edu>
PR driver/22544
* gcc.c (have_c): New static variable.
(have_o): Likewise.
(process_command): Remove declation of have_c.
Set have_o to 1 when handling -o.
(main): Add a fatel error if there are multiple
files specified and -o and -c/-S is passed witout
-combine or multiple languages.
2005-10-16 Daniel Berlin <dberlin@dberlin.org> 2005-10-16 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/22444 Fix PR tree-optimization/22444
......
...@@ -1851,6 +1851,12 @@ static int argbuf_index; ...@@ -1851,6 +1851,12 @@ static int argbuf_index;
static int have_o_argbuf_index = 0; static int have_o_argbuf_index = 0;
/* Were the options -c or -S passed. */
static int have_c = 0;
/* Was the option -o passed. */
static int have_o = 0;
/* This is the list of suffixes and codes (%g/%u/%U/%j) and the associated /* This is the list of suffixes and codes (%g/%u/%U/%j) and the associated
temp file. If the HOST_BIT_BUCKET is used for %j, no entry is made for temp file. If the HOST_BIT_BUCKET is used for %j, no entry is made for
it here. */ it here. */
...@@ -3148,7 +3154,6 @@ process_command (int argc, const char **argv) ...@@ -3148,7 +3154,6 @@ process_command (int argc, const char **argv)
char *temp1; char *temp1;
const char *spec_lang = 0; const char *spec_lang = 0;
int last_language_n_infiles; int last_language_n_infiles;
int have_c = 0;
int lang_n_infiles = 0; int lang_n_infiles = 0;
#ifdef MODIFY_TARGET_NAME #ifdef MODIFY_TARGET_NAME
int is_modify_target_name; int is_modify_target_name;
...@@ -3700,6 +3705,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n" ...@@ -3700,6 +3705,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
goto normal_switch; goto normal_switch;
case 'o': case 'o':
have_o = 1;
#if defined(HAVE_TARGET_EXECUTABLE_SUFFIX) #if defined(HAVE_TARGET_EXECUTABLE_SUFFIX)
if (! have_c) if (! have_c)
{ {
...@@ -6425,7 +6431,7 @@ main (int argc, const char **argv) ...@@ -6425,7 +6431,7 @@ main (int argc, const char **argv)
if (combine_flag) if (combine_flag)
combine_inputs = true; combine_inputs = true;
else else
combine_inputs = false; combine_inputs = false;
for (i = 0; (int) i < n_infiles; i++) for (i = 0; (int) i < n_infiles; i++)
{ {
...@@ -6456,6 +6462,9 @@ main (int argc, const char **argv) ...@@ -6456,6 +6462,9 @@ main (int argc, const char **argv)
infiles[i].compiled = false; infiles[i].compiled = false;
infiles[i].preprocessed = false; infiles[i].preprocessed = false;
} }
if (!combine_inputs && have_c && have_o && n_infiles > 1)
fatal ("cannot specify -o with -c or -S with multiple files");
if (combine_flag && save_temps_flag) if (combine_flag && save_temps_flag)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment