<div dir="ltr">On Tue, Aug 13, 2013 at 3:48 AM, Timur Iskhodzhanov <span dir="ltr"><<a href="mailto:timurrrr@google.com" target="_blank">timurrrr@google.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2013/8/13 David Majnemer <<a href="mailto:david.majnemer@gmail.com">david.majnemer@gmail.com</a>>:<br>
<div class="im">> +  //<br>
> +  // N.B. The representation of signed values that are their smallest possible<br>
> +  // value omits the question mark.<br>
> +  if (Value.isSigned() && Value.isNegative() && !Value.isMinSignedValue()) {<br>
>      Out << '?';<br>
>      mangleNumber(llvm::APSInt(Value.abs()));<br>
>      return;<br>
> Index: test/CodeGenCXX/mangle-ms-templates.cpp<br>
> ===================================================================<br>
> --- test/CodeGenCXX/mangle-ms-templates.cpp<br>
> +++ test/CodeGenCXX/mangle-ms-templates.cpp<br>
> @@ -108,6 +108,10 @@<br>
>    IntTemplate<65535> ffff;<br>
>  // CHECK: call {{.*}} @"\01??0?$IntTemplate@$0PPPP@@@QAE@XZ"<br>
>  // X64: call {{.*}} @"\01??0?$IntTemplate@$0PPPP@@@QEAA@XZ"<br>
> +<br>
> +  IntTemplate<-<a href="tel:2147483648" value="+12147483648">2147483648</a>> IntMin;<br>
> +// CHECK: call {{.*}} @"\01??0?$IntTemplate@$0IAAAAAAA@@@QAE@XZ"<br>
> +// X64: call {{.*}} @"\01??0?$IntTemplate@$0IAAAAAAA@@@QEAA@XZ"<br>
<br>
</div>Are there any cases when a non-int signed value is mangled?<br></blockquote><div><br></div><div>No, which means that this patch is wrong. :( </div></div><br></div></div>