1*67e74705SXin Li// RUN: %clang_cc1 %s -fblocks -verify -pedantic -fsyntax-only -ferror-limit 100 2*67e74705SXin Li 3*67e74705SXin Li// Confirm CL2.0 Clang builtins are not available in earlier versions 4*67e74705SXin Li 5*67e74705SXin Likernel void dse_builtins() { 6*67e74705SXin Li int tmp; 7*67e74705SXin Li enqueue_kernel(tmp, tmp, tmp, ^(void) { // expected-warning{{implicit declaration of function 'enqueue_kernel' is invalid in C99}} 8*67e74705SXin Li return; 9*67e74705SXin Li }); 10*67e74705SXin Li unsigned size = get_kernel_work_group_size(^(void) { // expected-warning{{implicit declaration of function 'get_kernel_work_group_size' is invalid in C99}} 11*67e74705SXin Li return; 12*67e74705SXin Li }); 13*67e74705SXin Li size = get_kernel_preferred_work_group_size_multiple(^(void) { // expected-warning{{implicit declaration of function 'get_kernel_preferred_work_group_size_multiple' is invalid in C99}} 14*67e74705SXin Li return; 15*67e74705SXin Li }); 16*67e74705SXin Li} 17*67e74705SXin Li 18*67e74705SXin Livoid pipe_builtins() { 19*67e74705SXin Li int tmp; 20*67e74705SXin Li 21*67e74705SXin Li read_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'read_pipe' is invalid in C99}} 22*67e74705SXin Li write_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'write_pipe' is invalid in C99}} 23*67e74705SXin Li 24*67e74705SXin Li reserve_read_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'reserve_read_pipe' is invalid in C99}} 25*67e74705SXin Li reserve_write_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'reserve_write_pipe' is invalid in C99}} 26*67e74705SXin Li 27*67e74705SXin Li work_group_reserve_read_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'work_group_reserve_read_pipe' is invalid in C99}} 28*67e74705SXin Li work_group_reserve_write_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'work_group_reserve_write_pipe' is invalid in C99}} 29*67e74705SXin Li 30*67e74705SXin Li sub_group_reserve_write_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'sub_group_reserve_write_pipe' is invalid in C99}} 31*67e74705SXin Li sub_group_reserve_read_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'sub_group_reserve_read_pipe' is invalid in C99}} 32*67e74705SXin Li 33*67e74705SXin Li commit_read_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'commit_read_pipe' is invalid in C99}} 34*67e74705SXin Li commit_write_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'commit_write_pipe' is invalid in C99}} 35*67e74705SXin Li 36*67e74705SXin Li work_group_commit_read_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'work_group_commit_read_pipe' is invalid in C99}} 37*67e74705SXin Li work_group_commit_write_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'work_group_commit_write_pipe' is invalid in C99}} 38*67e74705SXin Li 39*67e74705SXin Li sub_group_commit_write_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'sub_group_commit_write_pipe' is invalid in C99}} 40*67e74705SXin Li sub_group_commit_read_pipe(tmp, tmp); // expected-warning{{implicit declaration of function 'sub_group_commit_read_pipe' is invalid in C99}} 41*67e74705SXin Li 42*67e74705SXin Li get_pipe_num_packets(tmp); // expected-warning{{implicit declaration of function 'get_pipe_num_packets' is invalid in C99}} 43*67e74705SXin Li get_pipe_max_packets(tmp); // expected-warning{{implicit declaration of function 'get_pipe_max_packets' is invalid in C99}} 44*67e74705SXin Li} 45