On Fri, Nov 20, 2020 at 06:57:10AM -0500, John Ferlan wrote: > > > On 11/16/20 10:36 AM, Pavel Hrdina wrote: > > Inspired by QEMU code. > > > > Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> > > --- > > 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. Hi John, There is no need to add it anywhere. When building something using coverity it is indeed not defined so GCC will ignore any code guarded with __COVERITY__. The __COVERITY__ is defined by cov-emit binary which is executed by cov-build internally which creates the files that are later analyzed. This is directly from cov-emit --help: Description The cov-emit command parses a source file and outputs it into a directory (emit repository) that can later be analyzed with cov-analyze. The cov-emit command is typically called by cov-translate, which is in turn typically called by cov-build (cov-emit is a low-level command and is not normally called directly). The cov-emit command defines the __COVERITY__ preprocessor symbol. Pavel
Attachment:
signature.asc
Description: PGP signature