зеркало из https://github.com/microsoft/git.git
Merge branch 'cb/array-size'
* cb/array-size: Fix definition of ARRAY_SIZE for non-gcc builds
This commit is contained in:
Коммит
5416f8af0f
|
@ -58,15 +58,13 @@
|
||||||
#define BUILD_ASSERT_OR_ZERO(cond) \
|
#define BUILD_ASSERT_OR_ZERO(cond) \
|
||||||
(sizeof(char [1 - 2*!(cond)]) - 1)
|
(sizeof(char [1 - 2*!(cond)]) - 1)
|
||||||
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ >= 3)
|
#if GIT_GNUC_PREREQ(3, 1)
|
||||||
# if GIT_GNUC_PREREQ(3, 1)
|
|
||||||
/* &arr[0] degrades to a pointer: a different type from an array */
|
/* &arr[0] degrades to a pointer: a different type from an array */
|
||||||
# define BARF_UNLESS_AN_ARRAY(arr) \
|
# define BARF_UNLESS_AN_ARRAY(arr) \
|
||||||
BUILD_ASSERT_OR_ZERO(!__builtin_types_compatible_p(__typeof__(arr), \
|
BUILD_ASSERT_OR_ZERO(!__builtin_types_compatible_p(__typeof__(arr), \
|
||||||
__typeof__(&(arr)[0])))
|
__typeof__(&(arr)[0])))
|
||||||
# else
|
#else
|
||||||
# define BARF_UNLESS_AN_ARRAY(arr) 0
|
# define BARF_UNLESS_AN_ARRAY(arr) 0
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
* ARRAY_SIZE - get the number of elements in a visible array
|
* ARRAY_SIZE - get the number of elements in a visible array
|
||||||
|
|
Загрузка…
Ссылка в новой задаче