1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
22 typedef struct TNimType TNimType;
23 typedef struct TNimNode TNimNode;
24 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
25 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
26 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
27 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
28 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
29 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
30 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
31 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
32 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
33 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
34 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
35 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
36 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
37 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
38 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
39 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
40 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
41 typedef struct tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg;
42 typedef struct NimStringDesc NimStringDesc;
43 typedef struct TGenericSeq TGenericSeq;
44 typedef struct tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg;
45 typedef struct RootObj RootObj;
46 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
47 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
48 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
49 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
50 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
51 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
52 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
53 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
54 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
55 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
56 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
57 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
58 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
59 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
60 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
61 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
62 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
63 typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw;
64 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
65 typedef struct Exception Exception;
66 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
67 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
68 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
69 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
70 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
71 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
72 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
73 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
74 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
75 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
76 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
77 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
78 struct TNimType {
79 NI size;
80 NI align;
81 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
82 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
83 TNimType* base;
84 TNimNode* node;
85 void* finalizer;
86 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
87 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
88 };
89 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
90 struct TNimNode {
91 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
92 NI offset;
93 TNimType* typ;
94 NCSTRING name;
95 NI len;
96 TNimNode** sons;
97 };
98 typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
99 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
100 NI refcount;
101 TNimType* typ;
102 };
103 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
104 void* bottom;
105 };
106 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
107 NI len;
108 NI cap;
109 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
110 };
111 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
112 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
113 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
114 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
115 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
116 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
117 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
118 };
119 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
120 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
121 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
122 NI key;
123 NI upperBound;
124 NI level;
125 };
126 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
127 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
128 NI Field1;
129 };
130 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
131 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
132 NI len;
133 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
134 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
135 };
136 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
137 NI minLargeObj;
138 NI maxLargeObj;
139 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
140 NU32 flBitmap;
141 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
142 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
143 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
144 NI currMem;
145 NI maxMem;
146 NI freeMem;
147 NI occ;
148 NI lastSize;
149 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
150 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
151 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
152 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
153 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
154 NIM_BOOL locked;
155 NIM_BOOL blockChunkSizeIncrease;
156 NI nextChunkSize;
157 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
158 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
159 };
160 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
161 NI stackScans;
162 NI cycleCollections;
163 NI maxThreshold;
164 NI maxStackSize;
165 NI maxStackCells;
166 NI cycleTableSize;
167 NI64 maxPause;
168 };
169 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
170 NI counter;
171 NI max;
172 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
173 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
174 };
175 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
176 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
177 NI cycleThreshold;
178 NI zctThreshold;
179 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
180 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
181 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
182 NI recGcLock;
183 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
184 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
185 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
186 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
187 NI gcThreadId;
188 };
189 typedef NU8 tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA;
190 struct TGenericSeq {
191 NI len;
192 NI reserved;
193 };
194 struct NimStringDesc {
195   TGenericSeq Sup;
196 NIM_CHAR data[SEQ_DECL_SIZE];
197 };
198 typedef struct {
199 N_NIMCALL_PTR(void, ClP_0) (tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, NimStringDesc* cmd, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, void* ClE_0);
200 void* ClE_0;
201 } tyProc__34NX3arOx349cB4sFiTD3uA;
202 struct tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg {
203 NIM_BOOL suggestMode;
204 NIM_BOOL supportsStdinFile;
205 tyProc__34NX3arOx349cB4sFiTD3uA processCmdLine;
206 };
207 struct RootObj {
208 TNimType* m_type;
209 };
210 typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
211 typedef NU8 tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA;
212 struct tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg {
213   RootObj Sup;
214 NI pos;
215 NIM_BOOL inShortState;
216 NIM_BOOL allowWhitespaceAfterColon;
217 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw shortNoVal;
218 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* longNoVal;
219 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds;
220 NI idx;
221 tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA kind;
222 NimStringDesc* key;
223 NimStringDesc* val;
224 };
225 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
226 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
227 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
228 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
229 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
230 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
231 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
232 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
233 NI intSize;
234 NI floatSize;
235 NI ptrSize;
236 NimStringDesc* tnl;
237 };
238 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
239 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
240 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
241 NU16 line;
242 NI16 col;
243 NI32 fileIndex;
244 };
245 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
246 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
247 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
248 NI counter;
249 };
250 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
251 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
252 NIM_BOOL trackPosAttached;
253 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
254 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
255 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
256 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
257 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
258 NI32 systemFileIdx;
259 };
260 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
261 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
262 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
263 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
264 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
265 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
266 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
267 NI counter;
268 };
269 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
270 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
271 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
272 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
273 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
274 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
275 NI Field0;
276 NI Field1;
277 NI Field2;
278 };
279 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
280 typedef struct {
281 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
282 void* ClE_0;
283 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
284 typedef struct {
285 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
286 void* ClE_0;
287 } tyProc__k2HFjxisIgDALbEUFojxaQ;
288 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
289 typedef struct {
290 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
291 void* ClE_0;
292 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
293 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
294 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
295 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
296 NI linesCompiled;
297 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
298 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
299 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
300 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
301 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
302 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
303 NimStringDesc* unitSep;
304 NI evalTemplateCounter;
305 NI evalMacroCounter;
306 NI8 exitcode;
307 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
308 NimStringDesc* cmdInput;
309 NIM_BOOL projectIsCmd;
310 NIM_BOOL implicitCmd;
311 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
312 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
313 NIM_BOOL hintProcessingDots;
314 NI verbosity;
315 NI numberOfProcessors;
316 NF lastCmdTime;
317 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
318 NI spellSuggestMax;
319 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
320 NimStringDesc* headerFile;
321 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
322 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
323 NimStringDesc* arguments;
324 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
325 NIM_BOOL oldNewlines;
326 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
327 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
328 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
329 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
330 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
331 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
332 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
333 NI mainPackageId;
334 NI errorCounter;
335 NI hintCounter;
336 NI warnCounter;
337 NI errorMax;
338 NI maxLoopIterationsVM;
339 NIM_BOOL isVmTrace;
340 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
341 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
342 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
343 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
344 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
345 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
346 NimStringDesc* outFile;
347 NimStringDesc* outDir;
348 NimStringDesc* jsonBuildFile;
349 NimStringDesc* prefixDir;
350 NimStringDesc* libpath;
351 NimStringDesc* nimcacheDir;
352 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
353 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
354 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
355 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
356 NimStringDesc* projectName;
357 NimStringDesc* projectPath;
358 NimStringDesc* projectFull;
359 NIM_BOOL projectIsStdin;
360 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
361 NI32 projectMainIdx;
362 NI32 projectMainIdx2;
363 NimStringDesc* command;
364 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
365 NimStringDesc* commandLine;
366 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
367 NIM_BOOL keepComments;
368 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
369 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
370 NimStringDesc* docSeeSrcUrl;
371 NimStringDesc* docRoot;
372 NimStringDesc* docCmd;
373 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
374 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
375 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
376 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
377 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
378 NimStringDesc* linkOptionsCmd;
379 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
380 NimStringDesc* linkOptions;
381 NimStringDesc* compileOptions;
382 NimStringDesc* cCompilerPath;
383 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
384 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
385 NI suggestVersion;
386 NI suggestMaxResults;
387 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
388 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
389 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
390 NimStringDesc* cppCustomNamespace;
391 NimStringDesc* nimMainPrefix;
392 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
393 };
394 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
395 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
396 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
397 NimStringDesc* Field0;
398 NI Field1;
399 NI Field2;
400 };
401 typedef N_CLOSURE_PTR(void, TM__6xNBOpPeN0DsJ34t7RoSng_9) (tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, NimStringDesc* cmd, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, void* ClE_0);
402 typedef NU8 tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug;
403 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
404 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
405 struct Exception {
406   RootObj Sup;
407 Exception* parent;
408 NCSTRING name;
409 NimStringDesc* message;
410 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
411 Exception* up;
412 };
413 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
414   Exception Sup;
415 };
416 struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
417   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
418 };
419 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
420 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
421 NimStringDesc* Field1;
422 };
423 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
424 NI Field0;
425 NimStringDesc* Field1;
426 NI32 Field2;
427 };
428 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
429 NimStringDesc* fullPath;
430 NimStringDesc* projPath;
431 NimStringDesc* shortName;
432 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
433 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
434 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
435 NimStringDesc* dirtyFile;
436 NimStringDesc* hash;
437 NIM_BOOL dirty;
438 };
439 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
440 NI Field0;
441 NimStringDesc* Field1;
442 };
443 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
444 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
445 NimStringDesc* nimname;
446 NimStringDesc* cname;
447 NimStringDesc* obj;
448 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
449 NimStringDesc* customArgs;
450 };
451 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
452 NCSTRING procname;
453 NI line;
454 NCSTRING filename;
455 };
456 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
457   TGenericSeq Sup;
458   NimStringDesc* data[SEQ_DECL_SIZE];
459 };
460 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
461   TGenericSeq Sup;
462   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
463 };
464 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
465   TGenericSeq Sup;
466   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
467 };
468 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
469   TGenericSeq Sup;
470   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
471 };
472 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
473   TGenericSeq Sup;
474   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
475 };
476 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
477   TGenericSeq Sup;
478   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
479 };
480 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
481   TGenericSeq Sup;
482   tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
483 };
484 N_LIB_PRIVATE N_NIMCALL(void, GC_disableMarkAndSweep__system_2267)(void);
485 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
486 static N_NIMCALL(void, TM__6xNBOpPeN0DsJ34t7RoSng_2)(void);
487 N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
488 N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*, newConfigRef__options_2320)(void);
489 static N_INLINE(void, asgnRef)(void** dest, void* src);
490 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
491 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
492 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr);
493 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
494 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
495 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
496 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
497 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
498 N_LIB_PRIVATE N_NIMCALL(void, handleCmdLine__nim_41)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
499 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
500 N_LIB_PRIVATE N_NIMCALL(void, processCmdLine__nim_16)(tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, NimStringDesc* cmd, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
501 static N_INLINE(void, nimZeroMem)(void* p, NI size);
502 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
503 N_LIB_PRIVATE N_NIMCALL(void, initOptParser__pureZparseopt_51)(NimStringDesc* cmdline, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw shortNoVal, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* longNoVal, NIM_BOOL allowWhitespaceAfterColon, tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* Result);
504 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
505 N_LIB_PRIVATE N_NIMCALL(void, nponext)(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* p);
506 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
507 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
508 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
509 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
510 N_LIB_PRIVATE N_NIMCALL(void, addCmdPrefix__cmdlinehelper_16)(NimStringDesc** result, tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA kind);
511 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s);
512 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
513 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
514 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, processArgument__commands_1518)(tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* p, NI* argsCount, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
515 N_LIB_PRIVATE N_NIMCALL(void, processSwitch__commands_1511)(tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* p, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
516 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
517 N_LIB_PRIVATE N_NIMCALL(void, initDefinesProg__cmdlinehelper_28)(tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg* self, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* name);
518 N_LIB_PRIVATE N_NIMCALL(NI, paramCount__pureZos_1532)(void);
519 N_LIB_PRIVATE N_NIMCALL(void, writeCommandLineUsage__commands_169)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
520 N_LIB_PRIVATE N_NIMCALL(void, processCmdLineAndProjectPath__cmdlinehelper_32)(tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg* self, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
521 N_LIB_PRIVATE N_NIMCALL(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ*, newModuleGraph__modulegraphs_9074)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
522 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, loadConfigsAndProcessCmdLine__cmdlinehelper_43)(tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg* self, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph);
523 N_LIB_PRIVATE N_NIMCALL(void, mainCommand__main_500)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph);
524 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint__options_517)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note);
525 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, GC_getStatistics__system_2268)(void);
526 N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
527 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absOutFile__options_4038)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
528 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getNimRunExe__nim_38)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
529 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_2279)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* symbol);
530 static N_INLINE(NimStringDesc*, findNodeJs__nodejs_2)(void);
531 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findExe__pureZos_644)(NimStringDesc* exe, NIM_BOOL followSymlinks, NimStringDesc** extensions, NI extensionsLen_0);
532 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
533 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
534 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
535 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
536 N_LIB_PRIVATE N_NIMCALL(void, execExternalProgram__extccomp_808)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg);
537 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
538 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
539 N_LIB_PRIVATE N_NIMCALL(void, openDefaultBrowser__pureZbrowsers_13)(NimStringDesc* url);
540 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___options_4373)(NimStringDesc* x);
541 N_LIB_PRIVATE N_NIMCALL(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw*, newIdentCache__idents_152)(void);
542 N_LIB_PRIVATE N_NIMCALL(void, msgQuit__msgs_442)(NI8 x);
543 static N_INLINE(void, initStackBottomWith)(void* locals);
544 N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
545 N_LIB_PRIVATE N_NIMCALL(void, stdlib_ioDatInit000)(void);
546 N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
547 N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
548 N_LIB_PRIVATE N_NIMCALL(void, stdlib_strutilsDatInit000)(void);
549 N_LIB_PRIVATE N_NIMCALL(void, stdlib_posixDatInit000)(void);
550 N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesDatInit000)(void);
551 N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesInit000)(void);
552 N_LIB_PRIVATE N_NIMCALL(void, stdlib_osDatInit000)(void);
553 N_LIB_PRIVATE N_NIMCALL(void, stdlib_parseoptDatInit000)(void);
554 N_LIB_PRIVATE N_NIMCALL(void, stdlib_strtabsDatInit000)(void);
555 N_LIB_PRIVATE N_NIMCALL(void, stdlib_terminalDatInit000)(void);
556 N_LIB_PRIVATE N_NIMCALL(void, stdlib_terminalInit000)(void);
557 N_LIB_PRIVATE N_NIMCALL(void, compiler_ropesDatInit000)(void);
558 N_LIB_PRIVATE N_NIMCALL(void, compiler_ropesInit000)(void);
559 N_LIB_PRIVATE N_NIMCALL(void, compiler_lineinfosDatInit000)(void);
560 N_LIB_PRIVATE N_NIMCALL(void, compiler_platformDatInit000)(void);
561 N_LIB_PRIVATE N_NIMCALL(void, compiler_prefixmatchesDatInit000)(void);
562 N_LIB_PRIVATE N_NIMCALL(void, compiler_optionsDatInit000)(void);
563 N_LIB_PRIVATE N_NIMCALL(void, stdlib_streamsDatInit000)(void);
564 N_LIB_PRIVATE N_NIMCALL(void, stdlib_osprocDatInit000)(void);
565 N_LIB_PRIVATE N_NIMCALL(void, stdlib_lexbaseDatInit000)(void);
566 N_LIB_PRIVATE N_NIMCALL(void, stdlib_parsejsonDatInit000)(void);
567 N_LIB_PRIVATE N_NIMCALL(void, stdlib_jsonDatInit000)(void);
568 N_LIB_PRIVATE N_NIMCALL(void, compiler_extccompDatInit000)(void);
569 N_LIB_PRIVATE N_NIMCALL(void, compiler_wordrecgDatInit000)(void);
570 N_LIB_PRIVATE N_NIMCALL(void, compiler_nimblecmdDatInit000)(void);
571 N_LIB_PRIVATE N_NIMCALL(void, compiler_identsDatInit000)(void);
572 N_LIB_PRIVATE N_NIMCALL(void, compiler_astDatInit000)(void);
573 N_LIB_PRIVATE N_NIMCALL(void, compiler_astInit000)(void);
574 N_LIB_PRIVATE N_NIMCALL(void, compiler_llstreamDatInit000)(void);
575 N_LIB_PRIVATE N_NIMCALL(void, compiler_nimlexbaseDatInit000)(void);
576 N_LIB_PRIVATE N_NIMCALL(void, compiler_lexerDatInit000)(void);
577 N_LIB_PRIVATE N_NIMCALL(void, compiler_parserDatInit000)(void);
578 N_LIB_PRIVATE N_NIMCALL(void, compiler_rendererDatInit000)(void);
579 N_LIB_PRIVATE N_NIMCALL(void, compiler_syntaxesDatInit000)(void);
580 N_LIB_PRIVATE N_NIMCALL(void, stdlib_packedsetsDatInit000)(void);
581 N_LIB_PRIVATE N_NIMCALL(void, compiler_astalgoDatInit000)(void);
582 N_LIB_PRIVATE N_NIMCALL(void, stdlib_md5DatInit000)(void);
583 N_LIB_PRIVATE N_NIMCALL(void, compiler_rodfilesDatInit000)(void);
584 N_LIB_PRIVATE N_NIMCALL(void, compiler_packed_astDatInit000)(void);
585 N_LIB_PRIVATE N_NIMCALL(void, compiler_icDatInit000)(void);
586 N_LIB_PRIVATE N_NIMCALL(void, compiler_modulegraphsDatInit000)(void);
587 N_LIB_PRIVATE N_NIMCALL(void, compiler_typesDatInit000)(void);
588 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmdefDatInit000)(void);
589 N_LIB_PRIVATE N_NIMCALL(void, compiler_semdataDatInit000)(void);
590 N_LIB_PRIVATE N_NIMCALL(void, compiler_lookupsDatInit000)(void);
591 N_LIB_PRIVATE N_NIMCALL(void, compiler_conceptsDatInit000)(void);
592 N_LIB_PRIVATE N_NIMCALL(void, compiler_semtypinstDatInit000)(void);
593 N_LIB_PRIVATE N_NIMCALL(void, compiler_sigmatchDatInit000)(void);
594 N_LIB_PRIVATE N_NIMCALL(void, compiler_importerDatInit000)(void);
595 N_LIB_PRIVATE N_NIMCALL(void, compiler_pragmasDatInit000)(void);
596 N_LIB_PRIVATE N_NIMCALL(void, compiler_reorderDatInit000)(void);
597 N_LIB_PRIVATE N_NIMCALL(void, compiler_guardsDatInit000)(void);
598 N_LIB_PRIVATE N_NIMCALL(void, compiler_varpartitionsDatInit000)(void);
599 N_LIB_PRIVATE N_NIMCALL(void, compiler_nilcheckDatInit000)(void);
600 N_LIB_PRIVATE N_NIMCALL(void, compiler_sighashesDatInit000)(void);
601 N_LIB_PRIVATE N_NIMCALL(void, compiler_ndiDatInit000)(void);
602 N_LIB_PRIVATE N_NIMCALL(void, compiler_cgendataDatInit000)(void);
603 N_LIB_PRIVATE N_NIMCALL(void, compiler_lambdaliftingDatInit000)(void);
604 N_LIB_PRIVATE N_NIMCALL(void, compiler_closureitersDatInit000)(void);
605 N_LIB_PRIVATE N_NIMCALL(void, compiler_transfDatInit000)(void);
606 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmgenDatInit000)(void);
607 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmmarshalDatInit000)(void);
608 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmDatInit000)(void);
609 N_LIB_PRIVATE N_NIMCALL(void, compiler_patternsDatInit000)(void);
610 N_LIB_PRIVATE N_NIMCALL(void, compiler_semDatInit000)(void);
611 N_LIB_PRIVATE N_NIMCALL(void, compiler_dfaDatInit000)(void);
612 N_LIB_PRIVATE N_NIMCALL(void, compiler_injectdestructorsDatInit000)(void);
613 N_LIB_PRIVATE N_NIMCALL(void, compiler_semparallelDatInit000)(void);
614 N_LIB_PRIVATE N_NIMCALL(void, compiler_cgenDatInit000)(void);
615 N_LIB_PRIVATE N_NIMCALL(void, compiler_scriptconfigDatInit000)(void);
616 N_LIB_PRIVATE N_NIMCALL(void, compiler_nimconfDatInit000)(void);
617 N_LIB_PRIVATE N_NIMCALL(void, compiler_passauxDatInit000)(void);
618 N_LIB_PRIVATE N_NIMCALL(void, compiler_dependsDatInit000)(void);
619 N_LIB_PRIVATE N_NIMCALL(void, compiler_dceDatInit000)(void);
620 N_LIB_PRIVATE N_NIMCALL(void, compiler_integrityDatInit000)(void);
621 N_LIB_PRIVATE N_NIMCALL(void, compiler_sourcemapDatInit000)(void);
622 N_LIB_PRIVATE N_NIMCALL(void, compiler_sourcemapInit000)(void);
623 N_LIB_PRIVATE N_NIMCALL(void, compiler_jsgenDatInit000)(void);
624 N_LIB_PRIVATE N_NIMCALL(void, stdlib_rstastDatInit000)(void);
625 N_LIB_PRIVATE N_NIMCALL(void, stdlib_highliteDatInit000)(void);
626 N_LIB_PRIVATE N_NIMCALL(void, stdlib_rstDatInit000)(void);
627 N_LIB_PRIVATE N_NIMCALL(void, stdlib_rstgenDatInit000)(void);
628 N_LIB_PRIVATE N_NIMCALL(void, compiler_docgenDatInit000)(void);
629 N_LIB_PRIVATE N_NIMCALL(void, compiler_docgen2DatInit000)(void);
630 N_LIB_PRIVATE N_NIMCALL(void, compiler_mainDatInit000)(void);
631 N_LIB_PRIVATE N_NIMCALL(void, compiler_cmdlinehelperDatInit000)(void);
632 N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
633 extern TNimType NTIconfigref__a8lycfSA25OQltN3OMeBsA_;
634 extern TNimType NTInimprog__oQuE3daAnIJJmmxLCZ80bA_;
635 extern TNimType NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_;
636 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6xNBOpPeN0DsJ34t7RoSng_3 = {
637 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
638 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
639 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
640 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
641 ;
642 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_4, " ", 1);
643 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_5, "-", 1);
644 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
645 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_6, "arguments can only be given if the \'--run\' option is selected", 61);
646 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_8, "/home/runner/work/nightlies/nightlies/nim/compiler/nim.nim", 58);
647 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__6xNBOpPeN0DsJ34t7RoSng_7 = {((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_8),
648 ((NI) 71),
649 ((NI) 16)}
650 ;
651 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_10, "nim_compiler", 12);
652 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_11, "mingw", 5);
653 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_12, "i386", 4);
654 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_13, "wine", 4);
655 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_14, "amd64", 5);
656 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_15, "wine64", 6);
657 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_16, "nodejs", 6);
658 extern NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA ExeExts__pureZos_643;
659 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_17, "node", 4);
660 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_19, "Please install NodeJS first, see https://nodejs.org/en/download", 63);
661 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__6xNBOpPeN0DsJ34t7RoSng_18 = {((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_19)}
662 ;
663 extern TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_;
664 extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
665 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_20, "NodeJS not found in PATH: ", 26);
666 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_21, " --unhandled-rejections=strict", 30);
667 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_22, "nim.nim(115, 22) `false` ", 25);
668 extern TNimType NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_;
669 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_23, "\'$1 cannot handle arguments", 27);
670 extern TNimType NTIcommand__0zjcIQ623TIRGPdtjLwTFA_;
671 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__6xNBOpPeN0DsJ34t7RoSng_24 = {((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_8),
672 ((NI) 123),
673 ((NI) 18)}
674 ;
675 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_25, "\'$1 cannot handle --run", 23);
676 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__6xNBOpPeN0DsJ34t7RoSng_26 = {((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_8),
677 ((NI) 127),
678 ((NI) 16)}
679 ;
680 N_LIB_PRIVATE tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf__nim_106;
681 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5218;
N_NIMCALL(void,TM__6xNBOpPeN0DsJ34t7RoSng_2)682 static N_NIMCALL(void, TM__6xNBOpPeN0DsJ34t7RoSng_2)(void) {
683 	nimGCvisit((void*)conf__nim_106, 0);
684 }
N_INLINE(NI,pluspercent___system_696)685 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
686 	NI result;
687 	result = (NI)0;
688 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
689 	return result;
690 }
N_INLINE(void,incRef__system_5309)691 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
692 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
693 }
N_INLINE(NI,minuspercent___system_716)694 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
695 	NI result;
696 	result = (NI)0;
697 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
698 	return result;
699 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5271)700 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr) {
701 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
702 	NI T1_;
703 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
704 	T1_ = (NI)0;
705 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
706 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
707 	return result;
708 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)709 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
710 	NIM_BOOL result;
711 	result = (NIM_BOOL)0;
712 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
713 	return result;
714 }
N_INLINE(void,rtlAddZCT__system_5314)715 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
716 	addZCT__system_5265((&gch__system_5218.zct), c);
717 }
N_INLINE(void,decRef__system_5316)718 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
719 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
720 	{
721 		NIM_BOOL T3_;
722 		T3_ = (NIM_BOOL)0;
723 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
724 		if (!T3_) goto LA4_;
725 		rtlAddZCT__system_5314(c);
726 	}
727 	LA4_: ;
728 }
N_INLINE(void,asgnRef)729 static N_INLINE(void, asgnRef)(void** dest, void* src) {
730 	{
731 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
732 		if (!!((src == NIM_NIL))) goto LA3_;
733 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
734 		T5_ = usrToCell__system_5271(src);
735 		incRef__system_5309(T5_);
736 	}
737 	LA3_: ;
738 	{
739 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
740 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
741 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
742 		T10_ = usrToCell__system_5271((*dest));
743 		decRef__system_5316(T10_);
744 	}
745 	LA8_: ;
746 	(*dest) = src;
747 }
N_INLINE(void,nimSetMem__systemZmemory_7)748 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
749 	void* T1_;
750 	T1_ = (void*)0;
751 	T1_ = memset(a, v, ((size_t) (size)));
752 }
N_INLINE(void,nimZeroMem)753 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
754 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
755 }
N_INLINE(void,nimCopyMem)756 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
757 	void* T1_;
758 	T1_ = (void*)0;
759 	T1_ = memcpy(dest, source, ((size_t) (size)));
760 }
N_INLINE(void,copyMem__system_1727)761 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
762 	nimCopyMem(dest, source, size);
763 }
N_INLINE(void,appendString)764 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
765 	{
766 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
767 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
768 		(*dest).Sup.len += (*src).Sup.len;
769 	}
770 	LA3_: ;
771 }
N_NIMCALL(void,processCmdLine__nim_16)772 N_LIB_PRIVATE N_NIMCALL(void, processCmdLine__nim_16)(tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, NimStringDesc* cmd, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {
773 	tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg p;
774 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* T1_;
775 	NI argsCount;
776 	nimZeroMem((void*)(&p), sizeof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg));
777 	p.Sup.m_type = (&NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_);
778 	T1_ = NIM_NIL;
779 	T1_ = NIM_NIL;
780 	initOptParser__pureZparseopt_51(cmd, TM__6xNBOpPeN0DsJ34t7RoSng_3, T1_, NIM_TRUE, (&p));
781 	argsCount = ((NI) 0);
782 	asgnRef((void**) (&(*config).commandLine), setLengthStr((*config).commandLine, ((NI) 0)));
783 	{
784 		while (1) {
785 			nponext((&p));
786 			switch (p.kind) {
787 			case ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 0):
788 			{
789 				goto LA2;
790 			}
791 			break;
792 			case ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 2):
793 			case ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 3):
794 			{
795 				NimStringDesc* T6_;
796 				asgnRef((void**) (&(*config).commandLine), resizeString((*config).commandLine, 1));
797 appendString((*config).commandLine, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_4));
798 				addCmdPrefix__cmdlinehelper_16((&(*config).commandLine), p.kind);
799 				T6_ = NIM_NIL;
800 				T6_ = nospquoteShell(p.key);
801 				asgnRef((void**) (&(*config).commandLine), resizeString((*config).commandLine, (T6_ ? T6_->Sup.len : 0) + 0));
802 appendString((*config).commandLine, T6_);
803 				{
804 					NimStringDesc* T11_;
805 					if (!(((NI) 0) < (p.val ? p.val->Sup.len : 0))) goto LA9_;
806 					asgnRef((void**) (&(*config).commandLine), addChar((*config).commandLine, 58));
807 					T11_ = NIM_NIL;
808 					T11_ = nospquoteShell(p.val);
809 					asgnRef((void**) (&(*config).commandLine), resizeString((*config).commandLine, (T11_ ? T11_->Sup.len : 0) + 0));
810 appendString((*config).commandLine, T11_);
811 				}
812 				LA9_: ;
813 				{
814 					if (!((p.key ? p.key->Sup.len : 0) == 0)) goto LA14_;
815 					p.key = copyString(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_5));
816 					{
817 						NIM_BOOL T18_;
818 						T18_ = (NIM_BOOL)0;
819 						T18_ = processArgument__commands_1518(pass, (&p), (&argsCount), config);
820 						if (!T18_) goto LA19_;
821 						goto LA2;
822 					}
823 					LA19_: ;
824 				}
825 				goto LA12_;
826 				LA14_: ;
827 				{
828 					processSwitch__commands_1511(pass, (&p), config);
829 				}
830 				LA12_: ;
831 			}
832 			break;
833 			case ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 1):
834 			{
835 				NimStringDesc* T23_;
836 				asgnRef((void**) (&(*config).commandLine), resizeString((*config).commandLine, 1));
837 appendString((*config).commandLine, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_4));
838 				T23_ = NIM_NIL;
839 				T23_ = nospquoteShell(p.key);
840 				asgnRef((void**) (&(*config).commandLine), resizeString((*config).commandLine, (T23_ ? T23_->Sup.len : 0) + 0));
841 appendString((*config).commandLine, T23_);
842 				{
843 					NIM_BOOL T26_;
844 					T26_ = (NIM_BOOL)0;
845 					T26_ = processArgument__commands_1518(pass, (&p), (&argsCount), config);
846 					if (!T26_) goto LA27_;
847 					goto LA2;
848 				}
849 				LA27_: ;
850 			}
851 			break;
852 			}
853 		}
854 	} LA2: ;
855 	{
856 		if (!(pass == ((tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA) 1))) goto LA31_;
857 		{
858 			NIM_BOOL T35_;
859 			NIM_BOOL T36_;
860 			T35_ = (NIM_BOOL)0;
861 			T36_ = (NIM_BOOL)0;
862 			T36_ = ((4100 & (*config).globalOptions) == 0);
863 			if (!(T36_)) goto LA37_;
864 			T36_ = (((NI) 0) < ((*config).arguments ? (*config).arguments->Sup.len : 0));
865 			LA37_: ;
866 			T35_ = T36_;
867 			if (!(T35_)) goto LA38_;
868 			T35_ = !(((4288 &((NU32)1<<((NU)((*config).cmd)&31U)))!=0));
869 			LA38_: ;
870 			if (!T35_) goto LA39_;
871 			liMessage__msgs_1118(config, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_6), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__6xNBOpPeN0DsJ34t7RoSng_7, NIM_FALSE);
872 		}
873 		LA39_: ;
874 	}
875 	LA31_: ;
876 }
N_NIMCALL(NimStringDesc *,getNimRunExe__nim_38)877 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getNimRunExe__nim_38)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
878 	NimStringDesc* result;
879 	result = NIM_NIL;
880 	{
881 		NIM_BOOL T3_;
882 		T3_ = (NIM_BOOL)0;
883 		T3_ = isDefined__options_2279(conf, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_11));
884 		if (!T3_) goto LA4_;
885 		{
886 			NIM_BOOL T8_;
887 			T8_ = (NIM_BOOL)0;
888 			T8_ = isDefined__options_2279(conf, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_12));
889 			if (!T8_) goto LA9_;
890 			result = copyString(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_13));
891 		}
892 		goto LA6_;
893 		LA9_: ;
894 		{
895 			NIM_BOOL T12_;
896 			T12_ = (NIM_BOOL)0;
897 			T12_ = isDefined__options_2279(conf, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_14));
898 			if (!T12_) goto LA13_;
899 			result = copyString(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_15));
900 		}
901 		goto LA6_;
902 		LA13_: ;
903 		LA6_: ;
904 	}
905 	LA4_: ;
906 	return result;
907 }
N_INLINE(NimStringDesc *,findNodeJs__nodejs_2)908 static N_INLINE(NimStringDesc*, findNodeJs__nodejs_2)(void) {
909 	NimStringDesc* result;
910 	result = NIM_NIL;
911 	result = findExe__pureZos_644(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_16), NIM_TRUE, ExeExts__pureZos_643, 1);
912 	{
913 		if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA3_;
914 		result = findExe__pureZos_644(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_17), NIM_TRUE, ExeExts__pureZos_643, 1);
915 	}
916 	LA3_: ;
917 	{
918 		tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T9_;
919 		NimStringDesc* T10_;
920 		if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA7_;
921 		echoBinSafe(TM__6xNBOpPeN0DsJ34t7RoSng_18, 1);
922 		T9_ = NIM_NIL;
923 		T9_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
924 		(*T9_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
925 		(*T9_).Sup.Sup.name = "IOError";
926 		T10_ = NIM_NIL;
927 		T10_ = rawNewString((result ? result->Sup.len : 0) + 26);
928 appendString(T10_, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_20));
929 appendString(T10_, result);
930 		asgnRef((void**) (&(*T9_).Sup.Sup.message), T10_);
931 		asgnRef((void**) (&(*T9_).Sup.Sup.parent), ((Exception*) NIM_NIL));
932 		raiseExceptionEx((Exception*)T9_, "IOError", "findNodeJs", "nodejs.nim", 10);
933 	}
934 	LA7_: ;
935 	return result;
936 }
N_INLINE(void,appendChar)937 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
938 	(*dest).data[(*dest).Sup.len] = c;
939 	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
940 	(*dest).Sup.len += ((NI) 1);
941 }
N_NIMCALL(void,handleCmdLine__nim_41)942 N_LIB_PRIVATE N_NIMCALL(void, handleCmdLine__nim_41)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
943 	tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg* self;
944 	tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg* T1_;
945 	tyProc__34NX3arOx349cB4sFiTD3uA T2_;
946 	tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
947 {	T1_ = NIM_NIL;
948 	T1_ = (tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg*) newObj((&NTInimprog__oQuE3daAnIJJmmxLCZ80bA_), sizeof(tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg));
949 	(*T1_).supportsStdinFile = NIM_TRUE;
950 	nimZeroMem((void*)(&T2_), sizeof(tyProc__34NX3arOx349cB4sFiTD3uA));
951 	T2_.ClP_0 = ((TM__6xNBOpPeN0DsJ34t7RoSng_9) (processCmdLine__nim_16)); T2_.ClE_0 = NIM_NIL;
952 	asgnRef((void**) (&(*T1_).processCmdLine.ClE_0), T2_.ClE_0);
953 	(*T1_).processCmdLine.ClP_0 = T2_.ClP_0;
954 	self = T1_;
955 	initDefinesProg__cmdlinehelper_28(self, conf, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_10));
956 	{
957 		NI T5_;
958 		T5_ = (NI)0;
959 		T5_ = paramCount__pureZos_1532();
960 		if (!(T5_ == ((NI) 0))) goto LA6_;
961 		writeCommandLineUsage__commands_169(conf);
962 		goto BeforeRet_;
963 	}
964 	LA6_: ;
965 	processCmdLineAndProjectPath__cmdlinehelper_32(self, conf);
966 	graph = newModuleGraph__modulegraphs_9074(cache, conf);
967 	{
968 		NIM_BOOL T10_;
969 		T10_ = (NIM_BOOL)0;
970 		T10_ = loadConfigsAndProcessCmdLine__cmdlinehelper_43(self, cache, conf, graph);
971 		if (!!(T10_)) goto LA11_;
972 		goto BeforeRet_;
973 	}
974 	LA11_: ;
975 	mainCommand__main_500(graph);
976 	{
977 		NIM_BOOL T15_;
978 		tyArray__nHXaesL0DJZHyVS07ARPRA T18_;
979 		T15_ = (NIM_BOOL)0;
980 		T15_ = hasHint__options_517(conf, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 95));
981 		if (!T15_) goto LA16_;
982 		nimZeroMem((void*)T18_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
983 		T18_[0] = GC_getStatistics__system_2268();
984 		echoBinSafe(T18_, 1);
985 	}
986 	LA16_: ;
987 	{
988 		if (!!(((*conf).errorCounter == ((NI) 0)))) goto LA21_;
989 		goto BeforeRet_;
990 	}
991 	LA21_: ;
992 	{
993 		NimStringDesc* output;
994 		if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 12))&63U)))!=0)) goto LA25_;
995 		output = absOutFile__options_4038(conf);
996 		switch ((*conf).cmd) {
997 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 2) ... ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 6):
998 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 7):
999 		{
1000 			NimStringDesc* nimRunExe;
1001 			NimStringDesc* cmdPrefix;
1002 			NimStringDesc* T50_;
1003 			NimStringDesc* T51_;
1004 			nimRunExe = getNimRunExe__nim_38(conf);
1005 			cmdPrefix = NIM_NIL;
1006 			{
1007 				NimStringDesc* T32_;
1008 				if (!(((NI) 0) < (nimRunExe ? nimRunExe->Sup.len : 0))) goto LA30_;
1009 				T32_ = NIM_NIL;
1010 				T32_ = nospquoteShell(nimRunExe);
1011 				cmdPrefix = resizeString(cmdPrefix, (T32_ ? T32_->Sup.len : 0) + 0);
1012 appendString(cmdPrefix, T32_);
1013 			}
1014 			LA30_: ;
1015 			switch ((*conf).backend) {
1016 			case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 1):
1017 			case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2):
1018 			case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 4):
1019 			{
1020 			}
1021 			break;
1022 			case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 3):
1023 			{
1024 				{
1025 					NimStringDesc* T39_;
1026 					if (!((cmdPrefix ? cmdPrefix->Sup.len : 0) == ((NI) 0))) goto LA37_;
1027 					T39_ = NIM_NIL;
1028 					T39_ = findNodeJs__nodejs_2();
1029 					cmdPrefix = nospquoteShell(T39_);
1030 				}
1031 				LA37_: ;
1032 				cmdPrefix = resizeString(cmdPrefix, 30);
1033 appendString(cmdPrefix, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_21));
1034 			}
1035 			break;
1036 			default:
1037 			{
1038 				{
1039 					NimStringDesc* T45_;
1040 					if (!NIM_TRUE) goto LA43_;
1041 					T45_ = NIM_NIL;
1042 					T45_ = rawNewString((reprEnum((NI)(*conf).backend, (&NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_)) ? reprEnum((NI)(*conf).backend, (&NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_))->Sup.len : 0) + 25);
1043 appendString(T45_, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_22));
1044 appendString(T45_, reprEnum((NI)(*conf).backend, (&NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_)));
1045 					failedAssertImpl__systemZassertions_56(T45_);
1046 				}
1047 				LA43_: ;
1048 			}
1049 			break;
1050 			}
1051 			{
1052 				if (!(((NI) 0) < (cmdPrefix ? cmdPrefix->Sup.len : 0))) goto LA48_;
1053 				cmdPrefix = resizeString(cmdPrefix, 1);
1054 appendString(cmdPrefix, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_4));
1055 			}
1056 			LA48_: ;
1057 			T50_ = NIM_NIL;
1058 			T51_ = NIM_NIL;
1059 			T51_ = nospquoteShell(output);
1060 			T50_ = rawNewString((cmdPrefix ? cmdPrefix->Sup.len : 0) + (T51_ ? T51_->Sup.len : 0) + ((*conf).arguments ? (*conf).arguments->Sup.len : 0) + 1);
1061 appendString(T50_, cmdPrefix);
1062 appendString(T50_, T51_);
1063 appendChar(T50_, 32);
1064 appendString(T50_, (*conf).arguments);
1065 			execExternalProgram__extccomp_808(conf, T50_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 89));
1066 		}
1067 		break;
1068 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 13) ... ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 15):
1069 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 16):
1070 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 17):
1071 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 18) ... ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 21):
1072 		{
1073 			NimStringDesc* T59_;
1074 			{
1075 				tyArray__nHXaesL0DJZHyVS07ARPRA T57_;
1076 				NimStringDesc* T58_;
1077 				if (!(((NI) 0) < ((*conf).arguments ? (*conf).arguments->Sup.len : 0))) goto LA55_;
1078 				nimZeroMem((void*)T57_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
1079 				T57_[0] = reprEnum((NI)(*conf).cmd, (&NTIcommand__0zjcIQ623TIRGPdtjLwTFA_));
1080 				T58_ = NIM_NIL;
1081 				T58_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_23), T57_, 1);
1082 				liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T58_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__6xNBOpPeN0DsJ34t7RoSng_24, NIM_FALSE);
1083 			}
1084 			LA55_: ;
1085 			T59_ = NIM_NIL;
1086 			T59_ = dollar___options_4373(output);
1087 			openDefaultBrowser__pureZbrowsers_13(T59_);
1088 		}
1089 		break;
1090 		default:
1091 		{
1092 			tyArray__nHXaesL0DJZHyVS07ARPRA T61_;
1093 			NimStringDesc* T62_;
1094 			nimZeroMem((void*)T61_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
1095 			T61_[0] = reprEnum((NI)(*conf).cmd, (&NTIcommand__0zjcIQ623TIRGPdtjLwTFA_));
1096 			T62_ = NIM_NIL;
1097 			T62_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_25), T61_, 1);
1098 			liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T62_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__6xNBOpPeN0DsJ34t7RoSng_26, NIM_FALSE);
1099 		}
1100 		break;
1101 		}
1102 	}
1103 	LA25_: ;
1104 	}BeforeRet_: ;
1105 }
N_INLINE(void,initStackBottomWith)1106 static N_INLINE(void, initStackBottomWith)(void* locals) {
1107 	nimGC_setStackBottom(locals);
1108 }
1109 
PreMainInner(void)1110 N_LIB_PRIVATE void PreMainInner(void) {
1111 	stdlib_timesInit000();
1112 	stdlib_terminalInit000();
1113 	compiler_ropesInit000();
1114 	compiler_astInit000();
1115 	compiler_sourcemapInit000();
1116 }
1117 
1118 N_LIB_PRIVATE int cmdCount;
1119 N_LIB_PRIVATE char** cmdLine;
1120 N_LIB_PRIVATE char** gEnv;
PreMain(void)1121 N_LIB_PRIVATE void PreMain(void) {
1122 	void (*volatile inner)(void);
1123 	inner = PreMainInner;
1124 	stdlib_ioDatInit000();
1125 	systemDatInit000();
1126 	initStackBottomWith((void *)&inner);
1127 	systemInit000();
1128 	stdlib_strutilsDatInit000();
1129 	stdlib_posixDatInit000();
1130 	stdlib_timesDatInit000();
1131 	stdlib_osDatInit000();
1132 	stdlib_parseoptDatInit000();
1133 	stdlib_strtabsDatInit000();
1134 	stdlib_terminalDatInit000();
1135 	compiler_ropesDatInit000();
1136 	compiler_lineinfosDatInit000();
1137 	compiler_platformDatInit000();
1138 	compiler_prefixmatchesDatInit000();
1139 	compiler_optionsDatInit000();
1140 	stdlib_streamsDatInit000();
1141 	stdlib_osprocDatInit000();
1142 	stdlib_lexbaseDatInit000();
1143 	stdlib_parsejsonDatInit000();
1144 	stdlib_jsonDatInit000();
1145 	compiler_extccompDatInit000();
1146 	compiler_wordrecgDatInit000();
1147 	compiler_nimblecmdDatInit000();
1148 	compiler_identsDatInit000();
1149 	compiler_astDatInit000();
1150 	compiler_llstreamDatInit000();
1151 	compiler_nimlexbaseDatInit000();
1152 	compiler_lexerDatInit000();
1153 	compiler_parserDatInit000();
1154 	compiler_rendererDatInit000();
1155 	compiler_syntaxesDatInit000();
1156 	stdlib_packedsetsDatInit000();
1157 	compiler_astalgoDatInit000();
1158 	stdlib_md5DatInit000();
1159 	compiler_rodfilesDatInit000();
1160 	compiler_packed_astDatInit000();
1161 	compiler_icDatInit000();
1162 	compiler_modulegraphsDatInit000();
1163 	compiler_typesDatInit000();
1164 	compiler_vmdefDatInit000();
1165 	compiler_semdataDatInit000();
1166 	compiler_lookupsDatInit000();
1167 	compiler_conceptsDatInit000();
1168 	compiler_semtypinstDatInit000();
1169 	compiler_sigmatchDatInit000();
1170 	compiler_importerDatInit000();
1171 	compiler_pragmasDatInit000();
1172 	compiler_reorderDatInit000();
1173 	compiler_guardsDatInit000();
1174 	compiler_varpartitionsDatInit000();
1175 	compiler_nilcheckDatInit000();
1176 	compiler_sighashesDatInit000();
1177 	compiler_ndiDatInit000();
1178 	compiler_cgendataDatInit000();
1179 	compiler_lambdaliftingDatInit000();
1180 	compiler_closureitersDatInit000();
1181 	compiler_transfDatInit000();
1182 	compiler_vmgenDatInit000();
1183 	compiler_vmmarshalDatInit000();
1184 	compiler_vmDatInit000();
1185 	compiler_patternsDatInit000();
1186 	compiler_semDatInit000();
1187 	compiler_dfaDatInit000();
1188 	compiler_injectdestructorsDatInit000();
1189 	compiler_semparallelDatInit000();
1190 	compiler_cgenDatInit000();
1191 	compiler_scriptconfigDatInit000();
1192 	compiler_nimconfDatInit000();
1193 	compiler_passauxDatInit000();
1194 	compiler_dependsDatInit000();
1195 	compiler_dceDatInit000();
1196 	compiler_integrityDatInit000();
1197 	compiler_sourcemapDatInit000();
1198 	compiler_jsgenDatInit000();
1199 	stdlib_rstastDatInit000();
1200 	stdlib_highliteDatInit000();
1201 	stdlib_rstDatInit000();
1202 	stdlib_rstgenDatInit000();
1203 	compiler_docgenDatInit000();
1204 	compiler_docgen2DatInit000();
1205 	compiler_mainDatInit000();
1206 	compiler_cmdlinehelperDatInit000();
1207 	(*inner)();
1208 }
1209 
N_CDECL(void,NimMainInner)1210 N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
1211 	NimMainModule();
1212 }
1213 
N_CDECL(void,NimMain)1214 N_CDECL(void, NimMain)(void) {
1215 	void (*volatile inner)(void);
1216 	PreMain();
1217 	inner = NimMainInner;
1218 	initStackBottomWith((void *)&inner);
1219 	(*inner)();
1220 }
1221 
main(int argc,char ** args,char ** env)1222 int main(int argc, char** args, char** env) {
1223 	cmdLine = args;
1224 	cmdCount = argc;
1225 	gEnv = env;
1226 	NimMain();
1227 	return nim_program_result;
1228 }
1229 
N_NIMCALL(void,NimMainModule)1230 N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
1231 {
1232 	TFrame FR_; FR_.len = 0;
1233 
1234 	nimRegisterGlobalMarker(TM__6xNBOpPeN0DsJ34t7RoSng_2);
1235 
1236 }/* preInitProc end */
1237 {
1238 	tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* T1_;
1239 	GC_disableMarkAndSweep__system_2267();
1240 	asgnRef((void**) (&conf__nim_106), newConfigRef__options_2320());
1241 	T1_ = NIM_NIL;
1242 	T1_ = newIdentCache__idents_152();
1243 	handleCmdLine__nim_41(T1_, conf__nim_106);
1244 	msgQuit__msgs_442(((NI8) ((((NI) 0) < (*conf__nim_106).errorCounter))));
1245 }
1246 }
1247 
1248