re PR middle-end/39834 (verify_cgraph_node failed with -O3 -Winline)
PR debug/39834 * gcc.dg/torture/pr39834.c PR middle-end/39834 * cgraphunit.c (save_inline_function_body): Do not copy transform hooks for saved inline bodies. * ipa-passes.c (do_per_function): Do not add the hoks multiple times for given function. From-SVN: r148292
This commit is contained in:
parent
568e8e1e73
commit
21ecdec5db
@ -1,3 +1,11 @@
|
||||
2009-06-08 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR middle-end/39834
|
||||
* cgraphunit.c (save_inline_function_body): Do not copy transform hooks
|
||||
for saved inline bodies.
|
||||
* ipa-passes.c (do_per_function): Do not add the hoks multiple times
|
||||
for given function.
|
||||
|
||||
2009-06-08 Adam Nemet <anemet@caviumnetworks.com>
|
||||
|
||||
* jump.c (returnjump_p): Handle delayed branches. Add missing
|
||||
|
@ -1688,6 +1688,9 @@ save_inline_function_body (struct cgraph_node *node)
|
||||
DECL_ONE_ONLY (first_clone->decl) = 0;
|
||||
TREE_PUBLIC (first_clone->decl) = 0;
|
||||
DECL_COMDAT (first_clone->decl) = 0;
|
||||
VEC_free (ipa_opt_pass, heap,
|
||||
DECL_STRUCT_FUNCTION (first_clone->decl)->ipa_transforms_to_apply);
|
||||
DECL_STRUCT_FUNCTION (first_clone->decl)->ipa_transforms_to_apply = NULL;
|
||||
|
||||
#ifdef ENABLE_CHECKING
|
||||
verify_cgraph_node (first_clone);
|
||||
|
@ -844,7 +844,8 @@ do_per_function (void (*callback) (void *data), void *data)
|
||||
{
|
||||
struct cgraph_node *node;
|
||||
for (node = cgraph_nodes; node; node = node->next)
|
||||
if (node->analyzed && gimple_has_body_p (node->decl))
|
||||
if (node->analyzed && gimple_has_body_p (node->decl)
|
||||
&& (!node->clone_of || node->decl != node->clone_of->decl))
|
||||
{
|
||||
push_cfun (DECL_STRUCT_FUNCTION (node->decl));
|
||||
current_function_decl = node->decl;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2009-06-08 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR debug/39834
|
||||
* gcc.dg/torture/pr39834.c
|
||||
|
||||
2009-06-08 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR middle-end/40102
|
||||
|
13
gcc/testsuite/gcc.c-torture/compile/pr39834.c
Normal file
13
gcc/testsuite/gcc.c-torture/compile/pr39834.c
Normal file
@ -0,0 +1,13 @@
|
||||
/* { dg-options "-O1 -Winline" } */
|
||||
void quit_mined ();
|
||||
void bottom_line ();
|
||||
typedef enum { False, True } FLAG;
|
||||
inline void
|
||||
nextfile (FLAG exitiflast)
|
||||
{
|
||||
if (exitiflast)
|
||||
quit_mined ();
|
||||
else
|
||||
bottom_line ();
|
||||
nextfile (True);
|
||||
}
|
Loading…
Reference in New Issue
Block a user