PING^2
On 12/9/22 09:28, Martin Liška wrote:
> PING^1
>
> On 12/1/22 10:59, Martin Liška wrote:
>> Hi.
>>
>> Noticed during building of libbackend.a with the LTO partial linking.
>>
>> The function release_body is called even if clone_of is a clone
>> of a another function and thus it shares tree declaration. We should
>> preserve it in that situation.
>>
>> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
>>
>> Ready to be installed?
>> Thanks,
>> Martin
>>
>> PR ipa/107944
>>
>> gcc/ChangeLog:
>>
>> * cgraph.cc (cgraph_node::remove): Do not release body
>> if a node is clone of another node.
>> ---
>> gcc/cgraph.cc | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc
>> index f15cb47c8b8..2e7d77ffd6c 100644
>> --- a/gcc/cgraph.cc
>> +++ b/gcc/cgraph.cc
>> @@ -1893,7 +1893,7 @@ cgraph_node::remove (void)
>> else if (clone_of)
>> {
>> clone_of->clones = next_sibling_clone;
>> - if (!clone_of->analyzed && !clone_of->clones && !clones)
>> + if (!clone_of->analyzed && !clone_of->clones && !clones &&
>> !clone_of->clone_of)
>> clone_of->release_body ();
>> }
>> if (next_sibling_clone)
>