summaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-08 20:23:06 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-08 20:23:06 +0000
commit69642df267469dbe186cff7d3caf5f0df8a4d4fa (patch)
treedc8f4bbb708356e7d8cc6e1931e9f1b46e3866b1 /gcc/tree.h
parentdcfaf1e3413edfc7500232ee8c71d01506a5178e (diff)
downloadgcc-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.h10
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