A large majority of the LIT tests of the clang static analyzer use RUN
lines with the placeholder `%clang_analyze_cc1` which expands to
`%clang_cc1 -analyze -setup-static-analyzer` where the only effect of
`-setup-static-analyzer` is that it ensures that the macro
`__clang_analyzer__` is defined. However, there were some tests that
used `%clang_cc1 -analyze` directly; this commit changes those to using
`%clang_analyze_cc1` for the sake of consistency.
Previously `%clang_analyze_cc1` did not work within the directory
`exploded-graph-rewriter` (because that directory has its own custom
`lit.local.cfg`) but this problem was eliminated by the recent commit
40cc4379cd, so it was possible to resolve
and delete the FIXME comments asking for this change.
There are a few tests that use `%clang --analyze` or other command-line
flags (e.g. help flags), those are not affected by this change.
This cleanup was discussed in the discourse thread
https://discourse.llvm.org/t/taking-ownership-of-clang-test-analysis/84689/11
17 lines
549 B
C
17 lines
549 B
C
// RUN: rm -rf %T/ctudir
|
|
// RUN: mkdir %T/ctudir
|
|
// RUN: %clang_analyze_cc1 -analyzer-checker=debug.ExprInspection -analyzer-config experimental-enable-naive-ctu-analysis=true -analyzer-config ctu-dir=%T/ctudir -verify %s
|
|
// expected-no-diagnostics
|
|
|
|
struct S {
|
|
void (*fp)(void);
|
|
};
|
|
|
|
int main(void) {
|
|
struct S s;
|
|
// This will cause the analyzer to look for a function definition that has
|
|
// no FunctionDecl. It used to cause a crash in AnyFunctionCall::getRuntimeDefinition.
|
|
// It would only occur when CTU analysis is enabled.
|
|
s.fp();
|
|
}
|