From 94b905273c5476f4e0f3a9de1a86d1c7ef47e7bd Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 4 Jan 2010 17:02:41 +0100 Subject: re PR driver/42442 (-march=native doesn't apply to multiple files) PR driver/42442 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define. (do_self_spec): For switches with SWITCH_IGNORE set set also SWITCH_IGNORE_PERMANENTLY. (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead of SWITCH_IGNORE. From-SVN: r155622 --- gcc/ChangeLog | 9 +++++++++ gcc/gcc.c | 23 +++++++++++++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 39c9b61..30e07cf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2010-01-04 Jakub Jelinek + + PR driver/42442 + * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define. + (do_self_spec): For switches with SWITCH_IGNORE set set also + SWITCH_IGNORE_PERMANENTLY. + (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead + of SWITCH_IGNORE. + 2010-01-04 Rafael Avila de Espindola * lto-streamer-out.c (output_unreferenced_globals): Output the full diff --git a/gcc/gcc.c b/gcc/gcc.c index a9a10fe..d001273 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -3233,12 +3233,15 @@ See %s for instructions.", SWITCH_LIVE to indicate this switch is true in a conditional spec. SWITCH_FALSE to indicate this switch is overridden by a later switch. SWITCH_IGNORE to indicate this switch should be ignored (used in % 0) { - int i; - switches = XRESIZEVEC (struct switchstr, switches, n_switches + argbuf_index + 1); @@ -6448,7 +6458,8 @@ check_live_switch (int switchnum, int prefix_length) if (switches[switchnum].live_cond != 0) return ((switches[switchnum].live_cond & SWITCH_LIVE) != 0 && (switches[switchnum].live_cond & SWITCH_FALSE) == 0 - && (switches[switchnum].live_cond & SWITCH_IGNORE) == 0); + && (switches[switchnum].live_cond & SWITCH_IGNORE_PERMANENTLY) + == 0); /* In the common case of {*}, a negating switch would always match, so ignore that case. We will just -- cgit v1.1