10909a392SArtem Dergachev // RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection \ 2*b0914e72SArtem Dergachev // RUN: -std=c++14 -verify %s 30909a392SArtem Dergachev 40909a392SArtem Dergachev typedef __typeof(sizeof(int)) size_t; 50909a392SArtem Dergachev 60909a392SArtem Dergachev void clang_analyzer_eval(bool); 70909a392SArtem Dergachev foo()80909a392SArtem Dergachevtemplate <int... N> size_t foo() { 90909a392SArtem Dergachev return sizeof...(N); 100909a392SArtem Dergachev } 110909a392SArtem Dergachev bar()120909a392SArtem Dergachevvoid bar() { 130909a392SArtem Dergachev clang_analyzer_eval(foo<>() == 0); // expected-warning{{TRUE}} 140909a392SArtem Dergachev clang_analyzer_eval(foo<1, 2, 3>() == 3); // expected-warning{{TRUE}} 150909a392SArtem Dergachev } 16