summaryrefslogtreecommitdiff
path: root/m4/flexmember.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/flexmember.m4')
-rw-r--r--m4/flexmember.m410
1 files changed, 6 insertions, 4 deletions
diff --git a/m4/flexmember.m4 b/m4/flexmember.m4
index baa9ff8fb..35580ac27 100644
--- a/m4/flexmember.m4
+++ b/m4/flexmember.m4
@@ -1,7 +1,7 @@
-# serial 3
+# serial 4
# Check for flexible array member support.
-# Copyright (C) 2006, 2009-2016 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -19,8 +19,10 @@ AC_DEFUN([AC_C_FLEXIBLE_ARRAY_MEMBER],
#include <stddef.h>
struct s { int n; double d[]; };]],
[[int m = getchar ();
- struct s *p = malloc (offsetof (struct s, d)
- + m * sizeof (double));
+ size_t nbytes = offsetof (struct s, d) + m * sizeof (double);
+ nbytes += sizeof (struct s) - 1;
+ nbytes -= nbytes % sizeof (struct s);
+ struct s *p = malloc (nbytes);
p->d[0] = 0.0;
return p->d != (double *) NULL;]])],
[ac_cv_c_flexmember=yes],