xref: /aosp_15_r20/external/clang/test/Modules/diag-pragma.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: rm -rf %t
2*67e74705SXin Li // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -x objective-c -emit-module -fmodules-cache-path=%t -fmodule-name=diag_pragma %S/Inputs/module.map
3*67e74705SXin Li // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -x objective-c -verify -fmodules-cache-path=%t -I %S/Inputs %s
4*67e74705SXin Li // FIXME: When we have a syntax for modules in C, use that.
5*67e74705SXin Li 
6*67e74705SXin Li @import diag_pragma;
7*67e74705SXin Li 
foo(int x)8*67e74705SXin Li int foo(int x) {
9*67e74705SXin Li   if (x = DIAG_PRAGMA_MACRO) // expected-warning {{using the result of an assignment as a condition without parentheses}} \
10*67e74705SXin Li                              // expected-note {{place parentheses}} expected-note {{use '=='}}
11*67e74705SXin Li     return 0;
12*67e74705SXin Li   return 1;
13*67e74705SXin Li }
14