[libvirt PATCH 1/2] src: rework static analysis detection

John Ferlan jferlan at redhat.com
Fri Nov 20 11:57:10 UTC 2020



On 11/16/20 10:36 AM, Pavel Hrdina wrote:
> Inspired by QEMU code.
> 
> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> ---
>  meson.build    | 14 --------------
>  src/internal.h |  4 ++++
>  2 files changed, 4 insertions(+), 14 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index cecaad199d..dbbc9632f1 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -142,20 +142,6 @@ if get_option('test_coverage')
>  endif
>  
>  
> -# Detect when running under the clang static analyzer's scan-build driver
> -# or Coverity-prevent's cov-build. Define STATIC_ANALYSIS accordingly.
> -
> -rc = run_command(
> -  'sh', '-c',
> -  'test -n "${CCC_ANALYZER_HTML}"' +
> -    ' -o -n "${CCC_ANALYZER_ANALYSIS+set}"' +
> -    ' -o -n "$COVERITY_BUILD_COMMAND$COVERITY_LD_PRELOAD"',
> -)
> -if rc.returncode() == 0
> -  conf.set('STATIC_ANALYSIS', 1)
> -endif
> -
> -
>  # Add RPATH information when building for a non-standard prefix, or
>  # when explicitly requested to do so
>  
> diff --git a/src/internal.h b/src/internal.h
> index d167e56b48..5226667d3d 100644
> --- a/src/internal.h
> +++ b/src/internal.h
> @@ -29,6 +29,10 @@
>  #include <stdlib.h>
>  #include "glibcompat.h"
>  
> +#if defined __clang_analyzer__ || defined __COVERITY__

^^ Bah humbug ... what defines __COVERITY__ then?

In my Coverity environment, nothing... OK, sure I can add it, no problem
but something in QEMU's coverity build environment must do that as it's
not predefined as far as I can tell.

John


> +#define STATIC_ANALYSIS 1
> +#endif
> +
>  #if STATIC_ANALYSIS
>  # undef NDEBUG /* Don't let a prior NDEBUG definition cause trouble.  */
>  # include <assert.h>
> 




More information about the libvir-list mailing list