summaryrefslogtreecommitdiff
path: root/git-compat-util.h
diff options
context:
space:
mode:
authorRamsay Jones <ramsay@ramsay1.demon.co.uk>2013-07-18 21:02:12 +0100
committerJunio C Hamano <gitster@pobox.com>2013-07-19 09:26:15 -0700
commit9fe3edc47f1f17a53272671c572c90ba71eb4f74 (patch)
treea1be4ae69fba938c0fc0b04a1fc87365e57d1b0a /git-compat-util.h
parent8dd0ee823f1829a3aa228c3c73e31de5c89b5317 (diff)
downloadgit-9fe3edc47f1f17a53272671c572c90ba71eb4f74.tar.gz
Add the LAST_ARG_MUST_BE_NULL macrojk/gcc-function-attributes
The sentinel function attribute is not understood by versions of the gcc compiler prior to v4.0. At present, for earlier versions of gcc, the build issues 108 warnings related to the unknown attribute. In order to suppress the warnings, we conditionally define the LAST_ARG_MUST_BE_NULL macro to provide the sentinel attribute for gcc v4.0 and newer. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-compat-util.h')
-rw-r--r--git-compat-util.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/git-compat-util.h b/git-compat-util.h
index e955bb5e8b..10e3ba6bc8 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -295,6 +295,13 @@ extern char *gitbasename(char *);
#endif
#endif
+/* The sentinel attribute is valid from gcc version 4.0 */
+#if defined(__GNUC__) && (__GNUC__ >= 4)
+#define LAST_ARG_MUST_BE_NULL __attribute__((sentinel))
+#else
+#define LAST_ARG_MUST_BE_NULL
+#endif
+
#include "compat/bswap.h"
#ifdef USE_WILDMATCH