diff m4/flexmember.m4 @ 7617:e35875ded92b

* m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Mention that offsetof should be used instead of sizeof. From Bruno Haible.
author Paul Eggert <eggert@cs.ucla.edu>
date Tue, 07 Nov 2006 17:20:07 +0000
parents e856370de785
children 81bd0d34cbbe
line wrap: on
line diff
--- a/m4/flexmember.m4
+++ b/m4/flexmember.m4
@@ -41,7 +41,11 @@
       [Define to nothing if C supports flexible array members, and to
        1 if it does not.  That way, with a declaration like `struct s
        { int n; double d@<:@FLEXIBLE_ARRAY_MEMBER@:>@; };', the struct hack
-       can be used with pre-C99 compilers.])
+       can be used with pre-C99 compilers.
+       When computing the size of such an object, don't use 'sizeof (struct s)'
+       as it overestimates the size.  Use 'offsetof (struct s, d)' instead.
+       Don't use 'offsetof (struct s, d@<:@0@:>@)', as this doesn't work with
+       MSVC and with C++ compilers.])
   else
     AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], 1)
   fi