1*e73ae745SGuruprasad Hegde // RUN: rm -fR %t 2*e73ae745SGuruprasad Hegde // RUN: mkdir %t 3*e73ae745SGuruprasad Hegde // RUN: %clang_analyze_cc1 -analyzer-checker=optin.cplusplus.UninitializedObject \ 4*e73ae745SGuruprasad Hegde // RUN: -analyzer-output=html -o %t -verify %s 5*e73ae745SGuruprasad Hegde // RUN: cat %t/report-*.html | FileCheck %s 6*e73ae745SGuruprasad Hegde 7*e73ae745SGuruprasad Hegde struct A { 8*e73ae745SGuruprasad Hegde int *iptr; 9*e73ae745SGuruprasad Hegde int a; // expected-note{{uninitialized field 'this->a'}} 10*e73ae745SGuruprasad Hegde int b; // expected-note{{uninitialized field 'this->b'}} 11*e73ae745SGuruprasad Hegde AA12*e73ae745SGuruprasad Hegde A (int *iptr) : iptr(iptr) {} // expected-warning{{2 uninitialized fields at the end of the constructor call [optin.cplusplus.UninitializedObject]}} 13*e73ae745SGuruprasad Hegde }; 14*e73ae745SGuruprasad Hegde f()15*e73ae745SGuruprasad Hegdevoid f() { 16*e73ae745SGuruprasad Hegde A a(0); 17*e73ae745SGuruprasad Hegde } 18*e73ae745SGuruprasad Hegde 19*e73ae745SGuruprasad Hegde //CHECK: <tr><td class="rowname">Note:</td> 20*e73ae745SGuruprasad Hegde //CHECK-NOT: <a href="#Note0"> 21*e73ae745SGuruprasad Hegde //CHECK-SAME: <a href="#Note1">line 9, column 7</a> 22*e73ae745SGuruprasad Hegde //CHECK-SAME: <a href="#Note2">line 10, column 7</a> 23