pfultz2/cppcheck

More inner conditions to check

Opened this issue · 0 comments

void f1(int a, int b) {if(a==b) if(a==b){}} // TP
void f2(int a, int b) {if(a!=b) if(a!=b){}} // TP
void f3(int a, int b) {if(a==b) if(b==a){}} // TP
void f4(int a, int b) {if(a!=b) if(b!=a){}} // TP

// values are copied in inner condition
void f5(int a, int b) {if(a!=b){ const int c=a; if(b!=c){}}}  // FN
void f6(int a, int b) {if(a==b){ const int c=a; if(b==c){}}}  // FN
void f7(int a, int b) {if(a!=b){ const int c=a,d=b; if(d!=c){}}} // FN
void f8(int a, int b) {if(a==b){ const int c=a,d=b; if(d==c){}}} // FN

// >=,>,< and <= operators
void f9(int a, int b) {if(a>=b) if(a>=b){}} // TP
void f10(int a, int b) {if(a>b) if(a>b){}} // TP
void f11(int a, int b) {if(a<b) if(a<b){}} // TP
void f12(int a, int b) {if(a<=b) if(a<=b){}} // TP

// for loop between
void f13(int a, int b) {if(a==b) for(int i=0; i < 42; ++i) if(a==b){}} // FN

// another conditional if-statement inbetween 
void f14(int a, int b, int c) {if(a==b) if(c) if(a==b){}} // TP

// switch between
void f15(int a, int b, int c) {if(a==b) switch(c){ case 42: if(a==b){} break; }} // TP