Commit 76df0ae6 by Martin Jambor Committed by Martin Jambor

cgraphunit.c (verify_cgraph_node): Verify there is no direct call to a thunk.

2011-01-03  Martin Jambor  <mjambor@suse.cz>

	* cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
	a thunk.

From-SVN: r168422
parent ce47fda3
2011-01-03 Martin Jambor <mjambor@suse.cz> 2011-01-03 Martin Jambor <mjambor@suse.cz>
* cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
a thunk.
2011-01-03 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/46984 PR tree-optimization/46984
* cgraph.h (cgraph_indirect_call_info): make field thunk_delta * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
HOST_WIDE_INT. HOST_WIDE_INT.
......
...@@ -647,6 +647,8 @@ verify_cgraph_node (struct cgraph_node *node) ...@@ -647,6 +647,8 @@ verify_cgraph_node (struct cgraph_node *node)
} }
if (!e->indirect_unknown_callee) if (!e->indirect_unknown_callee)
{ {
struct cgraph_node *n;
if (e->callee->same_body_alias) if (e->callee->same_body_alias)
{ {
error ("edge points to same body alias:"); error ("edge points to same body alias:");
...@@ -667,6 +669,15 @@ verify_cgraph_node (struct cgraph_node *node) ...@@ -667,6 +669,15 @@ verify_cgraph_node (struct cgraph_node *node)
debug_tree (decl); debug_tree (decl);
error_found = true; error_found = true;
} }
else if (decl
&& (n = cgraph_get_node_or_alias (decl))
&& (n->same_body_alias
&& n->thunk.thunk_p))
{
error ("a call to thunk improperly represented "
"in the call graph:");
debug_gimple_stmt (stmt);
}
} }
else if (decl) else if (decl)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment