/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ /* Compiled for: Linux, amd64, gcc */ /* Command for C compiler: gcc -c -w -I/afs/athena.mit.edu/software/nim-lang_v0.16.0/nim-0.16.0/lib -o tools/nimcache/stdlib_macros.o tools/nimcache/stdlib_macros.c */ #define NIM_INTBITS 64 #include "nimbase.h" #undef linux typedef struct Nimnodeobj_vF2hEdnP1tA65csMBW8XYQ Nimnodeobj_vF2hEdnP1tA65csMBW8XYQ; typedef struct Nimsymobj_b8s6YD9cuGEbmoi5mI9ceqwg Nimsymobj_b8s6YD9cuGEbmoi5mI9ceqwg; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef NU8 Nimnodekind_4lLLxwA63qqrtZ4Xqlg9bRQ_Set[20]; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef NU8 Nimnodekind_4lLLxwA63qqrtZ4Xqlg9bRQ; typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set; typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0); typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0); struct TNimType { NI size; Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind; Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags; TNimType* base; TNimNode* node; void* finalizer; TY_ojoeKfW4VYIm36I9cpDTQIg marker; TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; struct Nimnodeobj_vF2hEdnP1tA65csMBW8XYQ { char dummy; }; struct Nimsymobj_b8s6YD9cuGEbmoi5mI9ceqwg { char dummy; }; N_NIMCALL(Nimnodeobj_vF2hEdnP1tA65csMBW8XYQ*, getimpl_chMUbLwvJ706uC370blMmQ)(Nimsymobj_b8s6YD9cuGEbmoi5mI9ceqwg* s0); static N_INLINE(void, nimFrame)(TFrame* s0); N_NOINLINE(void, stackoverflow_II46IjNZztN9bmbxUD8dt8g)(void); static N_INLINE(void, popFrame)(void); N_NIMCALL(NimStringDesc*, HEX24_vQky4Id9aQQanEihYvDcSMg)(Nimnodekind_4lLLxwA63qqrtZ4Xqlg9bRQ_Set x0); N_NIMCALL(NimStringDesc*, collectiontostring_40YJKN7tcFDGToBXndCp0A)(Nimnodekind_4lLLxwA63qqrtZ4Xqlg9bRQ_Set x0, NimStringDesc* b0, NimStringDesc* e0); N_NIMCALL(NI, cmpignorestyle_qMUI9c5RdcsOHtRhn2D7HqA)(NCSTRING a0, NCSTRING b0); static N_INLINE(NI, addInt)(NI a0, NI b0); N_NOINLINE(void, raiseOverflow)(void); static N_INLINE(NIM_CHAR, tolower_Fwx7k03EYImpkyEMwVKBpAmacros)(NIM_CHAR c0); static N_INLINE(NI, chckRange)(NI i0, NI a0, NI b0); N_NOINLINE(void, raiseRangeError)(NI64 val0); static N_INLINE(NI, subInt)(NI a0, NI b0); N_NIMCALL(NIM_BOOL, eqident_4oBKY2udrWe85yjP9cRPFEw)(NimStringDesc* a0, NimStringDesc* b0); extern TFrame* frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw; TNimType NTI_4lLLxwA63qqrtZ4Xqlg9bRQ; NIM_CONST Nimnodekind_4lLLxwA63qqrtZ4Xqlg9bRQ_Set nnkliterals_9bhEkB9cFodk9cxRUKKgtz1BA = { 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; NIM_CONST Nimnodekind_4lLLxwA63qqrtZ4Xqlg9bRQ_Set nnkcallkinds_AghZgUfleRQoWZNdKFsmJw = { 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; NIM_CONST Nimnodekind_4lLLxwA63qqrtZ4Xqlg9bRQ_Set Routinenodes_QLKlhF4hHbMN9cxu6xm0mcg = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; NIM_CONST Nimnodekind_4lLLxwA63qqrtZ4Xqlg9bRQ_Set Atomicnodes_Rq0ynG1tdFv1swPPc9cZhcg = { 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; NIM_CONST Nimnodekind_4lLLxwA63qqrtZ4Xqlg9bRQ_Set Callnodes_KO9ajNLR9bDAAwecb5g9aCOiA = { 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static N_INLINE(void, nimFrame)(TFrame* s0) { NI LOC1; LOC1 = (NI)0; { if (!(frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA4; LOC1 = ((NI) 0); } goto LA2; LA4: ; { LOC1 = ((NI) ((NI16)((*frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1)))); } LA2: ; (*s0).calldepth = ((NI16) (LOC1)); (*s0).prev = frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw; frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw = s0; { if (!((*s0).calldepth == ((NI16) 2000))) goto LA9; stackoverflow_II46IjNZztN9bmbxUD8dt8g(); } LA9: ; } static N_INLINE(void, popFrame)(void) { frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw = (*frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw).prev; } N_NIMCALL(Nimnodeobj_vF2hEdnP1tA65csMBW8XYQ*, getimpl_chMUbLwvJ706uC370blMmQ)(Nimsymobj_b8s6YD9cuGEbmoi5mI9ceqwg* s0) { Nimnodeobj_vF2hEdnP1tA65csMBW8XYQ* result0; nimfr("getImpl", "macros.nim") result0 = (Nimnodeobj_vF2hEdnP1tA65csMBW8XYQ*)0; popFrame(); return result0; } static N_INLINE(NI, addInt)(NI a0, NI b0) { NI result0; { result0 = (NI)0; result0 = (NI)((NU64)(a0) + (NU64)(b0)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (((NI) 0) <= (NI)(result0 ^ a0)); if (LOC3) goto LA4; LOC3 = (((NI) 0) <= (NI)(result0 ^ b0)); LA4: ; if (!LOC3) goto LA5; goto BeforeRet; } LA5: ; raiseOverflow(); }BeforeRet: ; return result0; } static N_INLINE(NI, chckRange)(NI i0, NI a0, NI b0) { NI result0; { result0 = (NI)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (a0 <= i0); if (!(LOC3)) goto LA4; LOC3 = (i0 <= b0); LA4: ; if (!LOC3) goto LA5; result0 = i0; goto BeforeRet; } goto LA1; LA5: ; { raiseRangeError(((NI64) (i0))); } LA1: ; }BeforeRet: ; return result0; } static N_INLINE(NIM_CHAR, tolower_Fwx7k03EYImpkyEMwVKBpAmacros)(NIM_CHAR c0) { NIM_CHAR result0; nimfr("toLower", "macros.nim") result0 = (NIM_CHAR)0; nimln(836, "macros.nim"); { NI T_rY22sBfKo26xl9aV6GtFfSg_7; if (!(((NU8)(c0)) >= ((NU8)(65)) && ((NU8)(c0)) <= ((NU8)(90)))) goto LA3; T_rY22sBfKo26xl9aV6GtFfSg_7 = addInt(((NI) (((NU8)(c0)))), ((NI) 32)); result0 = ((NIM_CHAR) (((NI)chckRange((NI)(T_rY22sBfKo26xl9aV6GtFfSg_7), ((NI) 0), ((NI) 255))))); } goto LA1; LA3: ; { nimln(837, "macros.nim"); result0 = c0; } LA1: ; popFrame(); return result0; } static N_INLINE(NI, subInt)(NI a0, NI b0) { NI result0; { result0 = (NI)0; result0 = (NI)((NU64)(a0) - (NU64)(b0)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (((NI) 0) <= (NI)(result0 ^ a0)); if (LOC3) goto LA4; LOC3 = (((NI) 0) <= (NI)(result0 ^ (NI)((NU64) ~(b0)))); LA4: ; if (!LOC3) goto LA5; goto BeforeRet; } LA5: ; raiseOverflow(); }BeforeRet: ; return result0; } N_NIMCALL(NI, cmpignorestyle_qMUI9c5RdcsOHtRhn2D7HqA)(NCSTRING a0, NCSTRING b0) { NI result0; NI i0; NI j0; nimfr("cmpIgnoreStyle", "macros.nim") { result0 = (NI)0; nimln(838, "macros.nim"); i0 = ((NI) 0); nimln(839, "macros.nim"); j0 = ((NI) 0); nimln(841, "macros.nim"); { nimln(347, "system.nim"); nimln(841, "macros.nim"); if (!!(((NU8)(a0[((NI) 0)]) == (NU8)(b0[((NI) 0)])))) goto LA3; result0 = ((NI) 1); goto BeforeRet; } LA3: ; { nimln(842, "macros.nim"); while (1) { NIM_CHAR aa0; NIM_CHAR bb0; NI T_rY22sBfKo26xl9aV6GtFfSg_8; NI T_rY22sBfKo26xl9aV6GtFfSg_9; NI T_rY22sBfKo26xl9aV6GtFfSg_10; { nimln(843, "macros.nim"); while (1) { NI T_rY22sBfKo26xl9aV6GtFfSg_5; if (!((NU8)(a0[i0]) == (NU8)(95))) goto LA8; T_rY22sBfKo26xl9aV6GtFfSg_5 = addInt(i0, ((NI) 1)); i0 = (NI)(T_rY22sBfKo26xl9aV6GtFfSg_5); } LA8: ; } { nimln(844, "macros.nim"); while (1) { NI T_rY22sBfKo26xl9aV6GtFfSg_6; if (!((NU8)(b0[j0]) == (NU8)(95))) goto LA10; T_rY22sBfKo26xl9aV6GtFfSg_6 = addInt(j0, ((NI) 1)); j0 = (NI)(T_rY22sBfKo26xl9aV6GtFfSg_6); } LA10: ; } nimln(845, "macros.nim"); aa0 = tolower_Fwx7k03EYImpkyEMwVKBpAmacros(a0[i0]); nimln(846, "macros.nim"); bb0 = tolower_Fwx7k03EYImpkyEMwVKBpAmacros(b0[j0]); nimln(847, "macros.nim"); T_rY22sBfKo26xl9aV6GtFfSg_8 = subInt(((NI) (((NU8)(aa0)))), ((NI) (((NU8)(bb0))))); result0 = (NI)(T_rY22sBfKo26xl9aV6GtFfSg_8); nimln(848, "macros.nim"); { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; nimln(347, "system.nim"); nimln(848, "macros.nim"); LOC13 = !((result0 == ((NI) 0))); if (LOC13) goto LA14; LOC13 = ((NU8)(aa0) == (NU8)(0)); LA14: ; if (!LOC13) goto LA15; goto LA5; } LA15: ; nimln(849, "macros.nim"); T_rY22sBfKo26xl9aV6GtFfSg_9 = addInt(i0, ((NI) 1)); i0 = (NI)(T_rY22sBfKo26xl9aV6GtFfSg_9); nimln(850, "macros.nim"); T_rY22sBfKo26xl9aV6GtFfSg_10 = addInt(j0, ((NI) 1)); j0 = (NI)(T_rY22sBfKo26xl9aV6GtFfSg_10); } } LA5: ; }BeforeRet: ; popFrame(); return result0; } N_NIMCALL(NIM_BOOL, eqident_4oBKY2udrWe85yjP9cRPFEw)(NimStringDesc* a0, NimStringDesc* b0) { NIM_BOOL result0; NI LOC1; nimfr("eqIdent", "macros.nim") result0 = (NIM_BOOL)0; nimln(852, "macros.nim"); LOC1 = (NI)0; LOC1 = cmpignorestyle_qMUI9c5RdcsOHtRhn2D7HqA(a0->data, b0->data); result0 = (LOC1 == ((NI) 0)); popFrame(); return result0; } NIM_EXTERNC N_NOINLINE(void, stdlib_macrosInit000)(void) { nimfr("macros", "macros.nim") popFrame(); } NIM_EXTERNC N_NOINLINE(void, stdlib_macrosDatInit000)(void) { static TNimNode* T_rY22sBfKo26xl9aV6GtFfSg_2[159]; NI T_rY22sBfKo26xl9aV6GtFfSg_4; static char* NIM_CONST T_rY22sBfKo26xl9aV6GtFfSg_3[159] = { "nnkNone", "nnkEmpty", "nnkIdent", "nnkSym", "nnkType", "nnkCharLit", "nnkIntLit", "nnkInt8Lit", "nnkInt16Lit", "nnkInt32Lit", "nnkInt64Lit", "nnkUIntLit", "nnkUInt8Lit", "nnkUInt16Lit", "nnkUInt32Lit", "nnkUInt64Lit", "nnkFloatLit", "nnkFloat32Lit", "nnkFloat64Lit", "nnkFloat128Lit", "nnkStrLit", "nnkRStrLit", "nnkTripleStrLit", "nnkNilLit", "nnkMetaNode", "nnkDotCall", "nnkCommand", "nnkCall", "nnkCallStrLit", "nnkInfix", "nnkPrefix", "nnkPostfix", "nnkHiddenCallConv", "nnkExprEqExpr", "nnkExprColonExpr", "nnkIdentDefs", "nnkVarTuple", "nnkPar", "nnkObjConstr", "nnkCurly", "nnkCurlyExpr", "nnkBracket", "nnkBracketExpr", "nnkPragmaExpr", "nnkRange", "nnkDotExpr", "nnkCheckedFieldExpr", "nnkDerefExpr", "nnkIfExpr", "nnkElifExpr", "nnkElseExpr", "nnkLambda", "nnkDo", "nnkAccQuoted", "nnkTableConstr", "nnkBind", "nnkClosedSymChoice", "nnkOpenSymChoice", "nnkHiddenStdConv", "nnkHiddenSubConv", "nnkConv", "nnkCast", "nnkStaticExpr", "nnkAddr", "nnkHiddenAddr", "nnkHiddenDeref", "nnkObjDownConv", "nnkObjUpConv", "nnkChckRangeF", "nnkChckRange64", "nnkChckRange", "nnkStringToCString", "nnkCStringToString", "nnkAsgn", "nnkFastAsgn", "nnkGenericParams", "nnkFormalParams", "nnkOfInherit", "nnkImportAs", "nnkProcDef", "nnkMethodDef", "nnkConverterDef", "nnkMacroDef", "nnkTemplateDef", "nnkIteratorDef", "nnkOfBranch", "nnkElifBranch", "nnkExceptBranch", "nnkElse", "nnkAsmStmt", "nnkPragma", "nnkPragmaBlock", "nnkIfStmt", "nnkWhenStmt", "nnkForStmt", "nnkParForStmt", "nnkWhileStmt", "nnkCaseStmt", "nnkTypeSection", "nnkVarSection", "nnkLetSection", "nnkConstSection", "nnkConstDef", "nnkTypeDef", "nnkYieldStmt", "nnkDefer", "nnkTryStmt", "nnkFinally", "nnkRaiseStmt", "nnkReturnStmt", "nnkBreakStmt", "nnkContinueStmt", "nnkBlockStmt", "nnkStaticStmt", "nnkDiscardStmt", "nnkStmtList", "nnkImportStmt", "nnkImportExceptStmt", "nnkExportStmt", "nnkExportExceptStmt", "nnkFromStmt", "nnkIncludeStmt", "nnkBindStmt", "nnkMixinStmt", "nnkUsingStmt", "nnkCommentStmt", "nnkStmtListExpr", "nnkBlockExpr", "nnkStmtListType", "nnkBlockType", "nnkWith", "nnkWithout", "nnkTypeOfExpr", "nnkObjectTy", "nnkTupleTy", "nnkTupleClassTy", "nnkTypeClassTy", "nnkStaticTy", "nnkRecList", "nnkRecCase", "nnkRecWhen", "nnkRefTy", "nnkPtrTy", "nnkVarTy", "nnkConstTy", "nnkMutableTy", "nnkDistinctTy", "nnkProcTy", "nnkIteratorTy", "nnkSharedTy", "nnkEnumTy", "nnkEnumFieldDef", "nnkArglist", "nnkPattern", "nnkReturnToken", "nnkClosure", "nnkGotoState", "nnkState", "nnkBreakState"}; static TNimNode T_rY22sBfKo26xl9aV6GtFfSg_0[160]; NTI_4lLLxwA63qqrtZ4Xqlg9bRQ.size = sizeof(Nimnodekind_4lLLxwA63qqrtZ4Xqlg9bRQ); NTI_4lLLxwA63qqrtZ4Xqlg9bRQ.kind = 14; NTI_4lLLxwA63qqrtZ4Xqlg9bRQ.base = 0; NTI_4lLLxwA63qqrtZ4Xqlg9bRQ.flags = 3; for (T_rY22sBfKo26xl9aV6GtFfSg_4 = 0; T_rY22sBfKo26xl9aV6GtFfSg_4 < 159; T_rY22sBfKo26xl9aV6GtFfSg_4++) { T_rY22sBfKo26xl9aV6GtFfSg_0[T_rY22sBfKo26xl9aV6GtFfSg_4+0].kind = 1; T_rY22sBfKo26xl9aV6GtFfSg_0[T_rY22sBfKo26xl9aV6GtFfSg_4+0].offset = T_rY22sBfKo26xl9aV6GtFfSg_4; T_rY22sBfKo26xl9aV6GtFfSg_0[T_rY22sBfKo26xl9aV6GtFfSg_4+0].name = T_rY22sBfKo26xl9aV6GtFfSg_3[T_rY22sBfKo26xl9aV6GtFfSg_4]; T_rY22sBfKo26xl9aV6GtFfSg_2[T_rY22sBfKo26xl9aV6GtFfSg_4] = &T_rY22sBfKo26xl9aV6GtFfSg_0[T_rY22sBfKo26xl9aV6GtFfSg_4+0]; } T_rY22sBfKo26xl9aV6GtFfSg_0[159].len = 159; T_rY22sBfKo26xl9aV6GtFfSg_0[159].kind = 2; T_rY22sBfKo26xl9aV6GtFfSg_0[159].sons = &T_rY22sBfKo26xl9aV6GtFfSg_2[0]; NTI_4lLLxwA63qqrtZ4Xqlg9bRQ.node = &T_rY22sBfKo26xl9aV6GtFfSg_0[159]; }