[Spice-devel] [PATCH] Add SPICE_ATTR_NORETURN on prototype of error functions
Frediano Ziglio
fziglio at redhat.com
Tue Jun 26 09:23:00 UTC 2018
>
> From: Christophe de Dinechin <dinechin at redhat.com>
>
> The error functions are supposed to not return. Using the attribute
> documents that in the interface, and is better for the compiler
> because most noreturn-related optimizations and spurious warning
> eliminations happen at the call site.
>
> Signed-off-by: Christophe de Dinechin <dinechin at redhat.com>
> ---
> common/lz.h | 1 +
> common/quic.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/common/lz.h b/common/lz.h
> index 21ba1fa..23910b8 100644
> --- a/common/lz.h
> +++ b/common/lz.h
> @@ -19,6 +19,7 @@ typedef void *LzContext;
>
> typedef struct LzUsrContext LzUsrContext;
> struct LzUsrContext {
> + SPICE_ATTR_NORETURN
> SPICE_ATTR_PRINTF(2, 3) void (*error)(LzUsrContext *usr, const char
> *fmt, ...);
> SPICE_ATTR_PRINTF(2, 3) void (*warn)(LzUsrContext *usr, const char *fmt,
> ...);
> SPICE_ATTR_PRINTF(2, 3) void (*info)(LzUsrContext *usr, const char *fmt,
> ...);
> diff --git a/common/quic.h b/common/quic.h
> index 7c1da85..398fb09 100644
> --- a/common/quic.h
> +++ b/common/quic.h
> @@ -41,6 +41,7 @@ typedef void *QuicContext;
>
> typedef struct QuicUsrContext QuicUsrContext;
> struct QuicUsrContext {
> + SPICE_ATTR_NORETURN
> SPICE_ATTR_PRINTF(2, 3) void (*error)(QuicUsrContext *usr, const char
> *fmt, ...);
> SPICE_ATTR_PRINTF(2, 3) void (*warn)(QuicUsrContext *usr, const char
> *fmt, ...);
> SPICE_ATTR_PRINTF(2, 3) void (*info)(QuicUsrContext *usr, const char
> *fmt, ...);
Acked-by: Frediano Ziglio <fziglio at redhat.com>
Frediano
More information about the Spice-devel
mailing list