Mercurial > pub > dyncall > dyncall
diff dyncall/dyncall_callvm_mips_n32.c @ 131:21537652361e
- fixed mips64 n32 build (not sure if working, though)
- cosmetics, comments cleanups
author | cslag |
---|---|
date | Thu, 07 Jul 2016 14:51:30 +0200 |
parents | 67961454902b |
children | f5577f6bf97a |
line wrap: on
line diff
--- a/dyncall/dyncall_callvm_mips_n32.c Wed Jul 06 20:07:08 2016 +0200 +++ b/dyncall/dyncall_callvm_mips_n32.c Thu Jul 07 14:51:30 2016 +0200 @@ -3,10 +3,10 @@ Package: dyncall Library: dyncall File: dyncall/dyncall_callvm_mips_n32.c - Description: mips "n32" ABI callvm implementation + Description: mips64 "n32" ABI callvm implementation License: - Copyright (c) 2007-2015 Daniel Adler <dadler@uni-goettingen.de>, + Copyright (c) 2007-2016 Daniel Adler <dadler@uni-goettingen.de>, Tassilo Philipp <tphilipp@potion-studios.com> Permission to use, copy, modify, and distribute this software for any @@ -139,7 +139,7 @@ } -/* Ellipsis calls: +/* Ellipsis calls: - float is promoted to double (due to ANSI C). - double is passed via integer register-file (due to MIPS ABI). */ @@ -161,7 +161,7 @@ { DCCallVM_mips_n32* self = (DCCallVM_mips_n32*)in_self; /* at minimum provide 16-bytes - which hold the first four integer register as spill area + which hold the first four integer register as spill area and are automatically loaded to $4-$7 */ size_t size = DC_MAX(16, ( ( (unsigned) dcVecSize(&self->mVecHead) ) +7UL ) & (-8UL) ); @@ -178,7 +178,7 @@ , &dc_callvm_mode_mips_n32 , &dc_callvm_argBool_mips_n32 , &dc_callvm_argChar_mips_n32 -, &dc_callvm_argShort_mips_n32 +, &dc_callvm_argShort_mips_n32 , &dc_callvm_argInt_mips_n32 , &dc_callvm_argLong_mips_n32 , &dc_callvm_argLongLong_mips_n32 @@ -235,14 +235,14 @@ switch(mode) { case DC_CALL_C_DEFAULT: case DC_CALL_C_MIPS64_N32: + case DC_CALL_C_ELLIPSIS: vt = &gVT_mips_n32; break; - case DC_CALL_C_ELLIPSIS: case DC_CALL_C_ELLIPSIS_VARARGS: vt = &gVT_mips_n32_ellipsis; break; default: - self->mInterface.mError = DC_ERROR_UNSUPPORTED_MODE; + self->mInterface.mError = DC_ERROR_UNSUPPORTED_MODE; return; } dc_callvm_base_init(&self->mInterface, vt);