1*7330f729Sjoerg //C test()2*7330f729Sjoergvoid test() { 3*7330f729Sjoerg void (*foo)(void); 4*7330f729Sjoerg foo = 0; 5*7330f729Sjoerg foo(); // warn: function pointer is null 6*7330f729Sjoerg } 7*7330f729Sjoerg 8*7330f729Sjoerg // C++ 9*7330f729Sjoerg class C { 10*7330f729Sjoerg public: 11*7330f729Sjoerg void f(); 12*7330f729Sjoerg }; 13*7330f729Sjoerg test()14*7330f729Sjoerg void test() { 15*7330f729Sjoerg C *pc; 16*7330f729Sjoerg pc->f(); // warn: object pointer is uninitialized 17*7330f729Sjoerg } 18*7330f729Sjoerg 19*7330f729Sjoerg // C++ 20*7330f729Sjoerg class C { 21*7330f729Sjoerg public: 22*7330f729Sjoerg void f(); 23*7330f729Sjoerg }; 24*7330f729Sjoerg test()25*7330f729Sjoerg void test() { 26*7330f729Sjoerg C *pc = 0; 27*7330f729Sjoerg pc->f(); // warn: object pointer is null 28*7330f729Sjoerg } 29*7330f729Sjoerg 30*7330f729Sjoerg // Objective-C 31*7330f729Sjoerg @interface MyClass : NSObject property(readwrite,assign)32*7330f729Sjoerg @property (readwrite,assign) id x; 33*7330f729Sjoerg - (long double)longDoubleM; 34*7330f729Sjoerg @end 35*7330f729Sjoerg 36*7330f729Sjoerg void test() { 37*7330f729Sjoerg MyClass *obj1; 38*7330f729Sjoerg long double ld1 = [obj1 longDoubleM]; 39*7330f729Sjoerg // warn: receiver is uninitialized 40*7330f729Sjoerg } 41*7330f729Sjoerg 42*7330f729Sjoerg // Objective-C 43*7330f729Sjoerg @interface MyClass : NSObject property(readwrite,assign)44*7330f729Sjoerg @property (readwrite,assign) id x; 45*7330f729Sjoerg - (long double)longDoubleM; 46*7330f729Sjoerg @end 47*7330f729Sjoerg 48*7330f729Sjoerg void test() { 49*7330f729Sjoerg MyClass *obj1; 50*7330f729Sjoerg id i = obj1.x; // warn: uninitialized object pointer 51*7330f729Sjoerg } 52*7330f729Sjoerg 53*7330f729Sjoerg // Objective-C 54*7330f729Sjoerg @interface Subscriptable : NSObject 55*7330f729Sjoerg - (id)objectAtIndexedSubscript:(unsigned int)index; 56*7330f729Sjoerg @end 57*7330f729Sjoerg 58*7330f729Sjoerg @interface MyClass : Subscriptable property(readwrite,assign)59*7330f729Sjoerg @property (readwrite,assign) id x; 60*7330f729Sjoerg - (long double)longDoubleM; 61*7330f729Sjoerg @end 62*7330f729Sjoerg 63*7330f729Sjoerg void test() { 64*7330f729Sjoerg MyClass *obj1; 65*7330f729Sjoerg id i = obj1[0]; // warn: uninitialized object pointer 66*7330f729Sjoerg } 67