[Lldb-commits] [lldb] r282112 - Fix integer sign warning from r282105

Adrian McCarthy via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 21 14:38:01 PDT 2016


That fix doesn't look complete:

 for (size_t i = 0; i < column - 1 && i < src_line.length(); ++i)

`column` is an unsigned integral type, so doing subtraction from it can
lead to surprising results.  It's probably best to write it as:

  for (size_t i = 0; i  + 1 < column && i < src_line.length(); ++i)

That will more gracefully handle the case where column is 0.

Adrian.

On Wed, Sep 21, 2016 at 2:14 PM, Ed Maste via lldb-commits <
lldb-commits at lists.llvm.org> wrote:

> Author: emaste
> Date: Wed Sep 21 16:14:31 2016
> New Revision: 282112
>
> URL: http://llvm.org/viewvc/llvm-project?rev=282112&view=rev
> Log:
> Fix integer sign warning from r282105
>
> Modified:
>     lldb/trunk/source/Core/SourceManager.cpp
>
> Modified: lldb/trunk/source/Core/SourceManager.cpp
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/
> Core/SourceManager.cpp?rev=282112&r1=282111&r2=282112&view=diff
> ============================================================
> ==================
> --- lldb/trunk/source/Core/SourceManager.cpp (original)
> +++ lldb/trunk/source/Core/SourceManager.cpp Wed Sep 21 16:14:31 2016
> @@ -172,7 +172,7 @@ size_t SourceManager::DisplaySourceLines
>          m_last_file_sp->GetLine(line, src_line);
>          return_value += s->Printf("    \t");
>          // Insert a space for every non-tab character in the source line.
> -        for (int i = 0; i < column - 1 && i < src_line.length(); ++i)
> +        for (size_t i = 0; i < column - 1 && i < src_line.length(); ++i)
>            return_value += s->PutChar(src_line[i] == '\t' ? '\t' : ' ');
>          // Now add the caret.
>          return_value += s->Printf("^\n");
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160921/0a4d503b/attachment.html>


More information about the lldb-commits mailing list