| // RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection %s -analyzer-output=text -verify |
| |
| void clang_analyzer_eval(bool); |
| |
| // Test that the analyzer does not crash on GNU extension operator "?:". |
| void NoCrashTest(int x, int y) { |
| int w = x ?: y; |
| } |
| |
| void OperatorEvaluationTest(int y) { |
| int x = 1; |
| int w = x ?: y; // expected-note {{'?' condition is true}} |
| |
| // TODO: We are not precise when processing the "?:" operator in C++. |
| clang_analyzer_eval(w == 1); // expected-warning{{UNKNOWN}} |
| // expected-note@-1{{UNKNOWN}} |
| } |