summaryrefslogtreecommitdiff
path: root/tools_common.h
diff options
context:
space:
mode:
authorWan-Teh Chang <wtc@google.com>2021-09-10 15:54:51 -0700
committerWan-Teh Chang <wtc@google.com>2021-09-10 15:54:51 -0700
commit8a6fbc0b4eb8538e213782bcdc3969a08b44e73b (patch)
tree7b5a993bf4a05abc4584c8bcaa5239c583943d58 /tools_common.h
parent65a1751e5b98bf7f1d21bcbfdef352af34fb205d (diff)
downloadlibvpx-8a6fbc0b4eb8538e213782bcdc3969a08b44e73b.tar
libvpx-8a6fbc0b4eb8538e213782bcdc3969a08b44e73b.tar.gz
libvpx-8a6fbc0b4eb8538e213782bcdc3969a08b44e73b.tar.bz2
libvpx-8a6fbc0b4eb8538e213782bcdc3969a08b44e73b.zip
Define the VPX_NO_RETURN macro for MSVC
Define VPX_NO_RETURN as __declspec(noreturn) for MSVC. See https://docs.microsoft.com/en-us/cpp/cpp/noreturn?view=msvc-160 This requires moving VPX_NO_RETURN before function declarations because __declspec(noreturn) must be placed there. Fortunately GCC's __attribute__((noreturn)) can be placed either before or after function declarations. Change-Id: Id9bb0077e2a4f16ec2ca9c913dd93673a0e385cf
Diffstat (limited to 'tools_common.h')
-rw-r--r--tools_common.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/tools_common.h b/tools_common.h
index 4526d9f16..4e8851fc1 100644
--- a/tools_common.h
+++ b/tools_common.h
@@ -110,6 +110,8 @@ extern "C" {
#if defined(__GNUC__)
#define VPX_NO_RETURN __attribute__((noreturn))
+#elif defined(_MSC_VER)
+#define VPX_NO_RETURN __declspec(noreturn)
#else
#define VPX_NO_RETURN
#endif
@@ -117,14 +119,14 @@ extern "C" {
/* Sets a stdio stream into binary mode */
FILE *set_binary_mode(FILE *stream);
-void die(const char *fmt, ...) VPX_NO_RETURN;
-void fatal(const char *fmt, ...) VPX_NO_RETURN;
+VPX_NO_RETURN void die(const char *fmt, ...);
+VPX_NO_RETURN void fatal(const char *fmt, ...);
void warn(const char *fmt, ...);
-void die_codec(vpx_codec_ctx_t *ctx, const char *s) VPX_NO_RETURN;
+VPX_NO_RETURN void die_codec(vpx_codec_ctx_t *ctx, const char *s);
/* The tool including this file must define usage_exit() */
-void usage_exit(void) VPX_NO_RETURN;
+VPX_NO_RETURN void usage_exit(void);
#undef VPX_NO_RETURN