brintos

brintos / llvm-project-archived public Read only

0
0
Text · 987 B · 1f44a78 Raw
42 lines · cpp
1// RUN: %clang_analyze_cc1 -analyzer-output=plist -o %t.plist -std=c++11 -analyzer-checker=core %s2// RUN: FileCheck --input-file=%t.plist %s3 4bool ret();5 6template <class T>7void f(int i) {8  if (ret())9    i = i / (i - 5);10}11 12template <>13void f<int>(int i) {14  if (ret())15    i = i / (i - 5);16}17 18template <int N = 0>19void defaultTemplateParameterFunction(int i) {20  if (ret())21    int a = 10 / i;22}23 24template <typename... Args>25void variadicTemplateFunction(int i) {26  if (ret())27    int a = 10 / i;28}29 30int main() {31  f<int>(5);32  f<float>(5);33  defaultTemplateParameterFunction<>(0);34  variadicTemplateFunction<char, float, double, int *>(0);35}36 37// CHECK:      <string>Calling &apos;f&lt;float&gt;&apos;</string>38// CHECK:      <string>Calling &apos;f&lt;int&gt;&apos;</string>39// CHECK:      <string>Calling &apos;defaultTemplateParameterFunction&lt;0&gt;&apos;</string>40// CHECK:      <string>Calling &apos;variadicTemplateFunction&lt;char, float, double, int *&gt;&apos;</string>41 42