summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2012-03-20 02:28:20 +0100
committerMarc-André Lureau <marcandre.lureau@gmail.com>2012-03-20 15:30:24 +0100
commitf7af6264eac996f0119acc92d809a43601d8fe40 (patch)
treee314298f9ee294a841bad296d6f5ec246751cbdc
parenta1df67b3c576b6791a836ae58fde76bdf2ab58f7 (diff)
Add SPICE_ATTR_NORETURN and use it for a few functions
-rw-r--r--common/canvas_base.c4
-rw-r--r--common/macros.h7
2 files changed, 10 insertions, 1 deletions
diff --git a/common/canvas_base.c b/common/canvas_base.c
index a34cace..8f5b0c8 100644
--- a/common/canvas_base.c
+++ b/common/canvas_base.c
@@ -37,7 +37,7 @@
#include "lines.h"
#include "rop3.h"
#include "mem.h"
-
+#include "macros.h"
#include "mutex.h"
#define ROUND(_x) ((int)floor((_x) + 0.5))
@@ -1737,6 +1737,7 @@ static pixman_image_t *canvas_scale_surface(pixman_image_t *src, const SpiceRect
return surface;
}
+SPICE_ATTR_NORETURN
SPICE_ATTR_PRINTF(2, 3) static void quic_usr_error(QuicUsrContext *usr, const char *fmt, ...)
{
QuicData *usr_data = (QuicData *)usr;
@@ -1779,6 +1780,7 @@ SPICE_ATTR_PRINTF(2, 3) static void lz_usr_warn(LzUsrContext *usr, const char *f
va_end(ap);
}
+SPICE_ATTR_NORETURN
SPICE_ATTR_PRINTF(2, 3) static void lz_usr_error(LzUsrContext *usr, const char *fmt, ...)
{
LzData *usr_data = (LzData *)usr;
diff --git a/common/macros.h b/common/macros.h
index ba9713b..cf7aaad 100644
--- a/common/macros.h
+++ b/common/macros.h
@@ -26,5 +26,12 @@
#define SPICE_ATTR_PRINTF(a,b)
#endif /* __GNUC__ */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5)
+#define SPICE_ATTR_NORETURN \
+ __attribute__((noreturn))
+#else
+#define SPICE_ATTR_NORETURN
+#endif /* __GNUC__ */
+
#endif /* __MACROS_H */