Author: tkreuzer Date: Sat Sep 29 22:58:06 2012 New Revision: 57439
URL: http://svn.reactos.org/svn/reactos?rev=57439&view=rev Log: [SPEC2DEF] Implement support for int128. CORE-6630 #resolve
Modified: trunk/reactos/tools/spec2def/spec2def.c
Modified: trunk/reactos/tools/spec2def/spec2def.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/spec2def/spec2def.c?r... ============================================================================== --- trunk/reactos/tools/spec2def/spec2def.c [iso-8859-1] (original) +++ trunk/reactos/tools/spec2def/spec2def.c [iso-8859-1] Sat Sep 29 22:58:06 2012 @@ -67,6 +67,7 @@ ARG_WSTR, ARG_DBL, ARG_INT64, + ARG_INT128, ARG_FLOAT };
@@ -191,7 +192,9 @@ case ARG_PTR: fprintf(file, "void*"); break; case ARG_STR: fprintf(file, "char*"); break; case ARG_WSTR: fprintf(file, "wchar_t*"); break; - case ARG_DBL: case ARG_INT64 : fprintf(file, "__int64"); break; + case ARG_DBL: + case ARG_INT64 : fprintf(file, "__int64"); break; + case ARG_INT128 : fprintf(file, "__int128"); break; case ARG_FLOAT: fprintf(file, "float"); break; } fprintf(file, " a%d", i); @@ -210,6 +213,7 @@ case ARG_WSTR: fprintf(file, "'%%ws'"); break; case ARG_DBL: fprintf(file, "%%f"); break; case ARG_INT64: fprintf(file, "%%"PRix64""); break; + case ARG_INT128: fprintf(file, "%%"PRix128""); break; case ARG_FLOAT: fprintf(file, "%%f"); break; } } @@ -226,6 +230,7 @@ case ARG_WSTR: fprintf(file, "(wchar_t*)a%d", i); break; case ARG_DBL: fprintf(file, "(double)a%d", i); break; case ARG_INT64: fprintf(file, "(__int64)a%d", i); break; + case ARG_INT128: fprintf(file, "(__int128)a%d", i); break; case ARG_FLOAT: fprintf(file, "(float)a%d", i); break; } } @@ -600,6 +605,11 @@ exp.nStackBytes += 8; exp.anArgs[exp.nArgCount] = ARG_INT64; } + else if (CompareToken(pc, "int128")) + { + exp.nStackBytes += 16; + exp.anArgs[exp.nArgCount] = ARG_INT128; + } else if (CompareToken(pc, "float")) { exp.nStackBytes += 4;