[Bug tree-optimization/29254] New: [4.2 Regression] verify_cgraph_node failed (inlined_to pointer is set but no predecessors found)
tbm at cyrius dot com
gcc-bugzilla@gcc.gnu.org
Wed Sep 27 16:59:00 GMT 2006
I get the following ICE:
tbm@coconut0:~$ /usr/lib/gcc-snapshot/bin/gcc -c -O3 -Werror qof-jvp_frame.c
cc1: warnings being treated as errors
qof-jvp_frame.c: In function 'kvp_frame_compare':
qof-jvp_frame.c:60: warning: passing argument 1 of 'kvp_frame_for_each_slot'
discards qualifiers from pointer target type
qof-jvp_frame.c: At top level:
qof-jvp_frame.c:62: error: inlined_to pointer is set but no predecessors found
kvp_value_compare/6: (inline copy in kvp_glist_compare/0)
availability:available(2) 19 insns (39 after inlining) tree externally_visible
finalized inlinable
called by:
calls: kvp_glist_compare/11 (inlined)
qof-jvp_frame.c:62: internal compiler error: verify_cgraph_node failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.1/README.Bugs>.
tbm@coconut0:~$ /usr/lib/gcc-snapshot/bin/gcc -c -O3 qof-jvp_frame.c
qof-jvp_frame.c: In function 'kvp_frame_compare':
qof-jvp_frame.c:60: warning: passing argument 1 of 'kvp_frame_for_each_slot'
discards qualifiers from pointer target type
tbm@coconut0:~$ gcc-4.1 -c -O3 -Werror qof-jvp_frame.c
tbm@coconut0:~$
Testcase:
typedef int gint;
typedef void *gpointer;
typedef struct _GList GList;
struct _GList
{
gpointer data;
}
__fsid_t;
typedef struct _KvpFrame KvpFrame;
typedef struct _KvpValue KvpValue;
typedef enum
{
KVP_TYPE_GLIST,
}
KvpValueType;
struct _KvpValue
{
KvpValueType type;
union
{
GList *list;
}
value;
};
kvp_glist_compare (const GList * list1, const GList * list2)
{
const GList *lp1;
const GList *lp2;
while (lp1 && lp2)
{
KvpValue *v1 = (KvpValue *) lp1->data;
KvpValue *v2 = (KvpValue *) lp2->data;
gint vcmp = kvp_value_compare (v1, v2);
}
}
kvp_frame_for_each_slot (KvpFrame * f,
void (*proc) (const char *key, KvpValue * value,
gpointer data), gpointer data)
{
}
kvp_value_compare (const KvpValue * kva, const KvpValue * kvb)
{
switch (kva->type)
{
case KVP_TYPE_GLIST:
return kvp_glist_compare (kva->value.list, kvb->value.list);
}
}
typedef struct
{
}
kvp_frame_cmp_status;
static void
kvp_frame_compare_helper (const char *key, KvpValue * val, gpointer data)
{
}
kvp_frame_compare (const KvpFrame * fa, const KvpFrame * fb)
{
kvp_frame_cmp_status status;
kvp_frame_for_each_slot ((KvpFrame *) fb, kvp_frame_compare_helper,
&status);
}
--
Summary: [4.2 Regression] verify_cgraph_node failed (inlined_to
pointer is set but no predecessors found)
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29254
More information about the Gcc-bugs
mailing list