[PATCH 03/59] Disable __USE_EXTERN_INLINES for clang
Sam James
sam@gentoo.org
Mon Oct 20 19:37:00 GMT 2025
Adhemerval Zanella <adhemerval.zanella@linaro.org> writes:
> clang does not allow to redefine attributes after function declaration.
> Although it work for external usage, its breaks the build for internal
it breaks
> symbol that glibc provides as optimization (for instance bsearch
> with stdlib-bsearch.h or __cmsg_nxthdr).
Reviewed-by: Sam James <sam@gentoo.org>
>
> Disable such optimization for clang while building glibc.
> ---
> include/features.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/features.h b/include/features.h
> index 03b83cd34c..673c4036cd 100644
> --- a/include/features.h
> +++ b/include/features.h
> @@ -536,7 +536,7 @@
> /* Decide whether we can define 'extern inline' functions in headers. */
> #if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
> && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \
> - && defined __extern_inline
> + && defined __extern_inline && !(defined __clang__ && defined _LIBC)
> # define __USE_EXTERN_INLINES 1
> #endif
More information about the Libc-alpha
mailing list