Clang Project

clang_source_code/test/Parser/nullability.c
1// RUN: %clang_cc1 -fsyntax-only -std=c99 -Wno-nullability-declspec -pedantic %s -verify
2
3_Nonnull int *ptr; // expected-warning{{type nullability specifier '_Nonnull' is a Clang extension}}
4
5#pragma clang diagnostic push
6#pragma clang diagnostic ignored "-Wnullability-extension"
7_Nonnull int *ptr2; // no-warning
8#pragma clang diagnostic pop
9
10#if !__has_feature(nullability)
11#  error Nullability should always be supported
12#endif
13
14#if !__has_feature(nullability_on_arrays)
15#  error Nullability on array parameters should always be supported
16#endif
17
18#if !__has_extension(nullability)
19#  error Nullability should always be supported as an extension
20#endif
21
22#if !__has_extension(nullability_on_arrays)
23#  error Nullability on array parameters should always be supported as an extension
24#endif
25