|
From: <sv...@va...> - 2013-08-16 12:11:29
|
dejanj 2013-08-16 13:11:20 +0100 (Fri, 16 Aug 2013)
New Revision: 2744
Log:
mips64: Fix a problem with CCall.retty type.
Fix a problem when CCall needs to return 64 bits
for return type.
Modified files:
trunk/priv/host_mips_isel.c
Modified: trunk/priv/host_mips_isel.c (+2 -2)
===================================================================
--- trunk/priv/host_mips_isel.c 2013-08-16 09:32:15 +01:00 (rev 2743)
+++ trunk/priv/host_mips_isel.c 2013-08-16 13:11:20 +01:00 (rev 2744)
@@ -1886,9 +1886,9 @@
vassert(ty == e->Iex.CCall.retty);
/* be very restrictive for now. Only 32/64-bit ints allowed for
- args, and 32 bits for return type. Don't forget to change
+ args, and 64 and 32 bits for return type. Don't forget to change
the RetLoc if more return types are allowed in future. */
- if (e->Iex.CCall.retty != Ity_I32)
+ if (e->Iex.CCall.retty != Ity_I64 && e->Iex.CCall.retty != Ity_I32)
goto irreducible;
/* Marshal args, do the call, clear stack. */
|