On Tue, Aug 13, 2013 at 3:48 AM, Timur Iskhodzhanov <[email protected]>wrote:
> 2013/8/13 David Majnemer <[email protected]>: > > + // > > + // N.B. The representation of signed values that are their smallest > possible > > + // value omits the question mark. > > + if (Value.isSigned() && Value.isNegative() && > !Value.isMinSignedValue()) { > > Out << '?'; > > mangleNumber(llvm::APSInt(Value.abs())); > > return; > > Index: test/CodeGenCXX/mangle-ms-templates.cpp > > =================================================================== > > --- test/CodeGenCXX/mangle-ms-templates.cpp > > +++ test/CodeGenCXX/mangle-ms-templates.cpp > > @@ -108,6 +108,10 @@ > > IntTemplate<65535> ffff; > > // CHECK: call {{.*}} @"\01??0?$IntTemplate@$0PPPP@@@QAE@XZ" > > // X64: call {{.*}} @"\01??0?$IntTemplate@$0PPPP@@@QEAA@XZ" > > + > > + IntTemplate<-2147483648> IntMin; > > +// CHECK: call {{.*}} @"\01??0?$IntTemplate@$0IAAAAAAA@@@QAE@XZ" > > +// X64: call {{.*}} @"\01??0?$IntTemplate@$0IAAAAAAA@@@QEAA@XZ" > > Are there any cases when a non-int signed value is mangled? > No, which means that this patch is wrong. :(
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
