aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraph.h
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2010-03-18 21:07:13 +0100
committerMartin Jambor <jamborm@gcc.gnu.org>2010-03-18 21:07:13 +0100
commit8132a837da9fb586a5fd2596528178f9ea6f97a2 (patch)
treeb3c65fe0aa2410f77c557a506bd3f0cf02737f6e /gcc/cgraph.h
parent7893d7acfe277b4d46f5b4f012f7f76971c33b63 (diff)
downloadgcc-8132a837da9fb586a5fd2596528178f9ea6f97a2.zip
gcc-8132a837da9fb586a5fd2596528178f9ea6f97a2.tar.gz
gcc-8132a837da9fb586a5fd2596528178f9ea6f97a2.tar.bz2
re PR middle-end/42450 (another GCC 4.5 ICE on C++ templated code)
2010-03-18 Martin Jambor <mjambor@suse.cz> PR middle-end/42450 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare. * cgraphunit.c (cgraph_materialize_all_clones): Update calls in all non-clones. Moved call redirection... (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function. (cgraph_materialize_all_clones): Dispose of all combined_args_to_skip bitmaps. (verify_cgraph_node): Do not check for edges pointing to wrong nodes in inline clones. * tree-inline.c (copy_bb): Call cgraph_redirect_edge_call_stmt_to_callee. * ipa.c (cgraph_remove_unreachable_nodes): Call cgraph_node_remove_callees even when there are used clones. * testsuite/g++.dg/torture/pr42450.C: New test. From-SVN: r157546
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r--gcc/cgraph.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index f8d52eb..4f0c333 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -534,7 +534,7 @@ void cgraph_remove_edge_duplication_hook (struct cgraph_2edge_hook_list *);
struct cgraph_2node_hook_list *cgraph_add_node_duplication_hook (cgraph_2node_hook, void *);
void cgraph_remove_node_duplication_hook (struct cgraph_2node_hook_list *);
void cgraph_materialize_all_clones (void);
-
+gimple cgraph_redirect_edge_call_stmt_to_callee (struct cgraph_edge *);
/* In cgraphbuild.c */
unsigned int rebuild_cgraph_edges (void);
void reset_inline_failed (struct cgraph_node *);