Hi, Spent a little time looking into the source of all the JIT warnings on Win32. It appears the MS VC++ compiler is emitting warnings on lines like this:-
*(pc++) = 0x8b; Which look something like:- warning C4305: '=' : truncation from 'const int ' to 'char ' Changing these lines to:- *(pc++) = (char) 0x8b; e.g. explicitly casting to a char, clears up the warnings. I've managed to track down the vast majority of these and put the casts in. I've missed a few (and try as I might, I can't find them), but 60 warnings is somewhat better than 2500. :-) I've attached the diff for the changes. Please note - this does not fix JIT, it's still broken because:- src\jit_cpu.c(95) : warning C4013: 'Parrot_exec_add_text_rellocation' undefined; assuming extern returning int src\jit_cpu.c(95) : error C2065: 'RTYPE_COM' : undeclared identifier src\jit_cpu.c(149) : error C2065: 'EXEC_CALLDISP' : undeclared identifier src\jit_cpu.c(166) : error C2065: 'RTYPE_DATA' : undeclared identifier I don't know the system well enough to know where to start looking for these, so I'll leave that to somebody far wiser than I. ;-) As always, hope this helps. Jonathan
jitemith.diff
Description: Binary data