aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2017-05-12 23:08:36 +0200
committerJustin M. Keyes <justinkz@gmail.com>2017-05-13 15:04:32 +0200
commit8d987809328569a3cca293af17ce33236a8c7055 (patch)
treead048d0bf7edd9492da1f0c1996519bd17e720ed /src
parent9e5d55e2b0a80208f4febe49199b771445b9fa73 (diff)
downloadrneovim-8d987809328569a3cca293af17ce33236a8c7055.tar.gz
rneovim-8d987809328569a3cca293af17ce33236a8c7055.tar.bz2
rneovim-8d987809328569a3cca293af17ce33236a8c7055.zip
func_attr.h: clang 3.7+: REAL_FATTR_NONNULL_RET
Closes #1627
Diffstat (limited to 'src')
-rw-r--r--src/nvim/func_attr.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/nvim/func_attr.h b/src/nvim/func_attr.h
index cc94a41f80..3b9cb3e52e 100644
--- a/src/nvim/func_attr.h
+++ b/src/nvim/func_attr.h
@@ -113,16 +113,19 @@
# define REAL_FATTR_NONNULL_ARG(...) __attribute__((nonnull(__VA_ARGS__)))
# define REAL_FATTR_NORETURN __attribute__((noreturn))
-# ifdef __clang__
-// clang only
+# if defined(__clang__) && __clang__ == 1
+// clang
+# if (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 7))
+# define REAL_FATTR_NONNULL_RET __attribute__((returns_nonnull))
+# endif
# elif defined(__INTEL_COMPILER)
-// intel only
+// intel compiler
# else
# define GCC_VERSION \
(__GNUC__ * 10000 + \
__GNUC_MINOR__ * 100 + \
__GNUC_PATCHLEVEL__)
-// gcc only
+// gcc
# define REAL_FATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
# define REAL_FATTR_ALLOC_SIZE_PROD(x, y) __attribute__((alloc_size(x, y)))
# if GCC_VERSION >= 40900