Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
* [PATCH] speakup: devsynth: remove c23 label
@ 2024-03-13 10:04 Arnd Bergmann
  2024-03-13 10:40 ` Samuel Thibault
  0 siblings, 1 reply; 2+ messages in thread
From: Arnd Bergmann @ 2024-03-13 10:04 UTC (permalink / raw)
  To: William Hubbs, Chris Brannon, Kirk Reiser, Samuel Thibault,
	Nathan Chancellor, Greg Kroah-Hartman
  Cc: Arnd Bergmann, Nick Desaulniers, Bill Wendling, Justin Stitt,
	speakup, linux-kernel, llvm

From: Arnd Bergmann <arnd@arndb.de>

clang-16 and higher warn about a c23 C extension that is also a GNU extension:

drivers/accessibility/speakup/devsynth.c:111:3: error: label at end of compound statement is a C23 extension [-Werror,-Wc23-extensions]

clang-15 just produces an error here:

drivers/accessibility/speakup/devsynth.c:111:3: error: expected statement

This is apparently the only such warning in the kernel tree at the moment,
so just convert it into standard C code using the equivalent 'continue'
keyword.

Fixes: 807977260ae4 ("speakup: Add /dev/synthu device")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/accessibility/speakup/devsynth.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/accessibility/speakup/devsynth.c b/drivers/accessibility/speakup/devsynth.c
index da4d0f6aa5bf..76b5e942dc1b 100644
--- a/drivers/accessibility/speakup/devsynth.c
+++ b/drivers/accessibility/speakup/devsynth.c
@@ -68,7 +68,7 @@ static ssize_t speakup_file_writeu(struct file *fp, const char __user *buffer,
 			case 7: /* 0xfe */
 			case 1: /* 0x80 */
 				/* Invalid, drop */
-				goto drop;
+				continue;
 
 			case 0:
 				/* ASCII, copy */
@@ -96,7 +96,7 @@ static ssize_t speakup_file_writeu(struct file *fp, const char __user *buffer,
 					if ((c & 0xc0) != 0x80)	{
 						/* Invalid, drop the head */
 						want = 1;
-						goto drop;
+						continue;
 					}
 					value = (value << 6) | (c & 0x3f);
 					in++;
@@ -107,7 +107,6 @@ static ssize_t speakup_file_writeu(struct file *fp, const char __user *buffer,
 				want = 1;
 				break;
 			}
-drop:
 		}
 
 		count -= bytes;
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] speakup: devsynth: remove c23 label
  2024-03-13 10:04 [PATCH] speakup: devsynth: remove c23 label Arnd Bergmann
@ 2024-03-13 10:40 ` Samuel Thibault
  0 siblings, 0 replies; 2+ messages in thread
From: Samuel Thibault @ 2024-03-13 10:40 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: William Hubbs, Chris Brannon, Kirk Reiser, Nathan Chancellor,
	Greg Kroah-Hartman, Arnd Bergmann, Nick Desaulniers,
	Bill Wendling, Justin Stitt, speakup, linux-kernel, llvm

Hello,

I have already sent a fix to greg.

("speakup: Fix warning for label at end of compound statement")

Samuel

Arnd Bergmann, le mer. 13 mars 2024 11:04:03 +0100, a ecrit:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> clang-16 and higher warn about a c23 C extension that is also a GNU extension:
> 
> drivers/accessibility/speakup/devsynth.c:111:3: error: label at end of compound statement is a C23 extension [-Werror,-Wc23-extensions]
> 
> clang-15 just produces an error here:
> 
> drivers/accessibility/speakup/devsynth.c:111:3: error: expected statement
> 
> This is apparently the only such warning in the kernel tree at the moment,
> so just convert it into standard C code using the equivalent 'continue'
> keyword.
> 
> Fixes: 807977260ae4 ("speakup: Add /dev/synthu device")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/accessibility/speakup/devsynth.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/accessibility/speakup/devsynth.c b/drivers/accessibility/speakup/devsynth.c
> index da4d0f6aa5bf..76b5e942dc1b 100644
> --- a/drivers/accessibility/speakup/devsynth.c
> +++ b/drivers/accessibility/speakup/devsynth.c
> @@ -68,7 +68,7 @@ static ssize_t speakup_file_writeu(struct file *fp, const char __user *buffer,
>  			case 7: /* 0xfe */
>  			case 1: /* 0x80 */
>  				/* Invalid, drop */
> -				goto drop;
> +				continue;
>  
>  			case 0:
>  				/* ASCII, copy */
> @@ -96,7 +96,7 @@ static ssize_t speakup_file_writeu(struct file *fp, const char __user *buffer,
>  					if ((c & 0xc0) != 0x80)	{
>  						/* Invalid, drop the head */
>  						want = 1;
> -						goto drop;
> +						continue;
>  					}
>  					value = (value << 6) | (c & 0x3f);
>  					in++;
> @@ -107,7 +107,6 @@ static ssize_t speakup_file_writeu(struct file *fp, const char __user *buffer,
>  				want = 1;
>  				break;
>  			}
> -drop:
>  		}
>  
>  		count -= bytes;
> -- 
> 2.39.2
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-03-13 10:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-13 10:04 [PATCH] speakup: devsynth: remove c23 label Arnd Bergmann
2024-03-13 10:40 ` Samuel Thibault

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox