Fix overriding return value

The custom return value was lost when calling the original function.
Save and restore our own return value, if we're about to call the original function.
This commit is contained in:
Peace-Maker
2016-12-13 17:45:22 -07:00
parent 6e96e0fb84
commit b18e3284e1
8 changed files with 82 additions and 33 deletions
+1 -1
View File
@@ -64,7 +64,7 @@ class x86MsCdecl: public ICallingConvention
{
public:
x86MsCdecl(ke::Vector<DataTypeSized_t> &vecArgTypes, DataTypeSized_t returnType, int iAlignment=4);
~x86MsCdecl();
virtual ~x86MsCdecl();
virtual ke::Vector<Register_t> GetRegisters();
virtual int GetPopSize();
+1 -1
View File
@@ -64,7 +64,7 @@ class x86MsStdcall: public ICallingConvention
{
public:
x86MsStdcall(ke::Vector<DataTypeSized_t> &vecArgTypes, DataTypeSized_t returnType, int iAlignment=4);
~x86MsStdcall();
virtual ~x86MsStdcall();
virtual ke::Vector<Register_t> GetRegisters();
virtual int GetPopSize();
+1 -1
View File
@@ -65,7 +65,7 @@ class x86MsThiscall: public ICallingConvention
{
public:
x86MsThiscall(ke::Vector<DataTypeSized_t> &vecArgTypes, DataTypeSized_t returnType, int iAlignment=4);
~x86MsThiscall();
virtual ~x86MsThiscall();
virtual ke::Vector<Register_t> GetRegisters();
virtual int GetPopSize();