On Wed, 2020-01-08 at 04:03 -0500, David Malcolm wrote: > Needs review. > > Changed in v5: > - updated for removal of analyzer-specific builtins: > https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01310.html > > Changed in v4: > - more tests, including a test for .dot output and an LTO test > - update for change from "--analyzer" to "-fanalyzer" > > This patch adds the testsuite for the analyzer. > > gcc/testsuite/ChangeLog: > * gcc.dg/analyzer/CVE-2005-1689-minimal.c: New test. > * gcc.dg/analyzer/abort.c: New test. > * gcc.dg/analyzer/alloca-leak.c: New test. > * gcc.dg/analyzer/analyzer-decls.h: New header. > * gcc.dg/analyzer/analyzer-verbosity-0.c: New test. > * gcc.dg/analyzer/analyzer-verbosity-1.c: New test. > * gcc.dg/analyzer/analyzer-verbosity-2.c: New test. > * gcc.dg/analyzer/analyzer.exp: New suite. > * gcc.dg/analyzer/attribute-nonnull.c: New test. > * gcc.dg/analyzer/call-summaries-1.c: New test. > * gcc.dg/analyzer/conditionals-2.c: New test. > * gcc.dg/analyzer/conditionals-3.c: New test. > * gcc.dg/analyzer/conditionals-notrans.c: New test. > * gcc.dg/analyzer/conditionals-trans.c: New test. > * gcc.dg/analyzer/data-model-1.c: New test. > * gcc.dg/analyzer/data-model-2.c: New test. > * gcc.dg/analyzer/data-model-3.c: New test. > * gcc.dg/analyzer/data-model-4.c: New test. > * gcc.dg/analyzer/data-model-5.c: New test. > * gcc.dg/analyzer/data-model-5b.c: New test. > * gcc.dg/analyzer/data-model-5c.c: New test. > * gcc.dg/analyzer/data-model-5d.c: New test. > * gcc.dg/analyzer/data-model-6.c: New test. > * gcc.dg/analyzer/data-model-7.c: New test. > * gcc.dg/analyzer/data-model-8.c: New test. > * gcc.dg/analyzer/data-model-9.c: New test. > * gcc.dg/analyzer/data-model-11.c: New test. > * gcc.dg/analyzer/data-model-12.c: New test. > * gcc.dg/analyzer/data-model-13.c: New test. > * gcc.dg/analyzer/data-model-14.c: New test. > * gcc.dg/analyzer/data-model-15.c: New test. > * gcc.dg/analyzer/data-model-16.c: New test. > * gcc.dg/analyzer/data-model-17.c: New test. > * gcc.dg/analyzer/data-model-18.c: New test. > * gcc.dg/analyzer/data-model-19.c: New test. > * gcc.dg/analyzer/data-model-path-1.c: New test. > * gcc.dg/analyzer/disabling.c: New test. > * gcc.dg/analyzer/dot-output.c: New test. > * gcc.dg/analyzer/double-free-lto-1-a.c: New test. > * gcc.dg/analyzer/double-free-lto-1-b.c: New test. > * gcc.dg/analyzer/double-free-lto-1.h: New header. > * gcc.dg/analyzer/equivalence.c: New test. > * gcc.dg/analyzer/explode-1.c: New test. > * gcc.dg/analyzer/explode-2.c: New test. > * gcc.dg/analyzer/factorial.c: New test. > * gcc.dg/analyzer/fibonacci.c: New test. > * gcc.dg/analyzer/fields.c: New test. > * gcc.dg/analyzer/file-1.c: New test. > * gcc.dg/analyzer/file-2.c: New test. > * gcc.dg/analyzer/function-ptr-1.c: New test. > * gcc.dg/analyzer/function-ptr-2.c: New test. > * gcc.dg/analyzer/function-ptr-3.c: New test. > * gcc.dg/analyzer/gzio-2.c: New test. > * gcc.dg/analyzer/gzio-3.c: New test. > * gcc.dg/analyzer/gzio-3a.c: New test. > * gcc.dg/analyzer/gzio.c: New test. > * gcc.dg/analyzer/infinite-recursion.c: New test. > * gcc.dg/analyzer/loop-2.c: New test. > * gcc.dg/analyzer/loop-2a.c: New test. > * gcc.dg/analyzer/loop-3.c: New test. > * gcc.dg/analyzer/loop-4.c: New test. > * gcc.dg/analyzer/loop.c: New test. > * gcc.dg/analyzer/malloc-1.c: New test. > * gcc.dg/analyzer/malloc-2.c: New test. > * gcc.dg/analyzer/malloc-3.c: New test. > * gcc.dg/analyzer/malloc-callbacks.c: New test. > * gcc.dg/analyzer/malloc-dce.c: New test. > * gcc.dg/analyzer/malloc-dedupe-1.c: New test. > * gcc.dg/analyzer/malloc-ipa-1.c: New test. > * gcc.dg/analyzer/malloc-ipa-10.c: New test. > * gcc.dg/analyzer/malloc-ipa-11.c: New test. > * gcc.dg/analyzer/malloc-ipa-12.c: New test. > * gcc.dg/analyzer/malloc-ipa-13.c: New test. > * gcc.dg/analyzer/malloc-ipa-2.c: New test. > * gcc.dg/analyzer/malloc-ipa-3.c: New test. > * gcc.dg/analyzer/malloc-ipa-4.c: New test. > * gcc.dg/analyzer/malloc-ipa-5.c: New test. > * gcc.dg/analyzer/malloc-ipa-6.c: New test. > * gcc.dg/analyzer/malloc-ipa-7.c: New test. > * gcc.dg/analyzer/malloc-ipa-8-double-free.c: New test. > * gcc.dg/analyzer/malloc-ipa-8-lto-a.c: New test. > * gcc.dg/analyzer/malloc-ipa-8-lto-b.c: New test. > * gcc.dg/analyzer/malloc-ipa-8-lto-c.c: New test. > * gcc.dg/analyzer/malloc-ipa-8-lto.h: New test. > * gcc.dg/analyzer/malloc-ipa-8-unchecked.c: New test. > * gcc.dg/analyzer/malloc-ipa-9.c: New test. > * gcc.dg/analyzer/malloc-macro-inline-events.c: New test. > * gcc.dg/analyzer/malloc-macro-separate-events.c: New test. > * gcc.dg/analyzer/malloc-macro.h: New header. > * gcc.dg/analyzer/malloc-many-paths-1.c: New test. > * gcc.dg/analyzer/malloc-many-paths-2.c: New test. > * gcc.dg/analyzer/malloc-many-paths-3.c: New test. > * gcc.dg/analyzer/malloc-paths-1.c: New test. > * gcc.dg/analyzer/malloc-paths-10.c: New test. > * gcc.dg/analyzer/malloc-paths-2.c: New test. > * gcc.dg/analyzer/malloc-paths-3.c: New test. > * gcc.dg/analyzer/malloc-paths-4.c: New test. > * gcc.dg/analyzer/malloc-paths-5.c: New test. > * gcc.dg/analyzer/malloc-paths-6.c: New test. > * gcc.dg/analyzer/malloc-paths-7.c: New test. > * gcc.dg/analyzer/malloc-paths-8.c: New test. > * gcc.dg/analyzer/malloc-paths-9.c: New test. > * gcc.dg/analyzer/malloc-vs-local-1a.c: New test. > * gcc.dg/analyzer/malloc-vs-local-1b.c: New test. > * gcc.dg/analyzer/malloc-vs-local-2.c: New test. > * gcc.dg/analyzer/malloc-vs-local-3.c: New test. > * gcc.dg/analyzer/malloc-vs-local-4.c: New test. > * gcc.dg/analyzer/operations.c: New test. > * gcc.dg/analyzer/params-2.c: New test. > * gcc.dg/analyzer/params.c: New test. > * gcc.dg/analyzer/paths-1.c: New test. > * gcc.dg/analyzer/paths-1a.c: New test. > * gcc.dg/analyzer/paths-2.c: New test. > * gcc.dg/analyzer/paths-3.c: New test. > * gcc.dg/analyzer/paths-4.c: New test. > * gcc.dg/analyzer/paths-5.c: New test. > * gcc.dg/analyzer/paths-6.c: New test. > * gcc.dg/analyzer/paths-7.c: New test. > * gcc.dg/analyzer/pattern-test-1.c: New test. > * gcc.dg/analyzer/pattern-test-2.c: New test. > * gcc.dg/analyzer/pointer-merging.c: New test. > * gcc.dg/analyzer/pr61861.c: New test. > * gcc.dg/analyzer/pragma-1.c: New test. > * gcc.dg/analyzer/scope-1.c: New test. > * gcc.dg/analyzer/sensitive-1.c: New test. > * gcc.dg/analyzer/setjmp-1.c: New test. > * gcc.dg/analyzer/setjmp-2.c: New test. > * gcc.dg/analyzer/setjmp-3.c: New test. > * gcc.dg/analyzer/setjmp-4.c: New test. > * gcc.dg/analyzer/setjmp-5.c: New test. > * gcc.dg/analyzer/setjmp-6.c: New test. > * gcc.dg/analyzer/setjmp-7.c: New test. > * gcc.dg/analyzer/setjmp-7a.c: New test. > * gcc.dg/analyzer/setjmp-8.c: New test. > * gcc.dg/analyzer/setjmp-9.c: New test. > * gcc.dg/analyzer/signal-1.c: New test. > * gcc.dg/analyzer/signal-2.c: New test. > * gcc.dg/analyzer/signal-3.c: New test. > * gcc.dg/analyzer/signal-4a.c: New test. > * gcc.dg/analyzer/signal-4b.c: New test. > * gcc.dg/analyzer/strcmp-1.c: New test. > * gcc.dg/analyzer/switch.c: New test. > * gcc.dg/analyzer/taint-1.c: New test. > * gcc.dg/analyzer/zlib-1.c: New test. > * gcc.dg/analyzer/zlib-2.c: New test. > * gcc.dg/analyzer/zlib-3.c: New test. > * gcc.dg/analyzer/zlib-4.c: New test. > * gcc.dg/analyzer/zlib-5.c: New test. > * gcc.dg/analyzer/zlib-6.c: New test. > * lib/gcc-defs.exp (dg-check-dot): New procedure. > * lib/target-supports.exp (check_dot_available): New procedure. > (check_effective_target_analyzer): New. > * lib/target-supports-dg.exp (dg-require-dot): New procedure. I'm not digging into the details on this.
Please check sourcebuild.texi and see if the new stuff you've added (check-dot and target_analyzer) need to be documented. If so, those changes are pre-approved. OK jeff