Lines Matching full:dummy
22 typedef struct Dummy { int val; } Dummy; typedef
24 void takesNullable(Dummy *_Nullable); argument
25 void takesNonnull(Dummy *_Nonnull); argument
26 void takesUnspecified(Dummy *); argument
28 Dummy *_Nullable returnsNullable(); argument
29 Dummy *_Nonnull returnsNonnull(); argument
30 Dummy *returnsUnspecified(); argument
35 void takesAttrNonnull(Dummy *p) __attribute((nonnull(1))); argument
38 Dummy *p = returnsNullable(); argument
43 Dummy &r = *p; // expected-warning {{Nullable pointer is dereferenced}}
55 Dummy d;
57 Dummy dd(d);
61 default: { Dummy d = *p; } break; // expected-warning {{Nullable pointer is dereferenced}}
66 Dummy &r = *p;
71 Dummy *q = 0;
76 Dummy a;
77 Dummy *_Nonnull nonnull = &a;
84 void testMultiParamChecking(Dummy *_Nonnull a, Dummy *_Nullable b, argument
85 Dummy *_Nonnull c);
87 void testArgumentTracking(Dummy *_Nonnull nonnull, Dummy *_Nullable nullable) { argument
88 Dummy *p = nullable;
89 Dummy *q = nonnull;
99 case 9: testMultiParamChecking((Dummy *_Nonnull)0, nullable, nonnull); break;
103 Dummy *_Nonnull testNullableReturn(Dummy *_Nullable a) { argument
104 Dummy *p = a;
108 Dummy *_Nonnull testNullReturn() { argument
109 Dummy *p = 0;
154 Dummy * _Nonnull testDirectCastNullableToNonnull() { argument
155 Dummy *p = returnsNullable();
156 takesNonnull((Dummy * _Nonnull)p); // no-warning
157 return (Dummy * _Nonnull)p; // no-warning
160 Dummy * _Nonnull testIndirectCastNullableToNonnull() { argument
161 Dummy *p = (Dummy * _Nonnull)returnsNullable();
166 Dummy * _Nonnull testDirectCastNilToNonnull() { argument
167 takesNonnull((Dummy * _Nonnull)0); // no-warning
168 return (Dummy * _Nonnull)0; // no-warning
172 Dummy *p = (Dummy * _Nonnull)0; argument
178 Dummy * _Nonnull nonnullLocalWithAssignmentInInitializer = (Dummy * _Nonnull)0; // no-warning argument
188 void testDirectCastNilToNonnullAndAssignToLocal(Dummy * _Nonnull p) { argument
189 Dummy * _Nonnull nonnullLocalWithAssignment = p;
190 nonnullLocalWithAssignment = (Dummy * _Nonnull)0; // no-warning
199 void testDirectCastNilToNonnullAndAssignToParam(Dummy * _Nonnull p) { argument
200 p = (Dummy * _Nonnull)0; // no-warning
204 Dummy *_nonnullIvar; argument
210 _nonnullIvar = (Dummy * _Nonnull)0; // no-warning;
219 Dummy *p = 0;
223 void testConditionalNilPassToNonnull(Dummy *p) {
229 Dummy * _Nonnull testIndirectCastNilToNonnullAndReturn() {
230 Dummy *p = (Dummy * _Nonnull)0;
236 Dummy *p = returnsUnspecified();
242 Dummy *p = returnsNullable();
251 Dummy *_Nonnull doNotWarnWhenPreconditionIsViolatedInTopFunc(
252 Dummy *_Nonnull p) {
254 Dummy *ret =
265 Dummy *_Nonnull doNotWarnWhenPreconditionIsViolated(Dummy *_Nonnull p) {
267 Dummy *ret =
278 void testPreconditionViolationInInlinedFunction(Dummy *p) {
286 -(Dummy * _Nonnull) calleeWithParam:(Dummy * _Nonnull) p2 {
287 Dummy *x = 0;
294 -(Dummy *)callerWithParam:(Dummy * _Nonnull) p1 {
317 void inlinedNullable(Dummy *_Nullable p) {
320 void inlinedNonnull(Dummy *_Nonnull p) {
323 void inlinedUnspecified(Dummy *p) {
327 void testNilReturnWithBlock(Dummy *p) {
329 Dummy *_Nonnull (^myblock)(void) = ^Dummy *_Nonnull(void) {
335 Dummy *_Nonnull testDefensiveInlineChecks(Dummy * p) {
345 Dummy *_Nonnull varWithInitializer = p; // no-warning
347 Dummy *_Nonnull var1WithInitializer = p, // no-warning
352 Dummy *_Nonnull varWithoutInitializer;