Subject: Re: linux-next: manual merge of the kbuild tree with the clang-fixes tree

From: Nathan Chancellor <[email-masked]>
Date: Tue, 2 Jun 2026 18:16:29 -0700

On Tue, Jun 02, 2026 at 02:54:00PM +0100, Mark Brown wrote:
> Hi all,
> 
> Today's linux-next merge of the kbuild tree got a conflict in:
> 
>   include/linux/compiler-clang.h
> 
> between commit:
> 
>   175db11786bde ("Disable -Wattribute-alias for clang-23 and newer")
> 
> from the clang-fixes tree and commit:

Technically now Linus's tree after he merged clang-fixes in

  77590cacabb3 ("Merge tag 'clang-fixes-7.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/nathan/linux")

>   c919893eabb43 ("compiler-clang.h: Drop explicit version number from "all" diagnostic macro")
> 
> from the kbuild tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> diff --cc include/linux/compiler-clang.h
> index 527e4e1360205,a105e2e8016c2..0000000000000
> --- a/include/linux/compiler-clang.h
> +++ b/include/linux/compiler-clang.h
> @@@ -131,16 -122,10 +122,16 @@@
>   #define __diag_str(s)		__diag_str1(s)
>   #define __diag(s)		_Pragma(__diag_str(clang diagnostic s))
>   
>  +#if CONFIG_CLANG_VERSION >= 230000
>  +#define __diag_clang_23(s)	__diag(s)
>  +#else
>  +#define __diag_clang_23(s)
>  +#endif
>  +
> - #define __diag_clang_13(s)	__diag(s)
> + #define __diag_clang_all(s)	__diag(s)
>   
>   #define __diag_ignore_all(option, comment) \
> - 	__diag_clang(13, ignore, option)
> + 	__diag_clang(all, ignore, option)
>   
>   /*
>    * clang has horrible behavior with "g" or "rm" constraints for asm

Thanks a lot, looks good to me and noted for my 7.2 Kbuild pull request.

-- 
Cheers,
Nathan