------- Comment #21 from hjl dot tools at gmail dot com 2008-07-24 20:29 ------- (In reply to comment #18) > > > +#ifdef SECONDARY_OVERRIDE_OPTIONS > + /* Some machines may reject certain combinations of options. */ > + if (! first_time_p) > + SECONDARY_OVERRIDE_OPTIONS; > +#endif > + > #ifdef OPTIMIZATION_OPTIONS > /* Allow default optimizations to be specified on a per-machine basis. */ > OPTIMIZATION_OPTIONS (optimize, optimize_size); > Index: gcc/config/ia64/ia64.h > =================================================================== > --- gcc/config/ia64/ia64.h (revision 138117) > +++ gcc/config/ia64/ia64.h (working copy) > @@ -121,6 +121,11 @@ extern enum processor_type ia64_tune; > > #define OVERRIDE_OPTIONS ia64_override_options () > > +/* Like OVERRIDE_OPTIONS, but run after the optimize, hot, or cold attributes > + are processed. */ > + > +#define SECONDARY_OVERRIDE_OPTIONS ia64_override_options () > +
I think we should just do #ifdef SECONDARY_OVERRIDE_OPTIONS /* Some machines may reject certain combinations of options. */ SECONDARY_OVERRIDE_OPTIONS; #endif #define SECONDARY_OVERRIDE_OPTIONS ia64_secondary_override_options () void ia64_override_options (void) { if (TARGET_AUTO_PIC) target_flags |= MASK_CONST_GP; if (TARGET_INLINE_SQRT == INL_MIN_LAT) { warning (0, "not yet implemented: latency-optimized inline square root"); TARGET_INLINE_SQRT = INL_MAX_THR; } ia64_section_threshold = g_switch_set ? g_switch_value : IA64_DEFAULT_GVALUE; init_machine_status = ia64_init_machine_status; } void ia64_secondary_override_options () { ia64_flag_schedule_insns2 = flag_schedule_insns_after_reload; flag_schedule_insns_after_reload = 0; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36907