summaryrefslogtreecommitdiffstats
path: root/m4/flexible_array_member.m4
blob: 10fea3b433bfd7e344110c92b2ee0dea1b0b0fa7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
dnl Our implementation of AC_C_FLEXIBLE_ARRAY_MEMBER.
dnl Use it until autoconf 2.61+ becomes more widely used
AC_DEFUN([DOVECOT_C_FLEXIBLE_ARRAY_MEMBER], [
  AC_CACHE_CHECK([if we can use C99-like flexible array members],i_cv_c99_flex_arrays,[
    AC_TRY_COMPILE([
      struct foo {
        int x;
        char y[];
      };
    ], [
      struct foo foo;
    ], [
      i_cv_c99_flex_arrays=yes
    ], [
      i_cv_c99_flex_arrays=no
    ])
  ])
  
  if test $i_cv_c99_flex_arrays = yes; then
    flexible_value=
  else
    flexible_value=1
  fi
  AC_DEFINE_UNQUOTED(FLEXIBLE_ARRAY_MEMBER, $flexible_value, [How to define flexible array members in structs])
])