diff mbox series

[RFC] qemu/thread: Mark qemu_thread_exit() with 'noreturn' attribute

Message ID 20200601093808.13102-1-philmd@redhat.com
State New
Headers show
Series [RFC] qemu/thread: Mark qemu_thread_exit() with 'noreturn' attribute | expand

Commit Message

Philippe Mathieu-Daudé June 1, 2020, 9:38 a.m. UTC
After upgrading to Ubuntu 20.04 LTS, GCC 9.3 complains:

  util/qemu-thread-posix.c: In function ‘qemu_thread_exit’:
  util/qemu-thread-posix.c:577:6: error: function might be candidate for attribute ‘noreturn’ [-Werror=suggest-attribute=noreturn]
    577 | void qemu_thread_exit(void *retval)
        |      ^~~~~~~~~~~~~~~~

Fix by marking the qemu_thread_exit function with QEMU_NORETURN
to set the 'noreturn' attribute.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
RFC because I'm not sure the error is correct, or we should
simply ignore it by default with -Wno-suggest-attribute=noreturn.
---
 include/qemu/thread.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Paolo Bonzini June 1, 2020, 4:28 p.m. UTC | #1
On 01/06/20 11:38, Philippe Mathieu-Daudé wrote:
> After upgrading to Ubuntu 20.04 LTS, GCC 9.3 complains:
> 
>   util/qemu-thread-posix.c: In function ‘qemu_thread_exit’:
>   util/qemu-thread-posix.c:577:6: error: function might be candidate for attribute ‘noreturn’ [-Werror=suggest-attribute=noreturn]
>     577 | void qemu_thread_exit(void *retval)
>         |      ^~~~~~~~~~~~~~~~
> 
> Fix by marking the qemu_thread_exit function with QEMU_NORETURN
> to set the 'noreturn' attribute.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> RFC because I'm not sure the error is correct, or we should
> simply ignore it by default with -Wno-suggest-attribute=noreturn.
> ---
>  include/qemu/thread.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/qemu/thread.h b/include/qemu/thread.h
> index d22848138e..06c058fb58 100644
> --- a/include/qemu/thread.h
> +++ b/include/qemu/thread.h
> @@ -177,7 +177,7 @@ void qemu_thread_create(QemuThread *thread, const char *name,
>  void *qemu_thread_join(QemuThread *thread);
>  void qemu_thread_get_self(QemuThread *thread);
>  bool qemu_thread_is_self(QemuThread *thread);
> -void qemu_thread_exit(void *retval);
> +void qemu_thread_exit(void *retval) QEMU_NORETURN;
>  void qemu_thread_naming(bool enable);
>  
>  struct Notifier;
> 

Yes, it's correct.  Queued, thanks.

Paolo
diff mbox series

Patch

diff --git a/include/qemu/thread.h b/include/qemu/thread.h
index d22848138e..06c058fb58 100644
--- a/include/qemu/thread.h
+++ b/include/qemu/thread.h
@@ -177,7 +177,7 @@  void qemu_thread_create(QemuThread *thread, const char *name,
 void *qemu_thread_join(QemuThread *thread);
 void qemu_thread_get_self(QemuThread *thread);
 bool qemu_thread_is_self(QemuThread *thread);
-void qemu_thread_exit(void *retval);
+void qemu_thread_exit(void *retval) QEMU_NORETURN;
 void qemu_thread_naming(bool enable);
 
 struct Notifier;