summaryrefslogtreecommitdiff
path: root/libarchive_fe
diff options
context:
space:
mode:
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>2009-11-09 05:56:48 -0500
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>2009-11-09 05:56:48 -0500
commit992bd3b18b4f740a0150bff6d08e090bda0fab82 (patch)
tree3bb05d3ef9124020609fe9c6e57b34a7acd268f4 /libarchive_fe
parent71145f2f9b15397e537dc23d9babefc0da12e278 (diff)
downloadlibarchive-992bd3b18b4f740a0150bff6d08e090bda0fab82.tar.gz
Teach it to compiler and analyzer that function `lafe_errc' is no return.
Found by Clang Static Analyzer. SVN-Revision: 1626
Diffstat (limited to 'libarchive_fe')
-rw-r--r--libarchive_fe/err.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/libarchive_fe/err.h b/libarchive_fe/err.h
index 164e2d38..dd794481 100644
--- a/libarchive_fe/err.h
+++ b/libarchive_fe/err.h
@@ -26,9 +26,16 @@
#ifndef LAFE_ERR_H
#define LAFE_ERR_H
+#if defined(__GNUC__) && (__GNUC__ > 2 || \
+ (__GNUC__ == 2 && __GNUC_MINOR__ >= 5))
+#define __LA_DEAD __attribute__((__noreturn__))
+#else
+#define __LA_DEAD
+#endif
+
extern const char *lafe_progname;
void lafe_warnc(int code, const char *fmt, ...);
-void lafe_errc(int eval, int code, const char *fmt, ...);
+void lafe_errc(int eval, int code, const char *fmt, ...) __LA_DEAD;
#endif