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