inline-defensive-checks.cpp revision 0415998dd77986630efe8f1aed633519cc41e1f3
10415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks// RUN: %clang_cc1 -analyze -analyzer-checker=core -verify %s 20415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks// expected-no-diagnostics 30415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks 40415998dd77986630efe8f1aed633519cc41e1f3Anna Zaksclass ButterFly { 50415998dd77986630efe8f1aed633519cc41e1f3Anna Zaksprivate: 60415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks ButterFly() { } 70415998dd77986630efe8f1aed633519cc41e1f3Anna Zakspublic: 80415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks int triggerderef() { 90415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks return 0; 100415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks } 110415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks}; 120415998dd77986630efe8f1aed633519cc41e1f3Anna ZaksButterFly *getInP(); 130415998dd77986630efe8f1aed633519cc41e1f3Anna Zaksclass X{ 140415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks ButterFly *p; 150415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks void setP(ButterFly *inP) { 160415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks if(inP) 170415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks ; 180415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks p = inP; 190415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks }; 200415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks void subtest1() { 210415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks ButterFly *inP = getInP(); 220415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks setP(inP); 230415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks } 240415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks int subtest2() { 250415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks int c = p->triggerderef(); // no-warning 260415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks return c; 270415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks } 280415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks int test() { 290415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks subtest1(); 300415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks return subtest2(); 310415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks } 320415998dd77986630efe8f1aed633519cc41e1f3Anna Zaks};