aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2021-05-19 16:48:19 +0100
committerJonathan Wakely <jwakely@redhat.com>2021-09-30 12:18:48 +0100
commita725ff1de965f4cc4f36a7e8ae795d40ca0350d7 (patch)
treeec4b0188ebd3a3a1277bfffd7df11fb21103fb2e
parent88361b408b9dbd313f15413cc2e6be0f1cafb01a (diff)
downloadglibc-a725ff1de965f4cc4f36a7e8ae795d40ca0350d7.zip
glibc-a725ff1de965f4cc4f36a7e8ae795d40ca0350d7.tar.gz
glibc-a725ff1de965f4cc4f36a7e8ae795d40ca0350d7.tar.bz2
Suppress -Wcast-qual warnings in bsearch
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>
-rw-r--r--bits/stdlib-bsearch.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/bits/stdlib-bsearch.h b/bits/stdlib-bsearch.h
index 4132dc6..d688ed2 100644
--- a/bits/stdlib-bsearch.h
+++ b/bits/stdlib-bsearch.h
@@ -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;