diff options
author | Ulrich Drepper <drepper@gmail.com> | 2022-08-30 16:33:51 +0200 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2022-08-30 16:33:51 +0200 |
commit | 0c92f895e0b92b8057b84f8584873258760d227b (patch) | |
tree | f08fb4ccea13c9a7a1dd80c0957c7ff4226da3cc /contrib/gcc_update | |
parent | 1ddf31af2f3fbfba45882a95dd6eb81bae59f90a (diff) | |
download | gcc-0c92f895e0b92b8057b84f8584873258760d227b.tar.gz |
Change get_std_name_hint to use generated hash table
The get_std_name_hint function so far uses linear search to locate
matching entries. After adding more hint entries this might not be
appropriate anymore. Therefore this patch also replaces the linear
array with a gperf-generated hash table.
contrib/ChangeLog
* gcc_update (files_and_dependencies): Add rule for
gcc/cp/std-name-hint.h.
gcc/cp/ChangeLog
* Make-lang.in: Add rule to rebuild std-name-hint.h from
std-name-hint.gperf.
* name-lookup.cc (get_std_name_hint): Remove hints array.
Use gperf-generated class std_name_hint_lookup.
Include "std-name-hint.h".
* std-name-hint.gperf: New file.
* std-name-hint.h: New file. Generated from the .gperf file.
Diffstat (limited to 'contrib/gcc_update')
-rwxr-xr-x | contrib/gcc_update | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/contrib/gcc_update b/contrib/gcc_update index 2ee1bc13167..dd8b6d0b6bf 100755 --- a/contrib/gcc_update +++ b/contrib/gcc_update @@ -94,6 +94,7 @@ gcc/config/rs6000/rs6000-tables.opt: gcc/config/rs6000/rs6000-cpus.def gcc/confi gcc/config/rs6000/fusion.md: gcc/config/rs6000/genfusion.pl # And then, language-specific files gcc/cp/cfns.h: gcc/cp/cfns.gperf +gcc/cp/std-name-hint.h: gcc/cp/std-name-hint.gperf # testsuite # Without this, _Pragma3.c can have a false negative. gcc/testsuite/gcc.dg/cpp/_Pragma3.c: gcc/testsuite/gcc.dg/cpp/mi1c.h |