forked from OSchip/llvm-project
67 lines
1.1 KiB
C
67 lines
1.1 KiB
C
//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
|
|
}
|