//C void test() { void (*foo)(void); foo = 0; foo(); // warn: function pointer is null } // C++ class C { public: void f(); }; void test() { C *pc; pc->f(); // warn: object pointer is uninitialized } // C++ class C { public: void f(); }; void test() { C *pc = 0; pc->f(); // warn: object pointer is null } // Objective-C @interface MyClass : NSObject @property (readwrite,assign) id x; - (long double)longDoubleM; @end void test() { MyClass *obj1; long double ld1 = [obj1 longDoubleM]; // warn: receiver is uninitialized } // Objective-C @interface MyClass : NSObject @property (readwrite,assign) id x; - (long double)longDoubleM; @end void test() { MyClass *obj1; id i = obj1.x; // warn: uninitialized object pointer } // Objective-C @interface Subscriptable : NSObject - (id)objectAtIndexedSubscript:(unsigned int)index; @end @interface MyClass : Subscriptable @property (readwrite,assign) id x; - (long double)longDoubleM; @end void test() { MyClass *obj1; id i = obj1[0]; // warn: uninitialized object pointer }