summaryrefslogtreecommitdiff
path: root/src/khash.h
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2018-06-25 11:55:13 +0200
committerPatrick Steinhardt <ps@pks.im>2018-07-13 08:25:12 +0200
commitf347a441c81c4e16dd54de07c5070eca8fccd5c8 (patch)
tree7a641184da70f62c175b0b24139af6dc60de14e5 /src/khash.h
parent6dfc8bc2499db78eae4e29dd121c75121f0e8baf (diff)
downloadlibgit2-f347a441c81c4e16dd54de07c5070eca8fccd5c8.tar.gz
treewide: avoid use of `inline` attribute
ISO C90 does not specify the `inline` attribute, and as such we cannot use it in our code. While we already use `__inline` when building in Microsoft Visual Studio, we should also be using the `__inline__` attribute from GCC/Clang. Otherwise, if we're using neither MSVC nor GCC/Clang, we should simply avoid using `inline` at all and just define functions as static. This commit adjusts our own `GIT_INLINE` macro as well as the inline macros specified by khash and xdiff. This allows us to enable strict C90 mode in a later commit.
Diffstat (limited to 'src/khash.h')
-rw-r--r--src/khash.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/khash.h b/src/khash.h
index 71eb583d5..40e2d1848 100644
--- a/src/khash.h
+++ b/src/khash.h
@@ -146,8 +146,10 @@ typedef unsigned long long khint64_t;
#ifndef kh_inline
#ifdef _MSC_VER
#define kh_inline __inline
+#elif defined(__GNUC__)
+#define kh_inline __inline__
#else
-#define kh_inline inline
+#define kh_inline
#endif
#endif /* kh_inline */