[cfe-commits] r167360 - in /cfe/trunk: lib/Frontend/TextDiagnostic.cpp test/Misc/wrong-encoding2.c
Seth Cantrell
seth.cantrell at gmail.com
Sat Nov 3 16:54:58 PDT 2012
In this case the crash is in the text diagnostics output of the source (while it's trying to truncate the line to fit in the requested message-length) and so -verify prevents it from occurring.
On Nov 3, 2012, at 5:56 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Sat, Nov 3, 2012 at 2:21 PM, Seth Cantrell <seth.cantrell at gmail.com> wrote:
>> Author: socantre
>> Date: Sat Nov 3 16:21:14 2012
>> New Revision: 167360
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=167360&view=rev
>> Log:
>> fix bug in SourceColumnMap::startOfPreviousColumn
>>
>> Added:
>> cfe/trunk/test/Misc/wrong-encoding2.c
>> Modified:
>> cfe/trunk/lib/Frontend/TextDiagnostic.cpp
>>
>> Modified: cfe/trunk/lib/Frontend/TextDiagnostic.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/TextDiagnostic.cpp?rev=167360&r1=167359&r2=167360&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Frontend/TextDiagnostic.cpp (original)
>> +++ cfe/trunk/lib/Frontend/TextDiagnostic.cpp Sat Nov 3 16:21:14 2012
>> @@ -298,7 +298,7 @@
>> /// \brief Map from a byte index to the previous byte which starts a column.
>> int startOfPreviousColumn(int N) const {
>> assert(0 < N && N < static_cast<int>(m_columnToByte.size()));
>> - while (byteToColumn(N--) == -1) {}
>> + while (byteToColumn(--N) == -1) {}
>> return N;
>> }
>>
>>
>> Added: cfe/trunk/test/Misc/wrong-encoding2.c
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Misc/wrong-encoding2.c?rev=167360&view=auto
>> ==============================================================================
>> --- cfe/trunk/test/Misc/wrong-encoding2.c (added)
>> +++ cfe/trunk/test/Misc/wrong-encoding2.c Sat Nov 3 16:21:14 2012
>> @@ -0,0 +1,8 @@
>> +// RUN: %clang_cc1 -fsyntax-only -fmessage-length 100 %s 2>&1 | FileCheck -strict-whitespace %s
>> +// REQUIRES: asserts
>> +
>> +int main() {
>> + "É#x#p )6Ò )ѽŠ$ûž>U êhÑüÃö|Ÿ থϻg ŸY|` ?ò; ;Æ¿V jÇ\\ ù€‡ûݪW9úÐ ¢:ÌŠO EøÛ y?SKªy¦¹‡Øài&n";
>> +}
>> +
>> +// CHECK-NOT:Assertion
>
> If you want to check that an -fsyntax-only testcase doesn't crash,
> it's more straightforward and robust to use -verify instead of
> checking for the text of an assertion.
>
> -Eli
More information about the cfe-commits
mailing list