• E
    maint: turn on gcc logical-op checking · 40e973dd
    Eric Blake 提交于
    This would have detected the bug in commit 38ad33931 (Aug 09), which
    we missed until commit f828ca35 (Jul 10); over 11 months later.
    
    However, on Fedora 13, it also triggers LOTS of warnings from
    the libcurl-devel header for two files:
    
    esx/esx_vi.c: In function 'esxVI_CURL_Perform':
    esx/esx_vi.c:232: error: logical '&&' with non-zero constant will always evaluate as true [-Wlogical-op]
    esx/esx_vi.c:232: error: logical '&&' with non-zero constant will always evaluate as true [-Wlogical-op]
    esx/esx_vi.c:232: error: logical '&&' with non-zero constant will always evaluate as true [-Wlogical-op]
    ...
    xenapi/xenapi_driver.c: In function 'call_func':
    xenapi/xenapi_driver.c:1872: error: logical '&&' with non-zero constant will always evaluate as true [-Wlogical-op]
    xenapi/xenapi_driver.c:1872: error: logical '&&' with non-zero constant will always evaluate as true [-Wlogical-op]
    xenapi/xenapi_driver.c:1872: error: logical '&&' with non-zero constant will always evaluate as true [-Wlogical-op]
    ...
    
    libcurl allows to disable the type-checking code that triggers those
    warnings, along with the reduction in type-safety of calls to some
    libcurl functions. I figure this is worth the improved compiler
    checking throughout the rest of libvirt.
    
    * acinclude.m4 (--enable-compile-warnings=error): Add -Wlogical-op.
    * configure.ac: Add -DCURL_DISABLE_TYPECHECK to LIBCURL_CFLAGS to
    avoid compilation warning.
    
    Suggested by Daniel P. Berrange.
    Tweaked by Matthias Bolte.
    40e973dd
configure.ac 74.1 KB