35 lines · c
1// RUN: %clang_analyze_cc1 \2// RUN: -analyzer-checker=debug.ExprInspection %s 2>&1 | FileCheck %s3 4void clang_analyzer_printState(void);5 6void test_disequality_info(int e0, int b0, int b1, int c0) {7 int e1 = e0 - b0;8 if (b0 == 2) {9 int e2 = e1 - b1;10 if (e2 > 0) {11 if (b1 != c0)12 clang_analyzer_printState();13 }14 }15}16 17 // CHECK: "disequality_info": [18 // CHECK-NEXT: {19 // CHECK-NEXT: "class": [ "(reg_$0<int e0>) - 2" ],20 // CHECK-NEXT: "disequal_to": [21 // CHECK-NEXT: [ "reg_$7<int b1>" ]]22 // CHECK-NEXT: },23 // CHECK-NEXT: {24 // CHECK-NEXT: "class": [ "reg_$15<int c0>" ],25 // CHECK-NEXT: "disequal_to": [26 // CHECK-NEXT: [ "reg_$7<int b1>" ]]27 // CHECK-NEXT: },28 // CHECK-NEXT: {29 // CHECK-NEXT: "class": [ "reg_$7<int b1>" ],30 // CHECK-NEXT: "disequal_to": [31 // CHECK-NEXT: [ "(reg_$0<int e0>) - 2" ],32 // CHECK-NEXT: [ "reg_$15<int c0>" ]]33 // CHECK-NEXT: }34 // CHECK-NEXT: ],35