aboutsummaryrefslogtreecommitdiffstats
path: root/epan/except.h
diff options
context:
space:
mode:
authorgerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>2009-07-30 17:54:58 +0000
committergerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>2009-07-30 17:54:58 +0000
commit6f8992d70aba7110d860517599fac09b1aadef8e (patch)
treef023dbf8fabdf2d170e95bbf469fe7436e9d1745 /epan/except.h
parentd59d4a4d7b37a437f83a6e0d1c40fe14dfec3314 (diff)
From Kovarththanan Rajaratnam via bug 3506:
The exception throwing code in except.c/h should be annotated with "noreturn" to indicate that they never return. Running static analysis on Wireshark without this annotation causes a lot of false positives since these analyzers assume that the exception handling code are ordinary functions that will eventually return. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29246 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/except.h')
-rw-r--r--epan/except.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/epan/except.h b/epan/except.h
index 378441df47..363589417d 100644
--- a/epan/except.h
+++ b/epan/except.h
@@ -30,6 +30,7 @@
#ifndef XCEPT_H
#define XCEPT_H
+#include <glib.h>
#include <setjmp.h>
#include <stdlib.h>
#include <assert.h>
@@ -90,10 +91,10 @@ extern struct except_stacknode *except_pop(void);
/* public interface functions */
extern int except_init(void);
extern void except_deinit(void);
-extern void except_rethrow(except_t *);
-extern void except_throw(long, long, const char *);
-extern void except_throwd(long, long, const char *, void *);
-extern void except_throwf(long, long, const char *, ...);
+extern void except_rethrow(except_t *) G_GNUC_NORETURN;
+extern void except_throw(long, long, const char *) G_GNUC_NORETURN;
+extern void except_throwd(long, long, const char *, void *) G_GNUC_NORETURN;
+extern void except_throwf(long, long, const char *, ...) G_GNUC_NORETURN;
extern void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);
extern unsigned long except_code(except_t *);
extern unsigned long except_group(except_t *);