summaryrefslogtreecommitdiff
path: root/gcc/config/sol2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/sol2.c')
-rw-r--r--gcc/config/sol2.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/config/sol2.c b/gcc/config/sol2.c
index d07a9411faf..c7764b1993d 100644
--- a/gcc/config/sol2.c
+++ b/gcc/config/sol2.c
@@ -195,7 +195,7 @@ comdat_entry_hasher::equal (const value_type *entry1,
/* Hash table of group signature symbols. */
-static hash_table <comdat_entry_hasher> solaris_comdat_htab;
+static hash_table<comdat_entry_hasher> *solaris_comdat_htab;
/* Output assembly to switch to COMDAT group section NAME with attributes
FLAGS and group signature symbol DECL, using Sun as syntax. */
@@ -236,11 +236,11 @@ solaris_elf_asm_comdat_section (const char *name, unsigned int flags, tree decl)
identify the missing ones without changing the affected frontents,
remember the signature symbols and emit those not marked
TREE_SYMBOL_REFERENCED in solaris_file_end. */
- if (!solaris_comdat_htab.is_created ())
- solaris_comdat_htab.create (37);
+ if (!solaris_comdat_htab)
+ solaris_comdat_htab = new hash_table<comdat_entry_hasher> (37);
entry.sig = signature;
- slot = solaris_comdat_htab.find_slot (&entry, INSERT);
+ slot = solaris_comdat_htab->find_slot (&entry, INSERT);
if (*slot == NULL)
{
@@ -284,10 +284,11 @@ solaris_define_comdat_signature (comdat_entry **slot,
void
solaris_file_end (void)
{
- if (!solaris_comdat_htab.is_created ())
+ if (!solaris_comdat_htab)
return;
- solaris_comdat_htab.traverse <void *, solaris_define_comdat_signature> (NULL);
+ solaris_comdat_htab->traverse <void *, solaris_define_comdat_signature>
+ (NULL);
}
void