From ea381bac43f3ce78be5fa3ea10810810670dfb89 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 22 Sep 2026 18:26:55 +0000 Subject: Check for flexible array member support via autoconf FossilOrigin-Name: 4d8f080ee14f63ea5cb2c0aa87be1519e7b74e3c42de2370e90ae1e1f9268cd0 --- configure | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to 'configure') diff --git a/configure b/configure index 4727c37..9ea8331 100755 --- a/configure +++ b/configure @@ -4488,6 +4488,55 @@ else fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for flexible array members" >&5 +printf %s "checking for flexible array members... " >&6; } +if test ${ac_cv_c_flexmember+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + struct s { int n; double d[]; }; +int +main (void) +{ +int m = getchar (); + struct s *p = (struct s *) malloc (offsetof (struct s, d) + + m * sizeof (double)); + p->d[0] = 0.0; + m = p->d != (double *) NULL; + free (p); + return m; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_c_flexmember=yes +else case e in #( + e) ac_cv_c_flexmember=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_flexmember" >&5 +printf "%s\n" "$ac_cv_c_flexmember" >&6; } + if test $ac_cv_c_flexmember = yes; then + +printf "%s\n" "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h + + else + printf "%s\n" "#define FLEXIBLE_ARRAY_MEMBER 1" >>confdefs.h + + fi + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 @@ -4593,7 +4642,6 @@ else fi - if test -n "$ac_tool_prefix"; then for ac_prog in ar lib "link -lib" do -- cgit v1.2.3