brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 3311c52 Raw
54 lines · c
1// RUN: %clang_analyze_cc1 -analyzer-checker=core \2// RUN:   -analyzer-checker=debug.ExprInspection \3// RUN:   -verify %s4 5void clang_analyzer_dump(int);6 7void test_0_multiplier1(int x, int y) {8  int a = x < 0; // Eagerly bifurcate.9  clang_analyzer_dump(a);10  // expected-warning@-1{{0 S32b}}11  // expected-warning@-2{{1 S32b}}12 13  int b = a * y;14  clang_analyzer_dump(b);15  // expected-warning@-1{{0 S32b}}16  // expected-warning-re@-2{{reg_${{[[:digit:]]+}}<int y>}}17}18 19void test_0_multiplier2(int x, int y) {20  int a = x < 0; // Eagerly bifurcate.21  clang_analyzer_dump(a);22  // expected-warning@-1{{0 S32b}}23  // expected-warning@-2{{1 S32b}}24 25  int b = y * a;26  clang_analyzer_dump(b);27  // expected-warning@-1{{0 S32b}}28  // expected-warning-re@-2{{reg_${{[[:digit:]]+}}<int y>}}29}30 31void test_0_modulo(int x, int y) {32  int a = x < 0; // Eagerly bifurcate.33  clang_analyzer_dump(a);34  // expected-warning@-1{{0 S32b}}35  // expected-warning@-2{{1 S32b}}36 37  int b = a % y;38  clang_analyzer_dump(b);39  // expected-warning@-1{{0 S32b}}40  // expected-warning-re@-2{{1 % (reg_${{[[:digit:]]+}}<int y>)}}41}42 43void test_0_divisible(int x, int y) {44  int a = x < 0; // Eagerly bifurcate.45  clang_analyzer_dump(a);46  // expected-warning@-1{{0 S32b}}47  // expected-warning@-2{{1 S32b}}48 49  int b = a / y;50  clang_analyzer_dump(b);51  // expected-warning@-1{{0 S32b}}52  // expected-warning-re@-2{{1 / (reg_${{[[:digit:]]+}}<int y>)}}53}54