http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46037
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011.01.10 22:27:07 CC| |hubicka at gcc dot gnu.org, | |joseph at codesourcery dot | |com Ever Confirmed|0 |1 --- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-01-10 22:27:07 UTC --- Well, so the problem is: static bool ix86_valid_target_attribute_p (tree fndecl, tree ARG_UNUSED (name), tree args, int ARG_UNUSED (flags)) { ... new_optimize = build_optimization_node (); ... if (old_optimize != new_optimize) DECL_FUNCTION_SPECIFIC_OPTIMIZATION (fndecl) = new_optimize; for some reason the optimization flags are believed to not match despite the fact only target attribute is used. The difference is: - <optimization_node 0x143209100 + <optimization_node 0x100fda500 align_functions (0x10) align_jumps (0x10) align_labels (0x1) @@ -95,5 +96,6 @@ flag_unwind_tables (0x1) flag_var_tracking (0x1) flag_var_tracking_assignments (0x1) + flag_var_tracking_uninit (0x1) flag_vect_cost_model (0x1) > so it seems that re-running process_options on darwin somehow leads to this change. Adding Joseph to CC. Still streaming of optimization attribute is thing we should do.