This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug objc/43061] 47 new GCC HEAD@156527 regressions
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Feb 2010 17:44:47 -0000
- Subject: [Bug objc/43061] 47 new GCC HEAD@156527 regressions
- References: <bug-43061-12313@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #8 from rguenth at gcc dot gnu dot org 2010-02-14 17:44 -------
Hm. So CCP through get_symbol_constant_value causes
<bb 2>:
- _OBJC_CLASS_REFERENCES_0.2_1 = _OBJC_CLASS_REFERENCES_0;
+ _OBJC_CLASS_REFERENCES_0.2_1 = (struct objc_class *) &_OBJC_CLASS_NAME_0;
_OBJC_CLASS_REFERENCES_0.3_2 = (struct objc_object *)
_OBJC_CLASS_REFERENCES_0.2_1;
- _OBJC_SELECTOR_REFERENCES_0.4_3 = _OBJC_SELECTOR_REFERENCES_0;
+ _OBJC_SELECTOR_REFERENCES_0.4_3 = (struct objc_selector *)
&_OBJC_METH_VAR_NAME_1;
D.3683_4 = OBJ_TYPE_REF(objc_msgSend;_OBJC_CLASS_REFERENCES_0.3_2->0)
(_OBJC_CLASS_REFERENCES_0.3_2, _OBJC_SELECTOR_REFERENCES_0.4_3);
- _OBJC_SELECTOR_REFERENCES_1.5_5 = _OBJC_SELECTOR_REFERENCES_1;
+ _OBJC_SELECTOR_REFERENCES_1.5_5 = (struct objc_selector *)
&_OBJC_METH_VAR_NAME_0;
OBJ_TYPE_REF(objc_msgSend;D.3683_4->0) (D.3683_4,
_OBJC_SELECTOR_REFERENCES_1.5_5);
return 0;
which means that _OBJC_CLASS_REFERENCES_0 must be a TREE_READONLY static
with an initializer. I wonder how exactly that tree looks like, so can
you run the compile inside gdb, break on get_symbol_constant_value
until you get _OBJC_CLASS_REFERENCES_0 as argument (may happen multiple
times) and paste the output of
(gdb) call debug_tree (sym)
(gdb) call debug_tree (sym->decl_common.initial)
?
Thanks.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061