| 1 | #define SUPPRESS_NULLABILITY_WARNING(Type) \ |
| 2 | _Pragma("clang diagnostic push") \ |
| 3 | _Pragma("clang diagnostic ignored \"-Wnullability-completeness\"") \ |
| 4 | Type \ |
| 5 | _Pragma("clang diagnostic pop") |
| 6 | |
| 7 | void suppress1(SUPPRESS_NULLABILITY_WARNING(int *) ptr); // no warning |
| 8 | |
| 9 | void shouldwarn5(int *ptr); //expected-warning{{missing a nullability type specifier}} |
| 10 | // expected-note@-1 {{insert '_Nullable' if the pointer may be null}} |
| 11 | // expected-note@-2 {{insert '_Nonnull' if the pointer should never be null}} |
| 12 | |
| 13 | void trigger5(int * _Nonnull); |
| 14 | |
| 15 | void suppress2(SUPPRESS_NULLABILITY_WARNING(int *) ptr); // no warning |
| 16 | |
| 17 | |