xref: /aosp_15_r20/external/clang/test/SemaOpenCL/event_t.cl (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only
2*67e74705SXin Li
3*67e74705SXin Lievent_t glb_evt; // expected-error {{the event_t type cannot be used to declare a program scope variable}}
4*67e74705SXin Li
5*67e74705SXin Liconstant struct evt_s {
6*67e74705SXin Li  event_t evt; // expected-error {{the 'event_t' type cannot be used to declare a structure or union field}}
7*67e74705SXin Li} evt_str = {0};
8*67e74705SXin Li
9*67e74705SXin Livoid foo(event_t evt); // expected-note {{passing argument to parameter 'evt' here}}
10*67e74705SXin Li
11*67e74705SXin Livoid kernel ker(event_t argevt) { // expected-error {{'event_t' cannot be used as the type of a kernel parameter}}
12*67e74705SXin Li  event_t e;
13*67e74705SXin Li  constant event_t const_evt; // expected-error {{the event_t type can only be used with __private address space qualifier}}
14*67e74705SXin Li  foo(e);
15*67e74705SXin Li  foo(0);
16*67e74705SXin Li  foo(5); // expected-error {{passing 'int' to parameter of incompatible type 'event_t'}}
17*67e74705SXin Li  foo((event_t)1); // expected-error {{cannot cast non-zero value '1' to 'event_t'}}
18*67e74705SXin Li}
19*67e74705SXin Li
20