Thread (3 messages) 3 messages, 3 authors, 2021-08-20

Re: linux-next: build failure after merge of the drivers-x86 tree

flat view

From: Hans de Goede <hidden>
Date: 2021-08-20 10:11:50
Also in: lkml

Hi,

On 8/20/21 9:31 AM, M D wrote:
On Fri, Aug 20, 2021 at 1:00 PM Stephen Rothwell [off-list ref] wrote:
quoted
Hi all,

After merging the drivers-x86 tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/platform/x86/ideapad-laptop.c: In function 'ideapad_wmi_notify':
drivers/platform/x86/ideapad-laptop.c:1469:3: error: a label can only be part of a statement and a declaration is not a statement
 1469 |   unsigned long result;
      |   ^~~~~~~~

Caused by commit

  18cfd76e7b84 ("ideapad-laptop: Fix Legion 5 Fn lock LED")

I have used the drivers-x86 tree from next-20210819 for today.

--
Cheers,
Stephen Rothwell
Hi Stephen,

Thanks for your work!

This error occurs because only a statement is allowed after a label,
but a definition is not a statement in C99.
This can be fixed by wrapping the case block with curly braces like this:
case 208: {
...
}
Yes, or just move the declaration of result to the beginning of
the function, which is a bit cleaner IMHO.

I've moved the declaration to the beginning of the function and
squashed this fix into the original commit. I'll do a forced
push with the squashed in fix to for-next as soon as a test-compile
completes.

Stephen, as always thank you your work on linux-next and for reporting this.
However I don't know why my compiler did not report this error. I was
using gcc 11.1.0 under Arch Linux.
Yes gcc 11.2.1 under Fedora also happily compiles this, and this
sat in my review-hans branch for a while and got happily compiled
by "kernel test robot [off-list ref] " there too.

So this compile error slipped through the crack of all our (compile)
testing until Stephen caught it :)

Regards,

Hans
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help