[v2] Add missing braces to bsearch inline implementation [BZ #28400]
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
dj/TryBot-32bit |
success
|
Build for i686
|
Commit Message
GCC treats the pragma as a statement, so that the else branch only
consists of the pragma, not the return statement.
Fixes commit a725ff1de965f4cc4f36a7e8ae795d40ca0350d7 ("Suppress
-Wcast-qual warnings in bsearch").
---
v2: Added bug number. Tested on i686-linux-gnu and x86_64-linux-gnu.
The regressions are gone.
bits/stdlib-bsearch.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Comments
On Thu, Sep 30, 2021 at 11:16 AM Florian Weimer <fweimer@redhat.com> wrote:
>
> GCC treats the pragma as a statement, so that the else branch only
> consists of the pragma, not the return statement.
>
> Fixes commit a725ff1de965f4cc4f36a7e8ae795d40ca0350d7 ("Suppress
> -Wcast-qual warnings in bsearch").
>
> ---
> v2: Added bug number. Tested on i686-linux-gnu and x86_64-linux-gnu.
> The regressions are gone.
>
> bits/stdlib-bsearch.h | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/bits/stdlib-bsearch.h b/bits/stdlib-bsearch.h
> index d688ed2e15..e2fcea6e17 100644
> --- a/bits/stdlib-bsearch.h
> +++ b/bits/stdlib-bsearch.h
> @@ -36,14 +36,16 @@ bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
> 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;
> + return (void *) __p;
> #if __GNUC_PREREQ(4, 6)
> # pragma GCC diagnostic pop
> #endif
> + }
> }
>
> return NULL;
>
LGTM.
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
Thanks.
@@ -36,14 +36,16 @@ bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
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;
+ return (void *) __p;
#if __GNUC_PREREQ(4, 6)
# pragma GCC diagnostic pop
#endif
+ }
}
return NULL;