compilation-error-screen-columns is a variable defined in `compile.el'.
Its value is

If non-nil, column numbers in error messages are screen columns.
Otherwise they are interpreted as character positions, with
each character occupying one column.
The default is to use screen columns, which requires that the compilation
program and Emacs agree about the display width of the characters,
especially the TAB character.
If this is buffer-local in the destination buffer, Emacs obeys
that value, otherwise it uses the value in the *compilation*
buffer. This enables a major-mode to specify its own value.

You can customize this variable.

This variable was introduced, or its default value was changed, in version 20.4 of Emacs.