xref: /llvm-project/clang/test/Preprocessor/pragma_assume_nonnull.c (revision 0dd49a5628bbe01cecf6516017da59ae44863ab3)
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // RUN: %clang_cc1 -E %s | FileCheck %s
3 
4 // CHECK: #pragma clang assume_nonnull begin
5 #pragma clang assume_nonnull begin
6 
bar(int * ip)7 int bar(int * ip) { return *ip; }
8 
9 // CHECK: #pragma clang assume_nonnull end
10 #pragma clang assume_nonnull end
11 
foo(int * _Nonnull ip)12 int foo(int * _Nonnull ip) { return *ip; }
13 
main(void)14 int main(void) {
15    return bar(0) + foo(0); // expected-warning 2 {{null passed to a callee that requires a non-null argument}}
16 }
17