Oh, okay; still, it better to check that the diagnostic is printed in the way you expect.
-Eli On Sat, Nov 3, 2012 at 4:54 PM, Seth Cantrell <[email protected]> wrote: > 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 <[email protected]> wrote: > >> On Sat, Nov 3, 2012 at 2:21 PM, Seth Cantrell <[email protected]> >> 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 > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
