diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2023-07-05 08:38:49 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2023-07-06 11:59:08 +0200 |
commit | 62db795a8fdec8b618a61e40a9e2716768d50d90 (patch) | |
tree | 7427afda04cec6818c7a031a4faef9831fc92ac2 /libcpp/include/symtab.h | |
parent | ee8ed948c1f659d10f5c19e4d51bd8a79369762b (diff) | |
download | gcc-62db795a8fdec8b618a61e40a9e2716768d50d90.zip gcc-62db795a8fdec8b618a61e40a9e2716768d50d90.tar.gz gcc-62db795a8fdec8b618a61e40a9e2716768d50d90.tar.bz2 |
GTY: Enhance 'string_length' option documentation
We're (currently) not aware of any actual use of 'ht_identifier's with NUL
characters embedded; its 'len' field appears to exist for optimization
purposes, since "forever". Before 'struct ht_identifier' was added in
commit 2a967f3d3a45294640e155381ef549e0b8090ad4 (Subversion r42334), we had in
'gcc/cpplib.h:struct cpp_hashnode': 'unsigned short len', or earlier 'length',
earlier in 'gcc/cpphash.h:struct hashnode': 'unsigned short length', earlier
'size_t length' with comment: "length of token, for quick comparison", earlier
'int length', ever since the 'gcc/cpp*' files were added in
commit 7f2935c734c36f84ab62b20a04de465e19061333 (Subversion r9191).
This amends commit f3b957ea8b9dadfb1ed30f24f463529684b7a36a
"pch: Fix streaming of strings with embedded null bytes".
gcc/
* doc/gty.texi (GTY Options) <string_length>: Enhance.
libcpp/
* include/symtab.h (struct ht_identifier): Document different
rationale.
Diffstat (limited to 'libcpp/include/symtab.h')
-rw-r--r-- | libcpp/include/symtab.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/libcpp/include/symtab.h b/libcpp/include/symtab.h index c7ccc6d..0c713f2 100644 --- a/libcpp/include/symtab.h +++ b/libcpp/include/symtab.h @@ -29,9 +29,7 @@ along with this program; see the file COPYING3. If not see typedef struct ht_identifier ht_identifier; typedef struct ht_identifier *ht_identifier_ptr; struct GTY(()) ht_identifier { - /* This GTY markup arranges that the null-terminated identifier would still - stream to PCH correctly, if a null byte were to make its way into an - identifier somehow. */ + /* We know the 'len'gth of the 'str'ing; use it in the GTY markup. */ const unsigned char * GTY((string_length ("1 + %h.len"))) str; unsigned int len; unsigned int hash_value; |