]> sourceware.org Git - glibc.git/commitdiff
Suppress -Wcast-qual warnings in bsearch
authorJonathan Wakely <jwakely@redhat.com>
Wed, 19 May 2021 15:48:19 +0000 (16:48 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 30 Sep 2021 11:18:48 +0000 (12:18 +0100)
The first cast to (void *) is redundant but should be (const void *)
anyway, because that's the type of the lvalue being assigned to.

The second cast is necessary and intentionally not const-correct, so
tell the compiler not to warn about it.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
bits/stdlib-bsearch.h

index 4132dc6af0077f31f95a9bbccb4b6ac4465cf9cf..d688ed2e15678e9ce360c95cb9e85dbe10742056 100644 (file)
@@ -29,14 +29,21 @@ bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
   while (__l < __u)
     {
       __idx = (__l + __u) / 2;
-      __p = (void *) (((const char *) __base) + (__idx * __size));
+      __p = (const void *) (((const char *) __base) + (__idx * __size));
       __comparison = (*__compar) (__key, __p);
       if (__comparison < 0)
        __u = __idx;
       else if (__comparison > 0)
        __l = __idx + 1;
       else
+#if __GNUC_PREREQ(4, 6)
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wcast-qual"
+#endif
        return (void *) __p;
+#if __GNUC_PREREQ(4, 6)
+# pragma GCC diagnostic pop
+#endif
     }
 
   return NULL;
This page took 0.043054 seconds and 5 git commands to generate.