https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19165
--- Comment #21 from David Malcolm <dmalcolm at gcc dot gnu.org> --- One other issue is that column numbering is rather a mess right now. From my rich-location patch: /* Both gcc and emacs number source *lines* starting at 1, but they have differing conventions for *columns*. GCC uses a 1-based convention for source columns, whereas Emacs's M-x column-number-mode uses a 0-based convention. For example, an error in the initial, left-hand column of source line 3 is reported by GCC as: some-file.c:3:1: error: ...etc... On navigating to the location of that error in Emacs (e.g. via "next-error"), the locus is reported in the Mode Line (assuming M-x column-number-mode) as: some-file.c 10% (3, 0) i.e. "3:1:" in GCC corresponds to "(3, 0)" in Emacs. */ Our "column numbers" are also simply a byte-count, I believe, so a tab character is treated by us as simply an increment of 1 right now. I guess this is a separate issue though.