Artem Dergachev | 0909a39 | 2019-08-28 18:44:35 +0000 | [diff] [blame] | 1 | // RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection \ |
Artem Dergachev | b0914e7 | 2019-10-19 00:08:17 +0000 | [diff] [blame] | 2 | // RUN: -std=c++14 -verify %s |
Artem Dergachev | 0909a39 | 2019-08-28 18:44:35 +0000 | [diff] [blame] | 3 | |
| 4 | typedef __typeof(sizeof(int)) size_t; |
| 5 | |
| 6 | void clang_analyzer_eval(bool); |
| 7 | |
| 8 | template <int... N> size_t foo() { |
| 9 | return sizeof...(N); |
| 10 | } |
| 11 | |
| 12 | void bar() { |
| 13 | clang_analyzer_eval(foo<>() == 0); // expected-warning{{TRUE}} |
| 14 | clang_analyzer_eval(foo<1, 2, 3>() == 3); // expected-warning{{TRUE}} |
| 15 | } |