https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121566

            Bug ID: 121566
           Summary: Caret shown at wrong position when trigraphs are used
           Product: gcc
           Version: 15.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jepler at gmail dot com
  Target Milestone: ---

Compiling the following code with `gcc -trigraphs`
> int main() {
>     return ??-??-??-??-??-??-??---1;
> }

produces a diagnostic in which the caret is shown at the wrong location:
> <source>: In function 'main':
> <source>:2:19: error: lvalue required as decrement operand
>     2 |     return ??-??-??-??-??-??-??---1;
>       |                   ^~

It appears that the horizontal position tracking does not correctly account for
the number of columns that trigraphs occupy.

godbolt: https://godbolt.org/z/Eehn6Pjao

Reply via email to