diff options
author | Chris Lattner <sabre@nondot.org> | 2007-07-16 06:55:01 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-07-16 06:55:01 +0000 |
commit | 136f93a2b660fc780fc2dba82a6f42ca4dc9164a (patch) | |
tree | 90b265907d484bc450dbac896595d9e0a2ff4d85 /CodeGen/CodeGenFunction.cpp | |
parent | 97ba77cf09bf7b83b679165ce67ad7d49ffd568c (diff) |
Make octal constant lexing use AdvanceToTokenCharacter to give more
accurate diagnostics. For test/Lexer/comments.c we now emit:
int x = 000000080; /* expected-error {{invalid digit}} */
^
constants.c:7:4: error: invalid digit '8' in octal constant
00080; /* expected-error {{invalid digit}} */
^
The last line is due to an escaped newline. The full line looks like:
int y = 0000\
00080; /* expected-error {{invalid digit}} */
Previously, we emitted:
constants.c:4:9: error: invalid digit '8' in octal constant
int x = 000000080; /* expected-error {{invalid digit}} */
^
constants.c:6:9: error: invalid digit '8' in octal constant
int y = 0000\
^
which isn't too bad, but the new way is better for the user,
regardless of whether there is an escaped newline or not.
All the other lexer-related diagnostics should switch over
to using AdvanceToTokenCharacter where appropriate. Help
wanted :).
This implements test/Lexer/constants.c.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39906 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions