http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48440
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> 2011-04-04 22:15:54 UTC --- This patch: diff --git a/gcc/cgraphbuild.c b/gcc/cgraphbuild.c index 3948cf6..c80d7ab 100644 --- a/gcc/cgraphbuild.c +++ b/gcc/cgraphbuild.c @@ -56,7 +56,10 @@ record_reference (tree *tp, int *walk_subtrees, void *data) t = canonicalize_constructor_val (t); if (!t) t = *tp; - else if (t != *tp) + else if (t != *tp + && !(Pmode != ptr_mode + && TREE_CODE (t) == ADDR_EXPR + && TREE_CODE (*tp) == CONVERT_EXPR)) *tp = t; switch (TREE_CODE (t)) seems to work.