N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, searchForProcNew_uVWu21csPbNmiy7yDLzlNA_2)(tyObject_TContext_vTgAc1OsYaFyeD40uCdaWA* c, tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* fn) { tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* result; tyObject_TIdentIter_Oi4goG2ACEsy9cyTe6OCPrA it; { result = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0; nimZeroMem((void*)(&it), sizeof(tyObject_TIdentIter_Oi4goG2ACEsy9cyTe6OCPrA)); result = initIdentIter_S3q38waBmqwNs9b4pTwOCOQ((&it), (*scope).symbols, (*fn).name); { while (1) { if (!!((result == NIM_NIL))) goto LA2; { tyEnum_TParamsEquality_fvN026oaoXOuZ9ajGPibaYQ T7_; if (!((*result).kind == (*fn).kind)) goto LA5_; T7_ = (tyEnum_TParamsEquality_fvN026oaoXOuZ9ajGPibaYQ)0; T7_ = equalParams_rxsP2U5qp9atwRH9aUfmAquQ((*(*result).typ).n, (*(*fn).typ).n); switch (T7_) { case ((tyEnum_TParamsEquality_fvN026oaoXOuZ9ajGPibaYQ) 1): { { NIM_BOOL T11_; NimStringDesc* message; tyArray_Re75IspeoxXy2oCZHwcRrA T15_; T11_ = (NIM_BOOL)0; T11_ = !((((*result).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0)); if (!(T11_)) goto LA12_; T11_ = (((*fn).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0); LA12_: ; if (!T11_) goto LA13_; nimZeroMem((void*)T15_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA)); T15_[0] = getProcHeader_7eB0wVYzPcmlKQ3zrnnOsA((*(*c).graph).config, result, ((tyEnum_TPreferedDesc_tnd4qt9c4xddV8oKV5zyusw) 0)); T15_[1] = dollar__tduYJIZOMabvcOCb9bVwWCA_2((*(*c).graph).config, (*result).info); message = nsuFormatOpenArray(((NimStringDesc*) &TM_UQi3TxvDqkoRVo8YKAWcxA_2), T15_, 2); localError_NF6kBGchnhQYPbCedyefVA((*(*c).graph).config, (*fn).info, message); } LA13_: ; goto BeforeRet_; } break; case ((tyEnum_TParamsEquality_fvN026oaoXOuZ9ajGPibaYQ) 2): { NimStringDesc* T17_; T17_ = (NimStringDesc*)0; T17_ = nsuFormatSingleElem(((NimStringDesc*) &TM_UQi3TxvDqkoRVo8YKAWcxA_3), (*(*fn).name).s); localError_NF6kBGchnhQYPbCedyefVA((*(*c).graph).config, (*fn).info, T17_); goto BeforeRet_; } break; case ((tyEnum_TParamsEquality_fvN026oaoXOuZ9ajGPibaYQ) 0): { } break; } } LA5_: ; result = nextIdentIter_jigDNlH3irWs400Ruq7RXw((&it), (*scope).symbols); } LA2: ; } }BeforeRet_: ; return result; }
N_NIMCALL(void, fixupdispatcher_355484)(Tsym191843* meth, Tsym191843* disp) { { NIM_BOOL LOC3; NIM_BOOL LOC4; NI LOC5; NI LOC7; LOC3 = 0; LOC4 = 0; LOC5 = 0; LOC5 = sonslen_194403((*disp).ast); LOC4 = (((NI) 7) < LOC5); if (!(LOC4)) goto LA6; LOC7 = 0; LOC7 = sonslen_194403((*meth).ast); LOC4 = (((NI) 7) < LOC7); LA6: ; LOC3 = LOC4; if (!(LOC3)) goto LA8; LOC3 = ((*(*disp).ast).kindU.S6.sons->data[((NI) 7)] == emptynode_192807); LA8: ; if (!LOC3) goto LA9; asgnRefNoCycle((void**) (&(*(*disp).ast).kindU.S6.sons->data[((NI) 7)]), copytree_196028((*(*meth).ast).kindU.S6.sons->data[((NI) 7)])); } LA9: ; { if (!((*(*disp).typ).locklevel == ((NI16) -1))) goto LA13; (*(*disp).typ).locklevel = (*(*meth).typ).locklevel; } goto LA11; LA13: ; { NIM_BOOL LOC16; TY154967 LOC20; NimStringDesc* LOC21; LOC16 = 0; LOC16 = !(((*(*meth).typ).locklevel == ((NI16) -1))); if (!(LOC16)) goto LA17; LOC16 = !(((*(*meth).typ).locklevel == (*(*disp).typ).locklevel)); LA17: ; if (!LOC16) goto LA18; memset((void*)LOC20, 0, sizeof(LOC20)); LOC20[0] = HEX24_194100((*(*meth).typ).locklevel); LOC20[1] = HEX24_194100((*(*disp).typ).locklevel); LOC21 = 0; LOC21 = nsuFormatOpenArray(((NimStringDesc*) &TMP3268), LOC20, 2); message_165204((*meth).info, ((NU16) 258), LOC21); { if (!((*(*disp).typ).locklevel < (*(*meth).typ).locklevel)) goto LA24; (*(*disp).typ).locklevel = (*(*meth).typ).locklevel; } LA24: ; } goto LA11; LA18: ; LA11: ; }
N_NIMCALL(void, fixupdispatcher_433466_3853300031)(Tsym294834* meth0, Tsym294834* disp0) { { NIM_BOOL LOC3; NIM_BOOL LOC4; NI LOC5; NI LOC7; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC5 = (NI)0; LOC5 = sonslen_297351_850551059((*disp0).ast); LOC4 = (((NI) 7) < LOC5); if (!(LOC4)) goto LA6; LOC7 = (NI)0; LOC7 = sonslen_297351_850551059((*meth0).ast); LOC4 = (((NI) 7) < LOC7); LA6: ; LOC3 = LOC4; if (!(LOC3)) goto LA8; LOC3 = ((*(*disp0).ast).kindU.S6.sons->data[((NI) 7)] == emptynode_295801_850551059); LA8: ; if (!LOC3) goto LA9; asgnRefNoCycle((void**) (&(*(*disp0).ast).kindU.S6.sons->data[((NI) 7)]), copytree_298822_850551059((*(*meth0).ast).kindU.S6.sons->data[((NI) 7)])); } LA9: ; { if (!((*(*disp0).typ).locklevel == ((NI16) -1))) goto LA13; (*(*disp0).typ).locklevel = (*(*meth0).typ).locklevel; } goto LA11; LA13: ; { NIM_BOOL LOC16; TY195153 LOC20; NimStringDesc* LOC21; LOC16 = (NIM_BOOL)0; LOC16 = !(((*(*meth0).typ).locklevel == ((NI16) -1))); if (!(LOC16)) goto LA17; LOC16 = !(((*(*meth0).typ).locklevel == (*(*disp0).typ).locklevel)); LA17: ; if (!LOC16) goto LA18; memset((void*)LOC20, 0, sizeof(LOC20)); LOC20[0] = HEX24_297069_850551059((*(*meth0).typ).locklevel); LOC20[1] = HEX24_297069_850551059((*(*disp0).typ).locklevel); LOC21 = (NimStringDesc*)0; LOC21 = nsuFormatOpenArray(((NimStringDesc*) &T3853300031_5), LOC20, 2); message_198095_155036129((*meth0).info, ((Tmsgkind193002) 265), LOC21); { if (!((*(*disp0).typ).locklevel < (*(*meth0).typ).locklevel)) goto LA24; (*(*disp0).typ).locklevel = (*(*meth0).typ).locklevel; } LA24: ; } goto LA11; LA18: ; LA11: ; }
N_NIMCALL(NimStringDesc*, npcerrorStr)(tcfgparser156014* c, NimStringDesc* msg) { NimStringDesc* result; TY156795 LOC1; NI LOC2; NI LOC3; result = 0; memset((void*)LOC1, 0, sizeof(LOC1)); LOC1[0] = copyString((*c).Filename); LOC2 = 0; LOC2 = npcgetLine(c); LOC1[1] = nimIntToStr(LOC2); LOC3 = 0; LOC3 = npcgetColumn(c); LOC1[2] = nimIntToStr(LOC3); LOC1[3] = copyString(msg); result = nsuFormatOpenArray(((NimStringDesc*) &TMP137), LOC1, 4); return result; }
N_NIMCALL(Tsym292834*, searchforprocnew_356156_2905935102)(Tcontext344020* c0, Tscope292828* scope0, Tsym292834* fn0) { Tsym292834* result0; Tidentiter299063 it0; { result0 = (Tsym292834*)0; memset((void*)(&it0), 0, sizeof(it0)); result0 = initidentiter_299066_2984716966((&it0), (*scope0).symbols, (*fn0).name); { while (1) { if (!!((result0 == NIM_NIL))) goto LA2; { NIM_BOOL LOC5; Tparamsequality320060 LOC9; LOC5 = (NIM_BOOL)0; LOC5 = ((258048 &(1U<<((NU)((*result0).kind)&31U)))!=0); if (!(LOC5)) goto LA6; LOC5 = sametype_324633_3876443242((*result0).typ, (*fn0).typ, 30); LA6: ; if (!LOC5) goto LA7; LOC9 = (Tparamsequality320060)0; LOC9 = equalparams_320064_3876443242((*(*result0).typ).n, (*(*fn0).typ).n); switch (LOC9) { case ((Tparamsequality320060) 1): { { NIM_BOOL LOC13; NimStringDesc* message0; TY193153 LOC17; LOC13 = (NIM_BOOL)0; LOC13 = !((((*result0).flags &(1U<<((NU)(((Tsymflag292184) 1))&31U)))!=0)); if (!(LOC13)) goto LA14; LOC13 = (((*fn0).flags &(1U<<((NU)(((Tsymflag292184) 1))&31U)))!=0); LA14: ; if (!LOC13) goto LA15; memset((void*)LOC17, 0, sizeof(LOC17)); LOC17[0] = getprocheader_320335_3876443242(result0, ((Tprefereddesc320011) 0)); LOC17[1] = HEX24_192431_155036129((*result0).info); message0 = nsuFormatOpenArray(((NimStringDesc*) &T2905935102_2), LOC17, 2); localerror_196080_155036129((*fn0).info, ((Tmsgkind191002) 4), message0); } LA15: ; goto BeforeRet; } break; case ((Tparamsequality320060) 2): { localerror_196080_155036129((*fn0).info, ((Tmsgkind191002) 70), (*(*fn0).name).s); goto BeforeRet; } break; case ((Tparamsequality320060) 0): { } break; } } LA7: ; result0 = nextidentiter_299072_2984716966((&it0), (*scope0).symbols); } LA2: ; } result0 = NIM_NIL; goto BeforeRet; }BeforeRet: ; return result0; }
N_NIMCALL(Tsym192843*, searchforprocnew_260197)(Tcontext245023* c, Tscope192837* scope, Tsym192843* fn) { Tsym192843* result; Tidentiter200141 it; { result = 0; memset((void*)(&it), 0, sizeof(it)); result = initidentiter_200147((&it), (*scope).symbols, (*fn).name); { while (1) { if (!!((result == NIM_NIL))) goto LA2; { NIM_BOOL LOC5; NU8 LOC9; LOC5 = 0; LOC5 = ((520192 &(1<<(((*result).kind)&31)))!=0); if (!(LOC5)) goto LA6; LOC5 = sametype_227094((*result).typ, (*fn).typ, 30); LA6: ; if (!LOC5) goto LA7; LOC9 = 0; LOC9 = equalparams_222086((*(*result).typ).n, (*(*fn).typ).n); switch (LOC9) { case ((NU8) 1): { { NIM_BOOL LOC13; NimStringDesc* message; TY155945 LOC17; LOC13 = 0; LOC13 = !((((*result).flags &(1<<((((NU8) 1))&31)))!=0)); if (!(LOC13)) goto LA14; LOC13 = (((*fn).flags &(1<<((((NU8) 1))&31)))!=0); LA14: ; if (!LOC13) goto LA15; memset((void*)LOC17, 0, sizeof(LOC17)); LOC17[0] = getprocheader_222447(result, ((NU8) 0)); LOC17[1] = HEX24_165479((*result).info); message = nsuFormatOpenArray(((NimStringDesc*) &TMP3148), LOC17, 2); localerror_166171((*fn).info, ((NU16) 4), message); } LA15: ; goto BeforeRet; } break; case ((NU8) 2): { localerror_166171((*fn).info, ((NU16) 66), (*(*fn).name).s); goto BeforeRet; } break; case ((NU8) 0): { } break; } } LA7: ; result = nextidentiter_200156((&it), (*scope).symbols); } LA2: ; } result = NIM_NIL; goto BeforeRet; }BeforeRet: ; return result; }
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchforprocnew_XUBQS3wiYN5kYQxrNN9awNQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tscope_1cQRXW6aAknk7ywAwjH3nw* scope0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA it0; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&it0), 0, sizeof(it0)); result0 = initidentiter_mWFOqJ9be21lsluYGFm6uRA((&it0), (*scope0).symbols, (*fn0).name); { while (1) { if (!!((result0 == NIM_NIL))) goto LA2; { NIM_BOOL LOC5; Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ LOC9; LOC5 = (NIM_BOOL)0; LOC5 = ((*result0).kind == (*fn0).kind); if (!(LOC5)) goto LA6; LOC5 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ((*result0).typ, (*fn0).typ, 30); LA6: ; if (!LOC5) goto LA7; LOC9 = (Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ)0; LOC9 = equalparams_rxsP2U5qp9atwRH9aUfmAquQ((*(*result0).typ).n, (*(*fn0).typ).n); switch (LOC9) { case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 1): { { NIM_BOOL LOC13; NimStringDesc* message0; TY_Re75IspeoxXy2oCZHwcRrA LOC17; LOC13 = (NIM_BOOL)0; LOC13 = !((((*result0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0)); if (!(LOC13)) goto LA14; LOC13 = (((*fn0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0); LA14: ; if (!LOC13) goto LA15; memset((void*)LOC17, 0, sizeof(LOC17)); LOC17[0] = getprocheader_9c0TLKVGuRBEJe67tk7UlpA(result0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC17[1] = HEX24_yjUDf1xsp2Vnrl7HYmqNww((*result0).info); message0 = nsuFormatOpenArray(((NimStringDesc*) &T_UQi3TxvDqkoRVo8YKAWcxA_2), LOC17, 2); localerror_VpilfPWbplGz6ny7O9cfr2g((*fn0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), message0); } LA15: ; goto BeforeRet; } break; case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 2): { localerror_VpilfPWbplGz6ny7O9cfr2g((*fn0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 69), (*(*fn0).name).s); goto BeforeRet; } break; case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 0): { } break; } } LA7: ; result0 = nextidentiter_rTNfZVe9bciOJ9bfDRjx5gIw((&it0), (*scope0).symbols); } LA2: ; } result0 = NIM_NIL; goto BeforeRet; }BeforeRet: ; return result0; }
N_NIMCALL(Tsym213822*, searchforprocnew_277157)(Tcontext263020* c, Tscope213816* scope, Tsym213822* fn) { Tsym213822* result; Tidentiter220084 it; { result = 0; memset((void*)(&it), 0, sizeof(it)); result = initidentiter_220087((&it), (*scope).symbols, (*fn).name); { while (1) { if (!!((result == NIM_NIL))) goto LA2; { NIM_BOOL LOC5; NU8 LOC9; LOC5 = 0; LOC5 = ((258048 &(1U<<((NU)((*result).kind)&31U)))!=0); if (!(LOC5)) goto LA6; LOC5 = sametype_243628((*result).typ, (*fn).typ, 30); LA6: ; if (!LOC5) goto LA7; LOC9 = 0; LOC9 = equalparams_239053((*(*result).typ).n, (*(*fn).typ).n); switch (LOC9) { case ((NU8) 1): { { NIM_BOOL LOC13; NimStringDesc* message; TY183169 LOC17; LOC13 = 0; LOC13 = !((((*result).flags &(1U<<((NU)(((NU8) 1))&31U)))!=0)); if (!(LOC13)) goto LA14; LOC13 = (((*fn).flags &(1U<<((NU)(((NU8) 1))&31U)))!=0); LA14: ; if (!LOC13) goto LA15; memset((void*)LOC17, 0, sizeof(LOC17)); LOC17[0] = getprocheader_239324(result, ((NU8) 0)); LOC17[1] = HEX24_182431((*result).info); message = nsuFormatOpenArray(((NimStringDesc*) &TMP3322), LOC17, 2); localerror_186080((*fn).info, ((NU16) 4), message); } LA15: ; goto BeforeRet; } break; case ((NU8) 2): { localerror_186080((*fn).info, ((NU16) 70), (*(*fn).name).s); goto BeforeRet; } break; case ((NU8) 0): { } break; } } LA7: ; result = nextidentiter_220093((&it), (*scope).symbols); } LA2: ; } result = NIM_NIL; goto BeforeRet; }BeforeRet: ; return result; }
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, liftLocalsIfRequested_LPFQUSXwjhtGHYhcDkDrbA)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* prc, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdentCachecolonObjectType__TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf) { tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result; tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* liftDest; tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* partialParam; tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* objType; tyObject_Ctx_A9b2QU9aJFjQJmSPHiXNYt7g c; tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* w; tyArray_jlWPjgtbdjE069arIWHC9c9bg T19_; { result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0; liftDest = getPragmaVal_K3EkVuv74T4oHroib227uQ((*prc).ast, ((tyEnum_TSpecialWord_ycbpMCRV6Cd2eBh3X9biEiw) 203)); { if (!(liftDest == NIM_NIL)) goto LA3_; result = n; goto BeforeRet_; } LA3_: ; partialParam = lookupParam_hXCJonSulm3myoZfvDTYxA((*(*prc).typ).n, liftDest); { tyArray_Re75IspeoxXy2oCZHwcRrA T9_; NimStringDesc* T10_; if (!(partialParam == 0)) goto LA7_; nimZeroMem((void*)T9_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA)); T9_[0] = dollar__qX5C9b0n9bOP7jk69amC8dA7A(liftDest); T9_[1] = copyString((*(*prc).name).s); T10_ = (NimStringDesc*)0; T10_ = nsuFormatOpenArray(((NimStringDesc*) &TM_xMgMWEFctBTF9b4zdqZ9bcYg_2), T9_, 2); localError_NF6kBGchnhQYPbCedyefVA(conf, (*liftDest).info, T10_); result = n; goto BeforeRet_; } LA7_: ; objType = skipTypes_7vZ9a9bub9bucX5E73hsr9cjvg((*partialParam).typ, IL64(36239903266220304)); { NIM_BOOL T13_; NimStringDesc* T17_; NimStringDesc* T18_; T13_ = (NIM_BOOL)0; T13_ = !(((*objType).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 17))); if (T13_) goto LA14_; T13_ = !((((*objType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 16))&63U)))!=0)); LA14_: ; if (!T13_) goto LA15_; T17_ = (NimStringDesc*)0; T17_ = dollar__qX5C9b0n9bOP7jk69amC8dA7A(liftDest); T18_ = (NimStringDesc*)0; T18_ = nsuFormatSingleElem(((NimStringDesc*) &TM_xMgMWEFctBTF9b4zdqZ9bcYg_3), T17_); localError_NF6kBGchnhQYPbCedyefVA(conf, (*liftDest).info, T18_); result = n; goto BeforeRet_; } LA15_: ; nimZeroMem((void*)(&c), sizeof(tyObject_Ctx_A9b2QU9aJFjQJmSPHiXNYt7g)); nimZeroMem((void*)(&c), sizeof(tyObject_Ctx_A9b2QU9aJFjQJmSPHiXNYt7g)); c.partialParam = partialParam; c.objType = objType; c.cache = cache; nimZeroMem((void*)T19_, sizeof(tyArray_jlWPjgtbdjE069arIWHC9c9bg)); T19_[0] = n; w = newTree_4bkTFXme4frVOAuq2YEc4g(((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115), T19_, 1); liftLocals_DlEpkVXkhugkUzS9c9aUc8dg(w, ((NI) 0), (&c)); result = (*w)._Ukind.S6.sons->data[((NI) 0)]; }BeforeRet_: ; return result; }
N_NIMCALL(NimStringDesc*, Getcompilecfilecmd_70612)(NimStringDesc* Cfilename_70614, NIM_BOOL Isexternal_70615) { NimStringDesc* Result_70616; NimStringDesc* Cfile_70617; NimStringDesc* Objfile_70618; NimStringDesc* Options_70619; NimStringDesc* Includecmd_70620; NimStringDesc* Compilepattern_70621; NimStringDesc* Key_70622; NimStringDesc* Trunk_70623; NimStringDesc* Exe_70624; NU8 C_70625; TY38661 LOC1; NimStringDesc* LOC5; NIM_BOOL LOC7; NimStringDesc* LOC10; NimStringDesc* LOC11; NimStringDesc* LOC15; NIM_BOOL LOC17; NimStringDesc* LOC20; NimStringDesc* LOC21; NimStringDesc* LOC24; NIM_BOOL LOC26; NimStringDesc* LOC29; NimStringDesc* LOC30; NimStringDesc* LOC31; NIM_BOOL LOC33; NimStringDesc* LOC36; NimStringDesc* LOC37; NIM_BOOL LOC39; NIM_BOOL LOC46; NimStringDesc* LOC50; NimStringDesc* LOC54; NIM_BOOL LOC59; NimStringDesc* LOC63; NimStringDesc* LOC64; TY70726 LOC65; NimStringDesc* LOC66; TY70726 LOC67; NimStringDesc* LOC68; Result_70616 = 0; Cfile_70617 = 0; Objfile_70618 = 0; Options_70619 = 0; Includecmd_70620 = 0; Compilepattern_70621 = 0; Key_70622 = 0; Trunk_70623 = 0; Exe_70624 = 0; C_70625 = 0; C_70625 = Ccompiler_70340; Options_70619 = copyString(Compileoptions_70348); memset((void*)&LOC1, 0, sizeof(LOC1)); nossplitFile(Cfilename_70614, &LOC1); Trunk_70623 = copyString(LOC1.Name); if (!((Gglobaloptions_46079 &(1<<((((NU8) 9))&31)))!=0)) goto LA3; LOC5 = 0; LOC5 = rawNewString(Trunk_70623->Sup.len + 6); appendString(LOC5, Trunk_70623); appendString(LOC5, ((NimStringDesc*) &TMP196784)); Key_70622 = LOC5; LOC7 = Existsconfigvar_46132(Key_70622); if (!LOC7) goto LA8; LOC10 = 0; LOC10 = Getconfigvar_46135(Key_70622); Addopt_70443(&Options_70619, LOC10); goto LA6; LA8: ; LOC11 = 0; LOC11 = Getdebug_70601(C_70625); Addopt_70443(&Options_70619, LOC11); LA6: ; LA3: ; if (!((Goptions_46077 &(1<<((((NU8) 13))&31)))!=0)) goto LA13; LOC15 = 0; LOC15 = rawNewString(Trunk_70623->Sup.len + 6); appendString(LOC15, Trunk_70623); appendString(LOC15, ((NimStringDesc*) &TMP196786)); Key_70622 = LOC15; LOC17 = Existsconfigvar_46132(Key_70622); if (!LOC17) goto LA18; LOC20 = 0; LOC20 = Getconfigvar_46135(Key_70622); Addopt_70443(&Options_70619, LOC20); goto LA16; LA18: ; LOC21 = 0; LOC21 = Getoptspeed_70597(C_70625); Addopt_70443(&Options_70619, LOC21); LA16: ; goto LA12; LA13: ; if (!((Goptions_46077 &(1<<((((NU8) 14))&31)))!=0)) goto LA22; LOC24 = 0; LOC24 = rawNewString(Trunk_70623->Sup.len + 5); appendString(LOC24, Trunk_70623); appendString(LOC24, ((NimStringDesc*) &TMP196788)); Key_70622 = LOC24; LOC26 = Existsconfigvar_46132(Key_70622); if (!LOC26) goto LA27; LOC29 = 0; LOC29 = Getconfigvar_46135(Key_70622); Addopt_70443(&Options_70619, LOC29); goto LA25; LA27: ; LOC30 = 0; LOC30 = Getoptsize_70605(C_70625); Addopt_70443(&Options_70619, LOC30); LA25: ; goto LA12; LA22: ; LA12: ; LOC31 = 0; LOC31 = rawNewString(Trunk_70623->Sup.len + 7); appendString(LOC31, Trunk_70623); appendString(LOC31, ((NimStringDesc*) &TMP196790)); Key_70622 = LOC31; LOC33 = Existsconfigvar_46132(Key_70622); if (!LOC33) goto LA34; LOC36 = 0; LOC36 = Getconfigvar_46135(Key_70622); Addopt_70443(&Options_70619, LOC36); LA34: ; Exe_70624 = copyString(Cc_70041[(C_70625)-1].Compilerexe); LOC37 = 0; LOC37 = rawNewString(Cc_70041[(C_70625)-1].Name->Sup.len + 4); appendString(LOC37, Cc_70041[(C_70625)-1].Name); appendString(LOC37, ((NimStringDesc*) &TMP196791)); Key_70622 = LOC37; LOC39 = Existsconfigvar_46132(Key_70622); if (!LOC39) goto LA40; Exe_70624 = Getconfigvar_46135(Key_70622); LA40: ; if (!(Targetos_51570 == ((NU8) 2))) goto LA43; Exe_70624 = nosaddFileExt(Exe_70624, ((NimStringDesc*) &TMP196792)); LA43: ; LOC46 = ((Gglobaloptions_46079 &(1<<((((NU8) 10))&31)))!=0); if (!(LOC46)) goto LA47; LOC46 = ((Os_51053[(Targetos_51570)-1].Props &(1<<((((NU8) 0))&7)))!=0); LA47: ; if (!LOC46) goto LA48; LOC50 = 0; LOC50 = rawNewString(Cc_70041[(C_70625)-1].Pic->Sup.len + 1); appendChar(LOC50, 32); appendString(LOC50, Cc_70041[(C_70625)-1].Pic); Options_70619 = resizeString(Options_70619, LOC50->Sup.len + 0); appendString(Options_70619, LOC50); LA48: ; if (!(Targetos_51570 == Hostos_51571)) goto LA52; Includecmd_70620 = copyString(Cc_70041[(C_70625)-1].Includecmd); LOC54 = 0; LOC54 = Quoteifcontainswhite_26268(Libpath_46112); Includecmd_70620 = resizeString(Includecmd_70620, LOC54->Sup.len + 0); appendString(Includecmd_70620, LOC54); Compilepattern_70621 = nosJoinPath(Ccompilerpath_70349, Exe_70624); goto LA51; LA52: ; Includecmd_70620 = copyString(((NimStringDesc*) &TMP70271)); Compilepattern_70621 = copyString(Cc_70041[(C_70625)-1].Compilerexe); LA51: ; if (!(Targetos_51570 == Hostos_51571)) goto LA56; Cfile_70617 = copyString(Cfilename_70614); goto LA55; LA56: ; Cfile_70617 = nosextractFilename(Cfilename_70614); LA55: ; LOC59 = !(Isexternal_70615); if (LOC59) goto LA60; LOC59 = !((Targetos_51570 == Hostos_51571)); LA60: ; if (!LOC59) goto LA61; Objfile_70618 = Toobjfile_70512(Cfile_70617); goto LA58; LA61: ; LOC63 = 0; LOC63 = Toobjfile_70512(Cfile_70617); Objfile_70618 = Completecfilepath_70507(LOC63, NIM_TRUE); LA58: ; LOC64 = 0; LOC64 = nosaddFileExt(Cfile_70617, Cext_70342); Cfile_70617 = Quoteifcontainswhite_26268(LOC64); Objfile_70618 = Quoteifcontainswhite_26268(Objfile_70618); memset((void*)&LOC65, 0, sizeof(LOC65)); LOC65[0] = copyString(((NimStringDesc*) &TMP196793)); LOC65[1] = copyString(Cfile_70617); LOC65[2] = copyString(((NimStringDesc*) &TMP196794)); LOC65[3] = copyString(Objfile_70618); LOC65[4] = copyString(((NimStringDesc*) &TMP196795)); LOC65[5] = copyString(Options_70619); LOC65[6] = copyString(((NimStringDesc*) &TMP196796)); LOC65[7] = copyString(Includecmd_70620); LOC65[8] = copyString(((NimStringDesc*) &TMP196797)); LOC65[9] = Getprefixdir_46109(); LOC65[10] = copyString(((NimStringDesc*) &TMP196798)); LOC65[11] = copyString(Libpath_46112); LOC66 = 0; LOC66 = nsuFormatOpenArray(Compilepattern_70621, LOC65, 12); Result_70616 = Quoteifcontainswhite_26268(LOC66); Result_70616 = addChar(Result_70616, 32); memset((void*)&LOC67, 0, sizeof(LOC67)); LOC67[0] = copyString(((NimStringDesc*) &TMP196793)); LOC67[1] = copyString(Cfile_70617); LOC67[2] = copyString(((NimStringDesc*) &TMP196794)); LOC67[3] = copyString(Objfile_70618); LOC67[4] = copyString(((NimStringDesc*) &TMP196795)); LOC67[5] = copyString(Options_70619); LOC67[6] = copyString(((NimStringDesc*) &TMP196796)); LOC67[7] = copyString(Includecmd_70620); LOC67[8] = copyString(((NimStringDesc*) &TMP196797)); LOC68 = 0; LOC68 = Getprefixdir_46109(); LOC67[9] = Quoteifcontainswhite_26268(LOC68); LOC67[10] = copyString(((NimStringDesc*) &TMP196798)); LOC67[11] = Quoteifcontainswhite_26268(Libpath_46112); nsuAddf(&Result_70616, Cc_70041[(C_70625)-1].Compiletmpl, LOC67, 12); return Result_70616; }
N_NIMCALL(void, Callccompiler_70806)(NimStringDesc* Projectfile_70808) { NimStringDesc* Linkcmd_70809; NimStringDesc* Buildgui_70810; NimStringDesc* Builddll_70811; NU8 C_70833; TY52008* Script_70834; TY39221* Cmds_70851; NI Res_70869; NI I_70895; NI HEX3Atmp_71050; NI Res_71052; NI LOC14; NIM_BOOL LOC15; TY46331 LOC22; NimStringDesc* Linkerexe_70936; NimStringDesc* LOC26; NimStringDesc* LOC36; NimStringDesc* Exefile_70970; TY47805 LOC43; TY38661 LOC44; NimStringDesc* LOC45; TY38661 LOC46; TY38661 LOC50; TY43015* It_70995; NimStringDesc* Objfiles_70996; NimStringDesc* LOC55; NimStringDesc* LOC56; NimStringDesc* LOC57; NimStringDesc* LOC58; TY71019 LOC59; NimStringDesc* LOC60; TY71019 LOC61; NimStringDesc* LOC62; Linkcmd_70809 = 0; Buildgui_70810 = 0; Builddll_70811 = 0; if (!((Gglobaloptions_46079 & 4160) == 64)) goto LA2; goto BeforeRet; LA2: ; Filecounter_70611 = 0; C_70833 = 0; C_70833 = Ccompiler_70340; Script_70834 = 0; Script_70834 = NIM_NIL; Cmds_70851 = 0; Cmds_70851 = (TY39221*) newSeq(NTI39221, 0); Compilecfile_70733(&Tocompile_70345, &Script_70834, &Cmds_70851, NIM_FALSE); Compilecfile_70733(&Externaltocompile_70346, &Script_70834, &Cmds_70851, NIM_TRUE); if (!!(((Gglobaloptions_46079 &(1<<((((NU8) 6))&31)))!=0))) goto LA5; if (!(Gnumberofprocessors_46086 == 0)) goto LA8; Gnumberofprocessors_46086 = nospcountProcessors(); LA8: ; Res_70869 = 0; Res_70869 = 0; if (!(Gnumberofprocessors_46086 <= 1)) goto LA11; I_70895 = 0; HEX3Atmp_71050 = 0; HEX3Atmp_71050 = (Cmds_70851->Sup.len-1); Res_71052 = 0; Res_71052 = 0; while (1) { if (!(Res_71052 <= HEX3Atmp_71050)) goto LA13; I_70895 = Res_71052; LOC14 = nospexecCmd(Cmds_70851->data[I_70895]); Res_70869 = ((LOC14 >= Res_70869) ? LOC14 : Res_70869); Res_71052 += 1; } LA13: ; goto LA10; LA11: ; LOC15 = ((Gglobaloptions_46079 &(1<<((((NU8) 5))&31)))!=0); if (LOC15) goto LA16; LOC15 = (0 < Gverbosity_46085); LA16: ; if (!LOC15) goto LA17; Res_70869 = nospexecProcesses(Cmds_70851->data, Cmds_70851->Sup.len, 11, Gnumberofprocessors_46086); goto LA10; LA17: ; Res_70869 = nospexecProcesses(Cmds_70851->data, Cmds_70851->Sup.len, 10, Gnumberofprocessors_46086); LA10: ; if (!!((Res_70869 == 0))) goto LA20; memset((void*)&LOC22, 0, sizeof(LOC22)); Rawmessage_47971(((NU8) 62), LOC22, 0); LA20: ; LA5: ; if (!!(((Gglobaloptions_46079 &(1<<((((NU8) 7))&31)))!=0))) goto LA24; Linkerexe_70936 = 0; LOC26 = 0; LOC26 = rawNewString(Cc_70041[(C_70833)-1].Name->Sup.len + 10); appendString(LOC26, Cc_70041[(C_70833)-1].Name); appendString(LOC26, ((NimStringDesc*) &TMP196872)); Linkerexe_70936 = Getconfigvar_46135(LOC26); if (!(Linkerexe_70936->Sup.len == 0)) goto LA28; Linkerexe_70936 = copyString(Cc_70041[(C_70833)-1].Linkerexe); LA28: ; if (!(Targetos_51570 == ((NU8) 2))) goto LA31; Linkerexe_70936 = nosaddFileExt(Linkerexe_70936, ((NimStringDesc*) &TMP196792)); LA31: ; if (!!((Hostos_51571 == Targetos_51570))) goto LA34; Linkcmd_70809 = Quoteifcontainswhite_26268(Linkerexe_70936); goto LA33; LA34: ; LOC36 = 0; LOC36 = nosJoinPath(Ccompilerpath_70349, Linkerexe_70936); Linkcmd_70809 = Quoteifcontainswhite_26268(LOC36); LA33: ; if (!((Gglobaloptions_46079 &(1<<((((NU8) 11))&31)))!=0)) goto LA38; Buildgui_70810 = copyString(Cc_70041[(C_70833)-1].Buildgui); goto LA37; LA38: ; Buildgui_70810 = copyString(((NimStringDesc*) &TMP70271)); LA37: ; Exefile_70970 = 0; if (!((Gglobaloptions_46079 &(1<<((((NU8) 10))&31)))!=0)) goto LA41; memset((void*)&LOC43, 0, sizeof(LOC43)); memset((void*)&LOC44, 0, sizeof(LOC44)); nossplitFile(Projectfile_70808, &LOC44); LOC43[0] = copyString(LOC44.Name); Exefile_70970 = nsuFormatOpenArray(Os_51053[(Targetos_51570)-1].Dllfrmt, LOC43, 1); Builddll_70811 = copyString(Cc_70041[(C_70833)-1].Builddll); goto LA40; LA41: ; LOC45 = 0; memset((void*)&LOC46, 0, sizeof(LOC46)); nossplitFile(Projectfile_70808, &LOC46); LOC45 = rawNewString(LOC46.Name->Sup.len + Os_51053[(Targetos_51570)-1].Exeext->Sup.len + 0); appendString(LOC45, LOC46.Name); appendString(LOC45, Os_51053[(Targetos_51570)-1].Exeext); Exefile_70970 = LOC45; Builddll_70811 = copyString(((NimStringDesc*) &TMP70271)); LA40: ; if (!(Targetos_51570 == Hostos_51571)) goto LA48; memset((void*)&LOC50, 0, sizeof(LOC50)); nossplitFile(Projectfile_70808, &LOC50); Exefile_70970 = nosJoinPath(LOC50.Dir, Exefile_70970); LA48: ; Exefile_70970 = Quoteifcontainswhite_26268(Exefile_70970); It_70995 = 0; It_70995 = ((TY43015*) (Tolink_70344.Head)); Objfiles_70996 = 0; Objfiles_70996 = copyString(((NimStringDesc*) &TMP70271)); while (1) { if (!!((It_70995 == NIM_NIL))) goto LA51; Objfiles_70996 = addChar(Objfiles_70996, 32); if (!(Targetos_51570 == Hostos_51571)) goto LA53; LOC55 = 0; LOC55 = nosaddFileExt((*It_70995).Data, Cc_70041[(Ccompiler_70340)-1].Objext); LOC56 = 0; LOC56 = Quoteifcontainswhite_26268(LOC55); Objfiles_70996 = resizeString(Objfiles_70996, LOC56->Sup.len + 0); appendString(Objfiles_70996, LOC56); goto LA52; LA53: ; LOC57 = 0; LOC57 = nosaddFileExt((*It_70995).Data, Cc_70041[(Ccompiler_70340)-1].Objext); LOC58 = 0; LOC58 = Quoteifcontainswhite_26268(LOC57); Objfiles_70996 = resizeString(Objfiles_70996, LOC58->Sup.len + 0); appendString(Objfiles_70996, LOC58); LA52: ; It_70995 = ((TY43015*) ((*It_70995).Sup.Next)); } LA51: ; memset((void*)&LOC59, 0, sizeof(LOC59)); LOC59[0] = copyString(((NimStringDesc*) &TMP196873)); LOC59[1] = copyString(Builddll_70811); LOC59[2] = copyString(((NimStringDesc*) &TMP196874)); LOC59[3] = copyString(Buildgui_70810); LOC59[4] = copyString(((NimStringDesc*) &TMP196795)); LOC59[5] = copyString(Linkoptions_70347); LOC59[6] = copyString(((NimStringDesc*) &TMP196875)); LOC59[7] = copyString(Objfiles_70996); LOC59[8] = copyString(((NimStringDesc*) &TMP196876)); LOC59[9] = copyString(Exefile_70970); LOC59[10] = copyString(((NimStringDesc*) &TMP196797)); LOC59[11] = Getprefixdir_46109(); LOC59[12] = copyString(((NimStringDesc*) &TMP196798)); LOC59[13] = copyString(Libpath_46112); LOC60 = 0; LOC60 = nsuFormatOpenArray(Linkcmd_70809, LOC59, 14); Linkcmd_70809 = Quoteifcontainswhite_26268(LOC60); Linkcmd_70809 = addChar(Linkcmd_70809, 32); memset((void*)&LOC61, 0, sizeof(LOC61)); LOC61[0] = copyString(((NimStringDesc*) &TMP196873)); LOC61[1] = copyString(Builddll_70811); LOC61[2] = copyString(((NimStringDesc*) &TMP196874)); LOC61[3] = copyString(Buildgui_70810); LOC61[4] = copyString(((NimStringDesc*) &TMP196795)); LOC61[5] = copyString(Linkoptions_70347); LOC61[6] = copyString(((NimStringDesc*) &TMP196875)); LOC61[7] = copyString(Objfiles_70996); LOC61[8] = copyString(((NimStringDesc*) &TMP196876)); LOC61[9] = copyString(Exefile_70970); LOC61[10] = copyString(((NimStringDesc*) &TMP196797)); LOC62 = 0; LOC62 = Getprefixdir_46109(); LOC61[11] = Quoteifcontainswhite_26268(LOC62); LOC61[12] = copyString(((NimStringDesc*) &TMP196798)); LOC61[13] = Quoteifcontainswhite_26268(Libpath_46112); nsuAddf(&Linkcmd_70809, Cc_70041[(C_70833)-1].Linktmpl, LOC61, 14); if (!!(((Gglobaloptions_46079 &(1<<((((NU8) 6))&31)))!=0))) goto LA64; Execexternalprogram_70570(Linkcmd_70809); LA64: ; goto LA23; LA24: ; Linkcmd_70809 = copyString(((NimStringDesc*) &TMP70271)); LA23: ; if (!((Gglobaloptions_46079 &(1<<((((NU8) 12))&31)))!=0)) goto LA67; App_52036(&Script_70834, Linkcmd_70809); App_52036(&Script_70834, Tnl_51581); Generatescript_70590(Projectfile_70808, Script_70834); LA67: ; BeforeRet: ; }