From: Patrick Marlier Date: Thu, 1 Dec 2011 17:46:32 +0000 (+0000) Subject: re PR middle-end/51273 (ICE: vector VEC(inline_summary_t,base) index domain error... X-Git-Tag: releases/gcc-4.7.0~1839 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b0d0a2918f405c52d9b6893d3c4ed77e5d659a06;p=thirdparty%2Fgcc.git re PR middle-end/51273 (ICE: vector VEC(inline_summary_t,base) index domain error, in inline_summary at ipa-inline.h:193 with -O -fgnu-tm, transaction_safe and overloaded contructor) PR middle-end/51273 * cgraph.h (cgraph_call_node_duplication_hooks): Declare. * cgraph.c (cgraph_call_node_duplication_hooks): Make global. * cgraphunit.c (cgraph_copy_node_for_versioning): Call it. From-SVN: r181887 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 693036823b1c..1261e4befc63 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-12-01 Patrick Marlier + + PR middle-end/51273 + * cgraph.h (cgraph_call_node_duplication_hooks): Declare. + * cgraph.c (cgraph_call_node_duplication_hooks): Make global. + * cgraphunit.c (cgraph_copy_node_for_versioning): Call it. + 2011-12-01 Andrew Pinski PR lto/51198 diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 44a950ca7430..ac516abefba9 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -412,7 +412,7 @@ cgraph_remove_node_duplication_hook (struct cgraph_2node_hook_list *entry) } /* Call all node duplication hooks. */ -static void +void cgraph_call_node_duplication_hooks (struct cgraph_node *node1, struct cgraph_node *node2) { diff --git a/gcc/cgraph.h b/gcc/cgraph.h index 834d3d4a4431..0efce347261f 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -513,6 +513,8 @@ struct cgraph_node * cgraph_clone_node (struct cgraph_node *, tree, gcov_type, int, bool, VEC(cgraph_edge_p,heap) *, bool); struct cgraph_node *cgraph_create_function_alias (tree, tree); +void cgraph_call_node_duplication_hooks (struct cgraph_node *node1, + struct cgraph_node *node2); void cgraph_redirect_edge_callee (struct cgraph_edge *, struct cgraph_node *); void cgraph_make_edge_direct (struct cgraph_edge *, struct cgraph_node *); diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 40bcf8fc9ef9..251b55547259 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -2318,6 +2318,8 @@ cgraph_copy_node_for_versioning (struct cgraph_node *old_version, cgraph_redirect_edge_callee (e, new_version); } + cgraph_call_node_duplication_hooks (old_version, new_version); + return new_version; }