[Openvpn-devel,v2,1/2] Remove flexible array member autoconf check
Commit Message
This is configure macro that tries out how to declare a variable array
at the end of struct. This has been standardised in C99, so there is
no more need for non C99 magic. See also this stackoverflow discussion:
https://stackoverflow.com/questions/14643406/whats-the-need-of-array-with-zero-elements
Patch V2: Also remove AX_EMPTY_ARRAY from configure.ac
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
---
config-msvc.h | 1 -
configure.ac | 1 -
m4/ax_emptyarray.m4 | 40 ----------------------------------------
src/openvpn/circ_list.h | 2 +-
src/openvpn/syshead.h | 2 --
5 files changed, 1 insertion(+), 45 deletions(-)
delete mode 100644 m4/ax_emptyarray.m4
Comments
Acked-by: Gert Doering <gert@greenie.muc.de>
Taking Steffan's ACK on the v1, and mine on the single-line change in
v2 (which gets rid of these warnings). Buildbot army tested v1, so
I'm reasonably sure nothing bad will happen on v2 either :-)
Your patch has been applied to the master branch.
commit 7975e33bd9122045d26d1a47294f2c47854a5f0e
Author: Arne Schwabe
Date: Sun Mar 28 16:20:37 2021 +0200
Remove flexible array member autoconf check
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Steffan Karger <steffan.karger@foxcrypto.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20210328142038.8826-1-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg21882.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
--
kind regards,
Gert Doering
@@ -119,7 +119,6 @@
#define inline __inline
#endif
-#define EMPTY_ARRAY_SIZE 0
#define TARGET_WIN32 1
#define TARGET_ALIAS "Windows-MSVC"
@@ -421,7 +421,6 @@ AC_TYPE_SIGNAL
AX_CPP_VARARG_MACRO_ISO
AX_CPP_VARARG_MACRO_GCC
AX_TYPE_SOCKLEN_T
-AX_EMPTY_ARRAY
AC_CHECK_SIZEOF([unsigned int])
AC_CHECK_SIZEOF([unsigned long])
AC_CHECK_HEADERS([ \
deleted file mode 100644
@@ -1,40 +0,0 @@
-dnl @synopsis AX_EMPTY_ARRAY
-dnl
-dnl Define EMPTY_ARRAY_SIZE to be either "0"
-dnl or "" depending on which syntax the compiler
-dnl prefers for empty arrays in structs.
-dnl
-dnl @version
-dnl @author James Yonan <jim@yonan.net>
-AC_DEFUN([AX_EMPTY_ARRAY], [
- AS_VAR_PUSHDEF([VAR],[ax_cv_c_empty_array])dnl
- AC_CACHE_CHECK(
- [for C compiler empty array size],
- [VAR],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- ,
- [[
-struct { int foo; int bar[0]; } mystruct;
- ]]
- )],
- [VAR=0],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- ,
- [[
-struct { int foo; int bar[]; } mystruct;
- ]]
- )],
- [VAR=],
- [AC_MSG_ERROR([C compiler is unable to creaty empty arrays])]
- )]
- )]
- )dnl
- AC_DEFINE_UNQUOTED(
- [EMPTY_ARRAY_SIZE],
- [$VAR],
- [Dimension to use for empty array declaration]
- )dnl
- AS_VAR_POPDEF([VAR])dnl
-])
@@ -34,7 +34,7 @@
int x_size; \
int x_cap; \
int x_sizeof; \
- type x_list[EMPTY_ARRAY_SIZE]; \
+ type x_list[]; \
}
#define CIRC_LIST_PUSH(obj, item) \
@@ -392,8 +392,6 @@ typedef int MIB_TCP_STATE;
#ifdef PEDANTIC
#undef HAVE_CPP_VARARG_MACRO_GCC
#undef HAVE_CPP_VARARG_MACRO_ISO
-#undef EMPTY_ARRAY_SIZE
-#define EMPTY_ARRAY_SIZE 1
#undef inline
#define inline
#endif