brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 1e02b8f Raw
68 lines · plain
1// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL2.0 -cl-ext=+cl_khr_subgroups2 3#pragma OPENCL EXTENSION cl_khr_subgroups : enable4 5void test1(read_only pipe int p, global int* ptr){6  int tmp;7  reserve_id_t rid;8 9  // read/write_pipe10  read_pipe(p, &tmp);11  read_pipe(p, ptr);12  read_pipe(tmp, p);    // expected-error {{first argument to 'read_pipe' must be a pipe type}}13  read_pipe(p);   // expected-error {{invalid number of arguments to function: 'read_pipe'}}14  read_pipe(p, rid, tmp, ptr);15  read_pipe(p, tmp, tmp, ptr);   // expected-error {{invalid argument type to function 'read_pipe' (expecting 'reserve_id_t' having '__private int')}}16  read_pipe(p, rid, rid, ptr);   // expected-error {{invalid argument type to function 'read_pipe' (expecting 'unsigned int' having '__private reserve_id_t')}}17  read_pipe(p, tmp);   // expected-error {{invalid argument type to function 'read_pipe' (expecting 'int *' having '__private int')}}18  write_pipe(p, ptr);    // expected-error {{invalid pipe access modifier (expecting write_only)}}19  write_pipe(p, rid, tmp, ptr);    // expected-error {{invalid pipe access modifier (expecting write_only)}}20 21  // reserve_read/write_pipe22  reserve_read_pipe(p, tmp);23  reserve_read_pipe(p, ptr);    // expected-error{{invalid argument type to function 'reserve_read_pipe' (expecting 'unsigned int' having '__global int *__private')}}24  work_group_reserve_read_pipe(tmp, tmp);    // expected-error{{first argument to 'work_group_reserve_read_pipe' must be a pipe type}}25  sub_group_reserve_write_pipe(p, tmp);    // expected-error{{invalid pipe access modifier (expecting write_only)}}26 27  // commit_read/write_pipe28  commit_read_pipe(p, rid);29  commit_read_pipe(tmp, rid);    // expected-error{{first argument to 'commit_read_pipe' must be a pipe type}}30  work_group_commit_read_pipe(p, tmp);    // expected-error{{invalid argument type to function 'work_group_commit_read_pipe' (expecting 'reserve_id_t' having '__private int')}}31  sub_group_commit_write_pipe(p, tmp);    // expected-error{{invalid pipe access modifier (expecting write_only)}}32}33 34void test2(write_only pipe int p, global int* ptr){35  int tmp;36  reserve_id_t rid;37 38  // read/write_pipe39  write_pipe(p, &tmp);40  write_pipe(p, ptr);41  write_pipe(tmp, p);    // expected-error {{first argument to 'write_pipe' must be a pipe type}}42  write_pipe(p);   // expected-error {{invalid number of arguments to function: 'write_pipe'}}43  write_pipe(p, rid, tmp, ptr);44  write_pipe(p, tmp, tmp, ptr);   // expected-error {{invalid argument type to function 'write_pipe' (expecting 'reserve_id_t' having '__private int')}}45  write_pipe(p, rid, rid, ptr);   // expected-error {{invalid argument type to function 'write_pipe' (expecting 'unsigned int' having '__private reserve_id_t')}}46  write_pipe(p, tmp);   // expected-error {{invalid argument type to function 'write_pipe' (expecting 'int *' having '__private int')}}47  read_pipe(p, ptr);    // expected-error {{invalid pipe access modifier (expecting read_only)}}48  read_pipe(p, rid, tmp, ptr);    // expected-error {{invalid pipe access modifier (expecting read_only)}}49 50  // reserve_read/write_pipe51  reserve_write_pipe(p, tmp);52  reserve_write_pipe(p, ptr);    // expected-error{{invalid argument type to function 'reserve_write_pipe' (expecting 'unsigned int' having '__global int *__private')}}53  work_group_reserve_write_pipe(tmp, tmp);    // expected-error{{first argument to 'work_group_reserve_write_pipe' must be a pipe type}}54  sub_group_reserve_read_pipe(p, tmp);    // expected-error{{invalid pipe access modifier (expecting read_only)}}55 56  // commit_read/write_pipe57  commit_write_pipe(p, rid);58  commit_write_pipe(tmp, rid);    // expected-error{{first argument to 'commit_write_pipe' must be a pipe type}}59  work_group_commit_write_pipe(p, tmp);    // expected-error{{invalid argument type to function 'work_group_commit_write_pipe' (expecting 'reserve_id_t' having '__private int')}}60  sub_group_commit_read_pipe(p, tmp);    // expected-error{{invalid pipe access modifier (expecting read_only)}}61}62 63void test3(void){64  int tmp;65  get_pipe_num_packets(tmp);    // expected-error {{first argument to 'get_pipe_num_packets' must be a pipe type}}66  get_pipe_max_packets(tmp);    // expected-error {{first argument to 'get_pipe_max_packets' must be a pipe type}}67}68