# HG changeset patch # User Paul Eggert # Date 1128495003 0 # Node ID ffad934ef3bd6416b27d55384ae7bc730170c90f # Parent e1100f1eda79f0396ddad0bd11c1fbb31cb1f819 * verify.h (verify_true): Provide alternative definition for C++. diff --git a/lib/ChangeLog b/lib/ChangeLog --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,7 @@ +2005-10-04 Bruno Haible + + * verify.h (verify_true): Provide alternative definition for C++. + 2005-10-04 Simon Josefsson * getaddrinfo.h: Move sys/types.h include first, reported by "Mark diff --git a/lib/verify.h b/lib/verify.h --- 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 + 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 ';'. */