From 23eb1826bbc40854d14593baaa78eaa128fcfdb3 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 29 Sep 2012 22:58:06 +0000 Subject: [PATCH] [SPEC2DEF] Implement support for int128. CORE-6630 #resolve svn path=/trunk/; revision=57439 --- reactos/tools/spec2def/spec2def.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/reactos/tools/spec2def/spec2def.c b/reactos/tools/spec2def/spec2def.c index e6433acab6b..569a822eaec 100644 --- a/reactos/tools/spec2def/spec2def.c +++ b/reactos/tools/spec2def/spec2def.c @@ -67,6 +67,7 @@ enum ARG_WSTR, ARG_DBL, ARG_INT64, + ARG_INT128, ARG_FLOAT }; @@ -191,7 +192,9 @@ OutputLine_stub(FILE *file, EXPORT *pexp) 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 @@ OutputLine_stub(FILE *file, EXPORT *pexp) 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 @@ OutputLine_stub(FILE *file, EXPORT *pexp) 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 @@ ParseFile(char* pcStart, FILE *fileDest, PFNOUTLINE OutputLine) 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;