aboutsummaryrefslogtreecommitdiff
path: root/test/SemaObjCXX/Inputs/nullability-consistency-8.h
blob: 890bb4db5465adfcdb4a4fc3202e17a88d9c3b40 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
typedef int* __nonnull mynonnull;

__attribute__((objc_root_class))
@interface typedefClass
- (void) func1:(mynonnull)i;
@end

void func2(mynonnull i);

void func3(int *); // expected-warning{{pointer is missing a nullability type specifier}}

#define CF_RETURNS_NOT_RETAINED __attribute__((cf_returns_not_retained))
typedef void *CFTypeRef;
void cf1(CFTypeRef * p CF_RETURNS_NOT_RETAINED); // expected-warning {{pointer is missing a nullability type specifier}}

void cf2(CFTypeRef * __nullable p CF_RETURNS_NOT_RETAINED);
void cf3(CFTypeRef * __nonnull p CF_RETURNS_NOT_RETAINED);

void cf4(CFTypeRef __nullable * __nullable p CF_RETURNS_NOT_RETAINED);
void cf5(CFTypeRef __nonnull * __nullable p CF_RETURNS_NOT_RETAINED);

void cf6(CFTypeRef * __nullable CF_RETURNS_NOT_RETAINED p);
void cf7(CF_RETURNS_NOT_RETAINED CFTypeRef * __nonnull p);

typedef CFTypeRef __nullable *CFTypeRefPtr;
void cfp1(CFTypeRefPtr p CF_RETURNS_NOT_RETAINED); // expected-warning {{pointer is missing a nullability type specifier}}
void cfp2(CFTypeRefPtr __nonnull p CF_RETURNS_NOT_RETAINED);