Windows build fails with Cmm lint error
Noted in the nightly Windows build:
"inplace/bin/ghc-stage1.exe" -static -optc-DDEBUG -ticky -DTICKY_TICKY -optc-DTICKY_TICKY -eventlog -O0 -H64m -Wall -fllvm-fill-undef-with-garbage -Werror -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Iincludes/dist-install/build -Irts -Irts/dist/build -DCOMPILING_RTS -DFS_NAMESPACE=rts -this-unit-id rts -dcmm-lint -i -irts -irts/dist/build -Irts/dist/build -irts/dist/build/./autogen -Irts/dist/build/./autogen -O2 -Wcpp-undef -O0 -Wnoncanonical-monad-instances -c rts/Apply.cmm -o rts/dist/build/Apply.debug_o
Cmm lint error:
in basic block cF
in MachOp application:
I32[ENT_PAP_ctr] + 1
op is expecting: [W32, W32]
arguments provide: [I32, I64]
Program was:
{offset
cX: // global
//tick src<rts\Apply.cmm:(218,1)-(302,1)>
//tick src<rts\Apply.cmm:222:7-11>
_cC::I64 = R1; // CmmAssign
//tick src<rts\Apply.cmm:224:9-45>
_cB::I64 = %MO_SS_Conv_W32_W64(I32[_cC::I64 + 8 + 4]); // CmmAssign
if (Sp - (_cB::I64 * 8 + 2) < SpLim) goto cD; else goto cF; // CmmCondBranch
cD: // global
//tick src<rts\Apply.cmm:(231,40)-(238,3)>
//tick src<rts\Apply.cmm:235:10-25>
Sp = Sp + -1 * 8; // CmmAssign
//tick src<rts\Apply.cmm:236:13-32>
I64[Sp + 0 * 8] = R2; // CmmStore
call stg_gc_unpt_r1(R1) args: 8, res: 0, upd: 8; // CmmCall
cF: // global
//tick src<rts\Apply.cmm:239:6-25>
Sp = Sp + -_cB::I64 * 8; // CmmAssign
//tick src<rts\Apply.cmm:242:9-48>
I32[ENT_PAP_ctr] = I32[ENT_PAP_ctr] + 1; // CmmStore
//tick src<rts\Apply.cmm:251:5-34>
_cH::I64 = _cC::I64 + 8 + 16; // CmmAssign
//tick src<rts\Apply.cmm:252:5-8>
_cG::I64 = 0; // CmmAssign
goto cI; // CmmBranch
cI: // global
if (_cG::I64 < _cB::I64) goto cJ; else goto cL; // CmmCondBranch
cJ: // global
//tick src<rts\Apply.cmm:(254,18)-(259,3)>
//tick src<rts\Apply.cmm:255:11-37>
I64[Sp + _cG::I64 * 8] = I64[_cH::I64]; // CmmStore
//tick src<rts\Apply.cmm:256:7-20>
_cH::I64 = _cH::I64 + 1 * 8; // CmmAssign
//tick src<rts\Apply.cmm:257:7-14>
_cG::I64 = _cG::I64 + 1; // CmmAssign
goto cI; // CmmBranch
cL: // global
//tick src<rts\Apply.cmm:261:6-37>
R1 = P64[_cC::I64 + 8 + 8]; // CmmAssign
//tick src<rts\Apply.cmm:278:9-58>
I32[ENT_VIA_NODE_ctr] = I32[ENT_VIA_NODE_ctr] + 1; // CmmStore
//tick src<rts\Apply.cmm:284:12-51>
_cM::I64 = I64[R1 & ~((1 << 3) - 1)] - 40; // CmmAssign
//tick src<rts\Apply.cmm:286:12-33>
_cN::I64 = %MO_SS_Conv_W32_W64(I32[_cM::I64 + 16]); // CmmAssign
if (_cN::I64 == 0) goto cO; else goto cQ; // CmmCondBranch
cO: // global
//tick src<rts\Apply.cmm:(287,22)-(289,7)>
call (%MO_SS_Conv_W32_W64(I32[_cM::I64 + 0]) + _cM::I64 + 24 + 16)(R1) args: 8, res: 0, upd: 8; // CmmCall
cQ: // global
if (_cN::I64 == 1) goto cR; else goto cT; // CmmCondBranch
cR: // global
//tick src<rts\Apply.cmm:(290,22)-(292,7)>
call (%MO_SS_Conv_W32_W64(I32[_cM::I64 + 0]) + _cM::I64 + 24 + 16)(R1) args: 8, res: 0, upd: 8; // CmmCall
cT: // global
if (_cN::I64 == 2) goto cU; else goto cW; // CmmCondBranch
cU: // global
//tick src<rts\Apply.cmm:(293,22)-(298,7)>
//tick src<rts\Apply.cmm:294:14-29>
Sp = Sp + -2 * 8; // CmmAssign
//tick src<rts\Apply.cmm:295:17-36>
I64[Sp + 1 * 8] = R1; // CmmStore
//tick src<rts\Apply.cmm:296:17-55>
I64[Sp + 0 * 8] = stg_apply_interp_info; // CmmStore
call stg_yield_to_interpreter() args: 8, res: 0, upd: 8; // CmmCall
cW: // global
call (I64[stg_ap_stack_entries + %MO_SS_Conv_W32_W64(I32[_cM::I64 + 16]) * 8])(R1) args: 8, res: 0, upd: 8; // CmmCall
}
<no location info>: error:
Compilation had errors
make[1]: *** [rts/ghc.mk:322: rts/dist/build/Apply.debug_o] Error 1