Mercurial > hg > octave-lojdl > gnulib-hg
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