]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libiberty/bsearch.c
cfgrtl: Fix MEM_EXPR update in duplicate_insn_chain [PR114924]
[thirdparty/gcc.git] / libiberty / bsearch.c
index bb5555eff3cdc8f5075340619fdf4be7bbdc81a0..18158b9591b98d23d67d882170f769e3627b129c 100644 (file)
@@ -30,7 +30,9 @@
 
 /*
 
-@deftypefn Supplemental void* bsearch (const void *@var{key}, const void *@var{base}, size_t @var{nmemb}, size_t @var{size}, int (*@var{compar})(const void *, const void *))
+@deftypefn Supplemental void* bsearch (const void *@var{key}, @
+  const void *@var{base}, size_t @var{nmemb}, size_t @var{size}, @
+  int (*@var{compar})(const void *, const void *))
 
 Performs a search over an array of @var{nmemb} elements pointed to by
 @var{base} for a member that matches the object pointed to by @var{key}.
@@ -67,19 +69,19 @@ is respectively less than, matching, or greater than the array member.
  * look at item 3.
  */
 void *
-bsearch (register const void *key, const void *base0,
-         size_t nmemb, register size_t size,
-         register int (*compar)(const void *, const void *))
+bsearch (const void *key, const void *base0,
+         size_t nmemb, size_t size,
+         int (*compar)(const void *, const void *))
 {
-       register const char *base = (const char *) base0;
-       register int lim, cmp;
-       register const void *p;
+       const char *base = (const char *) base0;
+       int lim, cmp;
+       const void *p;
 
        for (lim = nmemb; lim != 0; lim >>= 1) {
                p = base + (lim >> 1) * size;
                cmp = (*compar)(key, p);
                if (cmp == 0)
-                       return (p);
+                       return (void *)p;
                if (cmp > 0) {  /* key > p: move right */
                        base = (const char *)p + size;
                        lim--;