Great idea! Committed in r205270.<br><div>On Mon Mar 31 2014 at 3:34:54 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<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></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<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>
</blockquote>