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 /TODO.txt | |
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 'TODO.txt')
-rw-r--r-- | TODO.txt | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -22,6 +22,8 @@ diag.c:4:9: error: invalid digit '8' in octal constant 00080; ^ +This specific diagnostic is implemented, but others should be updated. + //===---------------------------------------------------------------------===// |