1 // RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -analyzer-config c++-temp-dtor-inlining=false -verify -analyzer-config eagerly-assume=false %s
2 // RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -analyzer-config c++-temp-dtor-inlining=true -DINLINE -verify -analyzer-config eagerly-assume=false %s
3 
4 void clang_analyzer_eval(bool);
5 
6 struct S {
7   int &x;
8 
SS9   S(int &x) : x(x) { ++x; }
~SS10   ~S() { --x; }
11 };
12 
foo()13 void foo() {
14   int x = 0;
15   S(x).x += 1;
16   clang_analyzer_eval(x == 1);
17 #ifdef INLINE
18   // expected-warning@-2{{TRUE}}
19 #else
20   // expected-warning@-4{{UNKNOWN}}
21 #endif
22 }
23