diff options
author | Guy Benyei <guy.benyei@intel.com> | 2013-01-20 12:31:11 +0000 |
---|---|---|
committer | Guy Benyei <guy.benyei@intel.com> | 2013-01-20 12:31:11 +0000 |
commit | e6b9d802fb7b16d93474c4f1c179ab36202e8a8b (patch) | |
tree | 9a396d8d98d2ac759c7050a9838cd3439f6ba02a /test/SemaOpenCL | |
parent | b3ce35764adcc5749e8729709b1f3737227d90ec (diff) | |
download | clang-e6b9d802fb7b16d93474c4f1c179ab36202e8a8b.tar.gz |
Implement OpenCL event_t as Clang builtin type, including event_t related OpenCL restrictions (OpenCL 1.2 spec 6.9)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172973 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaOpenCL')
-rw-r--r-- | test/SemaOpenCL/event_t.cl | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/SemaOpenCL/event_t.cl b/test/SemaOpenCL/event_t.cl new file mode 100644 index 0000000000..57a0981cf1 --- /dev/null +++ b/test/SemaOpenCL/event_t.cl @@ -0,0 +1,17 @@ +// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only + +event_t glb_evt; // expected-error {{the event_t type cannot be used to declare a program scope variable}} + +struct evt_s { + event_t evt; // expected-error {{the event_t type cannot be used to declare a structure or union field}} +} evt_str; + +void foo(event_t evt); // expected-note {{passing argument to parameter 'evt' here}} + +void kernel ker(event_t argevt) { // expected-error {{the event_t type cannot be used to declare a kernel function argument}} + event_t e; + constant event_t const_evt; // expected-error {{the event_t type can only be used with __private address space qualifier}} + foo(e); + foo(0); + foo(5); // expected-error {{passing 'int' to parameter of incompatible type 'event_t'}} +} |