gpc barfs on this program. This is a small clip of a larger program, so I suppose it could be trimmed some more, but it demonstrates the problem. It tells me that the subrange bounds are not of the same type.
program temp (input, output);
type TLittleChar = 'A' .. 'C';
begin writeln; end.