Subject: Re: linux-next: build failure after merge of the drm-xe tree

From: Nathan Chancellor <[email-masked]>
Date: Thu, 4 Jun 2026 23:03:08 -0700

On Thu, Jun 04, 2026 at 07:23:40PM +0200, Thomas Hellström wrote:
> On Thu, 2026-06-04 at 15:50 +0100, Mark Brown wrote:
> > On Thu, Jun 04, 2026 at 04:43:17PM +0200, Thomas Hellström wrote:
> > > On Thu, 2026-06-04 at 15:35 +0100, Mark Brown wrote:
> > 
> > > > /tmp/next/build/include/linux/compiler.h:200:84: note: expanded
> > > > from
> > > > macro '__BUILD_BUG_ON_ZERO_MSG'
> > > >   200 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...)
> > > > ((int)sizeof(struct {_Static_assert(!(e), msg);}))
> > 
> > > Funny, I see no build errors with drm-xe-next allmodconfig. What
> > > compiler is being used? Any sha1 of the drm-xe-next top commit
> > > you're
> > > testing?
> > 
> > This is after merging the tree into -next, that'd be on top of
> > 09b893db4d9e68c2679e76624d420f438f8d3e98 for today (not published
> > yet).
> > It's possible it's some interaction with other trees (like the main
> > drm
> > tree) and works as a standalone thing, it wasn't obviously that from
> > a
> > quick investigation.  The toolchain is gcc from Debian stable.
> 
> So I merged drm-xe-next into next-20260603, and no build errors neither
> with gcc nor clang.
> 
> AI says it's confident that the error report is from clang, based on
> -fmacro-backtrace-limit suggestion and the "2 errors generated."
> summary, and suggests this might be an older clang version limitation?

Yeah, this is certainly clang. The kernel test robot also reported this:

  https://lore.kernel.org/[email-masked]/

It looks like this was only fixed in clang-21 with:

  https://github.com/llvm/llvm-project/commit/977d8a4bcd83797217433709201922b9deb97ae2

according to my reverse bisect of clang. I am not really sure how to
work around this at the moment, trying to read the preprocessed source
is nearly impossible because of what REG_FIELD_PREP() expands to.

-- 
Cheers,
Nathan