]> granicus.if.org Git - clang/commit
Nicer display of unprintable source, and fix caret display for non-ascii text
authorSeth Cantrell <seth.cantrell@gmail.com>
Wed, 18 Apr 2012 02:44:46 +0000 (02:44 +0000)
committerSeth Cantrell <seth.cantrell@gmail.com>
Wed, 18 Apr 2012 02:44:46 +0000 (02:44 +0000)
commit6749dd50869281f9b49ad5960e25288c15a71cac
treeffdd49afa490fae37f0bdc3188408f27bdb17ba4
parent074c1919167a272860a65f861c81d7d3ff37cd72
Nicer display of unprintable source, and fix caret display for non-ascii text

Unprintable source in diagnostics is transformed to a printable form and then
displayed with reversed colors if possible. Unprintable characters are
displayed as <U+NNNN> while bytes that do not represent valid characters are
shown as <XX>.

Column adjustments to diagnostic carets, highlighted ranges, and fixups are
made both for characters escaped as above and for characters which are
printable but take up more than a single column.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154980 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/ConvertUTF.h
include/clang/Frontend/TextDiagnostic.h
lib/Frontend/TextDiagnostic.cpp
test/Misc/message-length.c
test/Misc/unprintable.c [new file with mode: 0644]
test/Misc/wrong-encoding.c [new file with mode: 0644]