A.1.2. OpenCL C Programming Language Restrictions
|pointer assignments between address spaces||●||Arguments to __kernel functions declared in a program that are pointers must be declared with the __global, __constant, or __local qualifier.
The offline compiler enforces the OpenCL restriction against pointer assignments between address spaces.
|pointers to functions||X||The offline compiler does not enforce this restriction.|
|structure-type kernel arguments||X||Convert structure arguments to a pointer to a structure in global memory.|
|images||X||The SDK does not support images.|
|bit fields||X||The offline compiler does not enforce this restriction.|
|variable length arrays and structures||X|
|variable macros and functions||X|
|extern, static, auto, and register storage-class specifiers||X||The offline compiler does not enforce this restriction.|
|predefined identifiers||●||Use the -D option of the aoc command to provide preprocessor symbol definitions in your kernel code.|
|recursion||X||The offline compiler does not return an error for this restriction, but this feature is not supported.|
|irreducible control flow||X||The offline compiler does not return an error for this restriction, but this feature is not supported.|
|writes to memory of built-in types less than 32 bits in size||○||Store operations less than 32 bits in size might result in lower memory performance.|
|declaration of arguments to __kernel functions of type event_t||X||The offline compiler does not enforce this restriction.|
|elements of a struct or a union belonging to different address spaces||X||The offline compiler does not enforce this restriction.
Warning: Assigning elements of a struct or a union to different address spaces might cause a fatal error.
|●||The feature is supported, and there might be a clarification for the supported feature in the Notes column|
|○||The feature is supported with exceptions identified in the Notes column.|
|X||The feature is not supported.|
Did you find the information on this page useful?