blob: 3e270e64c69d1cdc7eedd357f2a973d192e8165b [file] [log] [blame]
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +00001// RUN: %clang_cc1 %s -fblocks -verify -pedantic -fsyntax-only -ferror-limit 100
2
3// Confirm CL2.0 Clang builtins are not available in earlier versions
4
5kernel void dse_builtins() {
6 int tmp;
Egor Churaevf59d9212017-05-30 05:57:52 +00007 enqueue_kernel(tmp, tmp, tmp, ^(void) { // expected-error{{implicit declaration of function 'enqueue_kernel' is invalid in OpenCL}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +00008 return;
9 });
Egor Churaevf59d9212017-05-30 05:57:52 +000010 unsigned size = get_kernel_work_group_size(^(void) { // expected-error{{implicit declaration of function 'get_kernel_work_group_size' is invalid in OpenCL}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +000011 return;
12 });
Egor Churaevf59d9212017-05-30 05:57:52 +000013 size = get_kernel_preferred_work_group_size_multiple(^(void) { // expected-error{{implicit declaration of function 'get_kernel_preferred_work_group_size_multiple' is invalid in OpenCL}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +000014 return;
15 });
16}
17
18void pipe_builtins() {
19 int tmp;
20
Egor Churaevf59d9212017-05-30 05:57:52 +000021 foo(void); // expected-error{{implicit declaration of function 'foo' is invalid in OpenCL}}
22 // expected-note@-1{{'foo' declared here}}
23 // expected-error@-2{{expected expression}}
24 boo(); // expected-error{{implicit declaration of function 'boo' is invalid in OpenCL}}
25 // expected-note@-1{{did you mean 'foo'?}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +000026
Egor Churaevf59d9212017-05-30 05:57:52 +000027 read_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'read_pipe' is invalid in OpenCL}}
28 write_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'write_pipe' is invalid in OpenCL}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +000029
Egor Churaevf59d9212017-05-30 05:57:52 +000030 reserve_read_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'reserve_read_pipe' is invalid in OpenCL}}
31 // expected-note@-1{{'reserve_read_pipe' declared here}}
32 reserve_write_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'reserve_write_pipe' is invalid in OpenCL}}
33 // expected-note@-1{{did you mean 'reserve_read_pipe'?}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +000034
Egor Churaevf59d9212017-05-30 05:57:52 +000035 work_group_reserve_read_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'work_group_reserve_read_pipe' is invalid in OpenCL}}
36 // expected-note@-1 2{{'work_group_reserve_read_pipe' declared here}}
37 work_group_reserve_write_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'work_group_reserve_write_pipe' is invalid in OpenCL}}
38 // expected-note@-1{{did you mean 'work_group_reserve_read_pipe'?}}
39 // expected-note@-2{{'work_group_reserve_write_pipe' declared here}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +000040
Egor Churaevf59d9212017-05-30 05:57:52 +000041 sub_group_reserve_write_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'sub_group_reserve_write_pipe' is invalid in OpenCL}}
42 // expected-note@-1{{did you mean 'work_group_reserve_write_pipe'?}}
43 sub_group_reserve_read_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'sub_group_reserve_read_pipe' is invalid in OpenCL}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +000044
Egor Churaevf59d9212017-05-30 05:57:52 +000045 commit_read_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'commit_read_pipe' is invalid in OpenCL}}
46 // expected-note@-1{{'commit_read_pipe' declared here}}
47 commit_write_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'commit_write_pipe' is invalid in OpenCL}}
48 // expected-note@-1{{did you mean 'commit_read_pipe'?}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +000049
Egor Churaevf59d9212017-05-30 05:57:52 +000050 work_group_commit_read_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'work_group_commit_read_pipe' is invalid in OpenCL}}
51 // expected-note@-1{{'work_group_commit_read_pipe' declared here}}
52 // expected-note@-2{{did you mean 'work_group_reserve_read_pipe'?}}
53 work_group_commit_write_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'work_group_commit_write_pipe' is invalid in OpenCL}}
54 // expected-note@-1{{'work_group_commit_write_pipe' declared here}}
55 // expected-note@-2{{did you mean 'work_group_commit_read_pipe'?}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +000056
Egor Churaevf59d9212017-05-30 05:57:52 +000057 sub_group_commit_write_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'sub_group_commit_write_pipe' is invalid in OpenCL}}
58 // expected-note@-1{{did you mean 'work_group_commit_write_pipe'?}}
59 sub_group_commit_read_pipe(tmp, tmp); // expected-error{{implicit declaration of function 'sub_group_commit_read_pipe' is invalid in OpenCL}}
60
61 get_pipe_num_packets(tmp); // expected-error{{implicit declaration of function 'get_pipe_num_packets' is invalid in OpenCL}}
62 // expected-note@-1{{'get_pipe_num_packets' declared here}}
63 get_pipe_max_packets(tmp); // expected-error{{implicit declaration of function 'get_pipe_max_packets' is invalid in OpenCL}}
64 // expected-note@-1{{did you mean 'get_pipe_num_packets'?}}
Anastasia Stulova7f8d6dc2016-07-04 16:07:18 +000065}