diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-08-08 20:23:06 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-08-08 20:23:06 +0000 |
commit | 7bb3fbbb4dd015ad83f96871e15124f896761284 (patch) | |
tree | dc8f4bbb708356e7d8cc6e1931e9f1b46e3866b1 /gcc/tree.h | |
parent | 32247ce9e4968e0a7d48efd79b1853f77ad2e598 (diff) | |
download | gcc-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/tree.h')
-rw-r--r-- | gcc/tree.h | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -2050,10 +2050,18 @@ extern tree make_tree_vec (int); extern tree get_identifier (const char *); +#if GCC_VERSION >= 3000 +#define get_identifier(str) \ + (__builtin_constant_p (str) \ + ? get_identifier_with_length ((str), strlen (str)) \ + : get_identifier (str)) +#endif + + /* Identical to get_identifier, except that the length is assumed known. */ -extern tree get_identifier_with_length (const char *, unsigned int); +extern tree get_identifier_with_length (const char *, size_t); /* If an identifier with the name TEXT (a null-terminated string) has previously been referred to, return that node; otherwise return |