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.