diff --git a/tools_common.h b/tools_common.h index 558413ea43407ba8ec1cbdd899916835297e3fbd..c1f466b014b221adfaef29e3bb0729f403b6a2fa 100644 --- a/tools_common.h +++ b/tools_common.h @@ -103,17 +103,25 @@ struct VpxInputContext { extern "C" { #endif +#if defined(__GNUC__) +#define VPX_NO_RETURN __attribute__((noreturn)) +#else +#define VPX_NO_RETURN +#endif + /* Sets a stdio stream into binary mode */ FILE *set_binary_mode(FILE *stream); -void die(const char *fmt, ...); -void fatal(const char *fmt, ...); +void die(const char *fmt, ...) VPX_NO_RETURN; +void fatal(const char *fmt, ...) VPX_NO_RETURN; void warn(const char *fmt, ...); -void die_codec(vpx_codec_ctx_t *ctx, const char *s); +void die_codec(vpx_codec_ctx_t *ctx, const char *s) VPX_NO_RETURN; /* The tool including this file must define usage_exit() */ -void usage_exit(); +void usage_exit() VPX_NO_RETURN; + +#undef VPX_NO_RETURN int read_yuv_frame(struct VpxInputContext *input_ctx, vpx_image_t *yuv_frame);