summaryrefslogtreecommitdiff
path: root/tests/test_lib.h
diff options
context:
space:
mode:
authorJulio Espinoza-Sokal <julioes@gmail.com>2009-06-15 21:26:02 -0400
committerAndreas Ericsson <ae@op5.se>2009-06-16 11:40:14 +0200
commit73c4dd9253f8d43c436fc88e64096910f4f1b8ee (patch)
tree9bdf5bf0bb8dfa08e11ea902931100c4605d1d09 /tests/test_lib.h
parentc79dded300f279a6d8660b13f4fca3c684533449 (diff)
downloadlibgit2-73c4dd9253f8d43c436fc88e64096910f4f1b8ee.tar.gz
Add noreturn declaration compatible with the MSVC compiler.
MSVC provides a compiler declaration to declare that a function never returns. This declaration is required in front of the function definition rather than at the end, but fortunately gcc is compatible with this location as well. Explicit returns are no longer required after calls to test_die. Signed-off-by: Julio Espinoza-Sokal <julioes@gmail.com> Signed-off-by: Andreas Ericsson <ae@op5.se>
Diffstat (limited to 'tests/test_lib.h')
-rw-r--r--tests/test_lib.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/tests/test_lib.h b/tests/test_lib.h
index 52121c9b1..8e9d2f904 100644
--- a/tests/test_lib.h
+++ b/tests/test_lib.h
@@ -29,6 +29,8 @@
/** Declare a function never returns to the caller. */
#ifdef __GNUC__
# define NORETURN __attribute__((__noreturn__))
+#elif defined(_MSC_VER)
+# define NORETURN __declspec(noreturn)
#else
# define NORETURN /* noreturn */
#endif
@@ -61,8 +63,7 @@ extern void test_end(void);
*
* @param fmt printf style format string.
*/
-extern void test_die(const char *fmt, ...)
- NORETURN
+extern void NORETURN test_die(const char *fmt, ...)
GIT_FORMAT_PRINTF(1, 2);
/**