summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinhard Tartler <siretart@tauware.de>2012-07-01 19:38:40 +0200
committerReinhard Tartler <siretart@tauware.de>2012-07-03 17:26:51 +0200
commit22662ca56086ddb7240dc84a68ad89c785682f36 (patch)
treed7d942fd414e67a575d43d2e7bf64fe6786312ef
parenta1641e954091760a759e6281ccc360d3817f9397 (diff)
attributes: add av_noreturn
Also use it in the declaration of the various exit_program implementations in avtools. inspired by a clang-scan report.
-rw-r--r--cmdutils.h2
-rw-r--r--libavutil/attributes.h6
2 files changed, 7 insertions, 1 deletions
diff --git a/cmdutils.h b/cmdutils.h
index 793a1e83c4..ca4f4c1e8c 100644
--- a/cmdutils.h
+++ b/cmdutils.h
@@ -373,7 +373,7 @@ FILE *get_preset_file(char *filename, size_t filename_size,
* Do all the necessary cleanup and abort.
* This function is implemented in the avtools, not cmdutils.
*/
-void exit_program(int ret);
+av_noreturn void exit_program(int ret);
/**
* Realloc array to hold new_size elements of elem_size.
diff --git a/libavutil/attributes.h b/libavutil/attributes.h
index 7a9b18b808..292a0a1a88 100644
--- a/libavutil/attributes.h
+++ b/libavutil/attributes.h
@@ -113,4 +113,10 @@
# define av_printf_format(fmtpos, attrpos)
#endif
+#if AV_GCC_VERSION_AT_LEAST(2,5)
+# define av_noreturn __attribute__((noreturn))
+#else
+# define av_noreturn
+#endif
+
#endif /* AVUTIL_ATTRIBUTES_H */