Some implementations, e.g. cygwin, use a table lookup that can cast a char to a negative array offset.