mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-22 03:46:53 -05:00
Index: libcpp/ChangeLog
2004-05-29 Geoffrey Keating <geoffk@apple.com> * symtab.c (ht_create): Set entries_owned. (ht_destroy): Honour entries_owned. (ht_expand): Likewise. (ht_load): New. Index: libcpp/include/ChangeLog 2004-05-29 Geoffrey Keating <geoffk@apple.com> * symtab.h (struct ht): New field 'entries_owned' (ht_load): New prototype. Index: gcc/ChangeLog 2004-05-29 Geoffrey Keating <geoffk@apple.com> * gengtype-yacc.y: Add NESTED_PTR token. (option): Record `nested_ptr' option. * gengtype-lex.l: Handle `nested_ptr' keyword. * gengtype.c (walk_type): Process `nested_ptr' option. * gengtype.h (struct nested_ptr_data): New. * doc/gty.texi (GTY Options): Document `nested_ptr' option. * stringpool.c (struct string_pool_data): Make 'entries' point to ht_identifier instead of tree. (gt_pch_save_stringpool): Don't adjust pointers. (gt_pch_restore_stringpool): Call ht_load. From-SVN: r82438
This commit is contained in:
committed by
Geoffrey Keating
parent
666e5d7b94
commit
b453c95fd3
@@ -1,3 +1,8 @@
|
||||
2004-05-29 Geoffrey Keating <geoffk@apple.com>
|
||||
|
||||
* symtab.h (struct ht): New field 'entries_owned'
|
||||
(ht_load): New prototype.
|
||||
|
||||
2004-05-23 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* cpplib.h: Moved from gcc. Change header guard name.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Hash tables.
|
||||
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
@@ -58,6 +58,9 @@ struct ht
|
||||
/* Table usage statistics. */
|
||||
unsigned int searches;
|
||||
unsigned int collisions;
|
||||
|
||||
/* Should 'entries' be freed when it is no longer needed? */
|
||||
bool entries_owned;
|
||||
};
|
||||
|
||||
/* Initialize the hashtable with 2 ^ order entries. */
|
||||
@@ -75,6 +78,10 @@ extern hashnode ht_lookup (hash_table *, const unsigned char *,
|
||||
typedef int (*ht_cb) (struct cpp_reader *, hashnode, const void *);
|
||||
extern void ht_forall (hash_table *, ht_cb, const void *);
|
||||
|
||||
/* Restore the hash table. */
|
||||
extern void ht_load (hash_table *ht, hashnode *entries,
|
||||
unsigned int nslots, unsigned int nelements, bool own);
|
||||
|
||||
/* Dump allocation statistics to stderr. */
|
||||
extern void ht_dump_statistics (hash_table *);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user