aboutsummaryrefslogtreecommitdiff
path: root/gcc/stringpool.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2003-08-08 20:23:06 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2003-08-08 20:23:06 +0000
commit7bb3fbbb4dd015ad83f96871e15124f896761284 (patch)
treedc8f4bbb708356e7d8cc6e1931e9f1b46e3866b1 /gcc/stringpool.c
parent32247ce9e4968e0a7d48efd79b1853f77ad2e598 (diff)
downloadgcc-7bb3fbbb4dd015ad83f96871e15124f896761284.zip
gcc-7bb3fbbb4dd015ad83f96871e15124f896761284.tar.gz
gcc-7bb3fbbb4dd015ad83f96871e15124f896761284.tar.bz2
* tree.h (get_identifier) Define a macro form of get_identifier
that calls get_identifier_with_length when the string is constant. (get_identifier_with_length): Change type of second argument to size_t in prototype. * stringpool.c (get_identifier): Undefine the macro before giving the function definition. (get_identifier_with_length): Change type of second argument to size_t in function definition. * hashtable.c (calc_hash): Change type of second argument to size_t. (ht_lookup): Change type of third argument to size_t. Reorganize to speed-up the cases where the hash table slot is empty, or the first probe matches (i.e. there isn't a collision). * hashtable.h (ht_lookup): Adjust function prototype. From-SVN: r70256
Diffstat (limited to 'gcc/stringpool.c')
-rw-r--r--gcc/stringpool.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/stringpool.c b/gcc/stringpool.c
index 01e54ac..0cf3be14 100644
--- a/gcc/stringpool.c
+++ b/gcc/stringpool.c
@@ -95,6 +95,8 @@ ggc_alloc_string (const char *contents, int length)
If an identifier with that name has previously been referred to,
the same node is returned this time. */
+#undef get_identifier
+
tree
get_identifier (const char *text)
{
@@ -110,7 +112,7 @@ get_identifier (const char *text)
known. */
tree
-get_identifier_with_length (const char *text, unsigned int length)
+get_identifier_with_length (const char *text, size_t length)
{
hashnode ht_node = ht_lookup (ident_hash,
(const unsigned char *) text,