On Mon, Aug 20, 2012 at 11:00:28AM -0600, Eric Blake wrote:
On 08/20/2012 10:57 AM, Daniel P. Berrange wrote:
>>> + if (STRNEQ_NULLABLE(info[i]->alias, (wantalias))) {
\
>>> + virReportError(VIR_ERR_INTERNAL_ERROR, \
>>> + "alias %s is not %s",
\
>>> + info[i]->alias, NULLSTR(wantalias));
\
>>> + goto cleanup; \
>>> + } \
>>> + } while (0)
>>> +
>>> + CHECK(0, "pc-1.0", false, null);
>>
>> Can't you just s/null/NULL/ and avoid the intermediate variable?
>
> I hit some GCC-wierdness when doing that:
>
> CC qemumonitorjsontest-qemumonitorjsontest.o
> qemumonitorjsontest.c: In function 'testQemuMonitorJSONGetMachines':
> qemumonitorjsontest.c:289:5: error: null argument where non-null required (argument
1) [-Werror=nonnull]
> qemumonitorjsontest.c:289:5: error: null argument where non-null required (argument
1) [-Werror=nonnull]
> qemumonitorjsontest.c:289:5: error: null argument where non-null required (argument
2) [-Werror=nonnull]
> qemumonitorjsontest.c:289:5: error: null argument where non-null required (argument
2) [-Werror=nonnull]
> qemumonitorjsontest.c:289:5: error: null argument where non-null required (argument
1) [-Werror=nonnull]
> qemumonitorjsontest.c:289:5: error: null argument where non-null required (argument
1) [-Werror=nonnull]
> qemumonitorjsontest.c:289:5: error: null argument where non-null required (argument
2) [-Werror=nonnull]
> qemumonitorjsontest.c:289:5: error: null argument where non-null required (argument
2) [-Werror=nonnull]
> qemumonitorjsontest.c:289:5: error: invalid application of 'sizeof' to a
void type [-Werror=pointer-arith]
That argues that our STRNEQ_NULLABLE and NULLSTR macros should be made a
bit smarter. I'll play with it, to see if I can reproduce; what gcc
version were you using?
Fedora 17 gcc version 4.7.0 20120507 (Red Hat 4.7.0-5) (GCC)
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 :|