The typedef
, extern
, and static
storage-class
specifiers are supported. The auto
and register
storage-class
specifiers are not supported..
The extern
storage-class specifier can only be used for functions
(kernel and non-kernel functions) and global variables declared in program scope.
The static
storage-class specifier can only be used for non-kernel
functions and global variables declared in program scope.
extern constant float4 noise_table[256]; static constant float4 color_table[256]; extern kernel void my_foo(image2d_t img); extern void my_bar(global float *a); kernel void my_func(image2d_t img, global float *a) { extern constant float4 a; // error. static constant float4 b; // error. static float c; // error. ... my_foo(img); ... my_bar(a); ... } |