diff options
Diffstat (limited to 'test/Analysis/inline-if-constexpr.cpp')
-rw-r--r-- | test/Analysis/inline-if-constexpr.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/Analysis/inline-if-constexpr.cpp b/test/Analysis/inline-if-constexpr.cpp new file mode 100644 index 0000000000..51293a187c --- /dev/null +++ b/test/Analysis/inline-if-constexpr.cpp @@ -0,0 +1,18 @@ +// RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection \ +// RUN: -analyzer-inline-max-stack-depth=5 -w -std=c++17 -verify %s + +void clang_analyzer_eval(bool); + +namespace inline_large_functions_with_if_constexpr { +bool f0() { if constexpr (true); return true; } +bool f1() { if constexpr (true); return f0(); } +bool f2() { if constexpr (true); return f1(); } +bool f3() { if constexpr (true); return f2(); } +bool f4() { if constexpr (true); return f3(); } +bool f5() { if constexpr (true); return f4(); } +bool f6() { if constexpr (true); return f5(); } +bool f7() { if constexpr (true); return f6(); } +void bar() { + clang_analyzer_eval(f7()); // expected-warning{{TRUE}} +} +} // namespace inline_large_functions_with_if_constexpr |