So here I am, hacking BASIC to use keyed PMC's for variables to make it blazingly fast when I find out that to do this I need to use the new assembler. So I pop into lib\parrot and proceed with the build and I get this mess:
C:\projects\parrot\parrot\lib\Parrot>perl makefile.pl Writing Makefile for Parrot::PakFile2 C:\projects\parrot\parrot\lib\Parrot>nmake Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cp Op.pm blib\lib\Parrot\Op.pm cp OpTrans.pm blib\lib\Parrot\OpTrans.pm cp OpsFile.pm blib\lib\Parrot\OpsFile.pm cp Assembler.pm blib\lib\Parrot\Assembler.pm cp PMC.pm blib\lib\Parrot\PMC.pm cp Config.pm blib\lib\Parrot\Config.pm cp PackFile.pm blib\lib\Parrot\PackFile.pm cp String.pm blib\lib\Parrot\String.pm cp Types.pm blib\lib\Parrot\Types.pm cp Test.pm blib\lib\Parrot\Test.pm cp BuildUtil.pm blib\lib\Parrot\BuildUtil.pm cp PakFile2.pm blib\lib\Parrot\PakFile2.pm AutoSplitting blib\lib\Parrot\PakFile2.pm (blib\lib\auto\Parrot\PakFile2) cp Vtable.pm blib\lib\Parrot\Vtable.pm cp Optimizer.pm blib\lib\Parrot\Optimizer.pm C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib C:\Perl\lib\ExtUtils/xsubpp -typemap C:\Pe rl\lib\ExtUtils\typemap PakFile2.xs > PakFile2.xsc && C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\l ib -MExtUtils::Command -e mv PakFile2.xsc PakFile2.c Please specify prototyping behavior for PakFile2.xs (see perlxs manual) cl -c -I../../include -nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCR YPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX -O1 -MD -DNDEBUG -DVERSION= \"0.01\" -DXS_VERSION=\"0.01\" -IC:\Perl\lib\CORE PakFile2.c PakFile2.c PakFile2.xs(21) : warning C4133: 'function' : incompatible types - from 'char [52]' to 'struct inter preter *' PakFile2.xs(21) : error C2198: 'Perl_croak' : too few actual parameters PakFile2.xs(32) : warning C4133: 'function' : incompatible types - from 'char [40]' to 'struct inter preter *' PakFile2.xs(32) : error C2198: 'Perl_croak' : too few actual parameters PakFile2.xs(48) : warning C4133: 'function' : incompatible types - from 'char [52]' to 'struct inter preter *' PakFile2.xs(48) : warning C4047: 'function' : 'const char *' differs in levels of indirection from ' long ' PakFile2.xs(48) : warning C4024: 'Perl_croak' : different types for formal and actual parameter 2 PakFile2.xs(69) : warning C4133: 'function' : incompatible types - from 'char [36]' to 'struct inter preter *' NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. So the new assembler's unhappy. Suggestions?