Files
csources-nimble/nimble-linux/@m..@s..@s..@s..@s.choosenim@stoolchains@snim-@hversion-1-6@slib@spure@sdynlib.nim.c
T

661 lines
28 KiB
C

/* Generated by Nim Compiler v1.6.11 */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <dlfcn.h>
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_LibraryError__x1muge9crz9aAVqWWUrEL9aXg tyObject_LibraryError__x1muge9crz9aAVqWWUrEL9aXg;
typedef struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct RootObj {
TNimType* m_type;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
Exception Sup;
};
struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
NI32 errorCode;
};
struct tyObject_LibraryError__x1muge9crz9aAVqWWUrEL9aXg {
tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA Sup;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
TGenericSeq Sup;
NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
TGenericSeq Sup;
tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, newSeq__systemZio_504)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, libCandidates__pureZdynlib_37)(NimStringDesc* s, tySequence__sM4lkSb7zS6F7OVMvW9cffQ** dest);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindChar)(NimStringDesc* s, NIM_CHAR sub, NI start, NI last);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7790)(NimStringDesc* s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7802)(NimStringDesc* s, NI first);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5293)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr);
N_LIB_PRIVATE N_NIMCALL(void*, loadLib__pureZdynlib_3)(NimStringDesc* path, NIM_BOOL globalSymbols);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5337)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
STRING_LITERAL(TM__Vbi6rBBOqdMySprhH3iUcg_12, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim(240, 11) `len(a) == L` the length of the seq changed while iterating over it", 154);
extern TNimType NTIreflibraryerror__HV2B9a6TW6WPpQna2mQFeQQ_;
extern TNimType NTIlibraryerror__x1muge9crz9aAVqWWUrEL9aXg_;
STRING_LITERAL(TM__Vbi6rBBOqdMySprhH3iUcg_13, "could not find symbol: ", 23);
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5246;
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__system_2564;
framePtr__system_2564 = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__system_2997();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_2564 = (*framePtr__system_2564).prev;
}
N_LIB_PRIVATE N_NIMCALL(void*, symAddr__pureZdynlib_30)(void* lib, NCSTRING name) {
void* result;
nimfr_("symAddr", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
result = (void*)0;
nimln_(119, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
result = dlsym(lib, name);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void*, loadLib__pureZdynlib_6)(void) {
void* result;
nimfr_("loadLib", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
result = (void*)0;
nimln_(117, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
result = dlopen(((NCSTRING) NIM_NIL), ((int) 2));
popFrame();
return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
{
if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
(*dest).Sup.len += (*src).Sup.len;
}
LA3_: ;
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
NI result;
nimfr_("-%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = (NI)0;
nimln_(414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
nimln_(418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
NIM_BOOL result;
nimfr_("<%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
result = (NIM_BOOL)0;
nimln_(186, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
nimln_(188, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
popFrame();
return result;
}
static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("rtlAddZCT", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(243, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
addZCT__system_5293((&gch__system_5246.zct), c);
popFrame();
}
static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("decRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(248, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
nimln_(249, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
if (!T3_) goto LA4_;
nimln_(250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
rtlAddZCT__system_5342(c);
}
LA4_: ;
popFrame();
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
NI T1_;
nimfr_("usrToCell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
nimln_(177, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
T1_ = (NI)0;
T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
popFrame();
return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
nimfr_("nimGCunrefNoCycle", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(276, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T1_ = usrToCell__system_5299(p);
decRef__system_5344(T1_);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, libCandidates__pureZdynlib_37)(NimStringDesc* s, tySequence__sM4lkSb7zS6F7OVMvW9cffQ** dest) {
NI le;
NI ri;
NI TM__Vbi6rBBOqdMySprhH3iUcg_2;
nimfr_("libCandidates", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
nimln_(78, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
le = nsuFindChar(s, 40, ((NI) 0), ((NI) 0));
nimln_(79, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
if (nimAddInt(le, ((NI) 1), &TM__Vbi6rBBOqdMySprhH3iUcg_2)) { raiseOverflow(); };
if (((NI)(TM__Vbi6rBBOqdMySprhH3iUcg_2)) < ((NI) 0) || ((NI)(TM__Vbi6rBBOqdMySprhH3iUcg_2)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__Vbi6rBBOqdMySprhH3iUcg_2), ((NI) 0), ((NI) IL64(9223372036854775807))); }
ri = nsuFindChar(s, 41, ((NI) ((NI)(TM__Vbi6rBBOqdMySprhH3iUcg_2))), ((NI) 0));
nimln_(80, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
{
NIM_BOOL T3_;
NimStringDesc* prefix;
NI TM__Vbi6rBBOqdMySprhH3iUcg_3;
NimStringDesc* suffix;
NI TM__Vbi6rBBOqdMySprhH3iUcg_4;
T3_ = (NIM_BOOL)0;
T3_ = (((NI) 0) <= le);
if (!(T3_)) goto LA4_;
T3_ = (le < ri);
LA4_: ;
if (!T3_) goto LA5_;
nimln_(81, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
if (nimSubInt(le, ((NI) 1), &TM__Vbi6rBBOqdMySprhH3iUcg_3)) { raiseOverflow(); };
prefix = substr__system_7790(s, ((NI) 0), (NI)(TM__Vbi6rBBOqdMySprhH3iUcg_3));
nimln_(82, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
if (nimAddInt(ri, ((NI) 1), &TM__Vbi6rBBOqdMySprhH3iUcg_4)) { raiseOverflow(); };
suffix = substr__system_7802(s, (NI)(TM__Vbi6rBBOqdMySprhH3iUcg_4));
{
NimStringDesc* middle;
NimStringDesc* colontmp_;
NI TM__Vbi6rBBOqdMySprhH3iUcg_5;
NI TM__Vbi6rBBOqdMySprhH3iUcg_6;
NI lastX60gensym34_;
NI splitsX60gensym34_;
middle = NIM_NIL;
colontmp_ = NIM_NIL;
nimln_(83, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
if (nimAddInt(le, ((NI) 1), &TM__Vbi6rBBOqdMySprhH3iUcg_5)) { raiseOverflow(); };
if (nimSubInt(ri, ((NI) 1), &TM__Vbi6rBBOqdMySprhH3iUcg_6)) { raiseOverflow(); };
colontmp_ = substr__system_7790(s, (NI)(TM__Vbi6rBBOqdMySprhH3iUcg_5), (NI)(TM__Vbi6rBBOqdMySprhH3iUcg_6));
nimln_(365, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
lastX60gensym34_ = ((NI) 0);
nimln_(366, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
splitsX60gensym34_ = ((NI) -1);
{
nimln_(426, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
while (1) {
NI firstX60gensym34_;
NI TM__Vbi6rBBOqdMySprhH3iUcg_8;
NimStringDesc* T18_;
NI TM__Vbi6rBBOqdMySprhH3iUcg_9;
NI TM__Vbi6rBBOqdMySprhH3iUcg_10;
nimln_(368, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (!(lastX60gensym34_ <= (colontmp_ ? colontmp_->Sup.len : 0))) goto LA9;
nimln_(369, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
firstX60gensym34_ = lastX60gensym34_;
{
nimln_(370, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
while (1) {
NIM_BOOL T12_;
NI TM__Vbi6rBBOqdMySprhH3iUcg_7;
T12_ = (NIM_BOOL)0;
T12_ = (lastX60gensym34_ < (colontmp_ ? colontmp_->Sup.len : 0));
if (!(T12_)) goto LA13_;
if (lastX60gensym34_ < 0 || lastX60gensym34_ >= (colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(lastX60gensym34_,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
T12_ = !(((NU8)(colontmp_->data[lastX60gensym34_]) == (NU8)(124)));
LA13_: ;
if (!T12_) goto LA11;
nimln_(371, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimAddInt(lastX60gensym34_, ((NI) 1), &TM__Vbi6rBBOqdMySprhH3iUcg_7)) { raiseOverflow(); };
lastX60gensym34_ = (NI)(TM__Vbi6rBBOqdMySprhH3iUcg_7);
} LA11: ;
}
nimln_(372, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
{
if (!(splitsX60gensym34_ == ((NI) 0))) goto LA16_;
lastX60gensym34_ = (colontmp_ ? colontmp_->Sup.len : 0);
}
LA16_: ;
nimln_(83, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
nimln_(373, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimSubInt(lastX60gensym34_, ((NI) 1), &TM__Vbi6rBBOqdMySprhH3iUcg_8)) { raiseOverflow(); };
nimln_(83, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
middle = substr__system_7790(colontmp_, firstX60gensym34_, (NI)(TM__Vbi6rBBOqdMySprhH3iUcg_8));
T18_ = NIM_NIL;
T18_ = rawNewString((prefix ? prefix->Sup.len : 0) + (middle ? middle->Sup.len : 0) + (suffix ? suffix->Sup.len : 0) + 0);
appendString(T18_, prefix);
appendString(T18_, middle);
appendString(T18_, suffix);
libCandidates__pureZdynlib_37(T18_, dest);
nimln_(374, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
{
if (!(splitsX60gensym34_ == ((NI) 0))) goto LA21_;
goto LA8;
}
LA21_: ;
nimln_(375, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimSubInt(splitsX60gensym34_, ((NI) 1), &TM__Vbi6rBBOqdMySprhH3iUcg_9)) { raiseOverflow(); };
splitsX60gensym34_ = (NI)(TM__Vbi6rBBOqdMySprhH3iUcg_9);
nimln_(376, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimAddInt(lastX60gensym34_, ((NI) 1), &TM__Vbi6rBBOqdMySprhH3iUcg_10)) { raiseOverflow(); };
lastX60gensym34_ = (NI)(TM__Vbi6rBBOqdMySprhH3iUcg_10);
} LA9: ;
} LA8: ;
}
}
goto LA1_;
LA5_: ;
{
NI T24_;
NimStringDesc* T25_;
nimln_(86, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
unsureAsgnRef((void**) (&(*dest)), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*dest)), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
T24_ = (*dest)->Sup.len++;
T25_ = NIM_NIL;
T25_ = (*dest)->data[T24_]; (*dest)->data[T24_] = copyStringRC1(s);
if (T25_) nimGCunrefNoCycle(T25_);
}
LA1_: ;
popFrame();
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
NCSTRING result;
result = (NCSTRING)0;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (s == ((NimStringDesc*) NIM_NIL));
if (T3_) goto LA4_;
T3_ = ((*s).Sup.len == ((NI) 0));
LA4_: ;
if (!T3_) goto LA5_;
result = "";
}
goto LA1_;
LA5_: ;
{
result = ((NCSTRING) ((*s).data));
}
LA1_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void*, loadLib__pureZdynlib_3)(NimStringDesc* path, NIM_BOOL globalSymbols) {
void* result;
NI32 flags;
nimfr_("loadLib", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
result = (void*)0;
nimln_(111, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
nimln_(112, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
{
if (!globalSymbols) goto LA3_;
flags = ((NI32) 258);
}
goto LA1_;
LA3_: ;
{
flags = ((int) 2);
}
LA1_: ;
nimln_(115, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
result = dlopen(nimToCStringConv(path), flags);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void*, loadLibPattern__pureZdynlib_49)(NimStringDesc* pattern, NIM_BOOL globalSymbols) {
void* result;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* candidates;
nimfr_("loadLibPattern", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
result = (void*)0;
nimln_(93, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
candidates = newSeq__systemZio_504(((NI) 0));
nimln_(94, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
libCandidates__pureZdynlib_37(pattern, (&candidates));
{
NimStringDesc** c;
NI i;
NI L;
NI T2_;
c = (NimStringDesc**)0;
nimln_(235, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
i = ((NI) 0);
nimln_(236, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
T2_ = (candidates ? candidates->Sup.len : 0);
L = T2_;
{
nimln_(237, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
while (1) {
NI TM__Vbi6rBBOqdMySprhH3iUcg_11;
if (!(i < L)) goto LA4;
nimln_(95, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
if (i < 0 || i >= (candidates ? candidates->Sup.len : 0)){ raiseIndexError2(i,(candidates ? candidates->Sup.len : 0)-1); }
c = (&candidates->data[i]);
nimln_(96, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
result = loadLib__pureZdynlib_3((*c), globalSymbols);
nimln_(95, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
{
nimln_(97, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
if (!!((result == 0))) goto LA7_;
goto LA1;
}
LA7_: ;
nimln_(239, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
if (nimAddInt(i, ((NI) 1), &TM__Vbi6rBBOqdMySprhH3iUcg_11)) { raiseOverflow(); };
i = (NI)(TM__Vbi6rBBOqdMySprhH3iUcg_11);
nimln_(240, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
{
NI T11_;
T11_ = (candidates ? candidates->Sup.len : 0);
if (!!((T11_ == L))) goto LA12_;
failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__Vbi6rBBOqdMySprhH3iUcg_12));
}
LA12_: ;
} LA4: ;
}
} LA1: ;
popFrame();
return result;
}
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
NI result;
nimfr_("+%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = (NI)0;
nimln_(403, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
nimln_(407, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(void, incRef__system_5337)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("incRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(231, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
nimfr_("asgnRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(286, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
if (!!((src == NIM_NIL))) goto LA3_;
T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T5_ = usrToCell__system_5299(src);
incRef__system_5337(T5_);
}
LA3_: ;
nimln_(287, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
if (!!(((*dest) == NIM_NIL))) goto LA8_;
T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T10_ = usrToCell__system_5299((*dest));
decRef__system_5344(T10_);
}
LA8_: ;
nimln_(288, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
(*dest) = src;
popFrame();
}
N_LIB_PRIVATE N_NOINLINE(void, raiseInvalidLibrary__pureZdynlib_9)(NCSTRING name) {
tyObject_LibraryError__x1muge9crz9aAVqWWUrEL9aXg* T1_;
NimStringDesc* T2_;
NimStringDesc* T3_;
nimfr_("raiseInvalidLibrary", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
T1_ = NIM_NIL;
T1_ = (tyObject_LibraryError__x1muge9crz9aAVqWWUrEL9aXg*) newObj((&NTIreflibraryerror__HV2B9a6TW6WPpQna2mQFeQQ_), sizeof(tyObject_LibraryError__x1muge9crz9aAVqWWUrEL9aXg));
(*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIlibraryerror__x1muge9crz9aAVqWWUrEL9aXg_);
(*T1_).Sup.Sup.Sup.name = "LibraryError";
nimln_(64, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim");
T2_ = NIM_NIL;
T3_ = NIM_NIL;
T3_ = cstrToNimstr(name);
T2_ = rawNewString((T3_ ? T3_->Sup.len : 0) + 23);
appendString(T2_, ((NimStringDesc*) &TM__Vbi6rBBOqdMySprhH3iUcg_13));
appendString(T2_, T3_);
asgnRef((void**) (&(*T1_).Sup.Sup.Sup.message), T2_);
asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
raiseExceptionEx((Exception*)T1_, "LibraryError", "raiseInvalidLibrary", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/dynlib.nim", 64);
popFrame();
}