// RUN: %clang_analyze_cc1 -analyzer-output=plist -o %t.plist -std=c++11 -analyzer-checker=core %s // RUN: FileCheck --input-file=%t.plist %s bool ret(); template <class T> void f(int i) { if (ret()) i = i / (i - 5); } template <> void f<int>(int i) { if (ret()) i = i / (i - 5); } template <int N = 0> void defaultTemplateParameterFunction(int i) { if (ret()) int a = 10 / i; } template <typename... Args> void variadicTemplateFunction(int i) { if (ret()) int a = 10 / i; } int main() { f<int>(5); f<float>(5); defaultTemplateParameterFunction<>(0); variadicTemplateFunction<char, float, double, int *>(0); } // CHECK: <string>Calling 'f<float>'</string> // CHECK: <string>Calling 'f<int>'</string> // CHECK: <string>Calling 'defaultTemplateParameterFunction<0>'</string> // CHECK: <string>Calling 'variadicTemplateFunction<char, float, double, int *>'</string> |