From: Richard Sandiford Date: Sat, 17 Apr 2004 05:53:11 +0000 (+0000) Subject: * gcc.c (used_arg): Check whether an option has been removed. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f645e2bd33e2ff6b96e82913d013be4c7cf09052;p=gcc.git * gcc.c (used_arg): Check whether an option has been removed. From-SVN: r80787 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f50a5ea620b..7566df2be3c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-04-17 Richard Sandiford + + * gcc.c (used_arg): Check whether an option has been removed. + 2004-04-17 Rainer Orth * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2 diff --git a/gcc/gcc.c b/gcc/gcc.c index e004697431e..f9a4e1db3cd 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -6909,20 +6909,21 @@ used_arg (const char *p, int len) = xmalloc (sizeof (struct mswitchstr) * (n_mdswitches + (n_switches ? n_switches : 1))); for (i = 0; i < n_switches; i++) - { - int xlen = strlen (switches[i].part1); - for (j = 0; j < cnt; j++) - if (xlen == matches[j].len - && ! strncmp (switches[i].part1, matches[j].str, xlen)) - { - mswitches[n_mswitches].str = matches[j].replace; - mswitches[n_mswitches].len = matches[j].rep_len; - mswitches[n_mswitches].replace = (char *) 0; - mswitches[n_mswitches].rep_len = 0; - n_mswitches++; - break; - } - } + if (switches[i].live_cond != SWITCH_IGNORE) + { + int xlen = strlen (switches[i].part1); + for (j = 0; j < cnt; j++) + if (xlen == matches[j].len + && ! strncmp (switches[i].part1, matches[j].str, xlen)) + { + mswitches[n_mswitches].str = matches[j].replace; + mswitches[n_mswitches].len = matches[j].rep_len; + mswitches[n_mswitches].replace = (char *) 0; + mswitches[n_mswitches].rep_len = 0; + n_mswitches++; + break; + } + } /* Add MULTILIB_DEFAULTS switches too, as long as they were not present on the command line nor any options mutually incompatible with