aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-08-13 21:47:34 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-08-13 21:47:34 -0400
commit8b4d4a9da83023da12e9bd896b953fd2051a2917 (patch)
tree33b843031b38dd91bf28a58aac458aec39a1fada
parenta43ea3192f8f3dfe1c59e33f50e2e6f323c7e4db (diff)
downloadgcc-8b4d4a9da83023da12e9bd896b953fd2051a2917.zip
gcc-8b4d4a9da83023da12e9bd896b953fd2051a2917.tar.gz
gcc-8b4d4a9da83023da12e9bd896b953fd2051a2917.tar.bz2
(sel_get_any_typed_uid): New function.
From-SVN: r10233
-rw-r--r--gcc/objc/selector.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/objc/selector.c b/gcc/objc/selector.c
index 0be75d1..be68f4f 100644
--- a/gcc/objc/selector.c
+++ b/gcc/objc/selector.c
@@ -146,6 +146,29 @@ sel_get_typed_uid (const char *name, const char *types)
return 0;
}
+/* Return selector representing name; prefer a selector with non-NULL type */
+SEL
+sel_get_any_typed_uid (const char *name)
+{
+ struct objc_list *l;
+ sidx i;
+ SEL s;
+
+ i = (sidx) hash_value_for_key (__objc_selector_hash, name);
+ if (i == 0)
+ return 0;
+
+ for (l = (struct objc_list*)sarray_get (__objc_selector_array, i);
+ l; l = l->tail)
+ {
+ s = (SEL) l->head;
+ if (s->sel_types)
+ return s;
+ }
+
+ return s;
+}
+
/* return selector representing name */
SEL
sel_get_any_uid (const char *name)