The "halfn" vector type is currently listed as a reserved data type name:
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_C.html#reserved-data-types
This is almost certainly a leftover from before extensions (like cl_khr_fp16) were incorporated into the main OpenCL specifications.
We should either remove it from this list (this is probably the right thing to do), or clarify that it is only a reserved data type name when fp16 is unsupported (which, note, we do not do for "double" or "doublen").
The "halfn" vector type is currently listed as a reserved data type name:
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_C.html#reserved-data-types
This is almost certainly a leftover from before extensions (like cl_khr_fp16) were incorporated into the main OpenCL specifications.
We should either remove it from this list (this is probably the right thing to do), or clarify that it is only a reserved data type name when fp16 is unsupported (which, note, we do not do for "double" or "doublen").