Permalink
Browse files

Adding option zerolocals and new Linux64 WIN64 ABI support

  • Loading branch information...
John Hankinson
John Hankinson committed Feb 11, 2016
1 parent d832b9a commit 6f3fbcf9cb046d547464d502cbd998dad78cd55d
Showing with 16,775 additions and 15,583 deletions.
  1. +1 −0 H/globals.h
  2. BIN HJWasm.sdf
  3. +9 −0 assemble.c
  4. +22 −22 hll.c
  5. +22 −1 option.c
  6. +53 −6 proc.c
  7. +58 −0 procdif
  8. BIN x64/Debug/HJWasm.exe
  9. +4 −4 x64/Debug/HJWasm.log
  10. BIN x64/Debug/HJWasm.pdb
  11. BIN x64/Debug/apiemu.obj
  12. +853 −832 x64/Debug/assemble.asm
  13. BIN x64/Debug/assemble.obj
  14. +20 −19 x64/Debug/assume.asm
  15. BIN x64/Debug/assume.obj
  16. +5 −4 x64/Debug/atofloat.asm
  17. BIN x64/Debug/atofloat.obj
  18. +39 −38 x64/Debug/backptch.asm
  19. BIN x64/Debug/backptch.obj
  20. +314 −314 x64/Debug/bin.asm
  21. BIN x64/Debug/bin.obj
  22. +60 −59 x64/Debug/branch.asm
  23. BIN x64/Debug/branch.obj
  24. +233 −232 x64/Debug/cmdline.asm
  25. BIN x64/Debug/cmdline.obj
  26. +51 −50 x64/Debug/codegen.asm
  27. BIN x64/Debug/codegen.obj
  28. +121 −120 x64/Debug/coff.asm
  29. BIN x64/Debug/coff.obj
  30. +29 −28 x64/Debug/condasm.asm
  31. BIN x64/Debug/condasm.obj
  32. +21 −20 x64/Debug/context.asm
  33. BIN x64/Debug/context.obj
  34. +48 −47 x64/Debug/cpumodel.asm
  35. BIN x64/Debug/cpumodel.obj
  36. +155 −154 x64/Debug/data.asm
  37. BIN x64/Debug/data.obj
  38. +59 −58 x64/Debug/dbgcv.asm
  39. BIN x64/Debug/dbgcv.obj
  40. +21 −20 x64/Debug/directiv.asm
  41. BIN x64/Debug/directiv.obj
  42. +107 −106 x64/Debug/elf.asm
  43. BIN x64/Debug/elf.obj
  44. +81 −80 x64/Debug/end.asm
  45. BIN x64/Debug/end.obj
  46. +46 −45 x64/Debug/equate.asm
  47. BIN x64/Debug/equate.obj
  48. +31 −30 x64/Debug/errmsg.asm
  49. BIN x64/Debug/errmsg.obj
  50. +121 −120 x64/Debug/expans.asm
  51. BIN x64/Debug/expans.obj
  52. +585 −584 x64/Debug/expreval.asm
  53. BIN x64/Debug/expreval.obj
  54. +45 −44 x64/Debug/extern.asm
  55. BIN x64/Debug/extern.obj
  56. +19 −18 x64/Debug/fastpass.asm
  57. BIN x64/Debug/fastpass.obj
  58. +13 −12 x64/Debug/fixup.asm
  59. BIN x64/Debug/fixup.obj
  60. +5 −4 x64/Debug/fpfixup.asm
  61. BIN x64/Debug/fpfixup.obj
  62. +339 −334 x64/Debug/hll.asm
  63. BIN x64/Debug/hll.obj
  64. +73 −72 x64/Debug/input.asm
  65. BIN x64/Debug/input.obj
  66. +464 −463 x64/Debug/invoke.asm
  67. BIN x64/Debug/invoke.obj
  68. +25 −24 x64/Debug/label.asm
  69. BIN x64/Debug/label.obj
  70. +27 −26 x64/Debug/linnum.asm
  71. BIN x64/Debug/linnum.obj
  72. +298 −297 x64/Debug/listing.asm
  73. BIN x64/Debug/listing.obj
  74. +25 −24 x64/Debug/loop.asm
  75. BIN x64/Debug/loop.obj
  76. +9 −8 x64/Debug/lqueue.asm
  77. BIN x64/Debug/lqueue.obj
  78. +41 −40 x64/Debug/macro.asm
  79. BIN x64/Debug/macro.obj
  80. +13 −12 x64/Debug/main.asm
  81. BIN x64/Debug/main.obj
  82. +5 −4 x64/Debug/mangle.asm
  83. BIN x64/Debug/mangle.obj
  84. +11 −10 x64/Debug/memalloc.asm
  85. BIN x64/Debug/memalloc.obj
  86. +284 −283 x64/Debug/msgtext.asm
  87. BIN x64/Debug/msgtext.obj
  88. +109 −108 x64/Debug/omf.asm
  89. BIN x64/Debug/omf.obj
  90. +42 −41 x64/Debug/omffixup.asm
  91. BIN x64/Debug/omffixup.obj
  92. +37 −36 x64/Debug/omfint.asm
  93. BIN x64/Debug/omfint.obj
  94. +872 −735 x64/Debug/option.asm
  95. BIN x64/Debug/option.obj
  96. +242 −241 x64/Debug/parser.asm
  97. BIN x64/Debug/parser.obj
  98. +8 −7 x64/Debug/posndir.asm
  99. BIN x64/Debug/posndir.obj
  100. +7 −6 x64/Debug/preproc.asm
  101. BIN x64/Debug/preproc.obj
  102. +2,768 −2,519 x64/Debug/proc.asm
  103. BIN x64/Debug/proc.obj
  104. BIN x64/Debug/queue.obj
  105. +55 −54 x64/Debug/reswords.asm
  106. BIN x64/Debug/reswords.obj
  107. +5 −4 x64/Debug/safeseh.asm
  108. BIN x64/Debug/safeseh.obj
  109. +138 −137 x64/Debug/segment.asm
  110. BIN x64/Debug/segment.obj
  111. +81 −80 x64/Debug/simsegm.asm
  112. BIN x64/Debug/simsegm.obj
  113. +93 −92 x64/Debug/string.asm
  114. BIN x64/Debug/string.obj
  115. +128 −127 x64/Debug/symbols.asm
  116. BIN x64/Debug/symbols.obj
  117. +1 −0 x64/Debug/tbyte.asm
  118. BIN x64/Debug/tbyte.obj
  119. +51 −50 x64/Debug/tokenize.asm
  120. BIN x64/Debug/tokenize.obj
  121. BIN x64/Debug/trmem.obj
  122. +111 −110 x64/Debug/types.asm
  123. BIN x64/Debug/types.obj
  124. BIN x64/Debug/vc140.idb
  125. BIN x64/Debug/vc140.pdb
  126. +4 −4 x64/Release/HJWasm.log
  127. BIN x64/Release/apiemu.obj
  128. +974 −952 x64/Release/assemble.asm
  129. BIN x64/Release/assemble.obj
  130. +9 −8 x64/Release/assume.asm
  131. BIN x64/Release/assume.obj
  132. +1 −0 x64/Release/atofloat.asm
  133. BIN x64/Release/atofloat.obj
  134. +1 −0 x64/Release/backptch.asm
  135. BIN x64/Release/backptch.obj
  136. +146 −145 x64/Release/bin.asm
  137. BIN x64/Release/bin.obj
  138. +2 −1 x64/Release/branch.asm
  139. BIN x64/Release/branch.obj
  140. +289 −288 x64/Release/cmdline.asm
  141. BIN x64/Release/cmdline.obj
  142. +1 −0 x64/Release/codegen.asm
  143. BIN x64/Release/codegen.obj
  144. +39 −38 x64/Release/coff.asm
  145. BIN x64/Release/coff.obj
  146. +3 −2 x64/Release/condasm.asm
  147. BIN x64/Release/condasm.obj
  148. +9 −8 x64/Release/context.asm
  149. BIN x64/Release/context.obj
  150. +38 −37 x64/Release/cpumodel.asm
  151. BIN x64/Release/cpumodel.obj
  152. +23 −22 x64/Release/data.asm
  153. BIN x64/Release/data.obj
  154. +7 −6 x64/Release/dbgcv.asm
  155. BIN x64/Release/dbgcv.obj
  156. +3 −2 x64/Release/directiv.asm
  157. BIN x64/Release/directiv.obj
  158. +31 −30 x64/Release/elf.asm
  159. BIN x64/Release/elf.obj
  160. +66 −65 x64/Release/end.asm
  161. BIN x64/Release/end.obj
  162. +1 −0 x64/Release/equate.asm
  163. BIN x64/Release/equate.obj
  164. +17 −16 x64/Release/errmsg.asm
  165. BIN x64/Release/errmsg.obj
  166. +5 −4 x64/Release/expans.asm
  167. BIN x64/Release/expans.obj
  168. +24 −23 x64/Release/expreval.asm
  169. BIN x64/Release/expreval.obj
  170. +7 −6 x64/Release/extern.asm
  171. BIN x64/Release/extern.obj
  172. +3 −2 x64/Release/fastpass.asm
  173. BIN x64/Release/fastpass.obj
  174. +1 −0 x64/Release/fixup.asm
  175. BIN x64/Release/fixup.obj
  176. +5 −4 x64/Release/fpfixup.asm
  177. BIN x64/Release/fpfixup.obj
  178. +286 −285 x64/Release/hll.asm
  179. BIN x64/Release/hll.obj
  180. +21 −20 x64/Release/input.asm
  181. BIN x64/Release/input.obj
  182. +308 −307 x64/Release/invoke.asm
  183. BIN x64/Release/invoke.obj
  184. +5 −4 x64/Release/label.asm
  185. BIN x64/Release/label.obj
  186. +3 −2 x64/Release/linnum.asm
  187. BIN x64/Release/linnum.obj
  188. +284 −283 x64/Release/listing.asm
  189. BIN x64/Release/listing.obj
  190. +3 −2 x64/Release/loop.asm
  191. BIN x64/Release/loop.obj
  192. +1 −0 x64/Release/lqueue.asm
  193. BIN x64/Release/lqueue.obj
  194. +13 −12 x64/Release/macro.asm
  195. BIN x64/Release/macro.obj
  196. +7 −6 x64/Release/main.asm
  197. BIN x64/Release/main.obj
  198. +5 −4 x64/Release/mangle.asm
  199. BIN x64/Release/mangle.obj
  200. +1 −0 x64/Release/memalloc.asm
  201. BIN x64/Release/memalloc.obj
  202. +283 −282 x64/Release/msgtext.asm
  203. BIN x64/Release/msgtext.obj
  204. +17 −16 x64/Release/omf.asm
  205. BIN x64/Release/omf.obj
  206. +1 −0 x64/Release/omffixup.asm
  207. BIN x64/Release/omffixup.obj
  208. +15 −14 x64/Release/omfint.asm
  209. BIN x64/Release/omfint.obj
  210. +923 −809 x64/Release/option.asm
  211. BIN x64/Release/option.obj
  212. +15 −14 x64/Release/parser.asm
  213. BIN x64/Release/parser.obj
  214. +1 −0 x64/Release/posndir.asm
  215. BIN x64/Release/posndir.obj
  216. +1 −0 x64/Release/preproc.asm
  217. BIN x64/Release/preproc.obj
  218. +2,876 −2,627 x64/Release/proc.asm
  219. BIN x64/Release/proc.obj
  220. BIN x64/Release/queue.obj
  221. +1 −0 x64/Release/reswords.asm
  222. BIN x64/Release/reswords.obj
  223. +5 −4 x64/Release/safeseh.asm
  224. BIN x64/Release/safeseh.obj
  225. +64 −63 x64/Release/segment.asm
  226. BIN x64/Release/segment.obj
  227. +75 −74 x64/Release/simsegm.asm
  228. BIN x64/Release/simsegm.obj
  229. +9 −8 x64/Release/string.asm
  230. BIN x64/Release/string.obj
  231. +32 −31 x64/Release/symbols.asm
  232. BIN x64/Release/symbols.obj
  233. +1 −0 x64/Release/tbyte.asm
  234. BIN x64/Release/tbyte.obj
  235. +27 −26 x64/Release/tokenize.asm
  236. BIN x64/Release/tokenize.obj
  237. BIN x64/Release/trmem.obj
  238. +13 −12 x64/Release/types.asm
  239. BIN x64/Release/types.obj
  240. +157 −0 xasm.err
@@ -837,6 +837,7 @@ struct module_info {
unsigned char decoflags; /* EVEX sets up decorator flags in P2: z, aaa */
unsigned char broadflags; /* EVEX sets up decorator flags in P2: b */
unsigned char evex; /* EVEX encoding */
unsigned char ZEROLOCALS; /* zero local variables */
#endif
#define CurrSource ModuleInfo.currsource
BIN +0 Bytes (100%) HJWasm.sdf
Binary file not shown.
@@ -662,6 +662,15 @@ static void ModulePassInit( void )
#endif
ModuleInfo.langtype = Options.langtype;
ModuleInfo.fctype = Options.fctype;
#if AMD64_SUPPORT
if (Options.output_format == OFORMAT_ELF)
{
ModuleInfo.fctype = FCT_WIN64;
Options.fctype = FCT_WIN64;
}
#endif /* John Hankinson 2016-02-10 force elf64 to use win64 abi */
#if AMD64_SUPPORT
if ( ModuleInfo.sub_format == SFORMAT_64BIT ) {
/* v2.06: force cpu to be at least P_64, without side effect to Options.cpu */
44 hll.c
@@ -103,28 +103,28 @@ static ret_code GetExpression(struct hll_item *hll, int *i, struct asm_tok[], in
* must not be changed.
*/
enum c_bop {
COP_NONE,
COP_EQ, /* == */
COP_NE, /* != */
COP_GT, /* > */
COP_LT, /* < */
COP_GE, /* >= */
COP_LE, /* <= */
COP_AND, /* && */
COP_OR, /* || */
COP_ANDB, /* & */
COP_NEG, /* ! */
COP_ZERO, /* ZERO? not really a valid C operator */
COP_CARRY,/* CARRY? not really a valid C operator */
COP_SIGN, /* SIGN? not really a valid C operator */
COP_PARITY, /* PARITY? not really a valid C operator */
COP_OVERFLOW, /* OVERFLOW? not really a valid C operator */
//added by habran
COP_LESS,/* SIGN=OVERFLOW not really a valid C operator */
COP_GREATER, /* SIGNED ZERO OR CARRY not really a valid C operator */
COP_ABOVE, /* ZERO OR CARRY not really a valid C operator */
COP_EQUAL,
COP_BELOW
COP_NONE,
COP_EQ, /* == */
COP_NE, /* != */
COP_GT, /* > */
COP_LT, /* < */
COP_GE, /* >= */
COP_LE, /* <= */
COP_AND, /* && */
COP_OR, /* || */
COP_ANDB, /* & */
COP_NEG, /* ! */
COP_ZERO, /* ZERO? not really a valid C operator */
COP_CARRY, /* CARRY? not really a valid C operator */
COP_SIGN, /* SIGN? not really a valid C operator */
COP_PARITY, /* PARITY? not really a valid C operator */
COP_OVERFLOW, /* OVERFLOW? not really a valid C operator */
//added by habran
COP_LESS, /* Used for signed integers SIGN=OVERFLOW */
COP_GREATER, /* Used for signed integers SIGNED ZERO OR CARRY */
COP_ABOVE, /* Used for unsigned integers ZERO OR CARRY */
COP_EQUAL,
COP_BELOW /* Used for unsigned integers */
};
/* items in table below must match order COP_ZERO - COP_OVERFLOW */
@@ -53,8 +53,28 @@ OPTFUNC(SetEvex)
return(NOT_ERROR);
}
/* OPTION DOTNAME */
/* Set ZEROLOCALS */
OPTFUNC(SetZeroLocals)
{
int i = *pi;
struct expr opndx;
if (EvalOperand(&i, tokenarray, Token_Count, &opndx, 0) == ERROR)
return(ERROR);
if (opndx.kind == EXPR_CONST) {
if (opndx.llvalue > 1) {
return(EmitConstError(&opndx));
}
ZEROLOCALS = opndx.llvalue;
}
else {
return(EmitError(CONSTANT_EXPECTED));
}
*pi = i;
return(NOT_ERROR);
}
/* OPTION DOTNAME */
OPTFUNC( SetDotName )
/*******************/
{
@@ -900,6 +920,7 @@ static const struct asm_option optiontab[] = {
#endif
#if AVXSUPP
{ "EVEX", SetEvex }, /* EVEX: <value> 1 or 0 */
{ "ZEROLOCALS", SetZeroLocals }, /* ZEROLOCALS: <value> 1 or 0 */
#endif
};
59 proc.c
@@ -1103,13 +1103,28 @@ ret_code ParseProc( struct dsym *proc, int i, struct asm_tok tokenarray[], bool
*/
//langtype = ModuleInfo.langtype; /* set the default value */
GetLangType( &i, tokenarray, &langtype ); /* optionally overwrite the value */
/* has language changed? */
/* John Hankinson: 2016-02-10 Allows Linux64 to utlise Win64 ABI */
#if AMD64_SUPPORT
if (Options.output_format == OFORMAT_ELF)
langtype = LANG_FASTCALL;
#endif
/* has language changed? */
if ( proc->sym.langtype != LANG_NONE && proc->sym.langtype != langtype ) {
DebugMsg(("ParseProc: error, language changed, %u - %u\n", proc->sym.langtype, langtype ));
EmitError( PROC_AND_PROTO_CALLING_CONV_CONFLICT );
} else
proc->sym.langtype = langtype;
/* John Hankinson: 2016-02-10 Allows Linux64 to utlise Win64 ABI */
#if AMD64_SUPPORT
if (proc->sym.langtype == LANG_NONE && Options.output_format == OFORMAT_ELF)
{
proc->sym.langtype = LANG_FASTCALL;
}
#endif
/* 3. attribute is <visibility> */
/* note that reserved word PUBLIC is a directive! */
/* PROTO does NOT accept PUBLIC! However,
@@ -1196,8 +1211,8 @@ ret_code ParseProc( struct dsym *proc, int i, struct asm_tok tokenarray[], bool
IsPROC &&
tokenarray[i].token == T_RES_ID &&
tokenarray[i].tokval == T_FRAME ) {
/* v2.05: don't accept FRAME for ELF */
if ( Options.output_format != OFORMAT_COFF
/* v2.05: don't accept FRAME for ELF - 2016-02-10 John Hankinson allowed ELF64 to use FRAME/Win64 ABI */
if (Options.output_format != OFORMAT_COFF && Options.output_format != OFORMAT_ELF
#if PE_SUPPORT
&& ModuleInfo.sub_format != SFORMAT_PE
#endif
@@ -1649,6 +1664,10 @@ static void WriteSEHData( struct dsym *proc )
char segnamebuff[12];
char buffer[128];
/* 2016-02-10 John Hankinson - Don't bother writing SEH data for ELF64 Win64 ABI hack */
if (Options.output_format == OFORMAT_ELF)
return;
if ( endprolog_found == FALSE ) {
EmitErr( MISSING_ENDPROLOG, proc->sym.name );
}
@@ -1851,7 +1870,7 @@ ret_code ExcFrameDirective( int i, struct asm_tok tokenarray[] )
DebugMsg1(("ExcFrameDirective(%s) enter\n", tokenarray[i].string_ptr ));
/* v2.05: accept directives for windows only */
if ( Options.output_format != OFORMAT_COFF
if (Options.output_format != OFORMAT_COFF && Options.output_format != OFORMAT_ELF /* John Hankinson 2016-02-10 Added elf win64 hack */
#if PE_SUPPORT
&& ModuleInfo.sub_format != SFORMAT_PE
#endif
@@ -2418,8 +2437,36 @@ static void write_win64_default_prologue( struct proc_info *info )
AddLineQueueX( "mov %r, %r", T_RSP, T_RAX );
} else
#endif
AddLineQueueX( *(ppfmt+0), T_RSP, NUMQUAL info->localsize, sym_ReservedStack->name );
AddLineQueueX( *(ppfmt+1), T_DOT_ALLOCSTACK, NUMQUAL info->localsize, sym_ReservedStack->name );
if (ZEROLOCALS && info->localsize) {
if (info->localsize <= 128) {
AddLineQueueX(*(ppfmt + 0), T_RSP, NUMQUAL info->localsize, sym_ReservedStack->name);
AddLineQueueX(*(ppfmt + 1), T_DOT_ALLOCSTACK, NUMQUAL info->localsize, sym_ReservedStack->name);
AddLineQueueX("mov %r, %u", T_EAX, info->localsize);
AddLineQueueX("dec %r", T_EAX);
AddLineQueueX("mov byte ptr [%r + %r], 0", T_RSP, T_RAX);
AddLineQueueX("dw 0F875h");
}
else
{
AddLineQueueX(*(ppfmt + 0), T_RSP, NUMQUAL info->localsize + 16, sym_ReservedStack->name);
AddLineQueueX(*(ppfmt + 1), T_DOT_ALLOCSTACK, NUMQUAL info->localsize + 16, sym_ReservedStack->name);
AddLineQueueX("mov [%r], %r", T_RSP, T_RDI);
AddLineQueueX("mov [%r+8], %r", T_RSP, T_RCX);
AddLineQueueX("xor %r, %r", T_EAX, T_EAX);
AddLineQueueX("mov %r, %u", T_ECX, info->localsize);
AddLineQueueX("mov %r, %r", T_RDI, T_RSP);
AddLineQueueX("add %r, %u", T_RDI, 16);
AddLineQueueX("rep stosb");
AddLineQueueX("mov %r,[%r]", T_RDI, T_RSP);
AddLineQueueX("mov %r,[%r+8]", T_RCX, T_RSP);
}
}
else {
AddLineQueueX(*(ppfmt + 0), T_RSP, NUMQUAL info->localsize, sym_ReservedStack->name);
AddLineQueueX(*(ppfmt + 1), T_DOT_ALLOCSTACK, NUMQUAL info->localsize, sym_ReservedStack->name);
}
/* save xmm registers */
if ( cntxmm ) {
58 procdif
@@ -0,0 +1,58 @@
diff --git a/hll.c b/hll.c
index 9169aaf..8ea8fc4 100644
--- a/hll.c
+++ b/hll.c
@@ -103,30 +103,31 @@ static ret_code GetExpression(struct hll_item *hll, int *i, struct asm_tok[], in
* must not be changed.
*/
enum c_bop {
- COP_NONE,
- COP_EQ, /* == */
- COP_NE, /* != */
- COP_GT, /* > */
- COP_LT, /* < */
- COP_GE, /* >= */
- COP_LE, /* <= */
- COP_AND, /* && */
- COP_OR, /* || */
- COP_ANDB, /* & */
- COP_NEG, /* ! */
- COP_ZERO, /* ZERO? not really a valid C operator */
- COP_CARRY,/* CARRY? not really a valid C operator */
- COP_SIGN, /* SIGN? not really a valid C operator */
- COP_PARITY, /* PARITY? not really a valid C operator */
- COP_OVERFLOW, /* OVERFLOW? not really a valid C operator */
- //added by habran
- COP_LESS,/* SIGN=OVERFLOW not really a valid C operator */
- COP_GREATER, /* SIGNED ZERO OR CARRY not really a valid C operator */
- COP_ABOVE, /* ZERO OR CARRY not really a valid C operator */
- COP_EQUAL,
- COP_BELOW
+ COP_NONE,
+ COP_EQ, /* == */
+ COP_NE, /* != */
+ COP_GT, /* > */
+ COP_LT, /* < */
+ COP_GE, /* >= */
+ COP_LE, /* <= */
+ COP_AND, /* && */
+ COP_OR, /* || */
+ COP_ANDB, /* & */
+ COP_NEG, /* ! */
+ COP_ZERO, /* ZERO? not really a valid C operator */
+ COP_CARRY, /* CARRY? not really a valid C operator */
+ COP_SIGN, /* SIGN? not really a valid C operator */
+ COP_PARITY, /* PARITY? not really a valid C operator */
+ COP_OVERFLOW, /* OVERFLOW? not really a valid C operator */
+ //added by habran
+ COP_LESS, /* Used for signed integers SIGN=OVERFLOW */
+ COP_GREATER, /* Used for signed integers SIGNED ZERO OR CARRY */
+ COP_ABOVE, /* Used for unsigned integers ZERO OR CARRY */
+ COP_EQUAL,
+ COP_BELOW /* Used for unsigned integers */
};
+
/* items in table below must match order COP_ZERO - COP_OVERFLOW */
static const char flaginstr[] = { 'z', 'c', 's', 'p', 'o', 'l', 'g', 'a', 'e', 'b' };
BIN +2 KB (100%) x64/Debug/HJWasm.exe
Binary file not shown.
@@ -1,4 +1,4 @@
Build started 2016/02/05 09:15:44 AM.
Build started 2016/02/11 08:51:50 PM.
1>Project "D:\HJWasm\HJWasm2.13.1s\HJWasm2.13.1s\HJWasm.vcxproj" on node 2 (Rebuild target(s)).
1>ClCompile:
D:\vs2015\VC\bin\x86_amd64\CL.exe /c /I.\\H /Zi /nologo /W2 /WX- /Od /D DEBUG_OUT /D WIN64 /D _DEBUG /D AVXSUPP /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /FAs /Fa"x64\Debug\\" /Fo"x64\Debug\\" /Fd"x64\Debug\vc140.pdb" /Gd /TC /errorReport:prompt apiemu.c assemble.c assume.c atofloat.c backptch.c bin.c branch.c cmdline.c codegen.c coff.c condasm.c context.c cpumodel.c data.c dbgcv.c directiv.c elf.c end.c equate.c errmsg.c expans.c expreval.c extern.c fastpass.c fixup.c fpfixup.c hll.c input.c invoke.c label.c linnum.c listing.c loop.c lqueue.c macro.c main.c mangle.c memalloc.c msgtext.c omf.c omffixup.c omfint.c option.c parser.c posndir.c preproc.c proc.c queue.c reswords.c safeseh.c segment.c simsegm.c string.c symbols.c tbyte.c tokenize.c trmem.c types.c
@@ -20,8 +20,8 @@
reswords.c
queue.c
proc.c
1>proc.c(2570): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>proc.c(2716): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>proc.c(2617): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>proc.c(2763): warning C4146: unary minus operator applied to unsigned type, result still unsigned
preproc.c
posndir.c
parser.c
@@ -141,4 +141,4 @@
Build succeeded.
Time Elapsed 00:00:04.66
Time Elapsed 00:00:05.88
BIN +0 Bytes (100%) x64/Debug/HJWasm.pdb
Binary file not shown.
BIN +0 Bytes (100%) x64/Debug/apiemu.obj
Binary file not shown.
Oops, something went wrong.

0 comments on commit 6f3fbcf

Please sign in to comment.