ipa-devirt.c (polymorphic_call_target_d): Add n_odr_types.
authorJan Hubicka <hubicka@ucw.cz>
Thu, 27 Dec 2018 21:23:30 +0000 (22:23 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 27 Dec 2018 21:23:30 +0000 (21:23 +0000)
commitf7293b9dfab5e6e760f65934f76bbaa7184b0f45
tree6a2c9e2c7738fe46774569842e7ff2063b3b67cb
parent03b2d3defa7ef8c258d48f4bfbd66a08c27ea19c
ipa-devirt.c (polymorphic_call_target_d): Add n_odr_types.

* ipa-devirt.c (polymorphic_call_target_d): Add n_odr_types.
(polymorphic_call_target_hasher::hash): Hash it.
(polymorphic_call_target_hasher::equal): Compare it.
(possible_polymorphic_call_targets): Set it.
* tree.c (free_lang_data): Rebuild type inheritance graph even on
non-LTO path.

* g++.dg/ipa/devirt-53.C: New testcase.

From-SVN: r267438
gcc/ChangeLog
gcc/ipa-devirt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ipa/devirt-53.C [new file with mode: 0644]
gcc/tree.c