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 typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
406 struct Exception {
407   RootObj Sup;
408 Exception* parent;
409 NCSTRING name;
410 NimStringDesc* message;
411 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
412 Exception* up;
413 };
414 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
415   Exception Sup;
416 };
417 struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
418   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
419 };
420 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
421 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
422 NimStringDesc* Field1;
423 };
424 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
425 NI Field0;
426 NimStringDesc* Field1;
427 NI32 Field2;
428 };
429 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
430 NimStringDesc* fullPath;
431 NimStringDesc* projPath;
432 NimStringDesc* shortName;
433 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
434 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
435 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
436 NimStringDesc* dirtyFile;
437 NimStringDesc* hash;
438 NIM_BOOL dirty;
439 };
440 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
441 NI Field0;
442 NimStringDesc* Field1;
443 };
444 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
445 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
446 NimStringDesc* nimname;
447 NimStringDesc* cname;
448 NimStringDesc* obj;
449 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
450 NimStringDesc* customArgs;
451 };
452 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
453 NCSTRING procname;
454 NI line;
455 NCSTRING filename;
456 };
457 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
458   TGenericSeq Sup;
459   NimStringDesc* data[SEQ_DECL_SIZE];
460 };
461 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
462   TGenericSeq Sup;
463   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
464 };
465 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
466   TGenericSeq Sup;
467   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
468 };
469 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
470   TGenericSeq Sup;
471   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
472 };
473 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
474   TGenericSeq Sup;
475   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
476 };
477 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
478   TGenericSeq Sup;
479   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
480 };
481 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
482   TGenericSeq Sup;
483   tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
484 };
485 N_LIB_PRIVATE N_NIMCALL(void, GC_disableMarkAndSweep__system_2267)(void);
486 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
487 static N_NIMCALL(void, TM__6xNBOpPeN0DsJ34t7RoSng_2)(void);
488 N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
489 N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*, newConfigRef__options_2320)(void);
490 static N_INLINE(void, asgnRef)(void** dest, void* src);
491 static N_INLINE(void, incRef__system_5372)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
492 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
493 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5334)(void* usr);
494 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
495 static N_INLINE(void, decRef__system_5379)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
496 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
497 static N_INLINE(void, rtlAddZCT__system_5377)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
498 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5328)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
499 N_LIB_PRIVATE N_NIMCALL(void, handleCmdLine__nim_41)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
500 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
501 N_LIB_PRIVATE N_NIMCALL(void, processCmdLine__nim_16)(tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, NimStringDesc* cmd, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
502 static N_INLINE(void, nimZeroMem)(void* p, NI size);
503 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
504 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);
505 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
506 N_LIB_PRIVATE N_NIMCALL(void, nponext)(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* p);
507 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
508 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
509 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
510 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
511 N_LIB_PRIVATE N_NIMCALL(void, addCmdPrefix__cmdlinehelper_16)(NimStringDesc** result, tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA kind);
512 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s);
513 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
514 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
515 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, processArgument__commands_1508)(tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* p, NI* argsCount, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
516 N_LIB_PRIVATE N_NIMCALL(void, processSwitch__commands_1501)(tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* p, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
517 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1117)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
518 N_LIB_PRIVATE N_NIMCALL(void, initDefinesProg__cmdlinehelper_28)(tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg* self, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* name);
519 N_LIB_PRIVATE N_NIMCALL(NI, nosparamCount)(void);
520 N_LIB_PRIVATE N_NIMCALL(void, writeCommandLineUsage__commands_169)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
521 N_LIB_PRIVATE N_NIMCALL(void, processCmdLineAndProjectPath__cmdlinehelper_32)(tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg* self, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
522 N_LIB_PRIVATE N_NIMCALL(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ*, newModuleGraph__modulegraphs_9074)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
523 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);
524 N_LIB_PRIVATE N_NIMCALL(void, mainCommand__main_500)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph);
525 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint__options_517)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note);
526 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, GC_getStatistics__system_2268)(void);
527 N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
528 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absOutFile__options_4038)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
529 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getNimRunExe__nim_38)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
530 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_2279)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* symbol);
531 static N_INLINE(NimStringDesc*, findNodeJs__nodejs_2)(void);
532 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findExe__pureZos_794)(NimStringDesc* exe, NIM_BOOL followSymlinks, NimStringDesc** extensions, NI extensionsLen_0);
533 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
534 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
535 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
536 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
537 N_LIB_PRIVATE N_NIMCALL(void, execExternalProgram__extccomp_808)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg);
538 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
539 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
540 N_LIB_PRIVATE N_NIMCALL(void, openDefaultBrowser__pureZbrowsers_13)(NimStringDesc* url);
541 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___options_4364)(NimStringDesc* x);
542 N_LIB_PRIVATE N_NIMCALL(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw*, newIdentCache__idents_152)(void);
543 N_LIB_PRIVATE N_NIMCALL(void, msgQuit__msgs_442)(NI8 x);
544 static N_INLINE(void, initStackBottomWith)(void* locals);
545 N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
546 N_LIB_PRIVATE N_NIMCALL(void, stdlib_widestrsDatInit000)(void);
547 N_LIB_PRIVATE N_NIMCALL(void, stdlib_ioDatInit000)(void);
548 N_LIB_PRIVATE N_NIMCALL(void, stdlib_ioInit000)(void);
549 N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
550 N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
551 N_LIB_PRIVATE N_NIMCALL(void, stdlib_strutilsDatInit000)(void);
552 N_LIB_PRIVATE N_NIMCALL(void, stdlib_winleanDatInit000)(void);
553 N_LIB_PRIVATE N_NIMCALL(void, stdlib_winleanInit000)(void);
554 N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesDatInit000)(void);
555 N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesInit000)(void);
556 N_LIB_PRIVATE N_NIMCALL(void, stdlib_win_setenvDatInit000)(void);
557 N_LIB_PRIVATE N_NIMCALL(void, stdlib_osDatInit000)(void);
558 N_LIB_PRIVATE N_NIMCALL(void, stdlib_osInit000)(void);
559 N_LIB_PRIVATE N_NIMCALL(void, stdlib_parseoptDatInit000)(void);
560 N_LIB_PRIVATE N_NIMCALL(void, stdlib_strtabsDatInit000)(void);
561 N_LIB_PRIVATE N_NIMCALL(void, stdlib_terminalDatInit000)(void);
562 N_LIB_PRIVATE N_NIMCALL(void, stdlib_terminalInit000)(void);
563 N_LIB_PRIVATE N_NIMCALL(void, compiler_ropesDatInit000)(void);
564 N_LIB_PRIVATE N_NIMCALL(void, compiler_ropesInit000)(void);
565 N_LIB_PRIVATE N_NIMCALL(void, compiler_lineinfosDatInit000)(void);
566 N_LIB_PRIVATE N_NIMCALL(void, compiler_platformDatInit000)(void);
567 N_LIB_PRIVATE N_NIMCALL(void, compiler_prefixmatchesDatInit000)(void);
568 N_LIB_PRIVATE N_NIMCALL(void, compiler_optionsDatInit000)(void);
569 N_LIB_PRIVATE N_NIMCALL(void, stdlib_streamsDatInit000)(void);
570 N_LIB_PRIVATE N_NIMCALL(void, stdlib_cpuinfoDatInit000)(void);
571 N_LIB_PRIVATE N_NIMCALL(void, stdlib_osprocDatInit000)(void);
572 N_LIB_PRIVATE N_NIMCALL(void, stdlib_lexbaseDatInit000)(void);
573 N_LIB_PRIVATE N_NIMCALL(void, stdlib_parsejsonDatInit000)(void);
574 N_LIB_PRIVATE N_NIMCALL(void, stdlib_jsonDatInit000)(void);
575 N_LIB_PRIVATE N_NIMCALL(void, compiler_extccompDatInit000)(void);
576 N_LIB_PRIVATE N_NIMCALL(void, compiler_wordrecgDatInit000)(void);
577 N_LIB_PRIVATE N_NIMCALL(void, compiler_nimblecmdDatInit000)(void);
578 N_LIB_PRIVATE N_NIMCALL(void, compiler_identsDatInit000)(void);
579 N_LIB_PRIVATE N_NIMCALL(void, compiler_astDatInit000)(void);
580 N_LIB_PRIVATE N_NIMCALL(void, compiler_astInit000)(void);
581 N_LIB_PRIVATE N_NIMCALL(void, compiler_llstreamDatInit000)(void);
582 N_LIB_PRIVATE N_NIMCALL(void, compiler_nimlexbaseDatInit000)(void);
583 N_LIB_PRIVATE N_NIMCALL(void, compiler_lexerDatInit000)(void);
584 N_LIB_PRIVATE N_NIMCALL(void, compiler_parserDatInit000)(void);
585 N_LIB_PRIVATE N_NIMCALL(void, compiler_rendererDatInit000)(void);
586 N_LIB_PRIVATE N_NIMCALL(void, compiler_syntaxesDatInit000)(void);
587 N_LIB_PRIVATE N_NIMCALL(void, stdlib_packedsetsDatInit000)(void);
588 N_LIB_PRIVATE N_NIMCALL(void, compiler_astalgoDatInit000)(void);
589 N_LIB_PRIVATE N_NIMCALL(void, stdlib_md5DatInit000)(void);
590 N_LIB_PRIVATE N_NIMCALL(void, compiler_rodfilesDatInit000)(void);
591 N_LIB_PRIVATE N_NIMCALL(void, compiler_packed_astDatInit000)(void);
592 N_LIB_PRIVATE N_NIMCALL(void, compiler_icDatInit000)(void);
593 N_LIB_PRIVATE N_NIMCALL(void, compiler_modulegraphsDatInit000)(void);
594 N_LIB_PRIVATE N_NIMCALL(void, compiler_typesDatInit000)(void);
595 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmdefDatInit000)(void);
596 N_LIB_PRIVATE N_NIMCALL(void, compiler_semdataDatInit000)(void);
597 N_LIB_PRIVATE N_NIMCALL(void, compiler_lookupsDatInit000)(void);
598 N_LIB_PRIVATE N_NIMCALL(void, compiler_conceptsDatInit000)(void);
599 N_LIB_PRIVATE N_NIMCALL(void, compiler_semtypinstDatInit000)(void);
600 N_LIB_PRIVATE N_NIMCALL(void, compiler_sigmatchDatInit000)(void);
601 N_LIB_PRIVATE N_NIMCALL(void, compiler_importerDatInit000)(void);
602 N_LIB_PRIVATE N_NIMCALL(void, compiler_pragmasDatInit000)(void);
603 N_LIB_PRIVATE N_NIMCALL(void, compiler_reorderDatInit000)(void);
604 N_LIB_PRIVATE N_NIMCALL(void, compiler_guardsDatInit000)(void);
605 N_LIB_PRIVATE N_NIMCALL(void, compiler_varpartitionsDatInit000)(void);
606 N_LIB_PRIVATE N_NIMCALL(void, compiler_nilcheckDatInit000)(void);
607 N_LIB_PRIVATE N_NIMCALL(void, compiler_sighashesDatInit000)(void);
608 N_LIB_PRIVATE N_NIMCALL(void, compiler_ndiDatInit000)(void);
609 N_LIB_PRIVATE N_NIMCALL(void, compiler_cgendataDatInit000)(void);
610 N_LIB_PRIVATE N_NIMCALL(void, compiler_lambdaliftingDatInit000)(void);
611 N_LIB_PRIVATE N_NIMCALL(void, compiler_closureitersDatInit000)(void);
612 N_LIB_PRIVATE N_NIMCALL(void, compiler_transfDatInit000)(void);
613 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmgenDatInit000)(void);
614 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmmarshalDatInit000)(void);
615 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmDatInit000)(void);
616 N_LIB_PRIVATE N_NIMCALL(void, compiler_patternsDatInit000)(void);
617 N_LIB_PRIVATE N_NIMCALL(void, compiler_semDatInit000)(void);
618 N_LIB_PRIVATE N_NIMCALL(void, compiler_dfaDatInit000)(void);
619 N_LIB_PRIVATE N_NIMCALL(void, compiler_injectdestructorsDatInit000)(void);
620 N_LIB_PRIVATE N_NIMCALL(void, compiler_semparallelDatInit000)(void);
621 N_LIB_PRIVATE N_NIMCALL(void, compiler_cgenDatInit000)(void);
622 N_LIB_PRIVATE N_NIMCALL(void, compiler_scriptconfigDatInit000)(void);
623 N_LIB_PRIVATE N_NIMCALL(void, compiler_nimconfDatInit000)(void);
624 N_LIB_PRIVATE N_NIMCALL(void, compiler_passauxDatInit000)(void);
625 N_LIB_PRIVATE N_NIMCALL(void, compiler_dependsDatInit000)(void);
626 N_LIB_PRIVATE N_NIMCALL(void, compiler_dceDatInit000)(void);
627 N_LIB_PRIVATE N_NIMCALL(void, compiler_integrityDatInit000)(void);
628 N_LIB_PRIVATE N_NIMCALL(void, compiler_sourcemapDatInit000)(void);
629 N_LIB_PRIVATE N_NIMCALL(void, compiler_sourcemapInit000)(void);
630 N_LIB_PRIVATE N_NIMCALL(void, compiler_jsgenDatInit000)(void);
631 N_LIB_PRIVATE N_NIMCALL(void, stdlib_rstastDatInit000)(void);
632 N_LIB_PRIVATE N_NIMCALL(void, stdlib_highliteDatInit000)(void);
633 N_LIB_PRIVATE N_NIMCALL(void, stdlib_rstDatInit000)(void);
634 N_LIB_PRIVATE N_NIMCALL(void, stdlib_rstgenDatInit000)(void);
635 N_LIB_PRIVATE N_NIMCALL(void, compiler_docgenDatInit000)(void);
636 N_LIB_PRIVATE N_NIMCALL(void, compiler_docgen2DatInit000)(void);
637 N_LIB_PRIVATE N_NIMCALL(void, compiler_mainDatInit000)(void);
638 N_LIB_PRIVATE N_NIMCALL(void, compiler_cmdlinehelperDatInit000)(void);
639 N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
640 extern TNimType NTIconfigref__a8lycfSA25OQltN3OMeBsA_;
641 extern TNimType NTInimprog__oQuE3daAnIJJmmxLCZ80bA_;
642 extern TNimType NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_;
643 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6xNBOpPeN0DsJ34t7RoSng_3 = {
644 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
645 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
646 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
647 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
648 ;
649 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_4, " ", 1);
650 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_5, "-", 1);
651 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
652 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_6, "arguments can only be given if the \'--run\' option is selected", 61);
653 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_8, "/home/runner/work/nightlies/nightlies/nim/compiler/nim.nim", 58);
654 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__6xNBOpPeN0DsJ34t7RoSng_7 = {((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_8),
655 ((NI) 71),
656 ((NI) 16)}
657 ;
658 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_10, "nim_compiler", 12);
659 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_11, "mingw", 5);
660 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_12, "i386", 4);
661 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_13, "wine", 4);
662 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_14, "amd64", 5);
663 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_15, "wine64", 6);
664 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_16, "nodejs", 6);
665 extern NIM_CONST tyArray__24KAM9afIUgUaqBaEBB6r9bg ExeExts__pureZos_793;
666 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_17, "node", 4);
667 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_19, "Please install NodeJS first, see https://nodejs.org/en/download", 63);
668 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__6xNBOpPeN0DsJ34t7RoSng_18 = {((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_19)}
669 ;
670 extern TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_;
671 extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
672 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_20, "NodeJS not found in PATH: ", 26);
673 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_21, " --unhandled-rejections=strict", 30);
674 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_22, "nim.nim(115, 22) `false` ", 25);
675 extern TNimType NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_;
676 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_23, "\'$1 cannot handle arguments", 27);
677 extern TNimType NTIcommand__0zjcIQ623TIRGPdtjLwTFA_;
678 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__6xNBOpPeN0DsJ34t7RoSng_24 = {((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_8),
679 ((NI) 123),
680 ((NI) 18)}
681 ;
682 STRING_LITERAL(TM__6xNBOpPeN0DsJ34t7RoSng_25, "\'$1 cannot handle --run", 23);
683 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__6xNBOpPeN0DsJ34t7RoSng_26 = {((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_8),
684 ((NI) 127),
685 ((NI) 16)}
686 ;
687 N_LIB_PRIVATE tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf__nim_106;
688 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5281;
N_NIMCALL(void,TM__6xNBOpPeN0DsJ34t7RoSng_2)689 static N_NIMCALL(void, TM__6xNBOpPeN0DsJ34t7RoSng_2)(void) {
690 	nimGCvisit((void*)conf__nim_106, 0);
691 }
N_INLINE(NI,pluspercent___system_696)692 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
693 	NI result;
694 	result = (NI)0;
695 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
696 	return result;
697 }
N_INLINE(void,incRef__system_5372)698 static N_INLINE(void, incRef__system_5372)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
699 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
700 }
N_INLINE(NI,minuspercent___system_716)701 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
702 	NI result;
703 	result = (NI)0;
704 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
705 	return result;
706 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5334)707 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5334)(void* usr) {
708 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
709 	NI T1_;
710 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
711 	T1_ = (NI)0;
712 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
713 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
714 	return result;
715 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)716 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
717 	NIM_BOOL result;
718 	result = (NIM_BOOL)0;
719 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
720 	return result;
721 }
N_INLINE(void,rtlAddZCT__system_5377)722 static N_INLINE(void, rtlAddZCT__system_5377)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
723 	addZCT__system_5328((&gch__system_5281.zct), c);
724 }
N_INLINE(void,decRef__system_5379)725 static N_INLINE(void, decRef__system_5379)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
726 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
727 	{
728 		NIM_BOOL T3_;
729 		T3_ = (NIM_BOOL)0;
730 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
731 		if (!T3_) goto LA4_;
732 		rtlAddZCT__system_5377(c);
733 	}
734 	LA4_: ;
735 }
N_INLINE(void,asgnRef)736 static N_INLINE(void, asgnRef)(void** dest, void* src) {
737 	{
738 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
739 		if (!!((src == NIM_NIL))) goto LA3_;
740 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
741 		T5_ = usrToCell__system_5334(src);
742 		incRef__system_5372(T5_);
743 	}
744 	LA3_: ;
745 	{
746 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
747 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
748 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
749 		T10_ = usrToCell__system_5334((*dest));
750 		decRef__system_5379(T10_);
751 	}
752 	LA8_: ;
753 	(*dest) = src;
754 }
N_INLINE(void,nimSetMem__systemZmemory_7)755 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
756 	void* T1_;
757 	T1_ = (void*)0;
758 	T1_ = memset(a, v, ((size_t) (size)));
759 }
N_INLINE(void,nimZeroMem)760 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
761 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
762 }
N_INLINE(void,nimCopyMem)763 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
764 	void* T1_;
765 	T1_ = (void*)0;
766 	T1_ = memcpy(dest, source, ((size_t) (size)));
767 }
N_INLINE(void,copyMem__system_1727)768 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
769 	nimCopyMem(dest, source, size);
770 }
N_INLINE(void,appendString)771 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
772 	{
773 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
774 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
775 		(*dest).Sup.len += (*src).Sup.len;
776 	}
777 	LA3_: ;
778 }
N_NIMCALL(void,processCmdLine__nim_16)779 N_LIB_PRIVATE N_NIMCALL(void, processCmdLine__nim_16)(tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, NimStringDesc* cmd, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {
780 	tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg p;
781 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* T1_;
782 	NI argsCount;
783 	nimZeroMem((void*)(&p), sizeof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg));
784 	p.Sup.m_type = (&NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_);
785 	T1_ = NIM_NIL;
786 	T1_ = NIM_NIL;
787 	initOptParser__pureZparseopt_51(cmd, TM__6xNBOpPeN0DsJ34t7RoSng_3, T1_, NIM_TRUE, (&p));
788 	argsCount = ((NI) 0);
789 	asgnRef((void**) (&(*config).commandLine), setLengthStr((*config).commandLine, ((NI) 0)));
790 	{
791 		while (1) {
792 			nponext((&p));
793 			switch (p.kind) {
794 			case ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 0):
795 			{
796 				goto LA2;
797 			}
798 			break;
799 			case ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 2):
800 			case ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 3):
801 			{
802 				NimStringDesc* T6_;
803 				asgnRef((void**) (&(*config).commandLine), resizeString((*config).commandLine, 1));
804 appendString((*config).commandLine, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_4));
805 				addCmdPrefix__cmdlinehelper_16((&(*config).commandLine), p.kind);
806 				T6_ = NIM_NIL;
807 				T6_ = nospquoteShell(p.key);
808 				asgnRef((void**) (&(*config).commandLine), resizeString((*config).commandLine, (T6_ ? T6_->Sup.len : 0) + 0));
809 appendString((*config).commandLine, T6_);
810 				{
811 					NimStringDesc* T11_;
812 					if (!(((NI) 0) < (p.val ? p.val->Sup.len : 0))) goto LA9_;
813 					asgnRef((void**) (&(*config).commandLine), addChar((*config).commandLine, 58));
814 					T11_ = NIM_NIL;
815 					T11_ = nospquoteShell(p.val);
816 					asgnRef((void**) (&(*config).commandLine), resizeString((*config).commandLine, (T11_ ? T11_->Sup.len : 0) + 0));
817 appendString((*config).commandLine, T11_);
818 				}
819 				LA9_: ;
820 				{
821 					if (!((p.key ? p.key->Sup.len : 0) == 0)) goto LA14_;
822 					p.key = copyString(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_5));
823 					{
824 						NIM_BOOL T18_;
825 						T18_ = (NIM_BOOL)0;
826 						T18_ = processArgument__commands_1508(pass, (&p), (&argsCount), config);
827 						if (!T18_) goto LA19_;
828 						goto LA2;
829 					}
830 					LA19_: ;
831 				}
832 				goto LA12_;
833 				LA14_: ;
834 				{
835 					processSwitch__commands_1501(pass, (&p), config);
836 				}
837 				LA12_: ;
838 			}
839 			break;
840 			case ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 1):
841 			{
842 				NimStringDesc* T23_;
843 				asgnRef((void**) (&(*config).commandLine), resizeString((*config).commandLine, 1));
844 appendString((*config).commandLine, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_4));
845 				T23_ = NIM_NIL;
846 				T23_ = nospquoteShell(p.key);
847 				asgnRef((void**) (&(*config).commandLine), resizeString((*config).commandLine, (T23_ ? T23_->Sup.len : 0) + 0));
848 appendString((*config).commandLine, T23_);
849 				{
850 					NIM_BOOL T26_;
851 					T26_ = (NIM_BOOL)0;
852 					T26_ = processArgument__commands_1508(pass, (&p), (&argsCount), config);
853 					if (!T26_) goto LA27_;
854 					goto LA2;
855 				}
856 				LA27_: ;
857 			}
858 			break;
859 			}
860 		}
861 	} LA2: ;
862 	{
863 		if (!(pass == ((tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA) 1))) goto LA31_;
864 		{
865 			NIM_BOOL T35_;
866 			NIM_BOOL T36_;
867 			T35_ = (NIM_BOOL)0;
868 			T36_ = (NIM_BOOL)0;
869 			T36_ = ((4100 & (*config).globalOptions) == 0);
870 			if (!(T36_)) goto LA37_;
871 			T36_ = (((NI) 0) < ((*config).arguments ? (*config).arguments->Sup.len : 0));
872 			LA37_: ;
873 			T35_ = T36_;
874 			if (!(T35_)) goto LA38_;
875 			T35_ = !(((4288 &((NU32)1<<((NU)((*config).cmd)&31U)))!=0));
876 			LA38_: ;
877 			if (!T35_) goto LA39_;
878 			liMessage__msgs_1117(config, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_6), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__6xNBOpPeN0DsJ34t7RoSng_7, NIM_FALSE);
879 		}
880 		LA39_: ;
881 	}
882 	LA31_: ;
883 }
N_NIMCALL(NimStringDesc *,getNimRunExe__nim_38)884 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getNimRunExe__nim_38)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
885 	NimStringDesc* result;
886 	result = NIM_NIL;
887 	{
888 		NIM_BOOL T3_;
889 		T3_ = (NIM_BOOL)0;
890 		T3_ = isDefined__options_2279(conf, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_11));
891 		if (!T3_) goto LA4_;
892 		{
893 			NIM_BOOL T8_;
894 			T8_ = (NIM_BOOL)0;
895 			T8_ = isDefined__options_2279(conf, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_12));
896 			if (!T8_) goto LA9_;
897 			result = copyString(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_13));
898 		}
899 		goto LA6_;
900 		LA9_: ;
901 		{
902 			NIM_BOOL T12_;
903 			T12_ = (NIM_BOOL)0;
904 			T12_ = isDefined__options_2279(conf, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_14));
905 			if (!T12_) goto LA13_;
906 			result = copyString(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_15));
907 		}
908 		goto LA6_;
909 		LA13_: ;
910 		LA6_: ;
911 	}
912 	LA4_: ;
913 	return result;
914 }
N_INLINE(NimStringDesc *,findNodeJs__nodejs_2)915 static N_INLINE(NimStringDesc*, findNodeJs__nodejs_2)(void) {
916 	NimStringDesc* result;
917 	result = NIM_NIL;
918 	result = findExe__pureZos_794(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_16), NIM_TRUE, ExeExts__pureZos_793, 3);
919 	{
920 		if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA3_;
921 		result = findExe__pureZos_794(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_17), NIM_TRUE, ExeExts__pureZos_793, 3);
922 	}
923 	LA3_: ;
924 	{
925 		tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T9_;
926 		NimStringDesc* T10_;
927 		if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA7_;
928 		echoBinSafe(TM__6xNBOpPeN0DsJ34t7RoSng_18, 1);
929 		T9_ = NIM_NIL;
930 		T9_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
931 		(*T9_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
932 		(*T9_).Sup.Sup.name = "IOError";
933 		T10_ = NIM_NIL;
934 		T10_ = rawNewString((result ? result->Sup.len : 0) + 26);
935 appendString(T10_, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_20));
936 appendString(T10_, result);
937 		asgnRef((void**) (&(*T9_).Sup.Sup.message), T10_);
938 		asgnRef((void**) (&(*T9_).Sup.Sup.parent), ((Exception*) NIM_NIL));
939 		raiseExceptionEx((Exception*)T9_, "IOError", "findNodeJs", "nodejs.nim", 10);
940 	}
941 	LA7_: ;
942 	return result;
943 }
N_INLINE(void,appendChar)944 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
945 	(*dest).data[(*dest).Sup.len] = c;
946 	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
947 	(*dest).Sup.len += ((NI) 1);
948 }
N_NIMCALL(void,handleCmdLine__nim_41)949 N_LIB_PRIVATE N_NIMCALL(void, handleCmdLine__nim_41)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
950 	tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg* self;
951 	tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg* T1_;
952 	tyProc__34NX3arOx349cB4sFiTD3uA T2_;
953 	tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
954 {	T1_ = NIM_NIL;
955 	T1_ = (tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg*) newObj((&NTInimprog__oQuE3daAnIJJmmxLCZ80bA_), sizeof(tyObject_NimProgcolonObjectType___bzPe2PlnnyJH4wKrjRuvwg));
956 	(*T1_).supportsStdinFile = NIM_TRUE;
957 	nimZeroMem((void*)(&T2_), sizeof(tyProc__34NX3arOx349cB4sFiTD3uA));
958 	T2_.ClP_0 = ((TM__6xNBOpPeN0DsJ34t7RoSng_9) (processCmdLine__nim_16)); T2_.ClE_0 = NIM_NIL;
959 	asgnRef((void**) (&(*T1_).processCmdLine.ClE_0), T2_.ClE_0);
960 	(*T1_).processCmdLine.ClP_0 = T2_.ClP_0;
961 	self = T1_;
962 	initDefinesProg__cmdlinehelper_28(self, conf, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_10));
963 	{
964 		NI T5_;
965 		T5_ = (NI)0;
966 		T5_ = nosparamCount();
967 		if (!(T5_ == ((NI) 0))) goto LA6_;
968 		writeCommandLineUsage__commands_169(conf);
969 		goto BeforeRet_;
970 	}
971 	LA6_: ;
972 	processCmdLineAndProjectPath__cmdlinehelper_32(self, conf);
973 	graph = newModuleGraph__modulegraphs_9074(cache, conf);
974 	{
975 		NIM_BOOL T10_;
976 		T10_ = (NIM_BOOL)0;
977 		T10_ = loadConfigsAndProcessCmdLine__cmdlinehelper_43(self, cache, conf, graph);
978 		if (!!(T10_)) goto LA11_;
979 		goto BeforeRet_;
980 	}
981 	LA11_: ;
982 	mainCommand__main_500(graph);
983 	{
984 		NIM_BOOL T15_;
985 		tyArray__nHXaesL0DJZHyVS07ARPRA T18_;
986 		T15_ = (NIM_BOOL)0;
987 		T15_ = hasHint__options_517(conf, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 95));
988 		if (!T15_) goto LA16_;
989 		nimZeroMem((void*)T18_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
990 		T18_[0] = GC_getStatistics__system_2268();
991 		echoBinSafe(T18_, 1);
992 	}
993 	LA16_: ;
994 	{
995 		if (!!(((*conf).errorCounter == ((NI) 0)))) goto LA21_;
996 		goto BeforeRet_;
997 	}
998 	LA21_: ;
999 	{
1000 		NimStringDesc* output;
1001 		if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 12))&63U)))!=0)) goto LA25_;
1002 		output = absOutFile__options_4038(conf);
1003 		switch ((*conf).cmd) {
1004 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 2) ... ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 6):
1005 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 7):
1006 		{
1007 			NimStringDesc* nimRunExe;
1008 			NimStringDesc* cmdPrefix;
1009 			NimStringDesc* T50_;
1010 			NimStringDesc* T51_;
1011 			nimRunExe = getNimRunExe__nim_38(conf);
1012 			cmdPrefix = NIM_NIL;
1013 			{
1014 				NimStringDesc* T32_;
1015 				if (!(((NI) 0) < (nimRunExe ? nimRunExe->Sup.len : 0))) goto LA30_;
1016 				T32_ = NIM_NIL;
1017 				T32_ = nospquoteShell(nimRunExe);
1018 				cmdPrefix = resizeString(cmdPrefix, (T32_ ? T32_->Sup.len : 0) + 0);
1019 appendString(cmdPrefix, T32_);
1020 			}
1021 			LA30_: ;
1022 			switch ((*conf).backend) {
1023 			case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 1):
1024 			case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2):
1025 			case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 4):
1026 			{
1027 			}
1028 			break;
1029 			case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 3):
1030 			{
1031 				{
1032 					NimStringDesc* T39_;
1033 					if (!((cmdPrefix ? cmdPrefix->Sup.len : 0) == ((NI) 0))) goto LA37_;
1034 					T39_ = NIM_NIL;
1035 					T39_ = findNodeJs__nodejs_2();
1036 					cmdPrefix = nospquoteShell(T39_);
1037 				}
1038 				LA37_: ;
1039 				cmdPrefix = resizeString(cmdPrefix, 30);
1040 appendString(cmdPrefix, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_21));
1041 			}
1042 			break;
1043 			default:
1044 			{
1045 				{
1046 					NimStringDesc* T45_;
1047 					if (!NIM_TRUE) goto LA43_;
1048 					T45_ = NIM_NIL;
1049 					T45_ = rawNewString((reprEnum((NI)(*conf).backend, (&NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_)) ? reprEnum((NI)(*conf).backend, (&NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_))->Sup.len : 0) + 25);
1050 appendString(T45_, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_22));
1051 appendString(T45_, reprEnum((NI)(*conf).backend, (&NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_)));
1052 					failedAssertImpl__systemZassertions_56(T45_);
1053 				}
1054 				LA43_: ;
1055 			}
1056 			break;
1057 			}
1058 			{
1059 				if (!(((NI) 0) < (cmdPrefix ? cmdPrefix->Sup.len : 0))) goto LA48_;
1060 				cmdPrefix = resizeString(cmdPrefix, 1);
1061 appendString(cmdPrefix, ((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_4));
1062 			}
1063 			LA48_: ;
1064 			T50_ = NIM_NIL;
1065 			T51_ = NIM_NIL;
1066 			T51_ = nospquoteShell(output);
1067 			T50_ = rawNewString((cmdPrefix ? cmdPrefix->Sup.len : 0) + (T51_ ? T51_->Sup.len : 0) + ((*conf).arguments ? (*conf).arguments->Sup.len : 0) + 1);
1068 appendString(T50_, cmdPrefix);
1069 appendString(T50_, T51_);
1070 appendChar(T50_, 32);
1071 appendString(T50_, (*conf).arguments);
1072 			execExternalProgram__extccomp_808(conf, T50_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 89));
1073 		}
1074 		break;
1075 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 13) ... ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 15):
1076 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 16):
1077 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 17):
1078 		case ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 18) ... ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 21):
1079 		{
1080 			NimStringDesc* T59_;
1081 			{
1082 				tyArray__nHXaesL0DJZHyVS07ARPRA T57_;
1083 				NimStringDesc* T58_;
1084 				if (!(((NI) 0) < ((*conf).arguments ? (*conf).arguments->Sup.len : 0))) goto LA55_;
1085 				nimZeroMem((void*)T57_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
1086 				T57_[0] = reprEnum((NI)(*conf).cmd, (&NTIcommand__0zjcIQ623TIRGPdtjLwTFA_));
1087 				T58_ = NIM_NIL;
1088 				T58_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_23), T57_, 1);
1089 				liMessage__msgs_1117(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T58_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__6xNBOpPeN0DsJ34t7RoSng_24, NIM_FALSE);
1090 			}
1091 			LA55_: ;
1092 			T59_ = NIM_NIL;
1093 			T59_ = dollar___options_4364(output);
1094 			openDefaultBrowser__pureZbrowsers_13(T59_);
1095 		}
1096 		break;
1097 		default:
1098 		{
1099 			tyArray__nHXaesL0DJZHyVS07ARPRA T61_;
1100 			NimStringDesc* T62_;
1101 			nimZeroMem((void*)T61_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
1102 			T61_[0] = reprEnum((NI)(*conf).cmd, (&NTIcommand__0zjcIQ623TIRGPdtjLwTFA_));
1103 			T62_ = NIM_NIL;
1104 			T62_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6xNBOpPeN0DsJ34t7RoSng_25), T61_, 1);
1105 			liMessage__msgs_1117(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T62_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__6xNBOpPeN0DsJ34t7RoSng_26, NIM_FALSE);
1106 		}
1107 		break;
1108 		}
1109 	}
1110 	LA25_: ;
1111 	}BeforeRet_: ;
1112 }
N_INLINE(void,initStackBottomWith)1113 static N_INLINE(void, initStackBottomWith)(void* locals) {
1114 	nimGC_setStackBottom(locals);
1115 }
1116 
PreMainInner(void)1117 N_LIB_PRIVATE void PreMainInner(void) {
1118 	stdlib_ioInit000();
1119 	stdlib_winleanInit000();
1120 	stdlib_timesInit000();
1121 	stdlib_osInit000();
1122 	stdlib_terminalInit000();
1123 	compiler_ropesInit000();
1124 	compiler_astInit000();
1125 	compiler_sourcemapInit000();
1126 }
1127 
1128 N_LIB_PRIVATE int cmdCount;
1129 N_LIB_PRIVATE char** cmdLine;
1130 N_LIB_PRIVATE char** gEnv;
PreMain(void)1131 N_LIB_PRIVATE void PreMain(void) {
1132 	void (*volatile inner)(void);
1133 	inner = PreMainInner;
1134 	stdlib_widestrsDatInit000();
1135 	stdlib_ioDatInit000();
1136 	systemDatInit000();
1137 	initStackBottomWith((void *)&inner);
1138 	systemInit000();
1139 	stdlib_strutilsDatInit000();
1140 	stdlib_winleanDatInit000();
1141 	stdlib_timesDatInit000();
1142 	stdlib_win_setenvDatInit000();
1143 	stdlib_osDatInit000();
1144 	stdlib_parseoptDatInit000();
1145 	stdlib_strtabsDatInit000();
1146 	stdlib_terminalDatInit000();
1147 	compiler_ropesDatInit000();
1148 	compiler_lineinfosDatInit000();
1149 	compiler_platformDatInit000();
1150 	compiler_prefixmatchesDatInit000();
1151 	compiler_optionsDatInit000();
1152 	stdlib_streamsDatInit000();
1153 	stdlib_cpuinfoDatInit000();
1154 	stdlib_osprocDatInit000();
1155 	stdlib_lexbaseDatInit000();
1156 	stdlib_parsejsonDatInit000();
1157 	stdlib_jsonDatInit000();
1158 	compiler_extccompDatInit000();
1159 	compiler_wordrecgDatInit000();
1160 	compiler_nimblecmdDatInit000();
1161 	compiler_identsDatInit000();
1162 	compiler_astDatInit000();
1163 	compiler_llstreamDatInit000();
1164 	compiler_nimlexbaseDatInit000();
1165 	compiler_lexerDatInit000();
1166 	compiler_parserDatInit000();
1167 	compiler_rendererDatInit000();
1168 	compiler_syntaxesDatInit000();
1169 	stdlib_packedsetsDatInit000();
1170 	compiler_astalgoDatInit000();
1171 	stdlib_md5DatInit000();
1172 	compiler_rodfilesDatInit000();
1173 	compiler_packed_astDatInit000();
1174 	compiler_icDatInit000();
1175 	compiler_modulegraphsDatInit000();
1176 	compiler_typesDatInit000();
1177 	compiler_vmdefDatInit000();
1178 	compiler_semdataDatInit000();
1179 	compiler_lookupsDatInit000();
1180 	compiler_conceptsDatInit000();
1181 	compiler_semtypinstDatInit000();
1182 	compiler_sigmatchDatInit000();
1183 	compiler_importerDatInit000();
1184 	compiler_pragmasDatInit000();
1185 	compiler_reorderDatInit000();
1186 	compiler_guardsDatInit000();
1187 	compiler_varpartitionsDatInit000();
1188 	compiler_nilcheckDatInit000();
1189 	compiler_sighashesDatInit000();
1190 	compiler_ndiDatInit000();
1191 	compiler_cgendataDatInit000();
1192 	compiler_lambdaliftingDatInit000();
1193 	compiler_closureitersDatInit000();
1194 	compiler_transfDatInit000();
1195 	compiler_vmgenDatInit000();
1196 	compiler_vmmarshalDatInit000();
1197 	compiler_vmDatInit000();
1198 	compiler_patternsDatInit000();
1199 	compiler_semDatInit000();
1200 	compiler_dfaDatInit000();
1201 	compiler_injectdestructorsDatInit000();
1202 	compiler_semparallelDatInit000();
1203 	compiler_cgenDatInit000();
1204 	compiler_scriptconfigDatInit000();
1205 	compiler_nimconfDatInit000();
1206 	compiler_passauxDatInit000();
1207 	compiler_dependsDatInit000();
1208 	compiler_dceDatInit000();
1209 	compiler_integrityDatInit000();
1210 	compiler_sourcemapDatInit000();
1211 	compiler_jsgenDatInit000();
1212 	stdlib_rstastDatInit000();
1213 	stdlib_highliteDatInit000();
1214 	stdlib_rstDatInit000();
1215 	stdlib_rstgenDatInit000();
1216 	compiler_docgenDatInit000();
1217 	compiler_docgen2DatInit000();
1218 	compiler_mainDatInit000();
1219 	compiler_cmdlinehelperDatInit000();
1220 	(*inner)();
1221 }
1222 
N_CDECL(void,NimMainInner)1223 N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
1224 	NimMainModule();
1225 }
1226 
N_CDECL(void,NimMain)1227 N_CDECL(void, NimMain)(void) {
1228 	void (*volatile inner)(void);
1229 	PreMain();
1230 	inner = NimMainInner;
1231 	initStackBottomWith((void *)&inner);
1232 	(*inner)();
1233 }
1234 
main(int argc,char ** args,char ** env)1235 int main(int argc, char** args, char** env) {
1236 	cmdLine = args;
1237 	cmdCount = argc;
1238 	gEnv = env;
1239 	NimMain();
1240 	return nim_program_result;
1241 }
1242 
N_NIMCALL(void,NimMainModule)1243 N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
1244 {
1245 	TFrame FR_; FR_.len = 0;
1246 
1247 	nimRegisterGlobalMarker(TM__6xNBOpPeN0DsJ34t7RoSng_2);
1248 
1249 }/* preInitProc end */
1250 {
1251 	tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* T1_;
1252 	GC_disableMarkAndSweep__system_2267();
1253 	asgnRef((void**) (&conf__nim_106), newConfigRef__options_2320());
1254 	T1_ = NIM_NIL;
1255 	T1_ = newIdentCache__idents_152();
1256 	handleCmdLine__nim_41(T1_, conf__nim_106);
1257 	msgQuit__msgs_442(((NI8) ((((NI) 0) < (*conf__nim_106).errorCounter))));
1258 }
1259 }
1260 
1261