diff --git a/clang/test/Analysis/PR24184.cpp b/clang/test/Analysis/PR24184.cpp index 1280334d4d6ad..bfc5ae6ea56b2 100644 --- a/clang/test/Analysis/PR24184.cpp +++ b/clang/test/Analysis/PR24184.cpp @@ -1,3 +1,4 @@ +// UNSUPPORTED: z3 // RUN: %clang_analyze_cc1 -w -analyzer-eagerly-assume -fcxx-exceptions -analyzer-checker=core -analyzer-checker=alpha.core.PointerArithm,alpha.core.CastToStruct -analyzer-max-loop 64 -verify %s // RUN: %clang_analyze_cc1 -w -analyzer-checker=core -analyzer-checker=cplusplus -fcxx-exceptions -analyzer-checker alpha.core.PointerArithm,alpha.core.CastToStruct -analyzer-max-loop 63 -verify %s diff --git a/clang/test/Analysis/constant-folding.c b/clang/test/Analysis/constant-folding.c index 8189868be2ec7..e21d629e9a417 100644 --- a/clang/test/Analysis/constant-folding.c +++ b/clang/test/Analysis/constant-folding.c @@ -108,7 +108,11 @@ void testBitwiseRules(unsigned int a, int b) { clang_analyzer_eval((b | -2) == 0); // expected-warning{{FALSE}} clang_analyzer_eval((b | 10) == 0); // expected-warning{{FALSE}} clang_analyzer_eval((b | 0) == 0); // expected-warning{{UNKNOWN}} +#ifdef ANALYZER_CM_Z3 + clang_analyzer_eval((b | -2) >= 0); // expected-warning{{FALSE}} +#else clang_analyzer_eval((b | -2) >= 0); // expected-warning{{UNKNOWN}} +#endif // Check that dynamically computed constants also work. int constant = 1 << 3; diff --git a/clang/test/Analysis/loop-unrolling.cpp b/clang/test/Analysis/loop-unrolling.cpp index ce7ada8bd723f..b7375df38b695 100644 --- a/clang/test/Analysis/loop-unrolling.cpp +++ b/clang/test/Analysis/loop-unrolling.cpp @@ -368,7 +368,11 @@ int nested_inlined_unroll1() { int nested_inlined_no_unroll1() { int k; for (int i = 0; i < 9; i++) { +#ifdef ANALYZER_CM_Z3 + clang_analyzer_numTimesReached(); // expected-warning {{13}} +#else clang_analyzer_numTimesReached(); // expected-warning {{15}} +#endif k = simple_unknown_bound_loop(); // reevaluation without inlining, splits the state as well } int a = 22 / k; // no-warning diff --git a/clang/test/Analysis/z3/enabled.c b/clang/test/Analysis/z3/enabled.c new file mode 100644 index 0000000000000..9f44233b266c0 --- /dev/null +++ b/clang/test/Analysis/z3/enabled.c @@ -0,0 +1,3 @@ +// REQUIRES: z3 +// RUN: echo %clang_analyze_cc1 | FileCheck %s +// CHECK: -analyzer-constraints=z3