reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    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
int * _Nonnull forceNullabilityWarnings(void);

void arrayParameter(int x[]); // expected-warning {{array parameter is missing a nullability type specifier}}
// expected-note@-1 {{insert '_Nullable'}}
// expected-note@-2 {{insert '_Nonnull'}}
// CHECK: fix-it:"{{.*}}nullability.h":{[[@LINE-3]]:27-[[@LINE-3]]:27}:"_Nullable"
// CHECK: fix-it:"{{.*}}nullability.h":{[[@LINE-4]]:27-[[@LINE-4]]:27}:"_Nonnull"

void arrayParameterWithSize(int x[5]); // expected-warning {{array parameter is missing a nullability type specifier}}
// expected-note@-1 {{insert '_Nullable'}}
// expected-note@-2 {{insert '_Nonnull'}}
// CHECK: fix-it:"{{.*}}nullability.h":{[[@LINE-3]]:35-[[@LINE-3]]:35}:"_Nullable "
// CHECK: fix-it:"{{.*}}nullability.h":{[[@LINE-4]]:35-[[@LINE-4]]:35}:"_Nonnull "

void arrayParameterWithStar(int x[*]); // expected-warning {{array parameter is missing a nullability type specifier}}
// expected-note@-1 {{insert '_Nullable'}}
// expected-note@-2 {{insert '_Nonnull'}}
// CHECK: fix-it:"{{.*}}nullability.h":{[[@LINE-3]]:35-[[@LINE-3]]:35}:"_Nullable "
// CHECK: fix-it:"{{.*}}nullability.h":{[[@LINE-4]]:35-[[@LINE-4]]:35}:"_Nonnull "


// No fix-its on either the macro definition or instantiation.
// CHECK-NOT: fix-it:"{{.*}}nullability.h":{[[@LINE+2]]
// CHECK-NOT: fix-it:"{{.*}}nullability.h":{[[@LINE+2]]
#define PTR(X) X *
PTR(int) a; // expected-warning{{pointer is missing a nullability type specifier}}
#undef PTR