<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Mar 31, 2014 at 10:09 AM, David Majnemer <span dir="ltr"><<a href="mailto:david.majnemer@gmail.com" target="_blank">david.majnemer@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: majnemer<br>
Date: Mon Mar 31 12:09:09 2014<br>
New Revision: 205223<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=205223&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=205223&view=rev</a><br>
Log:<br>
MS ABI: Document the '\xc1' to '\xda' manglings<br>
<br>
No functionality change.<br>
<br>
Modified:<br>
    cfe/trunk/lib/AST/MicrosoftMangle.cpp<br>
<br>
Modified: cfe/trunk/lib/AST/MicrosoftMangle.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/MicrosoftMangle.cpp?rev=205223&r1=205222&r2=205223&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/MicrosoftMangle.cpp?rev=205223&r1=205222&r2=205223&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/AST/MicrosoftMangle.cpp (original)<br>
+++ cfe/trunk/lib/AST/MicrosoftMangle.cpp Mon Mar 31 12:09:09 2014<br>
@@ -2419,6 +2419,7 @@ void MicrosoftMangleContextImpl::mangleS<br>
       Mangler.getStream() << Byte;<br>
     } else if ((Byte >= '\xe1' && Byte <= '\xfa') ||<br>
                (Byte >= '\xc1' && Byte <= '\xda')) {<br>
+      // The delta between '\xe1' and '\xc1' is the same as 'a' to 'A'.<br>
       Mangler.getStream() << '?' << static_cast<char>('A' + (Byte - '\xc1'));<br></blockquote><div><br></div><div>I think this would be more obvious as:</div><div><br></div><div>
if (clang::isLetter(Byte ^ 0x80))</div><div>  Mangler.getStream() << '?' << static_cast<char>(Byte ^ 0x80);</div></div></div></div>