[libvirt] [PATCH] build: simplify use of verify
Daniel P. Berrange
berrange at redhat.com
Tue Aug 30 10:45:16 UTC 2011
On Fri, Aug 26, 2011 at 10:20:32AM -0600, Eric Blake wrote:
> Back in 2008 when this line of util.h was written, gnulib's verify
> module didn't allow the use of multiple verify() in one file
> in combination with our choice of gcc -W options. But that has
> since been fixed in gnulib, and newer gnulib even maps verify()
> to the C1x feature of _Static_assert, which gives even nicer
> diagnostics with a new enough compiler, so we might as well go
> with the simpler verify().
>
> * src/util/util.h (VIR_ENUM_IMPL): Use simpler verify, now that
> gnulib module is smarter.
> ---
>
> As pointed out here:
> https://www.redhat.com/archives/libvir-list/2011-August/msg01348.html
>
> src/util/util.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/src/util/util.h b/src/util/util.h
> index 6e6265f..908ba7b 100644
> --- a/src/util/util.h
> +++ b/src/util/util.h
> @@ -202,7 +202,7 @@ const char *virEnumToString(const char *const*types,
>
> # define VIR_ENUM_IMPL(name, lastVal, ...) \
> static const char *const name ## TypeList[] = { __VA_ARGS__ }; \
> - extern int (* name ## Verify (void)) [verify_true (ARRAY_CARDINALITY(name ## TypeList) == lastVal)]; \
> + verify(ARRAY_CARDINALITY(name ## TypeList) == lastVal); \
> const char *name ## TypeToString(int type) { \
> return virEnumToString(name ## TypeList, \
> ARRAY_CARDINALITY(name ## TypeList), \
> --
ACK
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list