IPA: drop implicit_section again
As mentioned in the PR, since 4656461585 implicit_section
was not set to false when set_section was called with the argument
equal to NULL.
gcc/ChangeLog:
PR ipa/98057
* symtab.c (symtab_node::set_section_for_node): Drop
implicit_section if x_section is NULL.
gcc/testsuite/ChangeLog:
PR ipa/98057
* g++.dg/ipa/pr98057.C: New test.
This commit is contained in:
parent
69157fe758
commit
cbc4ae2b26
@ -1683,7 +1683,10 @@ symtab_node::set_section_for_node (const symtab_node &other)
|
||||
if (other.x_section)
|
||||
x_section = retain_section_hash_entry (other.x_section);
|
||||
else
|
||||
x_section = NULL;
|
||||
{
|
||||
x_section = NULL;
|
||||
implicit_section = false;
|
||||
}
|
||||
}
|
||||
|
||||
/* Workers for set_section. */
|
||||
|
||||
18
gcc/testsuite/g++.dg/ipa/pr98057.C
Normal file
18
gcc/testsuite/g++.dg/ipa/pr98057.C
Normal file
@ -0,0 +1,18 @@
|
||||
/* PR ipa/98057 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O3 -ffunction-sections" } */
|
||||
|
||||
class JITSymbolResolver {
|
||||
virtual void anchor();
|
||||
};
|
||||
class MemoryManager {
|
||||
virtual void anchor();
|
||||
};
|
||||
class MCJITMemoryManager : MemoryManager {
|
||||
void anchor();
|
||||
};
|
||||
class RTDyldMemoryManager : MCJITMemoryManager, JITSymbolResolver {
|
||||
void anchor();
|
||||
};
|
||||
void RTDyldMemoryManager::anchor() {}
|
||||
void MCJITMemoryManager::anchor() {}
|
||||
Loading…
Reference in New Issue
Block a user