This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
- From: Jan Hubicka <jh at suse dot cz>
- To: aj at gcc dot gnu dot org <gcc-bugzilla at gcc dot gnu dot org>,gcc-patches at gcc dot gnu dot org
- Cc: jh at suse dot cz
- Date: Thu, 9 Sep 2004 11:06:32 +0200
- Subject: Re: [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
- References: <20040821004336.17128.bommar33@msu.edu> <20040909065942.15349.qmail@sourceware.org>
static __inline__ int
one_utf8_to_utf16 () { }
static __inline__ unsigned char
conversion_loop (int (*const one_conversion)())
{
return one_conversion ();
}
static unsigned char
convert_utf8_utf16 ()
{
return conversion_loop (one_utf8_to_utf16);
}
2004-09-09 Jan Hubicka <jh@suse.cz>
middle-end/17128
* tree-inline.c (expand_call_inline): Make overactive sanity check happy.
Index: tree-inline.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-inline.c,v
retrieving revision 1.137
diff -c -3 -p -r1.137 tree-inline.c
*** tree-inline.c 5 Sep 2004 16:05:00 -0000 1.137
--- tree-inline.c 9 Sep 2004 09:02:47 -0000
*************** expand_call_inline (tree *tp, int *walk_
*** 1481,1487 ****
where previous inlining turned indirect call into direct call by
constant propagating arguments. In all other cases we hit a bug
(incorrect node sharing is most common reason for missing edges. */
! if (!dest->needed)
abort ();
cgraph_create_edge (id->node, dest, t)->inline_failed
= N_("originally indirect function call not considered for inlining");
--- 1481,1487 ----
where previous inlining turned indirect call into direct call by
constant propagating arguments. In all other cases we hit a bug
(incorrect node sharing is most common reason for missing edges. */
! if (!dest->needed && flag_unit_at_a_time)
abort ();
cgraph_create_edge (id->node, dest, t)->inline_failed
= N_("originally indirect function call not considered for inlining");