aboutsummaryrefslogtreecommitdiff
path: root/test/Parser/nullability.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/Parser/nullability.c')
-rw-r--r--test/Parser/nullability.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Parser/nullability.c b/test/Parser/nullability.c
new file mode 100644
index 000000000000..f2b6abf73dcf
--- /dev/null
+++ b/test/Parser/nullability.c
@@ -0,0 +1,16 @@
+// RUN: %clang_cc1 -fsyntax-only -std=c99 -Wno-nullability-declspec -pedantic %s -verify
+
+__nonnull int *ptr; // expected-warning{{type nullability specifier '__nonnull' is a Clang extension}}
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnullability-extension"
+__nonnull int *ptr2; // no-warning
+#pragma clang diagnostic pop
+
+#if __has_feature(nullability)
+# error Nullability should not be supported in C under -pedantic -std=c99
+#endif
+
+#if !__has_extension(nullability)
+# error Nullability should always be supported as an extension
+#endif