brintos

brintos / llvm-project-archived public Read only

0
0
Text · 922 B · 308dcc6 Raw
49 lines · c
1// RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -analyzer-inline-max-stack-depth=3 -analyzer-config ipa-always-inline-size=3 -verify %s2 3void clang_analyzer_eval(int);4int nested5(void) {5  if (5 < 3)6    return 0;7  else8    if (3 == 3)9      return 0;10  return 0;11}12int nested4(void) {13  return nested5();14}15int nested3(void) {16  return nested4();17}18int nested2(void) {19  return nested3();20}21int nested1(void) {22  return nested2();23}24 25void testNested(void) {26  clang_analyzer_eval(nested1() == 0); // expected-warning{{TRUE}}27}28 29// Make sure we terminate a recursive path.30int recursive(void) {31  return recursive();32}33int callRecursive(void) {34  return recursive();35}36 37int mutuallyRecursive1(void);38 39int mutuallyRecursive2(void) {40  return mutuallyRecursive1();41}42 43int mutuallyRecursive1(void) {44  return mutuallyRecursive2();45}46int callMutuallyRecursive(void) {47  return mutuallyRecursive1();48}49