On Tue, 1 Aug 2023 13:35:13 -0700 Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote: > On Mon, Jul 31, 2023 at 5:36 AM Christian König > <ckoenig.leichtzumerken@xxxxxxxxx> wrote: > > > > GCC forbids to jump to labels in loop conditions and a new clang > > check stumbled over this. > > > > So instead using a local label inside the loop condition use an > > unique label outside of it. > > > > Fixes: commit 09593216bff1 ("drm: execution context for GEM buffers v7") > > Link: https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html > > Link: https://github.com/ClangBuiltLinux/linux/issues/1890 > > Link: https://github.com/llvm/llvm-project/commit/20219106060208f0c2f5d096eb3aed7b712f5067 > > Reported-by: Nathan Chancellor <nathan@xxxxxxxxxx> > > Reported-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> > > CC: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> > > Signed-off-by: Christian König <christian.koenig@xxxxxxx> > > Works for me; thanks for the patch! > Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > > I suspect it's possible to change the indirect goto into a direct goto > with some further refactoring (macros can take block statements; if > drm_exec_until_all_locked accepted a block statement arg then you > could introduce a new scope, and a new local label to that scope, then > just use direct goto), Maybe I'm wrong, but this sounds like the version I proposed here [1]. > but this will probably apply cleaner. (oh, is > 09593216bff1 only in next at the moment? The AuthorDate threw me.) > > There are some curious cases where __attribute__((cleanup())) doesn't > mesh well with indirect gotos. > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37722 > > May not ever be a problem here... [1]https://patchwork.freedesktop.org/patch/543077/