Mercurial > hg > octave-lojdl > gnulib-hg
changeset 6329:ffad934ef3bd
* verify.h (verify_true): Provide alternative definition for C++.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Wed, 05 Oct 2005 06:50:03 +0000 |
parents | e1100f1eda79 |
children | ba742d376820 |
files | lib/ChangeLog lib/verify.h |
diffstat | 2 files changed, 14 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,7 @@ +2005-10-04 Bruno Haible <bruno@clisp.org> + + * verify.h (verify_true): Provide alternative definition for C++. + 2005-10-04 Simon Josefsson <jas@extundo.com> * getaddrinfo.h: Move sys/types.h include first, reported by "Mark
--- a/lib/verify.h +++ b/lib/verify.h @@ -36,9 +36,16 @@ /* Verify requirement R at compile-time, as an integer constant expression. Return true. */ -# define verify_true(R) \ - (!!sizeof \ - (struct { unsigned int verify_error_if_negative_size__ : (R) ? 1 : -1; })) +# ifdef __cplusplus +template <int w> + struct verify_type__ { unsigned int verify_error_if_negative_size__: w; }; +# define verify_true(R) \ + (!!sizeof (verify_type__<(R) ? 1 : -1>)) +# else +# define verify_true(R) \ + (!!sizeof \ + (struct { unsigned int verify_error_if_negative_size__: (R) ? 1 : -1; })) +# endif /* Verify requirement R at compile-time, as a declaration without a trailing ';'. */