[PATCH] D83677: [analyzer] Rework Z3 requirements in the CSA testsuite

Balázs Benics via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 13 09:13:32 PDT 2020


steakhal marked an inline comment as done.
steakhal added a comment.

Thanks for the really fast feedback @Szelethus!

Should we prefer using `%clang_analyze_cc1` over raw `%clang_cc1` invocations with the `-analyze` flag? And fall back to the more specific `%clang_analyze_cc1_range`/`%clang_analyze_cc1_z3`, if the test turns out, requires a certain constraint manager?
If so, I started to update some tests according to this, and a few questions raised during that process.

- Which should we use for example the `analyzer-enabled-checkers.c`, which only prints the enabled checkers?

- There is also an interesting behavior about command-line parsing. [1]

---

[1]:  AFAIK flags should not be position dependant.
But moving the `-analyze` flag around makes this test fail.

PASS:
`./bin/clang -cc1 -internal-isystem ./lib/clang/11.0.0/include -nostdsysteminc -analyzer-constraints=range -setup-static-analyzer -fsyntax-only -analyze -analyzer-checker=core,debug.ExprInspection ../../clang/test/Analysis/handle_constructors_with_new_array.cpp -verify`

After moving the `-analyze` after the `-nostdsysteminc` flag, it FAILs:
`./bin/clang -cc1 -internal-isystem ./lib/clang/11.0.0/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -fsyntax-only -analyzer-checker=core,debug.ExprInspection ../../clang/test/Analysis/handle_constructors_with_new_array.cpp -verify`

Could someone tell me the difference?



================
Comment at: clang/www/analyzer/checker_dev_manual.html:6
   <title>Checker Developer Manual</title>
   <link type="text/css" rel="stylesheet" href="menu.css">
   <link type="text/css" rel="stylesheet" href="content.css">
----------------
Szelethus wrote:
> This menu is still not working, right?
IDK. But I don't really want to touch any css/js related things :D


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D83677/new/

https://reviews.llvm.org/D83677





More information about the llvm-commits mailing list