diff options
author | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-08-08 20:23:06 +0000 |
---|---|---|
committer | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-08-08 20:23:06 +0000 |
commit | 69642df267469dbe186cff7d3caf5f0df8a4d4fa (patch) | |
tree | dc8f4bbb708356e7d8cc6e1931e9f1b46e3866b1 /gcc/tree.h | |
parent | dcfaf1e3413edfc7500232ee8c71d01506a5178e (diff) | |
download | gcc-69642df267469dbe186cff7d3caf5f0df8a4d4fa.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70256 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h index cac3efc1e9b..69e75e1af36 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -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 |