/* 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 -O3 -fno-strict-aliasing -I/afs/athena.mit.edu/software/nim-lang_v0.16.0/nim-0.16.0/lib -o tools/nimsuggest/nimcache/compiler_lists.o tools/nimsuggest/nimcache/compiler_lists.c */ #define NIM_INTBITS 64 #include "nimbase.h" #include #undef linux typedef struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw; typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct TNimObject TNimObject; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q; struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* head; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* tail; NI counter; }; 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 TNimObject { TNimType* m_type; }; struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q { TNimObject Sup; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next; }; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup; NimStringDesc* data; }; N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); static N_NIMCALL(void, Marker_TY_UBJpHsWZIqc2lh9bCj5YngA)(void* p, NI op); N_NIMCALL(void, remove_OHo5UGptcxVKInJo6EIoMg_2)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0); N_NIMCALL(void, prepend_OHo5UGptcxVKInJo6EIoMg_3)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0); static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0); static N_INLINE(NIM_BOOL, equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes)(void* a0, void* b0, NI size0); N_NIMCALL(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*, newstrentry_NdVqqs2Ekiz2isZTdUH6Qg)(NimStringDesc* data0); static N_NIMCALL(void, Marker_TY_NaF9cxlzx20LCo9cM6xfyr5A)(void* p, NI op); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(NI, noscmpPaths)(NimStringDesc* patha0, NimStringDesc* pathb0); N_NIMCALL(void, append_OHo5UGptcxVKInJo6EIoMg_4)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0); TNimType NTI_9aBiIjAa4z2zTLjp4yMUvLw; extern TNimType NTI_13RNkKqUOX1TtorOUlKtqA; TNimType NTI_U4JkVlrJQaACKZ9a9cwCla3Q; TNimType NTI_UBJpHsWZIqc2lh9bCj5YngA; extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA; TNimType NTI_3m9czjBTF9ccwc2UyFTPCO8Q; extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg; TNimType NTI_NaF9cxlzx20LCo9cM6xfyr5A; static N_NIMCALL(void, Marker_TY_UBJpHsWZIqc2lh9bCj5YngA)(void* p, NI op) { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* a; a = (Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q*)p; nimGCvisit((void*)(*a).prev, op); nimGCvisit((void*)(*a).next, op); } N_NIMCALL(void, remove_OHo5UGptcxVKInJo6EIoMg_2)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0) { (*list0).counter -= ((NI) 1); { if (!(entry0 == (*list0).tail)) goto LA3; (*list0).tail = (*entry0).prev; } LA3: ; { if (!(entry0 == (*list0).head)) goto LA7; (*list0).head = (*entry0).next; } LA7: ; { if (!!(((*entry0).next == NIM_NIL))) goto LA11; (*(*entry0).next).prev = (*entry0).prev; } LA11: ; { if (!!(((*entry0).prev == NIM_NIL))) goto LA15; (*(*entry0).prev).next = (*entry0).next; } LA15: ; } N_NIMCALL(void, prepend_OHo5UGptcxVKInJo6EIoMg_3)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0) { (*list0).counter += ((NI) 1); (*entry0).prev = NIM_NIL; (*entry0).next = (*list0).head; { if (!!(((*list0).head == NIM_NIL))) goto LA3; (*(*list0).head).prev = entry0; } LA3: ; (*list0).head = entry0; { if (!((*list0).tail == NIM_NIL)) goto LA7; (*list0).tail = entry0; } LA7: ; } N_NIMCALL(void, bringtofront_OHo5UGptcxVKInJo6EIoMg)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0) { remove_OHo5UGptcxVKInJo6EIoMg_2(list0, entry0); prepend_OHo5UGptcxVKInJo6EIoMg_3(list0, entry0); } static N_INLINE(NIM_BOOL, equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes)(void* a0, void* b0, NI size0) { NIM_BOOL result0; int LOC1; result0 = (NIM_BOOL)0; LOC1 = (int)0; LOC1 = memcmp(a0, b0, ((size_t) (size0))); result0 = (LOC1 == ((NI32) 0)); return result0; } static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) { NIM_BOOL result0; NIM_BOOL LOC11; { result0 = (NIM_BOOL)0; { if (!(a0 == b0)) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = (a0 == NIM_NIL); if (LOC7) goto LA8; LOC7 = (b0 == NIM_NIL); LA8: ; if (!LOC7) goto LA9; result0 = NIM_FALSE; goto BeforeRet; } LA9: ; LOC11 = (NIM_BOOL)0; LOC11 = ((*a0).Sup.len == (*b0).Sup.len); if (!(LOC11)) goto LA12; LOC11 = equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len))); LA12: ; result0 = LOC11; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, contains_3NRZAjGu9bLiJruVlzBLQAw)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0) { NIM_BOOL result0; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* it0; { result0 = (NIM_BOOL)0; it0 = (*list0).head; { while (1) { if (!!((it0 == NIM_NIL))) goto LA2; { if (!eqStrings((*((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (it0))).data, data0)) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; it0 = (*it0).next; } LA2: ; } }BeforeRet: ; return result0; } static N_NIMCALL(void, Marker_TY_NaF9cxlzx20LCo9cM6xfyr5A)(void* p, NI op) { Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* a; a = (Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*)p; nimGCvisit((void*)(*a).Sup.prev, op); nimGCvisit((void*)(*a).Sup.next, op); nimGCvisit((void*)(*a).data, op); } N_NIMCALL(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*, newstrentry_NdVqqs2Ekiz2isZTdUH6Qg)(NimStringDesc* data0) { Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* result0; result0 = (Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*)0; result0 = (Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) newObj((&NTI_NaF9cxlzx20LCo9cM6xfyr5A), sizeof(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q)); (*result0).Sup.Sup.m_type = (&NTI_3m9czjBTF9ccwc2UyFTPCO8Q); (*result0).data = copyString(data0); return result0; } N_NIMCALL(void, prependstr_owVv9bF5I9bEH2NNSvxvPOvQ)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0) { Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* LOC1; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* LOC2; LOC1 = (Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*)0; LOC1 = newstrentry_NdVqqs2Ekiz2isZTdUH6Qg(data0); LOC2 = (Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q*)0; LOC2 = &LOC1->Sup; prepend_OHo5UGptcxVKInJo6EIoMg_3(list0, LOC2); } N_NIMCALL(void, excludepath_owVv9bF5I9bEH2NNSvxvPOvQ_2)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0) { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* it0; it0 = (*list0).head; { while (1) { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* nxt0; if (!!((it0 == NIM_NIL))) goto LA2; nxt0 = (*it0).next; { NI LOC5; LOC5 = (NI)0; LOC5 = noscmpPaths((*((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (it0))).data, data0); if (!(LOC5 == ((NI) 0))) goto LA6; remove_OHo5UGptcxVKInJo6EIoMg_2(list0, it0); } LA6: ; it0 = nxt0; } LA2: ; } } N_NIMCALL(void, append_OHo5UGptcxVKInJo6EIoMg_4)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0) { (*list0).counter += ((NI) 1); (*entry0).next = NIM_NIL; (*entry0).prev = (*list0).tail; { if (!!(((*list0).tail == NIM_NIL))) goto LA3; (*(*list0).tail).next = entry0; } LA3: ; (*list0).tail = entry0; { if (!((*list0).head == NIM_NIL)) goto LA7; (*list0).head = entry0; } LA7: ; } N_NIMCALL(void, appendstr_owVv9bF5I9bEH2NNSvxvPOvQ_3)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0) { Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* LOC1; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* LOC2; LOC1 = (Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*)0; LOC1 = newstrentry_NdVqqs2Ekiz2isZTdUH6Qg(data0); LOC2 = (Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q*)0; LOC2 = &LOC1->Sup; append_OHo5UGptcxVKInJo6EIoMg_4(list0, LOC2); } N_NIMCALL(void, initlinkedlist_t8HJBv7J7KjK9cAoDRPa1ig)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0) { (*list0).counter = ((NI) 0); (*list0).head = NIM_NIL; (*list0).tail = NIM_NIL; } NIM_EXTERNC N_NOINLINE(void, compiler_listsInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, compiler_listsDatInit000)(void) { static TNimNode* T_QvsjVsCBbaN7i1aUcQou7A_2[3]; static TNimNode* T_QvsjVsCBbaN7i1aUcQou7A_3[2]; static TNimNode T_QvsjVsCBbaN7i1aUcQou7A_0[8]; NTI_9aBiIjAa4z2zTLjp4yMUvLw.size = sizeof(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw); NTI_9aBiIjAa4z2zTLjp4yMUvLw.kind = 18; NTI_9aBiIjAa4z2zTLjp4yMUvLw.base = 0; T_QvsjVsCBbaN7i1aUcQou7A_2[0] = &T_QvsjVsCBbaN7i1aUcQou7A_0[1]; NTI_U4JkVlrJQaACKZ9a9cwCla3Q.size = sizeof(Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q); NTI_U4JkVlrJQaACKZ9a9cwCla3Q.kind = 17; NTI_U4JkVlrJQaACKZ9a9cwCla3Q.base = (&NTI_13RNkKqUOX1TtorOUlKtqA); T_QvsjVsCBbaN7i1aUcQou7A_3[0] = &T_QvsjVsCBbaN7i1aUcQou7A_0[3]; T_QvsjVsCBbaN7i1aUcQou7A_0[3].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[3].offset = offsetof(Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q, prev); T_QvsjVsCBbaN7i1aUcQou7A_0[3].typ = (&NTI_UBJpHsWZIqc2lh9bCj5YngA); T_QvsjVsCBbaN7i1aUcQou7A_0[3].name = "prev"; T_QvsjVsCBbaN7i1aUcQou7A_3[1] = &T_QvsjVsCBbaN7i1aUcQou7A_0[4]; T_QvsjVsCBbaN7i1aUcQou7A_0[4].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[4].offset = offsetof(Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q, next); T_QvsjVsCBbaN7i1aUcQou7A_0[4].typ = (&NTI_UBJpHsWZIqc2lh9bCj5YngA); T_QvsjVsCBbaN7i1aUcQou7A_0[4].name = "next"; T_QvsjVsCBbaN7i1aUcQou7A_0[2].len = 2; T_QvsjVsCBbaN7i1aUcQou7A_0[2].kind = 2; T_QvsjVsCBbaN7i1aUcQou7A_0[2].sons = &T_QvsjVsCBbaN7i1aUcQou7A_3[0]; NTI_U4JkVlrJQaACKZ9a9cwCla3Q.node = &T_QvsjVsCBbaN7i1aUcQou7A_0[2]; NTI_UBJpHsWZIqc2lh9bCj5YngA.size = sizeof(Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q*); NTI_UBJpHsWZIqc2lh9bCj5YngA.kind = 22; NTI_UBJpHsWZIqc2lh9bCj5YngA.base = (&NTI_U4JkVlrJQaACKZ9a9cwCla3Q); NTI_UBJpHsWZIqc2lh9bCj5YngA.marker = Marker_TY_UBJpHsWZIqc2lh9bCj5YngA; T_QvsjVsCBbaN7i1aUcQou7A_0[1].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[1].offset = offsetof(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw, head); T_QvsjVsCBbaN7i1aUcQou7A_0[1].typ = (&NTI_UBJpHsWZIqc2lh9bCj5YngA); T_QvsjVsCBbaN7i1aUcQou7A_0[1].name = "head"; T_QvsjVsCBbaN7i1aUcQou7A_2[1] = &T_QvsjVsCBbaN7i1aUcQou7A_0[5]; T_QvsjVsCBbaN7i1aUcQou7A_0[5].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[5].offset = offsetof(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw, tail); T_QvsjVsCBbaN7i1aUcQou7A_0[5].typ = (&NTI_UBJpHsWZIqc2lh9bCj5YngA); T_QvsjVsCBbaN7i1aUcQou7A_0[5].name = "tail"; T_QvsjVsCBbaN7i1aUcQou7A_2[2] = &T_QvsjVsCBbaN7i1aUcQou7A_0[6]; T_QvsjVsCBbaN7i1aUcQou7A_0[6].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[6].offset = offsetof(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw, counter); T_QvsjVsCBbaN7i1aUcQou7A_0[6].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_QvsjVsCBbaN7i1aUcQou7A_0[6].name = "counter"; T_QvsjVsCBbaN7i1aUcQou7A_0[0].len = 3; T_QvsjVsCBbaN7i1aUcQou7A_0[0].kind = 2; T_QvsjVsCBbaN7i1aUcQou7A_0[0].sons = &T_QvsjVsCBbaN7i1aUcQou7A_2[0]; NTI_9aBiIjAa4z2zTLjp4yMUvLw.node = &T_QvsjVsCBbaN7i1aUcQou7A_0[0]; NTI_3m9czjBTF9ccwc2UyFTPCO8Q.size = sizeof(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q); NTI_3m9czjBTF9ccwc2UyFTPCO8Q.kind = 17; NTI_3m9czjBTF9ccwc2UyFTPCO8Q.base = (&NTI_U4JkVlrJQaACKZ9a9cwCla3Q); T_QvsjVsCBbaN7i1aUcQou7A_0[7].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[7].offset = offsetof(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q, data); T_QvsjVsCBbaN7i1aUcQou7A_0[7].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_QvsjVsCBbaN7i1aUcQou7A_0[7].name = "data"; NTI_3m9czjBTF9ccwc2UyFTPCO8Q.node = &T_QvsjVsCBbaN7i1aUcQou7A_0[7]; NTI_NaF9cxlzx20LCo9cM6xfyr5A.size = sizeof(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*); NTI_NaF9cxlzx20LCo9cM6xfyr5A.kind = 22; NTI_NaF9cxlzx20LCo9cM6xfyr5A.base = (&NTI_3m9czjBTF9ccwc2UyFTPCO8Q); NTI_NaF9cxlzx20LCo9cM6xfyr5A.marker = Marker_TY_NaF9cxlzx20LCo9cM6xfyr5A; }