------- Comment #25 from developer at sandoe-acoustics dot co dot uk  
2010-02-15 19:54 -------
Hm.  I tried this trivial patch:
Index: gcc/objc/objc-act.c
===================================================================
--- gcc/objc/objc-act.c (revision 156760)
+++ gcc/objc/objc-act.c (working copy)
@@ -2533,7 +2533,8 @@

   sprintf (buf, "_OBJC_SELECTOR_REFERENCES_%d", selector_reference_idx++);
   decl = start_var_decl (objc_selector_type, buf);
-
+  if (flag_next_runtime) 
+    TREE_ADDRESSABLE (decl) = 1;
   return decl;
 }

@@ -2733,6 +2734,8 @@

   sprintf (buf, "_OBJC_CLASS_REFERENCES_%d", class_reference_idx++);
   decl = start_var_decl (objc_class_type, buf);
+  if (flag_next_runtime) 
+    TREE_ADDRESSABLE (decl) = 1;

   return decl;
 }

and when I check in gdb the trees are marked as addressable [checking in
objc-act.c/finish_var_decl() ].
... but something is un-doing this later - and _OBJC_CLASS_REFERENCES_0 is
ending up marked as not tree addressable according to the ipa dump.

any ideas where I'm going wrong?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061

Reply via email to