https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87713
Bug ID: 87713 Summary: single character underlined in an error message instead of the whole token Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: msebor at gcc dot gnu.org Target Milestone: --- Every now and then I notice a diagnostic where only a single character of a token (identifier?) is underlined but up until now I haven't had luck reproducing it (often times it involves macros). The ill-formed C++ test case below shows one situation when this happens without macros. Note the underlining in the second error. $ cat t.C && gcc -S -Wall t.C int i = sizeof ((int)); t.C:1:18: error: expected primary-expression before ‘int’ 1 | int i = sizeof ((int)); | ^~~ t.C:1:18: error: expected ‘)’ before ‘int’ 1 | int i = sizeof ((int)); | ~^~~ | ) t.C:1:23: error: expected ‘)’ before ‘;’ token 1 | int i = sizeof ((int)); | ~ ^ | ) Other C++ compilers as well as GCC's C front end handle this more gracefully. They print just a single message along the lines of: t.C:1:22: error: expected expression before ‘)’ token