1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -analyze -analyzer-checker=core,debug.ExprInspection -analyzer-config c++-inlining=constructors -verify %s 2*f4a2713aSLionel Sambuc 3*f4a2713aSLionel Sambuc void clang_analyzer_eval(bool); 4*f4a2713aSLionel Sambuc 5*f4a2713aSLionel Sambuc class A { 6*f4a2713aSLionel Sambuc int x; 7*f4a2713aSLionel Sambuc public: 8*f4a2713aSLionel Sambuc A(); getx() const9*f4a2713aSLionel Sambuc int getx() const { 10*f4a2713aSLionel Sambuc return x; 11*f4a2713aSLionel Sambuc } 12*f4a2713aSLionel Sambuc }; 13*f4a2713aSLionel Sambuc A()14*f4a2713aSLionel SambucA::A() : x(0) { 15*f4a2713aSLionel Sambuc } 16*f4a2713aSLionel Sambuc 17*f4a2713aSLionel Sambuc class B : public A { 18*f4a2713aSLionel Sambuc int y; 19*f4a2713aSLionel Sambuc public: 20*f4a2713aSLionel Sambuc B(); 21*f4a2713aSLionel Sambuc }; 22*f4a2713aSLionel Sambuc B()23*f4a2713aSLionel SambucB::B() { 24*f4a2713aSLionel Sambuc } 25*f4a2713aSLionel Sambuc f()26*f4a2713aSLionel Sambucvoid f() { 27*f4a2713aSLionel Sambuc B b; 28*f4a2713aSLionel Sambuc clang_analyzer_eval(b.getx() == 0); // expected-warning{{TRUE}} 29*f4a2713aSLionel Sambuc } 30