2015-06-20 02:27:45 +08:00
|
|
|
#define SUPPRESS_NULLABILITY_WARNING(Type) \
|
|
|
|
_Pragma("clang diagnostic push") \
|
|
|
|
_Pragma("clang diagnostic ignored \"-Wnullability-completeness\"") \
|
|
|
|
Type \
|
|
|
|
_Pragma("clang diagnostic pop")
|
|
|
|
|
|
|
|
void suppress1(SUPPRESS_NULLABILITY_WARNING(int *) ptr); // no warning
|
|
|
|
|
|
|
|
void shouldwarn5(int *ptr); //expected-warning{{missing a nullability type specifier}}
|
2016-12-20 04:58:20 +08:00
|
|
|
// expected-note@-1 {{insert '_Nullable' if the pointer may be null}}
|
|
|
|
// expected-note@-2 {{insert '_Nonnull' if the pointer should never be null}}
|
2015-06-20 02:27:45 +08:00
|
|
|
|
2015-06-25 06:02:08 +08:00
|
|
|
void trigger5(int * _Nonnull);
|
2015-06-20 02:27:45 +08:00
|
|
|
|
|
|
|
void suppress2(SUPPRESS_NULLABILITY_WARNING(int *) ptr); // no warning
|
|
|
|
|