From: Timo Sirainen Date: Thu, 30 Jun 2016 22:11:02 +0000 (+0300) Subject: configure: Check if C99 "static" keyword is supported for array sizes. X-Git-Tag: 2.2.26~527 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4de7ae77f6c6ad6060e8999d5f318b2c7d11098c;p=thirdparty%2Fdovecot%2Fcore.git configure: Check if C99 "static" keyword is supported for array sizes. --- diff --git a/configure.ac b/configure.ac index e3283d0ee3..821b347e75 100644 --- a/configure.ac +++ b/configure.ac @@ -1007,6 +1007,24 @@ if test $i_cv_signed_time_t = yes; then AC_DEFINE(TIME_T_SIGNED,, [Define if your time_t is signed]) fi +AC_CACHE_CHECK([if we can use C99 static in array sizes],i_cv_c99_static_arrays,[ + AC_TRY_COMPILE([ + void foo(int arr[static 20]); + ], [ + ], [ + i_cv_c99_static_arrays=yes + ], [ + i_cv_c99_static_arrays=no + ]) +]) + +if test $i_cv_c99_static_arrays = yes; then + static_value=static +else + static_value= +fi +AC_DEFINE_UNQUOTED(STATIC_ARRAY, $static_value, [C99 static array]) + dnl Our implementation of AC_C_FLEXIBLE_ARRAY_MEMBER. dnl Use it until autoconf 2.61+ becomes more widely used AC_CACHE_CHECK([if we can use C99-like flexible array members],i_cv_c99_flex_arrays,[ diff --git a/src/lib/macros.h b/src/lib/macros.h index 2faf0c8cf1..593ca49d44 100644 --- a/src/lib/macros.h +++ b/src/lib/macros.h @@ -227,9 +227,8 @@ #endif #ifdef __cplusplus +# undef STATIC_ARRAY # define STATIC_ARRAY -#else -# define STATIC_ARRAY static #endif #endif