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.

Reply via email to