diff options
Diffstat (limited to 'gcc/cgraphclones.c')
-rw-r--r-- | gcc/cgraphclones.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c index fcf9cd5..84d6e71 100644 --- a/gcc/cgraphclones.c +++ b/gcc/cgraphclones.c @@ -159,7 +159,7 @@ set_new_clone_decl_and_node_flags (cgraph_node *new_node) DECL_SET_IS_OPERATOR_DELETE (new_node->decl, 0); new_node->externally_visible = 0; - new_node->local.local = 1; + new_node->local = 1; new_node->lowered = true; } @@ -223,7 +223,7 @@ duplicate_thunk_for_node (cgraph_node *thunk, cgraph_node *node) new_thunk = cgraph_node::create (new_decl); set_new_clone_decl_and_node_flags (new_thunk); new_thunk->definition = true; - new_thunk->local.can_change_signature = node->local.can_change_signature; + new_thunk->can_change_signature = node->can_change_signature; new_thunk->thunk = thunk->thunk; new_thunk->unique_name = in_lto_p; new_thunk->former_clone_of = thunk->decl; @@ -353,10 +353,13 @@ cgraph_node::create_clone (tree new_decl, profile_count prof_count, } new_node->analyzed = analyzed; new_node->definition = definition; - new_node->local = local; + new_node->versionable = versionable; + new_node->can_change_signature = can_change_signature; + new_node->redefined_extern_inline = redefined_extern_inline; + new_node->tm_may_enter_irr = tm_may_enter_irr; new_node->externally_visible = false; new_node->no_reorder = no_reorder; - new_node->local.local = true; + new_node->local = true; new_node->inlined_to = new_inlined_to; new_node->rtl = rtl; new_node->frequency = frequency; @@ -524,11 +527,11 @@ cgraph_node::create_virtual_clone (vec<cgraph_edge *> redirect_callers, ipa_replace_map *map; char *name; - gcc_checking_assert (local.versionable); + gcc_checking_assert (versionable); /* TODO: It would be nice if we could recognize that param_adjustments do not actually perform any changes, but at the moment let's require it simply does not exist. */ - gcc_assert (local.can_change_signature || !param_adjustments); + gcc_assert (can_change_signature || !param_adjustments); /* Make a new FUNCTION_DECL tree node */ if (!param_adjustments) @@ -860,7 +863,7 @@ cgraph_node::create_version_clone (tree new_decl, new_version->local = local; new_version->externally_visible = false; new_version->no_reorder = no_reorder; - new_version->local.local = new_version->definition; + new_version->local = new_version->definition; new_version->inlined_to = inlined_to; new_version->rtl = rtl; new_version->count = count; @@ -931,7 +934,7 @@ cgraph_node::create_version_clone_with_body return NULL; /* TODO: Restore an assert that we do not change signature if - local.can_change_signature is false. We cannot just check that + can_change_signature is false. We cannot just check that param_adjustments is NULL because unfortunately ipa-split removes return values from such functions. */ @@ -987,7 +990,7 @@ cgraph_node::create_version_clone_with_body new_version_node->make_decl_local (); DECL_VIRTUAL_P (new_version_node->decl) = 0; new_version_node->externally_visible = 0; - new_version_node->local.local = 1; + new_version_node->local = 1; new_version_node->lowered = true; if (!implicit_section) new_version_node->set_section (get_section ()); |