From 5486b51d7d71a7573ef1b9cd8fd1842f03d45200 Mon Sep 17 00:00:00 2001 From: Joerg Sonnenberger Date: Wed, 1 Oct 2008 10:07:50 -0400 Subject: [PATCH] Introduce __LA_DEAD to replace current unportable use of __dead2 as discussed in August. SVN-Revision: 217 --- cpio/cpio.h | 2 +- libarchive/archive.h | 7 +++++++ libarchive/archive_private.h | 2 +- tar/bsdtar.h | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cpio/cpio.h b/cpio/cpio.h index a4c17108e..41841f941 100644 --- a/cpio/cpio.h +++ b/cpio/cpio.h @@ -85,7 +85,7 @@ struct cpio { /* Name of this program; used in error reporting, initialized in main(). */ const char *cpio_progname; -void cpio_errc(int _eval, int _code, const char *fmt, ...) __dead2; +void cpio_errc(int _eval, int _code, const char *fmt, ...) __LA_DEAD; void cpio_warnc(int _code, const char *fmt, ...); int owner_parse(const char *, int *, int *); diff --git a/libarchive/archive.h b/libarchive/archive.h index 8ae1757bd..669ec5903 100644 --- a/libarchive/archive.h +++ b/libarchive/archive.h @@ -82,6 +82,13 @@ # define __LA_DECL #endif +#if defined(__GNUC__) && (__GNUC__ > 2 || \ + (__GNUC__ == 2 && __GNUC_MINOR__ >= 5)) +#define __LA_DEAD __attribute__((__noreturn__)) +#else +#define __LA_DEAD +#endif + #ifdef __cplusplus extern "C" { diff --git a/libarchive/archive_private.h b/libarchive/archive_private.h index a859417a6..9e5d0dac0 100644 --- a/libarchive/archive_private.h +++ b/libarchive/archive_private.h @@ -92,7 +92,7 @@ struct archive { void __archive_check_magic(struct archive *, unsigned int magic, unsigned int state, const char *func); -void __archive_errx(int retvalue, const char *msg) __dead2; +void __archive_errx(int retvalue, const char *msg) __LA_DEAD; #define err_combine(a,b) ((a) < (b) ? (a) : (b)) diff --git a/tar/bsdtar.h b/tar/bsdtar.h index 59f24c20e..fb256d8df 100644 --- a/tar/bsdtar.h +++ b/tar/bsdtar.h @@ -103,7 +103,7 @@ struct bsdtar { }; void bsdtar_errc(struct bsdtar *, int _eval, int _code, - const char *fmt, ...) __dead2; + const char *fmt, ...) __LA_DEAD; void bsdtar_warnc(struct bsdtar *, int _code, const char *fmt, ...); void cleanup_exclusions(struct bsdtar *); void do_chdir(struct bsdtar *); -- 2.47.3