mirror of
https://github.com/neovim/neovim.git
synced 2025-09-30 06:58:35 +00:00
func-attr: clang 3.5 doesn't support alloc_size
The attribute was removed in commit c047507 in the clang repository as it was never properly implemented anyway. This fixes compiling with clang 3.5. Fixes issue #429
This commit is contained in:

committed by
Thiago de Arruda

parent
5d30654512
commit
f5db0d01ba
@@ -29,8 +29,6 @@
|
|||||||
// (not definition), like so:
|
// (not definition), like so:
|
||||||
// void myfunc(void) FUNC_ATTR_ALWAYS_INLINE;
|
// void myfunc(void) FUNC_ATTR_ALWAYS_INLINE;
|
||||||
#define FUNC_ATTR_MALLOC __attribute__((malloc))
|
#define FUNC_ATTR_MALLOC __attribute__((malloc))
|
||||||
#define FUNC_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
|
|
||||||
#define FUNC_ATTR_ALLOC_SIZE_PROD(x,y) __attribute__((alloc_size(x,y)))
|
|
||||||
#define FUNC_ATTR_ALLOC_ALIGN(x) __attribute__((alloc_align(x)))
|
#define FUNC_ATTR_ALLOC_ALIGN(x) __attribute__((alloc_align(x)))
|
||||||
#define FUNC_ATTR_PURE __attribute__ ((pure))
|
#define FUNC_ATTR_PURE __attribute__ ((pure))
|
||||||
#define FUNC_ATTR_CONST __attribute__((const))
|
#define FUNC_ATTR_CONST __attribute__((const))
|
||||||
@@ -43,15 +41,43 @@
|
|||||||
// intel only
|
// intel only
|
||||||
#else
|
#else
|
||||||
// gcc only
|
// gcc only
|
||||||
|
#define FUNC_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
|
||||||
|
#define FUNC_ATTR_ALLOC_SIZE_PROD(x,y) __attribute__((alloc_size(x,y)))
|
||||||
#endif
|
#endif
|
||||||
#else
|
#endif
|
||||||
|
|
||||||
|
// define function attributes that haven't been defined for this specific
|
||||||
|
// compiler.
|
||||||
|
|
||||||
|
#ifndef FUNC_ATTR_MALLOC
|
||||||
#define FUNC_ATTR_MALLOC
|
#define FUNC_ATTR_MALLOC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FUNC_ATTR_ALLOC_SIZE
|
||||||
#define FUNC_ATTR_ALLOC_SIZE(x)
|
#define FUNC_ATTR_ALLOC_SIZE(x)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FUNC_ATTR_ALLOC_SIZE_PROD
|
||||||
#define FUNC_ATTR_ALLOC_SIZE_PROD(x,y)
|
#define FUNC_ATTR_ALLOC_SIZE_PROD(x,y)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FUNC_ATTR_ALLOC_ALIGN
|
||||||
#define FUNC_ATTR_ALLOC_ALIGN(x)
|
#define FUNC_ATTR_ALLOC_ALIGN(x)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FUNC_ATTR_PURE
|
||||||
#define FUNC_ATTR_PURE
|
#define FUNC_ATTR_PURE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FUNC_ATTR_CONST
|
||||||
#define FUNC_ATTR_CONST
|
#define FUNC_ATTR_CONST
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FUNC_ATTR_WARN_UNUSED_RESULT
|
||||||
#define FUNC_ATTR_WARN_UNUSED_RESULT
|
#define FUNC_ATTR_WARN_UNUSED_RESULT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FUNC_ATTR_ALWAYS_INLINE
|
||||||
#define FUNC_ATTR_ALWAYS_INLINE
|
#define FUNC_ATTR_ALWAYS_INLINE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user