]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/symtab.c
Fix verifier ICE on wrong comdat local flag [PR93347]
authorJan Hubicka <jh@suse.cz>
Fri, 20 Mar 2020 21:06:24 +0000 (22:06 +0100)
committerJan Hubicka <jh@suse.cz>
Fri, 20 Mar 2020 21:06:24 +0000 (22:06 +0100)
commit72b3bc895f023bf451357659cfe96c966945bdf9
treeb50df34185a414a85416a84b69ca390fa091d954
parenta89349e664ff420f33612d47e486954de5848e49
Fix verifier ICE on wrong comdat local flag [PR93347]

gcc/ChangeLog:

2020-03-20  Jan Hubicka  <hubicka@ucw.cz>

PR ipa/93347
* cgraph.c (symbol_table::create_edge): Update calls_comdat_local flag.
(cgraph_edge::redirect_callee): Move here; likewise.
(cgraph_node::remove_callees): Update calls_comdat_local flag.
(cgraph_node::verify_node): Verify that calls_comdat_local flag match
reality.
(cgraph_node::check_calls_comdat_local_p): New member function.
* cgraph.h (cgraph_node::check_calls_comdat_local_p): Declare.
(cgraph_edge::redirect_callee): Move offline.
* ipa-fnsummary.c (compute_fn_summary): Do not compute
calls_comdat_local flag here.
* ipa-inline-transform.c (inline_call): Fix updating of
calls_comdat_local flag.
* ipa-split.c (split_function): Use true instead of 1 to set the flag.
* symtab.c (symtab_node::add_to_same_comdat_group): Update
calls_comdat_local flag.

gcc/testsuite/ChangeLog:

2020-03-20  Jan Hubicka  <hubicka@ucw.cz>

* g++.dg/torture/pr93347.C: New test.
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraph.h
gcc/ipa-fnsummary.c
gcc/ipa-inline-transform.c
gcc/ipa-split.c
gcc/symtab.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr93347.C [new file with mode: 0644]