OpenCL spec doesn't seem to describe the behavior correctly for type printing in GetKernelArgInfo (https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetKernelArgInfo):
The type name returned will be the argument type name as it was declared with any whitespace removed. If argument type name is an unsigned scalar type (i.e. unsigned char, unsigned short, unsigned int, unsigned long), uchar, ushort, uint and ulong will be returned.
The example with unsigned doesn't seem to comply with the general statement in the first sentence. It is believed that it actually meant to say that the single word spelling should be used for types i.e.
unsigned type -> utype signed type -> type
This patch fixed the printing of type with signed prefix in spelling.
It'd make sense to push this comment down one line, above the consume_front("unsigned ") call, as it doesn't apply to the consume_front("signed ") call - or reword it so it covers both substitutions.