xref: /aosp_15_r20/external/clang/test/SemaObjCXX/Inputs/nullability-consistency-8.h (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li typedef int* _Nonnull mynonnull;
2*67e74705SXin Li 
3*67e74705SXin Li __attribute__((objc_root_class))
4*67e74705SXin Li @interface typedefClass
5*67e74705SXin Li - (void) func1:(mynonnull)i;
6*67e74705SXin Li @end
7*67e74705SXin Li 
8*67e74705SXin Li void func2(mynonnull i);
9*67e74705SXin Li 
10*67e74705SXin Li void func3(int *); // expected-warning{{pointer is missing a nullability type specifier}}
11*67e74705SXin Li 
12*67e74705SXin Li #define CF_RETURNS_NOT_RETAINED __attribute__((cf_returns_not_retained))
13*67e74705SXin Li typedef void *CFTypeRef;
14*67e74705SXin Li void cf1(CFTypeRef * p CF_RETURNS_NOT_RETAINED); // expected-warning {{pointer is missing a nullability type specifier}}
15*67e74705SXin Li 
16*67e74705SXin Li void cf2(CFTypeRef * _Nullable p CF_RETURNS_NOT_RETAINED);
17*67e74705SXin Li void cf3(CFTypeRef * _Nonnull p CF_RETURNS_NOT_RETAINED);
18*67e74705SXin Li 
19*67e74705SXin Li void cf4(CFTypeRef _Nullable * _Nullable p CF_RETURNS_NOT_RETAINED);
20*67e74705SXin Li void cf5(CFTypeRef _Nonnull * _Nullable p CF_RETURNS_NOT_RETAINED);
21*67e74705SXin Li 
22*67e74705SXin Li void cf6(CFTypeRef * _Nullable CF_RETURNS_NOT_RETAINED p);
23*67e74705SXin Li void cf7(CF_RETURNS_NOT_RETAINED CFTypeRef * _Nonnull p);
24*67e74705SXin Li 
25*67e74705SXin Li typedef CFTypeRef _Nullable *CFTypeRefPtr;
26*67e74705SXin Li void cfp1(CFTypeRefPtr p CF_RETURNS_NOT_RETAINED); // expected-warning {{pointer is missing a nullability type specifier}}
27*67e74705SXin Li void cfp2(CFTypeRefPtr _Nonnull p CF_RETURNS_NOT_RETAINED);
28