From dddf08d8738ed46c097c018b89385205066c96bf Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 5 Oct 2005 06:50:03 +0000 Subject: [PATCH] * verify.h (verify_true): Provide alternative definition for C++. --- lib/ChangeLog | 4 ++++ lib/verify.h | 13 ++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/ChangeLog b/lib/ChangeLog index 190c237d7f..c490d5bf46 100644 --- 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 index d782e73b24..328980fa36 100644 --- 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 ';'. */ -- 2.30.2