<p dir="ltr"><br>
On Apr 6, 2013 12:05 PM, "Manman Ren" <<a href="mailto:mren@apple.com">mren@apple.com</a>> wrote:<br>
><br>
> Author: mren<br>
> Date: Fri Apr  5 20:02:38 2013<br>
> New Revision: 178941<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=178941&view=rev">http://llvm.org/viewvc/llvm-project?rev=178941&view=rev</a><br>
> Log:<br>
> Dwarf: use utostr on CUID to append to SmallString.<br>
><br>
> We used to do "SmallString += CUID", which is incorrect, since CUID will<br>
> be truncated to a char.<br>
><br>
> rdar://problem/13573833<br>
><br>
> Modified:<br>
>     llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=178941&r1=178940&r2=178941&view=diff">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=178941&r1=178940&r2=178941&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Fri Apr  5 20:02:38 2013<br>
> @@ -643,7 +643,7 @@ unsigned DwarfDebug::getOrCreateSourceID<br>
><br>
>    // We look up the CUID/file/dir by concatenating them with a zero byte.<br>
>    SmallString<128> NamePair;<br>
> -  NamePair += CUID;<br>
> +  NamePair += utostr(CUID);</p>
<p dir="ltr">I haven't looked at the source to verify what type 'cuid'is, but if we want to avoid allowing += (and any similar ops) to implicitly narrow to char we could add some sfinae magic or deleted overloads.</p>

<p dir="ltr">>    NamePair += '\0';<br>
>    NamePair += DirName;<br>
>    NamePair += '\0'; // Zero bytes are not allowed in paths.<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</p>