]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/attribs.c
* hash-table.h (hash_table): Add Lazy template parameter defaulted
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Mar 2019 22:00:04 +0000 (22:00 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Mar 2019 22:00:04 +0000 (22:00 +0000)
commit067e9a502dcaabcecda20a00b3f7c6160d8eea93
treece1f9656a446322fdb783d3909c677132ee5d92a
parent33718c02f44cf560c5725ed1681ae5981acbfc69
* hash-table.h (hash_table): Add Lazy template parameter defaulted
to false, if true, don't alloc_entries during construction, but defer
it to the first method that needs m_entries allocated.
(hash_table::hash_table, hash_table::~hash_table,
hash_table::alloc_entries, hash_table::find_empty_slot_for_expand,
hash_table::too_empty_p, hash_table::expand, hash_table::empty_slow,
hash_table::clear_slot, hash_table::traverse_noresize,
hash_table::traverse, hash_table::iterator::slide): Adjust all methods.
* hash-set.h (hash_set): Add Lazy template parameter defaulted to
false.
(hash_set::contains): If Lazy is true, use find_slot_with_hash with
NO_INSERT instead of find_with_hash.
(hash_set::traverse, hash_set::iterator, hash_set::iterator::m_iter,
hash_set::m_table): Add Lazy to template params of hash_table.
(gt_ggc_mx, gt_pch_nx): Use false as Lazy in hash_set template param.
* attribs.c (test_attribute_exclusions): Likewise.
* hash-set-tests.c (test_set_of_strings): Add iterator tests for
hash_set.  Add tests for hash_set with Lazy = true.
c-family/
* c-common.c (per_file_includes_t): Use false as Lazy in hash_set
template param.
jit/
* jit-recording.c (reproducer::m_set_identifiers): Use false as Lazy
in hash_set template param.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269859 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/attribs.c
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/hash-set-tests.c
gcc/hash-set.h
gcc/hash-table.h
gcc/jit/ChangeLog
gcc/jit/jit-recording.c