1*184c6242SDominic Chen // RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -analyzer-config c++-inlining=constructors -verify %s 20d87e0c6SZhongxing Xu 36d5a8caaSJordy Rose void clang_analyzer_eval(bool); 46d5a8caaSJordy Rose 50d87e0c6SZhongxing Xu class A { 60d87e0c6SZhongxing Xu int x; 70d87e0c6SZhongxing Xu public: 80d87e0c6SZhongxing Xu A(); getx() const90d87e0c6SZhongxing Xu int getx() const { 100d87e0c6SZhongxing Xu return x; 110d87e0c6SZhongxing Xu } 120d87e0c6SZhongxing Xu }; 130d87e0c6SZhongxing Xu A()140d87e0c6SZhongxing XuA::A() : x(0) { 150d87e0c6SZhongxing Xu } 160d87e0c6SZhongxing Xu 170d87e0c6SZhongxing Xu class B : public A { 180d87e0c6SZhongxing Xu int y; 190d87e0c6SZhongxing Xu public: 200d87e0c6SZhongxing Xu B(); 210d87e0c6SZhongxing Xu }; 220d87e0c6SZhongxing Xu B()230d87e0c6SZhongxing XuB::B() { 240d87e0c6SZhongxing Xu } 250d87e0c6SZhongxing Xu f()260d87e0c6SZhongxing Xuvoid f() { 270d87e0c6SZhongxing Xu B b; 286d5a8caaSJordy Rose clang_analyzer_eval(b.getx() == 0); // expected-warning{{TRUE}} 290d87e0c6SZhongxing Xu } 30