diff options
Diffstat (limited to 'gcc/cgraphclones.cc')
| -rw-r--r-- | gcc/cgraphclones.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cgraphclones.cc b/gcc/cgraphclones.cc index 49f0e58..816fc53 100644 --- a/gcc/cgraphclones.cc +++ b/gcc/cgraphclones.cc @@ -176,7 +176,9 @@ set_new_clone_decl_and_node_flags (cgraph_node *new_node) DECL_IS_REPLACEABLE_OPERATOR (new_node->decl) = 0; new_node->externally_visible = 0; - new_node->local = 1; + /* Clones of callbacks might have their address taken, and thus cannot be + local. */ + new_node->local = !new_node->address_taken; new_node->lowered = true; new_node->semantic_interposition = 0; } |
