1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3
4 #include "nimbase.h"
5 #include <string.h>
6 #include <setjmp.h>
7 #include <stdio.h>
8 #include <glob.h>
9 #undef LANGUAGE_C
10 #undef MIPSEB
11 #undef MIPSEL
12 #undef PPC
13 #undef R3000
14 #undef R4000
15 #undef i386
16 #undef linux
17 #undef mips
18 #undef near
19 #undef far
20 #undef powerpc
21 #undef unix
22 #define nimfr_(x, y)
23 #define nimln_(x, y)
24 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
25 typedef struct NimStringDesc NimStringDesc;
26 typedef struct TGenericSeq TGenericSeq;
27 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
28 typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
29 typedef struct tyTuple__yByxe8FSFNTgs4tcAkTYag tyTuple__yByxe8FSFNTgs4tcAkTYag;
30 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
31 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
32 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
33 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
34 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
35 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
36 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
37 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
38 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
39 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
40 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
41 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
42 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
43 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
44 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
45 typedef struct tyTuple__5L3fCt9bX0gyEcO30ervPLw tyTuple__5L3fCt9bX0gyEcO30ervPLw;
46 typedef struct tyTuple__eCO8mA2VZCpG2fD1wGsc8Q tyTuple__eCO8mA2VZCpG2fD1wGsc8Q;
47 typedef struct TNimType TNimType;
48 typedef struct TNimNode TNimNode;
49 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
50 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
51 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
52 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
53 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
54 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
55 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
56 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
57 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
58 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
59 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
60 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
61 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
62 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
63 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
64 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
65 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
66 typedef struct tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw;
67 typedef struct tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog;
68 typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q tySequence__4eQHGndY6XBYpFOH09apV8Q;
69 typedef struct Exception Exception;
70 typedef struct RootObj RootObj;
71 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
72 typedef struct TSafePoint TSafePoint;
73 typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q;
74 typedef struct tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ;
75 typedef struct tyTuple__jq7X5k7hWG0tdTZTDkiyGQ tyTuple__jq7X5k7hWG0tdTZTDkiyGQ;
76 typedef struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg;
77 typedef struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g tySequence__MlAD6nAPq9bHKla9cWiIZP0g;
78 typedef struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ tySequence__oLpBKXzW3hF9aCVMo5EymfQ;
79 typedef struct tyTuple__d8cOxWret6fRDupvUsyoyw tyTuple__d8cOxWret6fRDupvUsyoyw;
80 typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
81 typedef struct tyTuple__awOivLjlO76sGdHY7nQUjQ tyTuple__awOivLjlO76sGdHY7nQUjQ;
82 typedef struct tyTuple__YOdO3R1J4biIW9bY9agwbAQw tyTuple__YOdO3R1J4biIW9bY9agwbAQw;
83 typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA;
84 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
85 typedef struct tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg;
86 typedef struct tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg;
87 typedef struct tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg;
88 typedef struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA;
89 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
90 typedef struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw;
91 typedef struct tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw;
92 typedef struct tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA;
93 typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
94 typedef struct tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ;
95 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
96 typedef struct tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ;
97 typedef struct tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg;
98 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
99 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
100 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
101 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
102 struct TGenericSeq {
103 NI len;
104 NI reserved;
105 };
106 struct NimStringDesc {
107 TGenericSeq Sup;
108 NIM_CHAR data[SEQ_DECL_SIZE];
109 };
110 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
111 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
112 NimStringDesc* nimname;
113 NimStringDesc* cname;
114 NimStringDesc* obj;
115 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
116 NimStringDesc* customArgs;
117 };
118 struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
119 NimStringDesc* Field0;
120 NimStringDesc* Field1;
121 NimStringDesc* Field2;
122 };
123 typedef NU8 tySet_tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg;
124 struct tyTuple__yByxe8FSFNTgs4tcAkTYag {
125 NimStringDesc* Field0;
126 NimStringDesc* Field1;
127 NimStringDesc* Field2;
128 NimStringDesc* Field3;
129 NimStringDesc* Field4;
130 NimStringDesc* Field5;
131 NimStringDesc* Field6;
132 NimStringDesc* Field7;
133 NimStringDesc* Field8;
134 NimStringDesc* Field9;
135 NimStringDesc* Field10;
136 NimStringDesc* Field11;
137 NimStringDesc* Field12;
138 NimStringDesc* Field13;
139 NimStringDesc* Field14;
140 NimStringDesc* Field15;
141 NimStringDesc* Field16;
142 NimStringDesc* Field17;
143 NimStringDesc* Field18;
144 NimStringDesc* Field19;
145 NimStringDesc* Field20;
146 tySet_tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg Field21;
147 };
148 typedef tyTuple__yByxe8FSFNTgs4tcAkTYag tyArray__sa9aJ6U8e9b7Bj4Yq8itsR8w[11];
149 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
150 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
151 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
152 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
153 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
154 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
155 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
156 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
157 NI intSize;
158 NI floatSize;
159 NI ptrSize;
160 NimStringDesc* tnl;
161 };
162 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
163 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
164 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
165 NU16 line;
166 NI16 col;
167 NI32 fileIndex;
168 };
169 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
170 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
171 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
172 NI counter;
173 };
174 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
175 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
176 NIM_BOOL trackPosAttached;
177 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
178 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
179 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
180 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
181 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
182 NI32 systemFileIdx;
183 };
184 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
185 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
186 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
187 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
188 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
189 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
190 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
191 NI counter;
192 };
193 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
194 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
195 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
196 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
197 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
198 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
199 NI Field0;
200 NI Field1;
201 NI Field2;
202 };
203 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
204 typedef struct {
205 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
206 void* ClE_0;
207 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
208 typedef struct {
209 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
210 void* ClE_0;
211 } tyProc__k2HFjxisIgDALbEUFojxaQ;
212 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
213 typedef struct {
214 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
215 void* ClE_0;
216 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
217 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
218 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
219 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
220 NI linesCompiled;
221 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
222 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
223 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
224 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
225 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
226 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
227 NimStringDesc* unitSep;
228 NI evalTemplateCounter;
229 NI evalMacroCounter;
230 NI8 exitcode;
231 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
232 NimStringDesc* cmdInput;
233 NIM_BOOL projectIsCmd;
234 NIM_BOOL implicitCmd;
235 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
236 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
237 NIM_BOOL hintProcessingDots;
238 NI verbosity;
239 NI numberOfProcessors;
240 NF lastCmdTime;
241 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
242 NI spellSuggestMax;
243 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
244 NimStringDesc* headerFile;
245 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
246 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
247 NimStringDesc* arguments;
248 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
249 NIM_BOOL oldNewlines;
250 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
251 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
252 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
253 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
254 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
255 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
256 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
257 NI mainPackageId;
258 NI errorCounter;
259 NI hintCounter;
260 NI warnCounter;
261 NI errorMax;
262 NI maxLoopIterationsVM;
263 NIM_BOOL isVmTrace;
264 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
265 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
266 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
267 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
268 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
269 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
270 NimStringDesc* outFile;
271 NimStringDesc* outDir;
272 NimStringDesc* jsonBuildFile;
273 NimStringDesc* prefixDir;
274 NimStringDesc* libpath;
275 NimStringDesc* nimcacheDir;
276 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
277 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
278 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
279 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
280 NimStringDesc* projectName;
281 NimStringDesc* projectPath;
282 NimStringDesc* projectFull;
283 NIM_BOOL projectIsStdin;
284 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
285 NI32 projectMainIdx;
286 NI32 projectMainIdx2;
287 NimStringDesc* command;
288 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
289 NimStringDesc* commandLine;
290 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
291 NIM_BOOL keepComments;
292 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
293 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
294 NimStringDesc* docSeeSrcUrl;
295 NimStringDesc* docRoot;
296 NimStringDesc* docCmd;
297 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
298 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
299 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
300 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
301 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
302 NimStringDesc* linkOptionsCmd;
303 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
304 NimStringDesc* linkOptions;
305 NimStringDesc* compileOptions;
306 NimStringDesc* cCompilerPath;
307 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
308 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
309 NI suggestVersion;
310 NI suggestMaxResults;
311 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
312 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
313 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
314 NimStringDesc* cppCustomNamespace;
315 NimStringDesc* nimMainPrefix;
316 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
317 };
318 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
319 typedef NU8 tyArray__YtcvxHNKV4YiecPE9ap1mcA[20];
320 typedef NU8 tySet_tyEnum_TInfoOSProp__thetQwB9agpeQ13qFmAcWhg;
321 struct tyTuple__5L3fCt9bX0gyEcO30ervPLw {
322 NimStringDesc* Field0;
323 NimStringDesc* Field1;
324 NimStringDesc* Field2;
325 NimStringDesc* Field3;
326 NimStringDesc* Field4;
327 NimStringDesc* Field5;
328 NimStringDesc* Field6;
329 NimStringDesc* Field7;
330 NimStringDesc* Field8;
331 NimStringDesc* Field9;
332 NimStringDesc* Field10;
333 NimStringDesc* Field11;
334 tySet_tyEnum_TInfoOSProp__thetQwB9agpeQ13qFmAcWhg Field12;
335 };
336 typedef tyTuple__5L3fCt9bX0gyEcO30ervPLw tyArray__VbVuAPt8GSIPhx9amVJ0MyA[32];
337 typedef NU8 tyEnum_Endianness__0BVYNY0K9cz7BUPI3AnbEQw;
338 struct tyTuple__eCO8mA2VZCpG2fD1wGsc8Q {
339 NimStringDesc* Field0;
340 NI Field1;
341 tyEnum_Endianness__0BVYNY0K9cz7BUPI3AnbEQw Field2;
342 NI Field3;
343 NI Field4;
344 };
345 typedef tyTuple__eCO8mA2VZCpG2fD1wGsc8Q tyArray__9cwFB2SXj9aw9cyLiDbvSiBEg[26];
346 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
347 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
348 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
349 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
350 struct TNimType {
351 NI size;
352 NI align;
353 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
354 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
355 TNimType* base;
356 TNimNode* node;
357 void* finalizer;
358 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
359 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
360 };
361 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
362 struct TNimNode {
363 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
364 NI offset;
365 TNimType* typ;
366 NCSTRING name;
367 NI len;
368 TNimNode** sons;
369 };
370 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
371 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
372 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
373 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
374 NimStringDesc* Field0;
375 NI Field1;
376 NI Field2;
377 };
378 typedef NU8 tyEnum_TInfoOSProp__thetQwB9agpeQ13qFmAcWhg;
379 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
380 typedef NU8 tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
381 typedef NimStringDesc* tyArray__rmMMhDIqORJzUU5zqeitSQ[16];
382 typedef NimStringDesc* tyArray__68WB4OcBspSFyW4LY9cOceA[18];
383 typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
384 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
385 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
386 NI refcount;
387 TNimType* typ;
388 };
389 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
390 void* bottom;
391 };
392 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
393 NI len;
394 NI cap;
395 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
396 };
397 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
398 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
399 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
400 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
401 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
402 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
403 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
404 };
405 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
406 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
407 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
408 NI key;
409 NI upperBound;
410 NI level;
411 };
412 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
413 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
414 NI Field1;
415 };
416 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
417 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
418 NI len;
419 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
420 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
421 };
422 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
423 NI minLargeObj;
424 NI maxLargeObj;
425 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
426 NU32 flBitmap;
427 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
428 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
429 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
430 NI currMem;
431 NI maxMem;
432 NI freeMem;
433 NI occ;
434 NI lastSize;
435 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
436 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
437 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
438 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
439 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
440 NIM_BOOL locked;
441 NIM_BOOL blockChunkSizeIncrease;
442 NI nextChunkSize;
443 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
444 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
445 };
446 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
447 NI stackScans;
448 NI cycleCollections;
449 NI maxThreshold;
450 NI maxStackSize;
451 NI maxStackCells;
452 NI cycleTableSize;
453 NI64 maxPause;
454 };
455 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
456 NI counter;
457 NI max;
458 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
459 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
460 };
461 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
462 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
463 NI cycleThreshold;
464 NI zctThreshold;
465 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
466 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
467 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
468 NI recGcLock;
469 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
470 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
471 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
472 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
473 NI gcThreadId;
474 };
475 struct tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw {
476 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ a;
477 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ b;
478 };
479 typedef NU8 tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg;
480 struct tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog {
481 NimStringDesc* cacheVersion;
482 NimStringDesc* outputFile;
483 tySequence__4eQHGndY6XBYpFOH09apV8Q* compile;
484 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* link;
485 NimStringDesc* linkcmd;
486 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
487 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
488 NIM_BOOL stdinInput;
489 NIM_BOOL projectIsCmd;
490 NimStringDesc* cmdInput;
491 NimStringDesc* currentDir;
492 NimStringDesc* cmdline;
493 tySequence__4eQHGndY6XBYpFOH09apV8Q* depfiles;
494 NimStringDesc* nimexe;
495 };
496 struct RootObj {
497 TNimType* m_type;
498 };
499 struct Exception {
500 RootObj Sup;
501 Exception* parent;
502 NCSTRING name;
503 NimStringDesc* message;
504 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
505 Exception* up;
506 };
507 struct TSafePoint {
508 TSafePoint* prev;
509 NI status;
510 jmp_buf context;
511 };
512 struct tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ {
513 NIM_BOOL allowExtraKeys;
514 NIM_BOOL allowMissingKeys;
515 };
516 struct tyTuple__jq7X5k7hWG0tdTZTDkiyGQ {
517 NimStringDesc* Field0;
518 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field1;
519 };
520 typedef NU8 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg;
521 struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg {
522 tySequence__MlAD6nAPq9bHKla9cWiIZP0g* data;
523 NI counter;
524 NI first;
525 NI last;
526 };
527 struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q {
528 NIM_BOOL isUnquoted;
529 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg kind;
530 union{
531 struct {NimStringDesc* str;
532 } _kind_1;
533 struct {NI64 num;
534 } _kind_2;
535 struct {NF fnum;
536 } _kind_3;
537 struct {NIM_BOOL bval;
538 } _kind_4;
539 struct {tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg fields;
540 } _kind_6;
541 struct {tySequence__oLpBKXzW3hF9aCVMo5EymfQ* elems;
542 } _kind_7;
543 };
544 };
545 struct tyTuple__d8cOxWret6fRDupvUsyoyw {
546 NimStringDesc* Field0;
547 NimStringDesc* Field1;
548 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field2;
549 };
550 struct tyTuple__UV3llMMYFckfui8YMBuUZA {
551 NimStringDesc* Field0;
552 NimStringDesc* Field1;
553 };
554 struct tyTuple__awOivLjlO76sGdHY7nQUjQ {
555 NI Field0;
556 NI Field1;
557 NimStringDesc* Field2;
558 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field3;
559 };
560 struct tyTuple__YOdO3R1J4biIW9bY9agwbAQw {
561 NI Field0;
562 NI Field1;
563 NI Field2;
564 NimStringDesc* Field3;
565 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field4;
566 };
567 struct tyTuple__XOVT24GHXwqiEj5GCsEGCA {
568 NimStringDesc* Field0;
569 NI Field1;
570 };
571 typedef NU8 tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA;
572 struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA {
573 RootObj Sup;
574 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* left;
575 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* right;
576 NI L;
577 NimStringDesc* data;
578 };
579 typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__JiWwrsTRC6xqNlGcBthSVA[1];
580 struct tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg {
581 RootObj Sup;
582 NI colonstate_;
583 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* prettyCmds1;
584 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf2;
585 };
586 typedef struct {
587 N_NIMCALL_PTR(void, ClP_0) (NI idx, void* ClE_0);
588 void* ClE_0;
589 } tyProc__SqRJqa5aOiKB4EuKlKh9asA;
590 typedef NU8 tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug;
591 struct tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg {
592 RootObj Sup;
593 NI colonstate_;
594 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf1;
595 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds2;
596 };
597 typedef struct {
598 N_NIMCALL_PTR(void, ClP_0) (NI idx, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p, void* ClE_0);
599 void* ClE_0;
600 } tyProc__oudJckli4GdxAXLVzBBlAw;
601 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
602 Exception Sup;
603 };
604 struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA {
605 tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
606 NI32 errorCode;
607 };
608 typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
609 typedef NU8 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg;
610 struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw {
611 RootObj Sup;
612 NI nanosecond;
613 NI second;
614 NI minute;
615 NI hour;
616 NI monthdayZero;
617 NI monthZero;
618 NI year;
619 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg weekday;
620 NI yearday;
621 NIM_BOOL isDst;
622 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* timezone;
623 NI utcOffset;
624 };
625 struct tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA {
626 tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* patterns;
627 NimStringDesc* formatStr;
628 };
629 typedef NimStringDesc* tyArray__3hurAvNmIXWWeqMzKryr2A[12];
630 typedef NimStringDesc* tyArray__O9c55L7dGQruaGz5nJ2r4rA[7];
631 struct tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ {
632 tyArray__3hurAvNmIXWWeqMzKryr2A MMM;
633 tyArray__3hurAvNmIXWWeqMzKryr2A MMMM;
634 tyArray__O9c55L7dGQruaGz5nJ2r4rA ddd;
635 tyArray__O9c55L7dGQruaGz5nJ2r4rA dddd;
636 };
637 typedef NCSTRING tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg[1];
638 typedef struct {
639 N_NIMCALL_PTR(NimStringDesc*, ClP_0) (NimStringDesc* x, void* ClE_0);
640 void* ClE_0;
641 } tyProc__oFHfEKFsiYTMAy9a42cSiKw;
642 typedef N_CLOSURE_PTR(NimStringDesc*, TM__OyL9acDBDoBfMwa5zb1Y88w_205) (NimStringDesc* x);
643 typedef N_CLOSURE_PTR(NimStringDesc*, TM__OyL9acDBDoBfMwa5zb1Y88w_207) (NimStringDesc* x, void* ClE_0);
644 typedef NU8 tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA;
645 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
646 NimStringDesc* fullPath;
647 NimStringDesc* projPath;
648 NimStringDesc* shortName;
649 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
650 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
651 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
652 NimStringDesc* dirtyFile;
653 NimStringDesc* hash;
654 NIM_BOOL dirty;
655 };
656 typedef NU8 tyEnum_EnumMode__VBQLiQclXYpinosAjWkfrg;
657 typedef NU8 tyEnum_JsonNodeMode__UTXRaEPTjXpNdVaD9bbN0bQ;
658 struct tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ {
659 tyEnum_EnumMode__VBQLiQclXYpinosAjWkfrg enumMode;
660 tyEnum_JsonNodeMode__UTXRaEPTjXpNdVaD9bbN0bQ jsonNodeMode;
661 };
662 struct tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg {
663 RootObj Sup;
664 NI colonstate_;
665 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* prettyCmds1;
666 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf2;
667 };
668 typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
669 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
670 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
671 NimStringDesc* Field1;
672 };
673 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
674 NI Field0;
675 NimStringDesc* Field1;
676 NI32 Field2;
677 };
678 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
679 NI Field0;
680 NimStringDesc* Field1;
681 };
682 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
683 NCSTRING procname;
684 NI line;
685 NCSTRING filename;
686 };
687 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
688 TGenericSeq Sup;
689 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
690 };
691 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
692 TGenericSeq Sup;
693 NimStringDesc* data[SEQ_DECL_SIZE];
694 };
695 struct tySequence__4eQHGndY6XBYpFOH09apV8Q {
696 TGenericSeq Sup;
697 tyTuple__UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE];
698 };
699 struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ {
700 TGenericSeq Sup;
701 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE];
702 };
703 struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
704 TGenericSeq Sup;
705 NU8 data[SEQ_DECL_SIZE];
706 };
707 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
708 TGenericSeq Sup;
709 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
710 };
711 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
712 TGenericSeq Sup;
713 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
714 };
715 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
716 TGenericSeq Sup;
717 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
718 };
719 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
720 TGenericSeq Sup;
721 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
722 };
723 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
724 TGenericSeq Sup;
725 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
726 };
727 struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g {
728 TGenericSeq Sup;
729 tyTuple__awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE];
730 };
731 static N_INLINE(void, nimZeroMem)(void* p, NI size);
732 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
733 N_LIB_PRIVATE N_NIMCALL(void, splitFile__pathutils_26)(NimStringDesc* x, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
734 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
735 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toObjFile__extccomp_718)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename);
736 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
737 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
738 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
739 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
740 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, completeCfilePath__extccomp_713)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cfile, NIM_BOOL createSubDir);
741 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, completeGeneratedFilePath__options_4240)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* f, NIM_BOOL createSubDir);
742 N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToCompile__extccomp_1066)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* c);
743 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
744 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, externalFileChanged__extccomp_1050)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile);
745 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toGeneratedFile__options_4235)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path, NimStringDesc* ext);
746 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, withPackageName__options_4173)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path);
747 N_LIB_PRIVATE N_NIMCALL(void, footprint__extccomp_1046)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
748 N_LIB_PRIVATE N_NIMCALL(void, secureHash__stdZsha49_840)(NIM_CHAR* str, NI strLen_0, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
749 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___stdZsha49_879)(tyArray__YtcvxHNKV4YiecPE9ap1mcA self);
750 N_LIB_PRIVATE N_NIMCALL(void, secureHashFile__stdZsha49_871)(NimStringDesc* filename, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
751 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompileCFileCmd__extccomp_997)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile, NIM_BOOL isMainFile, NIM_BOOL produceOutput);
752 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cFileSpecificOptions__extccomp_844)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* nimname, NimStringDesc* fullNimFile);
753 N_LIB_PRIVATE N_NIMCALL(NI, nsuFindStr)(NimStringDesc* s, NimStringDesc* sub, NI start, NI last);
754 N_LIB_PRIVATE N_NIMCALL(void, addOpt__extccomp_687)(NimStringDesc** dest, NimStringDesc* src);
755 static N_INLINE(NIM_CHAR*, X5BX5D___system_7362)(NimStringDesc** s, NI i);
756 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
757 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
758 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, existsConfigVar__options_4015)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* key);
759 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getConfigVar__options_4019)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* key, NimStringDesc* default_0);
760 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDebug__extccomp_823)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c);
761 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getConfigVar__extccomp_627)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c, NimStringDesc* suffix);
762 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
763 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
764 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOptSpeed__extccomp_819)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c);
765 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOptSize__extccomp_827)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c);
766 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOrDefault__pureZstrtabs_173)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key, NimStringDesc* default_0);
767 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename, NimStringDesc* ext);
768 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, useCpp__extccomp_906)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cfile);
769 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringDesc* s, NimStringDesc* suffix);
770 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompilerExe__extccomp_921)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA compiler, NimStringDesc* cfile);
771 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__pureZos_418)(NimStringDesc* key, NimStringDesc* default_0);
772 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);
773 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
774 static N_INLINE(NIM_BOOL, needsExeExt__extccomp_891)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
775 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosaddFileExt)(NimStringDesc* filename, NimStringDesc* ext);
776 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn__options_569)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
777 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
778 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s);
779 static N_INLINE(NIM_BOOL, noAbsolutePaths__extccomp_831)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
780 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
781 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail);
782 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path);
783 static N_INLINE(NIM_BOOL, isEmpty__options_4495)(NimStringDesc* x);
784 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
785 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getPrefixDir__options_4061)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
786 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, envFlags__extccomp_914)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
787 N_LIB_PRIVATE N_NIMCALL(void, nsuAddf)(NimStringDesc** s, NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
788 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, vccplatform__extccomp_872)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
789 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
790 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
791 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
792 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__systemZio_391)(FILE** f, NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
793 N_LIB_PRIVATE N_NIMCALL(void, parseSecureHash__stdZsha49_912)(NimStringDesc* hash, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
794 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readLine__systemZio_273)(FILE* f);
795 N_LIB_PRIVATE N_NIMCALL(void, close__systemZio_218)(FILE* f);
796 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___stdZsha49_920)(tyArray__YtcvxHNKV4YiecPE9ap1mcA a, tyArray__YtcvxHNKV4YiecPE9ap1mcA b);
797 static N_INLINE(void, writeLine__msgs_432)(FILE* f, NimStringDesc** x, NI xLen_0);
798 N_LIB_PRIVATE N_NIMCALL(void, write__systemZio_205)(FILE* f, NimStringDesc* s);
799 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nostryRemoveFile)(NimStringDesc* file);
800 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
801 static N_INLINE(void, asgnRef)(void** dest, void* src);
802 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
803 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
804 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr);
805 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
806 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
807 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
808 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
809 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
810 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
811 N_LIB_PRIVATE N_NIMCALL(void, insert__extccomp_757)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NimStringDesc* item, NI i);
812 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
813 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
814 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
815 static N_INLINE(NIM_BOOL, contains__extccomp_612)(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw s, tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ value);
816 static N_INLINE(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw, dotdot___extccomp_591)(tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ a, tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ b);
817 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA, nameToCC__extccomp_521)(NimStringDesc* name);
818 N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
819 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, listCCnames__extccomp_552)(void);
820 N_LIB_PRIVATE N_NIMCALL(void, undefSymbol__condsyms_8)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols, NimStringDesc* symbol);
821 N_LIB_PRIVATE N_NIMCALL(void, defineSymbol__condsyms_4)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols, NimStringDesc* symbol, NimStringDesc* value);
822 N_LIB_PRIVATE N_NIMCALL(void, nstPut)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key, NimStringDesc* val);
823 N_LIB_PRIVATE N_NIMCALL(void, addCompileOption__extccomp_693)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option);
824 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absOutFile__options_4038)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
825 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
826 N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_1838)(tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt);
827 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2044)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b);
828 N_LIB_PRIVATE N_NOINLINE(void, raiseJsonException__stdZjsonutils_168)(NimStringDesc* condStr, NimStringDesc* msg);
829 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___stdZjsonutils_407)(tyTuple__jq7X5k7hWG0tdTZTDkiyGQ x);
830 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_3152)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* key);
831 N_LIB_PRIVATE N_NIMCALL(void, fromJson__stdZjsonutils_566)(NimStringDesc** a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt);
832 static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___pureZjson_3043)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* name);
833 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D___pureZjson_2638)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key);
834 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___stdZjsonutils_504)(tyTuple__d8cOxWret6fRDupvUsyoyw x);
835 N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_1952)(tySequence__4eQHGndY6XBYpFOH09apV8Q** a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt);
836 N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_2989)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n);
837 N_LIB_PRIVATE N_NIMCALL(tySequence__oLpBKXzW3hF9aCVMo5EymfQ*, getElems__pureZjson_207)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n, tySequence__oLpBKXzW3hF9aCVMo5EymfQ* default_0);
838 N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_2004)(tyTuple__UV3llMMYFckfui8YMBuUZA* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt);
839 static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___pureZjson_3118)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI index);
840 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___extccomp_2058)(tyTuple__awOivLjlO76sGdHY7nQUjQ* x);
841 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__extccomp_2078)(NimStringDesc** s, NI x);
842 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
843 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
844 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__pureZos_449)(NimStringDesc** s, NimStringDesc* x);
845 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__stdZjsonutils_444)(NimStringDesc** s, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* x);
846 N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_2140)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt);
847 N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_2260)(NIM_BOOL* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt);
848 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, to__extccomp_2271)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node);
849 N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_5264)(NIM_BOOL* dst, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* jsonNode, NimStringDesc** jsonPath);
850 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___extccomp_2429)(tyTuple__YOdO3R1J4biIW9bY9agwbAQw* x);
851 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseFile__pureZjson_5228)(NimStringDesc* filename);
852 static N_INLINE(void, popSafePoint)(void);
853 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
854 static N_INLINE(Exception*, nimBorrowCurrentException)(void);
855 static N_INLINE(void, popCurrentException)(void);
856 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
857 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetCurrentDir)(void);
858 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___extccomp_2541)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* y);
859 static N_INLINE(void*, seqToPtr__extccomp_2556)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x);
860 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, newSeq__systemZio_503)(NI len);
861 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
862 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetAppFilename)(void);
863 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, slash___pathutils_89)(NimStringDesc* base, NimStringDesc* f);
864 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getNimcacheDir__options_4183)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
865 N_LIB_PRIVATE N_NIMCALL(void, execCmdEx__pureZosproc_1164)(NimStringDesc* command, tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options, tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env, NimStringDesc* workingDir, NimStringDesc* input, tyTuple__XOVT24GHXwqiEj5GCsEGCA* Result);
866 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope__ropes_109)(NimStringDesc* s);
867 N_LIB_PRIVATE N_NIMCALL(void, add__ropes_159)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
868 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genMappingFiles__extccomp_2628)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tySequence__pK3qSsBZwdXd6qyUMkd5Jw* list);
869 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___extccomp_2636)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
870 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, runtimeFormat__ropes_271)(NimStringDesc* frmt, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
871 N_LIB_PRIVATE N_NIMCALL(void, add__ropes_162)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, NimStringDesc* b);
872 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuEscape)(NimStringDesc* s, NimStringDesc* prefix, NimStringDesc* suffix);
873 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompileOptions__extccomp_869)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
874 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkOptions__extccomp_880)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
875 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___extccomp_2658)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
876 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, writeRope__ropes_241)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* head, NimStringDesc* filename);
877 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
878 static N_NIMCALL(void, Marker_tyRef__CqlAb69bkfxaejoSKDwhYYA)(void* p, NI op);
879 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
880 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_1258)(NI idx, void* ClE_0);
881 N_LIB_PRIVATE N_NIMCALL(void, flushDot__msgs_17)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
882 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, displayProgressCC__extccomp_1234)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path, NimStringDesc* compileCmd);
883 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint__options_517)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note);
884 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, demanglePackageName__options_4170)(NimStringDesc* path);
885 N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringDesc* path, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
886 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___options_4373)(NimStringDesc* x);
887 N_LIB_PRIVATE N_NIMCALL(void, execCmdsInParallel__extccomp_1155)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds, tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb);
888 static N_NIMCALL(void, Marker_tyRef__pkCPBZYDmG8KoijaqNdsQw)(void* p, NI op);
889 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_1161)(NI idx, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p, void* ClE_0);
890 N_LIB_PRIVATE N_NIMCALL(NI, nosppeekExitCode)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p);
891 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
892 N_LIB_PRIVATE N_NIMCALL(NI, nospcountProcessors)(void);
893 N_LIB_PRIVATE N_NIMCALL(NI, execWithEcho__extccomp_795)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg);
894 N_LIB_PRIVATE N_NIMCALL(NI, nospexecCmd)(NimStringDesc* command);
895 static N_INLINE(Exception*, getCurrentException)(void);
896 N_LIB_PRIVATE N_NIMCALL(NI, nospexecProcesses)(NimStringDesc** cmds, NI cmdsLen_0, tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options, NI n, tyProc__SqRJqa5aOiKB4EuKlKh9asA beforeRunEvent, tyProc__oudJckli4GdxAXLVzBBlAw afterRunEvent);
897 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getObjFilePath__extccomp_1223)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* f);
898 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, hcrLinkTargetName__extccomp_1227)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* objFile, NIM_BOOL isMain);
899 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkCmd__extccomp_1094)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* output, NimStringDesc* objfiles, NIM_BOOL isDllBuild, NIM_BOOL removeStaticFile);
900 N_LIB_PRIVATE N_NIMCALL(void, nosremoveFile)(NimStringDesc* file);
901 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkerExe__extccomp_985)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA compiler);
902 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isVSCompatible__extccomp_575)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
903 N_LIB_PRIVATE N_NIMCALL(void, now__pureZtimes_1467)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
904 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__extccomp_1121)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
905 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__pureZtimes_2989)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA f, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc);
906 static N_INLINE(NI, nanosecond__pureZtimes_1065)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
907 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
908 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
909 N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
910 static N_INLINE(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, map__extccomp_1369)(NimStringDesc** s, NI sLen_0, tyProc__oFHfEKFsiYTMAy9a42cSiKw op);
911 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
912 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, colonanonymous___extccomp_1365)(NimStringDesc* curr);
913 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by);
914 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prepareToWriteOutput__options_4058)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
915 N_LIB_PRIVATE N_NIMCALL(void, copyFileWithPermissions__pureZos_1464)(NimStringDesc* source, NimStringDesc* dest, NIM_BOOL ignorePermissionErrors, tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA options);
916 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, getExtraCmds__extccomp_1146)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* output);
917 N_LIB_PRIVATE N_NIMCALL(void, linkViaResponseFile__extccomp_1188)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd);
918 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7756)(NimStringDesc* s, NI first);
919 N_LIB_PRIVATE N_NIMCALL(void, writeFile__systemZio_476)(NimStringDesc* filename, NimStringDesc* content);
920 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceChar)(NimStringDesc* s, NIM_CHAR sub, NIM_CHAR by);
921 N_LIB_PRIVATE N_NIMCALL(void, execLinkCmd__extccomp_1150)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* linkCmd);
922 N_LIB_PRIVATE N_NIMCALL(void, execExternalProgram__extccomp_808)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg);
923 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7744)(NimStringDesc* s, NI first, NI last);
924 N_LIB_PRIVATE N_NIMCALL(void, generateScript__extccomp_812)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* script);
925 N_LIB_PRIVATE N_NIMCALL(tySequence__4eQHGndY6XBYpFOH09apV8Q*, newSeq__extccomp_1547)(NI len);
926 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, quoteShellCommand__pureZos_601)(NimStringDesc** args, NI argsLen_0);
927 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_2279)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* symbol);
928 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path);
929 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, jsonBuildInstructionsFile__extccomp_1477)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
930 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, pretty__pureZjson_4461)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI indent);
931 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__extccomp_1675)(tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog* a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt);
932 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObject__pureZjson_92)(void);
933 static N_INLINE(void, X5BX5Deq___pureZjson_1923)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val);
934 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pureZjson_287)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val);
935 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__stdZjsonutils_603)(NimStringDesc* a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt);
936 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__extccomp_1696)(tySequence__4eQHGndY6XBYpFOH09apV8Q* a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt);
937 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJArray__pureZjson_123)(void);
938 N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_222)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* father, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* child);
939 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__extccomp_1724)(tyTuple__UV3llMMYFckfui8YMBuUZA a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt);
940 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__extccomp_1745)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt);
941 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__extccomp_1773)(NIM_BOOL a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt);
942 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1816)(NIM_BOOL b);
943 N_LIB_PRIVATE N_NIMCALL(tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ, initToJsonOptions__stdZjsonutils_33)(void);
944 static N_NIMCALL(void, Marker_tyRef__pVfTg3qma4yzaBk4IsIEzQ)(void* p, NI op);
945 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
946 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStackTrace__system_2521)(Exception* e);
947 N_LIB_PRIVATE N_NIMCALL(void, quit__system_7174)(NimStringDesc* errormsg, NI errorcode) __attribute__((noreturn));
948 N_LIB_PRIVATE N_NIMCALL(void, noscreateDir)(NimStringDesc* dir);
949 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosparentDir)(NimStringDesc* path);
950 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_2604)(NI idx, void* ClE_0);
951 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_2, ".", 1);
952 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_3, "gcc", 3);
953 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_4, "o", 1);
954 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_5, " -O3 -fno-ident", 15);
955 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_6, " -Os -fno-ident", 15);
956 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_7, "g++", 3);
957 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_8, "-c $options $include -o $objfile $file", 38);
958 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_9, " -mwindows", 10);
959 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_10, " -shared", 8);
960 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_11, "ar rcs $libfile $objfiles", 25);
961 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_12, "$buildgui $builddll -o $exefile $objfiles $options", 50);
962 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_13, " -I", 3);
963 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_14, " -L", 3);
964 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_15, " -l$1", 5);
965 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_16, "-fPIC", 5);
966 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_17, "asm($1);$n", 10);
967 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_18, "$1 $3 $2 ", 9);
968 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_19, "-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel", 47);
969 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_20, "-std=gnu++14 -funsigned-char", 28);
970 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_21, "switch_gcc", 10);
971 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_22, " -O3 ", 5);
972 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_23, " -Os ", 5);
973 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_24, "aarch64-none-elf-gcc", 20);
974 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_25, "aarch64-none-elf-g++", 20);
975 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_26, "-w -MMD -MP -MF $dfile -c $options $include -o $objfile $file", 61);
976 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_27, "aarch64-none-elf-gcc-ar rcs $libfile $objfiles", 46);
977 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_28, "$buildgui $builddll -Wl,-Map,$mapfile -o $exefile $objfiles $options", 68);
978 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_29, "-fPIE", 5);
979 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_30, "llvm_gcc", 8);
980 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_31, "llvm-gcc", 8);
981 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_32, "llvm-g++", 8);
982 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_33, "llvm-ar rcs $libfile $objfiles", 30);
983 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_34, "clang", 5);
984 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_35, "clang++", 7);
985 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_36, "bcc", 3);
986 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_37, "obj", 3);
987 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_38, " -O3 -6 ", 8);
988 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_39, " -O1 -6 ", 8);
989 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_40, "bcc32c", 6);
990 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_41, "cpp32c", 6);
991 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_42, "-c $options $include -o$objfile $file", 37);
992 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_43, " -tW", 4);
993 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_44, " -tWD", 5);
994 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_45, "bcc32", 5);
995 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_46, "$options $buildgui $builddll -e$exefile $objfiles", 49);
996 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_47, "__asm{$n$1$n}$n", 15);
997 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_48, "$1 $2", 5);
998 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_49, "vcc", 3);
999 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_50, " /Ogityb2 ", 10);
1000 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_51, " /O1 ", 5);
1001 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_52, "cl", 2);
1002 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_53, "/c$vccplatform $options $include /nologo /Fo$objfile $file", 58);
1003 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_54, " /SUBSYSTEM:WINDOWS user32.lib ", 31);
1004 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_55, " /LD", 4);
1005 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_56, "lib /OUT:$libfile $objfiles", 27);
1006 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_57, "$builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $options", 70);
1007 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_58, " /I", 3);
1008 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_59, " /LIBPATH:", 10);
1009 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_60, " $1.lib", 7);
1010 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_61, " /RTC1 /Z7 ", 11);
1011 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_62, "$3$n$1 $2", 9);
1012 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_63, "/Fa$asmfile", 11);
1013 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_64, "tcc", 3);
1014 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_65, "-Wl,-subsystem=gui", 18);
1015 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_66, "-o $exefile $options $buildgui $builddll $objfiles", 50);
1016 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_67, " -g ", 4);
1017 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_68, "env", 3);
1018 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_69, " -O1 ", 5);
1019 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_70, "-c $ccenvflags $options $include -o $objfile $file", 50);
1020 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_71, " -shared ", 9);
1021 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_72, "-o $exefile $buildgui $builddll $objfiles $options", 50);
1022 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_73, "icl", 3);
1023 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_74, "icc", 3);
1024 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_75, "clang_cl", 8);
1025 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_76, "clang-cl", 8);
1026 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_77, "-fuse-ld=lld $builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $options", 83);
1027 N_LIB_PRIVATE NIM_CONST tyArray__sa9aJ6U8e9b7Bj4Yq8itsR8w CC__extccomp_508 = {{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_3),
1028 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
1029 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_5),
1030 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_6),
1031 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_3),
1032 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_7),
1033 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_8),
1034 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_9),
1035 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
1036 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_11),
1037 ((NimStringDesc*) NIM_NIL),
1038 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_12),
1039 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
1040 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_14),
1041 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_15),
1042 ((NimStringDesc*) NIM_NIL),
1043 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_16),
1044 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
1045 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_18),
1046 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
1047 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_20),
1048 183}
1049 ,
1050 {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_21),
1051 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
1052 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_22),
1053 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_23),
1054 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_24),
1055 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_25),
1056 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_26),
1057 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_9),
1058 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
1059 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_27),
1060 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_24),
1061 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_28),
1062 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
1063 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_14),
1064 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_15),
1065 ((NimStringDesc*) NIM_NIL),
1066 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_29),
1067 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
1068 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_18),
1069 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
1070 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_20),
1071 183}
1072 ,
1073 {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_30),
1074 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
1075 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_5),
1076 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_6),
1077 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_31),
1078 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_32),
1079 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_8),
1080 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_9),
1081 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
1082 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_33),
1083 ((NimStringDesc*) NIM_NIL),
1084 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_12),
1085 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
1086 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_14),
1087 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_15),
1088 ((NimStringDesc*) NIM_NIL),
1089 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_16),
1090 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
1091 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_18),
1092 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
1093 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_20),
1094 183}
1095 ,
1096 {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_34),
1097 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
1098 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_5),
1099 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_6),
1100 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_34),
1101 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_35),
1102 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_8),
1103 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_9),
1104 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
1105 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_33),
1106 ((NimStringDesc*) NIM_NIL),
1107 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_12),
1108 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
1109 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_14),
1110 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_15),
1111 ((NimStringDesc*) NIM_NIL),
1112 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_16),
1113 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
1114 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_18),
1115 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
1116 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_20),
1117 183}
1118 ,
1119 {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_36),
1120 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_37),
1121 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_38),
1122 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_39),
1123 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_40),
1124 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_41),
1125 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_42),
1126 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_43),
1127 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_44),
1128 ((NimStringDesc*) NIM_NIL),
1129 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_45),
1130 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_46),
1131 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
1132 ((NimStringDesc*) NIM_NIL),
1133 ((NimStringDesc*) NIM_NIL),
1134 ((NimStringDesc*) NIM_NIL),
1135 ((NimStringDesc*) NIM_NIL),
1136 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_47),
1137 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_48),
1138 ((NimStringDesc*) NIM_NIL),
1139 ((NimStringDesc*) NIM_NIL),
1140 151}
1141 ,
1142 {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_49),
1143 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_37),
1144 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_50),
1145 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_51),
1146 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_52),
1147 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_52),
1148 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_53),
1149 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_54),
1150 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_55),
1151 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_56),
1152 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_52),
1153 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_57),
1154 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_58),
1155 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_59),
1156 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_60),
1157 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_61),
1158 ((NimStringDesc*) NIM_NIL),
1159 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_47),
1160 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_62),
1161 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_63),
1162 ((NimStringDesc*) NIM_NIL),
1163 76}
1164 ,
1165 {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_64),
1166 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
1167 ((NimStringDesc*) NIM_NIL),
1168 ((NimStringDesc*) NIM_NIL),
1169 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_64),
1170 ((NimStringDesc*) NIM_NIL),
1171 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_8),
1172 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_65),
1173 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
1174 ((NimStringDesc*) NIM_NIL),
1175 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_64),
1176 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_66),
1177 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
1178 ((NimStringDesc*) NIM_NIL),
1179 ((NimStringDesc*) NIM_NIL),
1180 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_67),
1181 ((NimStringDesc*) NIM_NIL),
1182 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
1183 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_48),
1184 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
1185 ((NimStringDesc*) NIM_NIL),
1186 35}
1187 ,
1188 {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_68),
1189 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
1190 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_22),
1191 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_69),
1192 ((NimStringDesc*) NIM_NIL),
1193 ((NimStringDesc*) NIM_NIL),
1194 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_70),
1195 ((NimStringDesc*) NIM_NIL),
1196 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_71),
1197 ((NimStringDesc*) NIM_NIL),
1198 ((NimStringDesc*) NIM_NIL),
1199 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_72),
1200 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
1201 ((NimStringDesc*) NIM_NIL),
1202 ((NimStringDesc*) NIM_NIL),
1203 ((NimStringDesc*) NIM_NIL),
1204 ((NimStringDesc*) NIM_NIL),
1205 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_47),
1206 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_48),
1207 ((NimStringDesc*) NIM_NIL),
1208 ((NimStringDesc*) NIM_NIL),
1209 32}
1210 ,
1211 {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_73),
1212 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_37),
1213 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_50),
1214 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_51),
1215 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_73),
1216 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_52),
1217 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_53),
1218 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_54),
1219 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_55),
1220 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_56),
1221 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_73),
1222 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_57),
1223 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_58),
1224 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_59),
1225 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_60),
1226 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_61),
1227 ((NimStringDesc*) NIM_NIL),
1228 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_47),
1229 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_62),
1230 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_63),
1231 ((NimStringDesc*) NIM_NIL),
1232 76}
1233 ,
1234 {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_74),
1235 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
1236 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_5),
1237 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_6),
1238 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_74),
1239 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_7),
1240 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_8),
1241 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_9),
1242 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
1243 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_11),
1244 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_74),
1245 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_12),
1246 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
1247 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_14),
1248 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_15),
1249 ((NimStringDesc*) NIM_NIL),
1250 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_16),
1251 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
1252 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_18),
1253 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
1254 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_20),
1255 183}
1256 ,
1257 {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_75),
1258 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_37),
1259 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_50),
1260 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_51),
1261 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_76),
1262 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_76),
1263 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_53),
1264 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_54),
1265 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_55),
1266 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_56),
1267 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_76),
1268 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_77),
1269 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_58),
1270 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_59),
1271 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_60),
1272 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_61),
1273 ((NimStringDesc*) NIM_NIL),
1274 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_47),
1275 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_62),
1276 ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_63),
1277 ((NimStringDesc*) NIM_NIL),
1278 76}
1279 }
1280 ;
1281 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_78, "sha1", 4);
1282 extern NIM_CONST tyArray__VbVuAPt8GSIPhx9amVJ0MyA OS__platform_504;
1283 extern NIM_CONST tyArray__9cwFB2SXj9aw9cyLiDbvSiBEg CPU__platform_691;
1284 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_79, " ", 1);
1285 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_80, ".debug", 6);
1286 extern TNimType NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_;
1287 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_81, ".options.debug", 14);
1288 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_82, ".speed", 6);
1289 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_83, ".options.speed", 14);
1290 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_84, ".size", 5);
1291 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_85, ".options.size", 13);
1292 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_86, ".always", 7);
1293 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_87, ".c", 2);
1294 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_88, ".exe", 4);
1295 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_89, "CXX", 3);
1296 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_90, "CC", 2);
1297 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1298 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_91, "Compiler \'$1\' doesn\'t support the requested target", 50);
1299 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_93, "/home/runner/work/nightlies/nightlies/nim/compiler/extccomp.nim", 63);
1300 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_92 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1301 ((NI) 506),
1302 ((NI) 14)}
1303 ;
1304 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_94, "exe", 3);
1305 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_95, ".d", 2);
1306 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_96, "dfile", 5);
1307 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_97, "file", 4);
1308 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_98, "objfile", 7);
1309 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_99, "options", 7);
1310 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_100, "include", 7);
1311 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_101, "nim", 3);
1312 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_102, "lib", 3);
1313 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_103, "ccenvflags", 10);
1314 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_104, "CXXFLAGS", 8);
1315 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_105, "CFLAGS", 6);
1316 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_106, ".asm", 4);
1317 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_107, "asmfile", 7);
1318 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_108, "Produced assembler here: ", 25);
1319 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_109 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1320 ((NI) 610),
1321 ((NI) 18)}
1322 ;
1323 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_110, "Couldn\'t produce assembler listing for the selected C compiler: ", 64);
1324 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_111 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1325 ((NI) 613),
1326 ((NI) 18)}
1327 ;
1328 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_112, "vccplatform", 11);
1329 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_113, "vccexe.exe", 10);
1330 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_114, " --platform:x86", 15);
1331 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_115, " --platform:arm", 15);
1332 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_116, " --platform:amd64", 17);
1333 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_117, "\012", 1);
1334 extern TNimType NTIcfilelist__pK3qSsBZwdXd6qyUMkd5Jw_;
1335 extern TNimType NTIcfile__i9cKq1ZGd1wgagjUEHLVFtg_;
1336 extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
1337 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_118, "unknown C compiler: \'$1\'. Available options are: $2", 51);
1338 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_119, ", ", 2);
1339 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_120 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1340 ((NI) 335),
1341 ((NI) 14)}
1342 ;
1343 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_121, ".options.always", 15);
1344 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_122, ".path", 5);
1345 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_123, "true", 4);
1346 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_125, "\012not (b == nil)", 15);
1347 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_126, "BuildCache", 10);
1348 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_127, "b.kind == JObject", 17);
1349 extern TNimType NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_;
1350 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_128, "cacheVersion", 12);
1351 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_129, "false", 5);
1352 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_130, "outputFile", 10);
1353 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_131, "compile", 7);
1354 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_132, "seq[(string, string)]", 21);
1355 extern TNimType NTIseqLtupleLkey58string_value58stringTT__4eQHGndY6XBYpFOH09apV8Q_;
1356 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_133, "(string, string)", 16);
1357 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_134, "b.kind == JArray", 16);
1358 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_135, "b.len == i", 10);
1359 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_136, "(", 1);
1360 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_137, "nil", 3);
1361 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_138, ",", 1);
1362 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_139, ")", 1);
1363 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_140, "link", 4);
1364 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_141, "seq[string]", 11);
1365 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_142, "linkcmd", 7);
1366 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_143, "extraCmds", 9);
1367 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_144, "configFiles", 11);
1368 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_145, "stdinInput", 10);
1369 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_146, "bool", 4);
1370 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_147, "projectIsCmd", 12);
1371 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_148, "cmdInput", 8);
1372 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_149, "currentDir", 10);
1373 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_150, "cmdline", 7);
1374 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_151, "depfiles", 8);
1375 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_152, "nimexe", 6);
1376 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_153, "ok`gensym14", 11);
1377 extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
1378 extern TNimType NTIoserror__BeJgrOdDsczOwEWOZbRfKA_;
1379 extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
1380 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_154, "Warning: JSON processing failed for: $#\012", 40);
1381 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_155, "D20210525T193831", 16);
1382 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_156, "json", 4);
1383 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_158, " --version", 10);
1384 static NIM_CONST tyTuple__XOVT24GHXwqiEj5GCsEGCA TM__OyL9acDBDoBfMwa5zb1Y88w_159 = {((NimStringDesc*) NIM_NIL),
1385 ((NI) 1)}
1386 ;
1387 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_160, "[C_Files]\012", 10);
1388 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_161, "--file:r\"$1\"$N", 14);
1389 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_162, "\012[C_Compiler]\012Flags=", 20);
1390 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_163, "__dummy__", 9);
1391 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_164, "\"", 1);
1392 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_165, "\012[Linker]\012Flags=", 16);
1393 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_166, ".options.linker", 15);
1394 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_167, "\012[Environment]\012libpath=", 23);
1395 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_168, "\012[Symbols]$n$1", 14);
1396 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_169, "mapping.txt", 11);
1397 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_170, "could not write to file: ", 25);
1398 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_171 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1399 ((NI) 1055),
1400 ((NI) 14)}
1401 ;
1402 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
1403 N_LIB_PRIVATE TNimType NTIobject__H6RAoT9avhFKpqIMlTu5GHg_;
1404 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
1405 extern TNimType NTIconfigref__a8lycfSA25OQltN3OMeBsA_;
1406 N_LIB_PRIVATE TNimType NTIrefobject__CqlAb69bkfxaejoSKDwhYYA_;
1407 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_173, "CC: $1", 6);
1408 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_174, ": ", 2);
1409 N_LIB_PRIVATE TNimType NTIobject__4Ms6MGgcp8EDnUBSlKFk9bg_;
1410 N_LIB_PRIVATE TNimType NTIrefobject__pkCPBZYDmG8KoijaqNdsQw_;
1411 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_176, "execution of an external compiler program \'", 43);
1412 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_177, "\' failed with exit code: ", 25);
1413 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_178, "\012\012", 2);
1414 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_179 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1415 ((NI) 784),
1416 ((NI) 16)}
1417 ;
1418 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_181 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1419 ((NI) 398),
1420 ((NI) 12)}
1421 ;
1422 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_182, "invocation of external compiler program failed. ", 48);
1423 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_183 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1424 ((NI) 764),
1425 ((NI) 16)}
1426 ;
1427 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_184, "execution of an external program failed: \'$1\'", 45);
1428 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_185 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1429 ((NI) 766),
1430 ((NI) 16)}
1431 ;
1432 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_186 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1433 ((NI) 793),
1434 ((NI) 18)}
1435 ;
1436 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_188 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1437 ((NI) 801),
1438 ((NI) 16)}
1439 ;
1440 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_189, "libfile", 7);
1441 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_190, "objfiles", 8);
1442 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_191, ".linkerexe", 10);
1443 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_192, ".map", 4);
1444 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_193, ".linkTmpl", 9);
1445 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_194, "builddll", 8);
1446 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_195, "mapfile", 7);
1447 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_196, "buildgui", 8);
1448 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_197, "exefile", 7);
1449 extern TNimType NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_;
1450 static NIM_CONST struct {
1451 TGenericSeq Sup;
1452 NU8 data[16];
1453 } TM__OyL9acDBDoBfMwa5zb1Y88w_198 = {{16, 16 | NIM_STRLIT_FLAG}, {((NU8) 13),
1454 ((NU8) 33),
1455 ((NU8) 1),
1456 ((NU8) 45),
1457 ((NU8) 22),
1458 ((NU8) 33),
1459 ((NU8) 1),
1460 ((NU8) 45),
1461 ((NU8) 7),
1462 ((NU8) 33),
1463 ((NU8) 1),
1464 ((NU8) 45),
1465 ((NU8) 9),
1466 ((NU8) 33),
1467 ((NU8) 1),
1468 ((NU8) 45)}};
1469 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_199, "MMMM-yyyy-HH-mm-", 16);
1470 N_LIB_PRIVATE NIM_CONST tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA f2__extccomp_1126 = {((tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)&TM__OyL9acDBDoBfMwa5zb1Y88w_198), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_199)}
1471 ;
1472 extern NIM_CONST tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ DefaultLocale__pureZtimes_1628;
1473 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_200, ".pdb", 4);
1474 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_201, " /link /PDB:", 12);
1475 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_202, " /Zi /FS /Od", 12);
1476 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_203, ".*.pdb", 6);
1477 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_206, "Link", 4);
1478 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_208, "_linkerArgs.txt", 15);
1479 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_211 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1480 ((NI) 403),
1481 ((NI) 14)}
1482 ;
1483 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_212, "invocation of external linker program failed. ", 46);
1484 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_213, " @", 2);
1485 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_214, "compile_", 8);
1486 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_215 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1487 ((NI) 411),
1488 ((NI) 14)}
1489 ;
1490 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_216, "nimBetterRun", 12);
1491 N_LIB_PRIVATE TNimType NTIobject__Bm6R75AmpN9bn4rYIfcheUg_;
1492 N_LIB_PRIVATE TNimType NTIrefobject__pVfTg3qma4yzaBk4IsIEzQ_;
1493 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_219, "nimDebug", 8);
1494 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_220, "options.nim(634, 14) `false` ", 29);
1495 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_221, "\012caught exception:\012$#\012stacktrace:\012$#error evaluating JSON file: $#", 66);
1496 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q gCmdLineInfo__msgs_404;
1497 STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_222, "jsonscript command outputFile \'$1\' must match \'$2\' which was specified during --compileOnly, see \"outputFile\" entry in \'$3\' ", 124);
1498 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_223 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93),
1499 ((NI) 1022),
1500 ((NI) 15)}
1501 ;
1502 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5218;
1503 extern TSafePoint* excHandler__system_2565;
1504 extern TSafePoint* excHandler__system_2565;
1505 extern TSafePoint* excHandler__system_2565;
1506 extern TSafePoint* excHandler__system_2565;
1507 extern Exception* currException__system_2566;
1508 extern Exception* currException__system_2566;
1509 extern Exception* currException__system_2566;
1510 extern Exception* currException__system_2566;
N_INLINE(void,nimSetMem__systemZmemory_7)1511 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1512 void* T1_;
1513 T1_ = (void*)0;
1514 T1_ = memset(a, v, ((size_t) (size)));
1515 }
N_INLINE(void,nimZeroMem)1516 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1517 nimSetMem__systemZmemory_7(p, ((int) 0), size);
1518 }
N_INLINE(void,nimCopyMem)1519 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
1520 void* T1_;
1521 T1_ = (void*)0;
1522 T1_ = memcpy(dest, source, ((size_t) (size)));
1523 }
N_INLINE(void,copyMem__system_1727)1524 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
1525 nimCopyMem(dest, source, size);
1526 }
N_INLINE(void,appendString)1527 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
1528 {
1529 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
1530 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
1531 (*dest).Sup.len += (*src).Sup.len;
1532 }
1533 LA3_: ;
1534 }
N_NIMCALL(NimStringDesc *,toObjFile__extccomp_718)1535 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toObjFile__extccomp_718)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename) {
1536 NimStringDesc* result;
1537 NimStringDesc* T1_;
1538 result = NIM_NIL;
1539 T1_ = NIM_NIL;
1540 T1_ = rawNewString((filename ? filename->Sup.len : 0) + (CC__extccomp_508[((*conf).cCompiler)- 1].Field1 ? CC__extccomp_508[((*conf).cCompiler)- 1].Field1->Sup.len : 0) + 1);
1541 appendString(T1_, filename);
1542 appendString(T1_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_2));
1543 appendString(T1_, CC__extccomp_508[((*conf).cCompiler)- 1].Field1);
1544 result = T1_;
1545 return result;
1546 }
N_NIMCALL(NimStringDesc *,completeCfilePath__extccomp_713)1547 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, completeCfilePath__extccomp_713)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cfile, NIM_BOOL createSubDir) {
1548 NimStringDesc* result;
1549 result = NIM_NIL;
1550 result = completeGeneratedFilePath__options_4240(conf, cfile, createSubDir);
1551 return result;
1552 }
N_INLINE(NIM_CHAR *,X5BX5D___system_7362)1553 static N_INLINE(NIM_CHAR*, X5BX5D___system_7362)(NimStringDesc** s, NI i) {
1554 NIM_CHAR* result;
1555 result = (NIM_CHAR*)0;
1556 result = (&(*s)->data[(NI)(((*s) ? (*s)->Sup.len : 0) - i)]);
1557 return result;
1558 }
N_NIMCALL(void,addOpt__extccomp_687)1559 N_LIB_PRIVATE N_NIMCALL(void, addOpt__extccomp_687)(NimStringDesc** dest, NimStringDesc* src) {
1560 {
1561 NIM_BOOL T3_;
1562 NIM_CHAR* T5_;
1563 T3_ = (NIM_BOOL)0;
1564 T3_ = (((*dest) ? (*dest)->Sup.len : 0) == ((NI) 0));
1565 if (T3_) goto LA4_;
1566 T5_ = (NIM_CHAR*)0;
1567 T5_ = X5BX5D___system_7362(dest, ((NI) 1));
1568 T3_ = !(((NU8)((*T5_)) == (NU8)(32)));
1569 LA4_: ;
1570 if (!T3_) goto LA6_;
1571 unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 1));
1572 appendString((*dest), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
1573 }
1574 LA6_: ;
1575 unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), (src ? src->Sup.len : 0) + 0));
1576 appendString((*dest), src);
1577 }
N_INLINE(void,appendChar)1578 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
1579 (*dest).data[(*dest).Sup.len] = c;
1580 (*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
1581 (*dest).Sup.len += ((NI) 1);
1582 }
N_NIMCALL(NimStringDesc *,getConfigVar__extccomp_627)1583 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getConfigVar__extccomp_627)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c, NimStringDesc* suffix) {
1584 NimStringDesc* result;
1585 NimStringDesc* fullSuffix;
1586 { result = NIM_NIL;
1587 fullSuffix = copyString(suffix);
1588 switch ((*conf).backend) {
1589 case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2):
1590 case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 3):
1591 case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 4):
1592 {
1593 NimStringDesc* T2_;
1594 T2_ = NIM_NIL;
1595 T2_ = rawNewString((reprEnum((NI)(*conf).backend, (&NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_)) ? reprEnum((NI)(*conf).backend, (&NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_))->Sup.len : 0) + (suffix ? suffix->Sup.len : 0) + 1);
1596 appendString(T2_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_2));
1597 appendString(T2_, reprEnum((NI)(*conf).backend, (&NTItbackend__4OBsgZ9cscH2JLUE5Wcz01g_)));
1598 appendString(T2_, suffix);
1599 fullSuffix = T2_;
1600 }
1601 break;
1602 case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 1):
1603 {
1604 }
1605 break;
1606 case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 0):
1607 {
1608 result = ((NimStringDesc*) NIM_NIL);
1609 goto BeforeRet_;
1610 }
1611 break;
1612 }
1613 {
1614 NIM_BOOL T7_;
1615 NIM_BOOL T8_;
1616 NimStringDesc* fullCCname;
1617 NimStringDesc* T13_;
1618 T7_ = (NIM_BOOL)0;
1619 T8_ = (NIM_BOOL)0;
1620 T8_ = !(((*conf).target.hostOS == (*conf).target.targetOS));
1621 if (T8_) goto LA9_;
1622 T8_ = !(((*conf).target.hostCPU == (*conf).target.targetCPU));
1623 LA9_: ;
1624 T7_ = T8_;
1625 if (!(T7_)) goto LA10_;
1626 T7_ = !((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0));
1627 LA10_: ;
1628 if (!T7_) goto LA11_;
1629 T13_ = NIM_NIL;
1630 T13_ = rawNewString((CPU__platform_691[((*conf).target.targetCPU)- 1].Field0 ? CPU__platform_691[((*conf).target.targetCPU)- 1].Field0->Sup.len : 0) + (OS__platform_504[((*conf).target.targetOS)- 1].Field0 ? OS__platform_504[((*conf).target.targetOS)- 1].Field0->Sup.len : 0) + (CC__extccomp_508[(c)- 1].Field0 ? CC__extccomp_508[(c)- 1].Field0->Sup.len : 0) + (fullSuffix ? fullSuffix->Sup.len : 0) + 2);
1631 appendString(T13_, CPU__platform_691[((*conf).target.targetCPU)- 1].Field0);
1632 appendChar(T13_, 46);
1633 appendString(T13_, OS__platform_504[((*conf).target.targetOS)- 1].Field0);
1634 appendChar(T13_, 46);
1635 appendString(T13_, CC__extccomp_508[(c)- 1].Field0);
1636 appendString(T13_, fullSuffix);
1637 fullCCname = T13_;
1638 result = getConfigVar__options_4019(conf, fullCCname, ((NimStringDesc*) NIM_NIL));
1639 {
1640 NimStringDesc* T18_;
1641 if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA16_;
1642 T18_ = NIM_NIL;
1643 T18_ = rawNewString((CC__extccomp_508[(c)- 1].Field0 ? CC__extccomp_508[(c)- 1].Field0->Sup.len : 0) + (fullSuffix ? fullSuffix->Sup.len : 0) + 0);
1644 appendString(T18_, CC__extccomp_508[(c)- 1].Field0);
1645 appendString(T18_, fullSuffix);
1646 result = getConfigVar__options_4019(conf, T18_, ((NimStringDesc*) NIM_NIL));
1647 }
1648 LA16_: ;
1649 }
1650 goto LA5_;
1651 LA11_: ;
1652 {
1653 NimStringDesc* T20_;
1654 T20_ = NIM_NIL;
1655 T20_ = rawNewString((CC__extccomp_508[(c)- 1].Field0 ? CC__extccomp_508[(c)- 1].Field0->Sup.len : 0) + (fullSuffix ? fullSuffix->Sup.len : 0) + 0);
1656 appendString(T20_, CC__extccomp_508[(c)- 1].Field0);
1657 appendString(T20_, fullSuffix);
1658 result = getConfigVar__options_4019(conf, T20_, ((NimStringDesc*) NIM_NIL));
1659 }
1660 LA5_: ;
1661 }BeforeRet_: ;
1662 return result;
1663 }
N_NIMCALL(NimStringDesc *,getDebug__extccomp_823)1664 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDebug__extccomp_823)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c) {
1665 NimStringDesc* result;
1666 result = NIM_NIL;
1667 result = getConfigVar__extccomp_627(conf, c, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
1668 {
1669 if (!((result ? result->Sup.len : 0) == 0)) goto LA3_;
1670 result = copyString(CC__extccomp_508[(c)- 1].Field15);
1671 }
1672 LA3_: ;
1673 return result;
1674 }
N_NIMCALL(NimStringDesc *,getOptSpeed__extccomp_819)1675 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOptSpeed__extccomp_819)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c) {
1676 NimStringDesc* result;
1677 result = NIM_NIL;
1678 result = getConfigVar__extccomp_627(conf, c, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_83));
1679 {
1680 if (!((result ? result->Sup.len : 0) == 0)) goto LA3_;
1681 result = copyString(CC__extccomp_508[(c)- 1].Field2);
1682 }
1683 LA3_: ;
1684 return result;
1685 }
N_NIMCALL(NimStringDesc *,getOptSize__extccomp_827)1686 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOptSize__extccomp_827)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c) {
1687 NimStringDesc* result;
1688 result = NIM_NIL;
1689 result = getConfigVar__extccomp_627(conf, c, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_85));
1690 {
1691 if (!((result ? result->Sup.len : 0) == 0)) goto LA3_;
1692 result = copyString(CC__extccomp_508[(c)- 1].Field3);
1693 }
1694 LA3_: ;
1695 return result;
1696 }
N_NIMCALL(NimStringDesc *,cFileSpecificOptions__extccomp_844)1697 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cFileSpecificOptions__extccomp_844)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* nimname, NimStringDesc* fullNimFile) {
1698 NimStringDesc* result;
1699 NimStringDesc* key_4;
1700 NimStringDesc* T48_;
1701 NimStringDesc* T55_;
1702 result = NIM_NIL;
1703 result = copyString((*conf).compileOptions);
1704 {
1705 NimStringDesc** option;
1706 NI i;
1707 NI L;
1708 NI T2_;
1709 option = (NimStringDesc**)0;
1710 i = ((NI) 0);
1711 T2_ = ((*conf).compileOptionsCmd ? (*conf).compileOptionsCmd->Sup.len : 0);
1712 L = T2_;
1713 {
1714 while (1) {
1715 if (!(i < L)) goto LA4;
1716 option = (&(*conf).compileOptionsCmd->data[i]);
1717 {
1718 NI T7_;
1719 T7_ = (NI)0;
1720 T7_ = nsuFindStr(result, (*option), ((NI) 0), ((NI) 0));
1721 if (!(T7_ < ((NI) 0))) goto LA8_;
1722 addOpt__extccomp_687((&result), (*option));
1723 }
1724 LA8_: ;
1725 i += ((NI) 1);
1726 } LA4: ;
1727 }
1728 }
1729 {
1730 NimStringDesc* key;
1731 NimStringDesc* T14_;
1732 if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0)) goto LA12_;
1733 T14_ = NIM_NIL;
1734 T14_ = rawNewString((nimname ? nimname->Sup.len : 0) + 6);
1735 appendString(T14_, nimname);
1736 appendString(T14_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_80));
1737 key = T14_;
1738 {
1739 NIM_BOOL T17_;
1740 NimStringDesc* T20_;
1741 T17_ = (NIM_BOOL)0;
1742 T17_ = existsConfigVar__options_4015(conf, key);
1743 if (!T17_) goto LA18_;
1744 T20_ = NIM_NIL;
1745 T20_ = getConfigVar__options_4019(conf, key, ((NimStringDesc*) NIM_NIL));
1746 addOpt__extccomp_687((&result), T20_);
1747 }
1748 goto LA15_;
1749 LA18_: ;
1750 {
1751 NimStringDesc* T22_;
1752 T22_ = NIM_NIL;
1753 T22_ = getDebug__extccomp_823(conf, (*conf).cCompiler);
1754 addOpt__extccomp_687((&result), T22_);
1755 }
1756 LA15_: ;
1757 }
1758 LA12_: ;
1759 {
1760 NimStringDesc* key_2;
1761 NimStringDesc* T27_;
1762 if (!(((*conf).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 15))&31U)))!=0)) goto LA25_;
1763 T27_ = NIM_NIL;
1764 T27_ = rawNewString((nimname ? nimname->Sup.len : 0) + 6);
1765 appendString(T27_, nimname);
1766 appendString(T27_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_82));
1767 key_2 = T27_;
1768 {
1769 NIM_BOOL T30_;
1770 NimStringDesc* T33_;
1771 T30_ = (NIM_BOOL)0;
1772 T30_ = existsConfigVar__options_4015(conf, key_2);
1773 if (!T30_) goto LA31_;
1774 T33_ = NIM_NIL;
1775 T33_ = getConfigVar__options_4019(conf, key_2, ((NimStringDesc*) NIM_NIL));
1776 addOpt__extccomp_687((&result), T33_);
1777 }
1778 goto LA28_;
1779 LA31_: ;
1780 {
1781 NimStringDesc* T35_;
1782 T35_ = NIM_NIL;
1783 T35_ = getOptSpeed__extccomp_819(conf, (*conf).cCompiler);
1784 addOpt__extccomp_687((&result), T35_);
1785 }
1786 LA28_: ;
1787 }
1788 goto LA23_;
1789 LA25_: ;
1790 {
1791 NimStringDesc* key_3;
1792 NimStringDesc* T39_;
1793 if (!(((*conf).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 16))&31U)))!=0)) goto LA37_;
1794 T39_ = NIM_NIL;
1795 T39_ = rawNewString((nimname ? nimname->Sup.len : 0) + 5);
1796 appendString(T39_, nimname);
1797 appendString(T39_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_84));
1798 key_3 = T39_;
1799 {
1800 NIM_BOOL T42_;
1801 NimStringDesc* T45_;
1802 T42_ = (NIM_BOOL)0;
1803 T42_ = existsConfigVar__options_4015(conf, key_3);
1804 if (!T42_) goto LA43_;
1805 T45_ = NIM_NIL;
1806 T45_ = getConfigVar__options_4019(conf, key_3, ((NimStringDesc*) NIM_NIL));
1807 addOpt__extccomp_687((&result), T45_);
1808 }
1809 goto LA40_;
1810 LA43_: ;
1811 {
1812 NimStringDesc* T47_;
1813 T47_ = NIM_NIL;
1814 T47_ = getOptSize__extccomp_827(conf, (*conf).cCompiler);
1815 addOpt__extccomp_687((&result), T47_);
1816 }
1817 LA40_: ;
1818 }
1819 goto LA23_;
1820 LA37_: ;
1821 LA23_: ;
1822 T48_ = NIM_NIL;
1823 T48_ = rawNewString((nimname ? nimname->Sup.len : 0) + 7);
1824 appendString(T48_, nimname);
1825 appendString(T48_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_86));
1826 key_4 = T48_;
1827 {
1828 NIM_BOOL T51_;
1829 NimStringDesc* T54_;
1830 T51_ = (NIM_BOOL)0;
1831 T51_ = existsConfigVar__options_4015(conf, key_4);
1832 if (!T51_) goto LA52_;
1833 T54_ = NIM_NIL;
1834 T54_ = getConfigVar__options_4019(conf, key_4, ((NimStringDesc*) NIM_NIL));
1835 addOpt__extccomp_687((&result), T54_);
1836 }
1837 LA52_: ;
1838 T55_ = NIM_NIL;
1839 T55_ = getOrDefault__pureZstrtabs_173((*conf).cfileSpecificOptions, fullNimFile, ((NimStringDesc*) NIM_NIL));
1840 addOpt__extccomp_687((&result), T55_);
1841 return result;
1842 }
N_NIMCALL(NIM_BOOL,useCpp__extccomp_906)1843 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, useCpp__extccomp_906)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cfile) {
1844 NIM_BOOL result;
1845 NIM_BOOL T1_;
1846 NIM_BOOL T3_;
1847 result = (NIM_BOOL)0;
1848 T1_ = (NIM_BOOL)0;
1849 T1_ = ((*conf).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
1850 if (!(T1_)) goto LA2_;
1851 T3_ = (NIM_BOOL)0;
1852 T3_ = nsuEndsWith(cfile, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_87));
1853 T1_ = !(T3_);
1854 LA2_: ;
1855 result = T1_;
1856 return result;
1857 }
N_NIMCALL(NimStringDesc *,getCompilerExe__extccomp_921)1858 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompilerExe__extccomp_921)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA compiler, NimStringDesc* cfile) {
1859 NimStringDesc* result;
1860 result = NIM_NIL;
1861 {
1862 if (!(compiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 8))) goto LA3_;
1863 {
1864 NIM_BOOL T7_;
1865 T7_ = (NIM_BOOL)0;
1866 T7_ = useCpp__extccomp_906(conf, cfile);
1867 if (!T7_) goto LA8_;
1868 result = getEnv__pureZos_418(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_89), ((NimStringDesc*) NIM_NIL));
1869 }
1870 goto LA5_;
1871 LA8_: ;
1872 {
1873 result = getEnv__pureZos_418(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_90), ((NimStringDesc*) NIM_NIL));
1874 }
1875 LA5_: ;
1876 }
1877 goto LA1_;
1878 LA3_: ;
1879 {
1880 {
1881 NIM_BOOL T14_;
1882 T14_ = (NIM_BOOL)0;
1883 T14_ = useCpp__extccomp_906(conf, cfile);
1884 if (!T14_) goto LA15_;
1885 result = copyString(CC__extccomp_508[(compiler)- 1].Field5);
1886 }
1887 goto LA12_;
1888 LA15_: ;
1889 {
1890 result = copyString(CC__extccomp_508[(compiler)- 1].Field4);
1891 }
1892 LA12_: ;
1893 }
1894 LA1_: ;
1895 {
1896 NimStringDesc* T22_;
1897 if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA20_;
1898 T22_ = NIM_NIL;
1899 T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_91), CC__extccomp_508[(compiler)- 1].Field0);
1900 liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_92, NIM_FALSE);
1901 }
1902 LA20_: ;
1903 return result;
1904 }
N_INLINE(NIM_BOOL,needsExeExt__extccomp_891)1905 static N_INLINE(NIM_BOOL, needsExeExt__extccomp_891)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
1906 NIM_BOOL result;
1907 NIM_BOOL T1_;
1908 NIM_BOOL T2_;
1909 result = (NIM_BOOL)0;
1910 T1_ = (NIM_BOOL)0;
1911 T2_ = (NIM_BOOL)0;
1912 T2_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 10))&63U)))!=0);
1913 if (!(T2_)) goto LA3_;
1914 T2_ = ((*conf).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
1915 LA3_: ;
1916 T1_ = T2_;
1917 if (T1_) goto LA4_;
1918 T1_ = ((*conf).target.hostOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
1919 LA4_: ;
1920 result = T1_;
1921 return result;
1922 }
N_INLINE(NIM_BOOL,noAbsolutePaths__extccomp_831)1923 static N_INLINE(NIM_BOOL, noAbsolutePaths__extccomp_831)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
1924 NIM_BOOL result;
1925 result = (NIM_BOOL)0;
1926 result = !((((*conf).globalOptions & 3072) == 0));
1927 return result;
1928 }
N_INLINE(NIM_BOOL,isEmpty__options_4495)1929 static N_INLINE(NIM_BOOL, isEmpty__options_4495)(NimStringDesc* x) {
1930 NIM_BOOL result;
1931 result = (NIM_BOOL)0;
1932 result = ((x ? x->Sup.len : 0) == ((NI) 0));
1933 return result;
1934 }
N_NIMCALL(NimStringDesc *,envFlags__extccomp_914)1935 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, envFlags__extccomp_914)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
1936 NimStringDesc* result;
1937 result = NIM_NIL;
1938 {
1939 if (!((*conf).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2))) goto LA3_;
1940 result = getEnv__pureZos_418(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_104), ((NimStringDesc*) NIM_NIL));
1941 }
1942 goto LA1_;
1943 LA3_: ;
1944 {
1945 result = getEnv__pureZos_418(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_105), ((NimStringDesc*) NIM_NIL));
1946 }
1947 LA1_: ;
1948 return result;
1949 }
N_INLINE(int,nimCmpMem)1950 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
1951 int result;
1952 result = (int)0;
1953 result = memcmp(a, b, ((size_t) (size)));
1954 return result;
1955 }
N_INLINE(NIM_BOOL,equalMem__system_1735)1956 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
1957 NIM_BOOL result;
1958 int T1_;
1959 result = (NIM_BOOL)0;
1960 T1_ = (int)0;
1961 T1_ = nimCmpMem(a, b, size);
1962 result = (T1_ == ((NI32) 0));
1963 return result;
1964 }
N_INLINE(NIM_BOOL,eqStrings)1965 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
1966 NIM_BOOL result;
1967 NI alen;
1968 NI blen;
1969 { result = (NIM_BOOL)0;
1970 alen = (a ? a->Sup.len : 0);
1971 blen = (b ? b->Sup.len : 0);
1972 {
1973 if (!(alen == blen)) goto LA3_;
1974 {
1975 if (!(alen == ((NI) 0))) goto LA7_;
1976 result = NIM_TRUE;
1977 goto BeforeRet_;
1978 }
1979 LA7_: ;
1980 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
1981 goto BeforeRet_;
1982 }
1983 LA3_: ;
1984 }BeforeRet_: ;
1985 return result;
1986 }
N_NIMCALL(NimStringDesc *,vccplatform__extccomp_872)1987 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, vccplatform__extccomp_872)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
1988 NimStringDesc* result;
1989 result = NIM_NIL;
1990 {
1991 NimStringDesc* exe;
1992 if (!((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 6))) goto LA3_;
1993 exe = getConfigVar__extccomp_627(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_88));
1994 {
1995 NimStringDesc* T7_;
1996 T7_ = NIM_NIL;
1997 T7_ = nosextractFilename(exe);
1998 if (!eqStrings(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_113), T7_)) goto LA8_;
1999 switch ((*conf).target.targetCPU) {
2000 case ((tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag) 1):
2001 {
2002 result = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_114));
2003 }
2004 break;
2005 case ((tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag) 14):
2006 {
2007 result = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_115));
2008 }
2009 break;
2010 case ((tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag) 11):
2011 {
2012 result = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_116));
2013 }
2014 break;
2015 default:
2016 {
2017 result = ((NimStringDesc*) NIM_NIL);
2018 }
2019 break;
2020 }
2021 }
2022 LA8_: ;
2023 }
2024 LA3_: ;
2025 return result;
2026 }
N_NIMCALL(NimStringDesc *,getCompileCFileCmd__extccomp_997)2027 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompileCFileCmd__extccomp_997)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile, NIM_BOOL isMainFile, NIM_BOOL produceOutput) {
2028 NimStringDesc* result;
2029 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c;
2030 NimStringDesc* options;
2031 NimStringDesc* T1_;
2032 NimStringDesc* exe;
2033 NimStringDesc* compilePattern;
2034 NimStringDesc* includeCmd;
2035 NimStringDesc* T32_;
2036 NimStringDesc* T33_;
2037 tyArray__Re75IspeoxXy2oCZHwcRrA T46_;
2038 NimStringDesc* T47_;
2039 NimStringDesc* cf;
2040 NimStringDesc* objfile;
2041 NimStringDesc* dfile;
2042 NimStringDesc* T72_;
2043 NimStringDesc* cfsh;
2044 tyArray__rmMMhDIqORJzUU5zqeitSQ T73_;
2045 NimStringDesc* T74_;
2046 tyArray__68WB4OcBspSFyW4LY9cOceA T97_;
2047 NimStringDesc* T98_;
2048 result = NIM_NIL;
2049 c = (*conf).cCompiler;
2050 T1_ = NIM_NIL;
2051 T1_ = noschangeFileExt((*cfile).cname, ((NimStringDesc*) NIM_NIL));
2052 options = cFileSpecificOptions__extccomp_844(conf, (*cfile).nimname, T1_);
2053 {
2054 NIM_BOOL T4_;
2055 NimStringDesc* T7_;
2056 T4_ = (NIM_BOOL)0;
2057 T4_ = useCpp__extccomp_906(conf, (*cfile).cname);
2058 if (!T4_) goto LA5_;
2059 T7_ = NIM_NIL;
2060 T7_ = rawNewString((CC__extccomp_508[(c)- 1].Field20 ? CC__extccomp_508[(c)- 1].Field20->Sup.len : 0) + (options ? options->Sup.len : 0) + 1);
2061 appendString(T7_, CC__extccomp_508[(c)- 1].Field20);
2062 appendChar(T7_, 32);
2063 appendString(T7_, options);
2064 options = T7_;
2065 }
2066 LA5_: ;
2067 exe = getConfigVar__extccomp_627(conf, c, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_88));
2068 {
2069 if (!((exe ? exe->Sup.len : 0) == ((NI) 0))) goto LA10_;
2070 exe = getCompilerExe__extccomp_921(conf, c, (*cfile).cname);
2071 }
2072 LA10_: ;
2073 {
2074 NIM_BOOL T14_;
2075 T14_ = (NIM_BOOL)0;
2076 T14_ = needsExeExt__extccomp_891(conf);
2077 if (!T14_) goto LA15_;
2078 exe = nosaddFileExt(exe, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_94));
2079 }
2080 LA15_: ;
2081 {
2082 NIM_BOOL T19_;
2083 NIM_BOOL T20_;
2084 NIM_BOOL T22_;
2085 NimStringDesc* T27_;
2086 T19_ = (NIM_BOOL)0;
2087 T20_ = (NIM_BOOL)0;
2088 T20_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0);
2089 if (T20_) goto LA21_;
2090 T22_ = (NIM_BOOL)0;
2091 T22_ = hcrOn__options_569(conf);
2092 if (!(T22_)) goto LA23_;
2093 T22_ = !(isMainFile);
2094 LA23_: ;
2095 T20_ = T22_;
2096 LA21_: ;
2097 T19_ = T20_;
2098 if (!(T19_)) goto LA24_;
2099 T19_ = ((OS__platform_504[((*conf).target.targetOS)- 1].Field12 &((NU8)1<<((NU)(((tyEnum_TInfoOSProp__thetQwB9agpeQ13qFmAcWhg) 0))&7U)))!=0);
2100 LA24_: ;
2101 if (!T19_) goto LA25_;
2102 T27_ = NIM_NIL;
2103 T27_ = rawNewString((CC__extccomp_508[(c)- 1].Field16 ? CC__extccomp_508[(c)- 1].Field16->Sup.len : 0) + 1);
2104 appendChar(T27_, 32);
2105 appendString(T27_, CC__extccomp_508[(c)- 1].Field16);
2106 options = resizeString(options, (T27_ ? T27_->Sup.len : 0) + 0);
2107 appendString(options, T27_);
2108 }
2109 LA25_: ;
2110 {
2111 if (!!((((*cfile).customArgs ? (*cfile).customArgs->Sup.len : 0) == 0))) goto LA30_;
2112 options = addChar(options, 32);
2113 options = resizeString(options, ((*cfile).customArgs ? (*cfile).customArgs->Sup.len : 0) + 0);
2114 appendString(options, (*cfile).customArgs);
2115 }
2116 LA30_: ;
2117 compilePattern = NIM_NIL;
2118 T32_ = NIM_NIL;
2119 T33_ = NIM_NIL;
2120 T33_ = nospquoteShell((*conf).libpath);
2121 T32_ = rawNewString((CC__extccomp_508[(c)- 1].Field12 ? CC__extccomp_508[(c)- 1].Field12->Sup.len : 0) + (T33_ ? T33_->Sup.len : 0) + 0);
2122 appendString(T32_, CC__extccomp_508[(c)- 1].Field12);
2123 appendString(T32_, T33_);
2124 includeCmd = T32_;
2125 {
2126 NIM_BOOL T36_;
2127 T36_ = (NIM_BOOL)0;
2128 T36_ = noAbsolutePaths__extccomp_831(conf);
2129 if (!!(T36_)) goto LA37_;
2130 {
2131 NimStringDesc** includeDir;
2132 NI i;
2133 NI L;
2134 NI T40_;
2135 includeDir = (NimStringDesc**)0;
2136 i = ((NI) 0);
2137 T40_ = ((*conf).cIncludes ? (*conf).cIncludes->Sup.len : 0);
2138 L = T40_;
2139 {
2140 while (1) {
2141 tyArray__Re75IspeoxXy2oCZHwcRrA T43_;
2142 NimStringDesc* T44_;
2143 if (!(i < L)) goto LA42;
2144 includeDir = (&(*conf).cIncludes->data[i]);
2145 nimZeroMem((void*)T43_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
2146 T43_[0] = copyString(CC__extccomp_508[(c)- 1].Field12);
2147 T43_[1] = nospquoteShell((*includeDir));
2148 T44_ = NIM_NIL;
2149 T44_ = nsuJoinSep(T43_, 2, ((NimStringDesc*) NIM_NIL));
2150 includeCmd = resizeString(includeCmd, (T44_ ? T44_->Sup.len : 0) + 0);
2151 appendString(includeCmd, T44_);
2152 i += ((NI) 1);
2153 } LA42: ;
2154 }
2155 }
2156 compilePattern = nosjoinPath((*conf).cCompilerPath, exe);
2157 }
2158 goto LA34_;
2159 LA37_: ;
2160 {
2161 compilePattern = getCompilerExe__extccomp_921(conf, c, (*cfile).cname);
2162 }
2163 LA34_: ;
2164 nimZeroMem((void*)T46_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
2165 T46_[0] = copyString(CC__extccomp_508[(c)- 1].Field12);
2166 T46_[1] = nospquoteShell((*conf).projectPath);
2167 T47_ = NIM_NIL;
2168 T47_ = nsuJoinSep(T46_, 2, ((NimStringDesc*) NIM_NIL));
2169 includeCmd = resizeString(includeCmd, (T47_ ? T47_->Sup.len : 0) + 0);
2170 appendString(includeCmd, T47_);
2171 {
2172 NIM_BOOL T50_;
2173 T50_ = (NIM_BOOL)0;
2174 T50_ = noAbsolutePaths__extccomp_831(conf);
2175 if (!T50_) goto LA51_;
2176 cf = nosextractFilename((*cfile).cname);
2177 }
2178 goto LA48_;
2179 LA51_: ;
2180 {
2181 cf = (*cfile).cname;
2182 }
2183 LA48_: ;
2184 {
2185 NIM_BOOL T56_;
2186 T56_ = (NIM_BOOL)0;
2187 T56_ = isEmpty__options_4495((*cfile).obj);
2188 if (!T56_) goto LA57_;
2189 {
2190 NIM_BOOL T61_;
2191 T61_ = (NIM_BOOL)0;
2192 T61_ = !((((*cfile).flags &((NU8)1<<((NU)(((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 1))&7U)))!=0));
2193 if (T61_) goto LA62_;
2194 T61_ = noAbsolutePaths__extccomp_831(conf);
2195 LA62_: ;
2196 if (!T61_) goto LA63_;
2197 objfile = toObjFile__extccomp_718(conf, cf);
2198 }
2199 goto LA59_;
2200 LA63_: ;
2201 {
2202 NimStringDesc* T66_;
2203 T66_ = NIM_NIL;
2204 T66_ = toObjFile__extccomp_718(conf, cf);
2205 objfile = completeCfilePath__extccomp_713(conf, T66_, NIM_TRUE);
2206 }
2207 LA59_: ;
2208 }
2209 goto LA54_;
2210 LA57_: ;
2211 {
2212 NIM_BOOL T68_;
2213 T68_ = (NIM_BOOL)0;
2214 T68_ = noAbsolutePaths__extccomp_831(conf);
2215 if (!T68_) goto LA69_;
2216 objfile = nosextractFilename((*cfile).obj);
2217 }
2218 goto LA54_;
2219 LA69_: ;
2220 {
2221 objfile = (*cfile).obj;
2222 }
2223 LA54_: ;
2224 T72_ = NIM_NIL;
2225 T72_ = noschangeFileExt(objfile, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95));
2226 dfile = nospquoteShell(T72_);
2227 cfsh = nospquoteShell(cf);
2228 nimZeroMem((void*)T73_, sizeof(tyArray__rmMMhDIqORJzUU5zqeitSQ));
2229 T73_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_96));
2230 T73_[1] = copyString(dfile);
2231 T73_[2] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_97));
2232 T73_[3] = copyString(cfsh);
2233 T73_[4] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_98));
2234 T73_[5] = nospquoteShell(objfile);
2235 T73_[6] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_99));
2236 T73_[7] = copyString(options);
2237 T73_[8] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_100));
2238 T73_[9] = copyString(includeCmd);
2239 T73_[10] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_101));
2240 T73_[11] = getPrefixDir__options_4061(conf);
2241 T73_[12] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_102));
2242 T73_[13] = copyString((*conf).libpath);
2243 T73_[14] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_103));
2244 T73_[15] = envFlags__extccomp_914(conf);
2245 T74_ = NIM_NIL;
2246 T74_ = nsuFormatOpenArray(compilePattern, T73_, 16);
2247 result = nospquoteShell(T74_);
2248 {
2249 if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 45))&63U)))!=0)) goto LA77_;
2250 {
2251 NimStringDesc* asmfile;
2252 NimStringDesc* T83_;
2253 tyArray__Re75IspeoxXy2oCZHwcRrA T84_;
2254 NimStringDesc* T85_;
2255 if (!(((NI) 0) < (CC__extccomp_508[((*conf).cCompiler)- 1].Field19 ? CC__extccomp_508[((*conf).cCompiler)- 1].Field19->Sup.len : 0))) goto LA81_;
2256 T83_ = NIM_NIL;
2257 T83_ = noschangeFileExt(objfile, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_106));
2258 asmfile = nospquoteShell(T83_);
2259 nimZeroMem((void*)T84_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
2260 T84_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_107));
2261 T84_[1] = copyString(asmfile);
2262 T85_ = NIM_NIL;
2263 T85_ = nsuFormatOpenArray(CC__extccomp_508[((*conf).cCompiler)- 1].Field19, T84_, 2);
2264 addOpt__extccomp_687((&result), T85_);
2265 {
2266 NimStringDesc* T90_;
2267 if (!produceOutput) goto LA88_;
2268 T90_ = NIM_NIL;
2269 T90_ = rawNewString((asmfile ? asmfile->Sup.len : 0) + 25);
2270 appendString(T90_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_108));
2271 appendString(T90_, asmfile);
2272 liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 99), T90_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_109, NIM_FALSE);
2273 }
2274 LA88_: ;
2275 }
2276 goto LA79_;
2277 LA81_: ;
2278 {
2279 {
2280 NimStringDesc* T96_;
2281 if (!produceOutput) goto LA94_;
2282 T96_ = NIM_NIL;
2283 T96_ = rawNewString((CC__extccomp_508[((*conf).cCompiler)- 1].Field0 ? CC__extccomp_508[((*conf).cCompiler)- 1].Field0->Sup.len : 0) + 64);
2284 appendString(T96_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_110));
2285 appendString(T96_, CC__extccomp_508[((*conf).cCompiler)- 1].Field0);
2286 liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 99), T96_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_111, NIM_FALSE);
2287 }
2288 LA94_: ;
2289 }
2290 LA79_: ;
2291 }
2292 LA77_: ;
2293 result = addChar(result, 32);
2294 nimZeroMem((void*)T97_, sizeof(tyArray__68WB4OcBspSFyW4LY9cOceA));
2295 T97_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_96));
2296 T97_[1] = copyString(dfile);
2297 T97_[2] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_97));
2298 T97_[3] = copyString(cfsh);
2299 T97_[4] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_98));
2300 T97_[5] = nospquoteShell(objfile);
2301 T97_[6] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_99));
2302 T97_[7] = copyString(options);
2303 T97_[8] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_100));
2304 T97_[9] = copyString(includeCmd);
2305 T97_[10] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_101));
2306 T98_ = NIM_NIL;
2307 T98_ = getPrefixDir__options_4061(conf);
2308 T97_[11] = nospquoteShell(T98_);
2309 T97_[12] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_102));
2310 T97_[13] = nospquoteShell((*conf).libpath);
2311 T97_[14] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_112));
2312 T97_[15] = vccplatform__extccomp_872(conf);
2313 T97_[16] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_103));
2314 T97_[17] = envFlags__extccomp_914(conf);
2315 nsuAddf((&result), CC__extccomp_508[(c)- 1].Field6, T97_, 18);
2316 return result;
2317 }
N_NIMCALL(void,footprint__extccomp_1046)2318 N_LIB_PRIVATE N_NIMCALL(void, footprint__extccomp_1046)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
2319 NimStringDesc* T1_;
2320 tyArray__YtcvxHNKV4YiecPE9ap1mcA T2_;
2321 NimStringDesc* T3_;
2322 NimStringDesc* T4_;
2323 T1_ = NIM_NIL;
2324 nimZeroMem((void*)T2_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
2325 secureHashFile__stdZsha49_871((*cfile).cname, T2_);
2326 T3_ = NIM_NIL;
2327 T3_ = dollar___stdZsha49_879(T2_);
2328 T4_ = NIM_NIL;
2329 T4_ = getCompileCFileCmd__extccomp_997(conf, cfile, NIM_FALSE, NIM_FALSE);
2330 T1_ = rawNewString((T3_ ? T3_->Sup.len : 0) + (OS__platform_504[((*conf).target.targetOS)- 1].Field0 ? OS__platform_504[((*conf).target.targetOS)- 1].Field0->Sup.len : 0) + (CPU__platform_691[((*conf).target.targetCPU)- 1].Field0 ? CPU__platform_691[((*conf).target.targetCPU)- 1].Field0->Sup.len : 0) + (CC__extccomp_508[((*conf).cCompiler)- 1].Field0 ? CC__extccomp_508[((*conf).cCompiler)- 1].Field0->Sup.len : 0) + (T4_ ? T4_->Sup.len : 0) + 0);
2331 appendString(T1_, T3_);
2332 appendString(T1_, OS__platform_504[((*conf).target.targetOS)- 1].Field0);
2333 appendString(T1_, CPU__platform_691[((*conf).target.targetCPU)- 1].Field0);
2334 appendString(T1_, CC__extccomp_508[((*conf).cCompiler)- 1].Field0);
2335 appendString(T1_, T4_);
2336 secureHash__stdZsha49_840(T1_->data, (T1_ ? T1_->Sup.len : 0), Result);
2337 }
N_INLINE(void,writeLine__msgs_432)2338 static N_INLINE(void, writeLine__msgs_432)(FILE* f, NimStringDesc** x, NI xLen_0) {
2339 {
2340 NimStringDesc** i;
2341 NI i_2;
2342 i = (NimStringDesc**)0;
2343 i_2 = ((NI) 0);
2344 {
2345 while (1) {
2346 if (!(i_2 < xLen_0)) goto LA3;
2347 i = (&x[i_2]);
2348 write__systemZio_205(f, (*i));
2349 i_2 += ((NI) 1);
2350 } LA3: ;
2351 }
2352 }
2353 write__systemZio_205(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_117));
2354 }
N_NIMCALL(NIM_BOOL,externalFileChanged__extccomp_1050)2355 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, externalFileChanged__extccomp_1050)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile) {
2356 NIM_BOOL result;
2357 NimStringDesc* hashFile;
2358 NimStringDesc* T5_;
2359 tyArray__YtcvxHNKV4YiecPE9ap1mcA currentHash;
2360 FILE* f;
2361 { result = (NIM_BOOL)0;
2362 {
2363 if (!((*conf).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 3))) goto LA3_;
2364 result = NIM_FALSE;
2365 goto BeforeRet_;
2366 }
2367 LA3_: ;
2368 T5_ = NIM_NIL;
2369 T5_ = withPackageName__options_4173(conf, (*cfile).cname);
2370 hashFile = toGeneratedFile__options_4235(conf, T5_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_78));
2371 nimZeroMem((void*)currentHash, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
2372 footprint__extccomp_1046(conf, cfile, currentHash);
2373 f = (FILE*)0;
2374 {
2375 NIM_BOOL T8_;
2376 tyArray__YtcvxHNKV4YiecPE9ap1mcA oldHash;
2377 NimStringDesc* T11_;
2378 NIM_BOOL T12_;
2379 T8_ = (NIM_BOOL)0;
2380 T8_ = open__systemZio_391(&f, hashFile, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
2381 if (!T8_) goto LA9_;
2382 nimZeroMem((void*)oldHash, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
2383 T11_ = NIM_NIL;
2384 T11_ = readLine__systemZio_273(f);
2385 parseSecureHash__stdZsha49_912(T11_, oldHash);
2386 close__systemZio_218(f);
2387 T12_ = (NIM_BOOL)0;
2388 T12_ = eqeq___stdZsha49_920(oldHash, currentHash);
2389 result = !(T12_);
2390 }
2391 goto LA6_;
2392 LA9_: ;
2393 {
2394 result = NIM_TRUE;
2395 }
2396 LA6_: ;
2397 {
2398 if (!result) goto LA16_;
2399 {
2400 NIM_BOOL T20_;
2401 tyArray__nHXaesL0DJZHyVS07ARPRA T23_;
2402 T20_ = (NIM_BOOL)0;
2403 T20_ = open__systemZio_391(&f, hashFile, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 1), ((NI) -1));
2404 if (!T20_) goto LA21_;
2405 nimZeroMem((void*)T23_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
2406 T23_[0] = dollar___stdZsha49_879(currentHash);
2407 writeLine__msgs_432(f, T23_, 1);
2408 close__systemZio_218(f);
2409 }
2410 LA21_: ;
2411 }
2412 LA16_: ;
2413 }BeforeRet_: ;
2414 return result;
2415 }
N_INLINE(NI,pluspercent___system_696)2416 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2417 NI result;
2418 result = (NI)0;
2419 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
2420 return result;
2421 }
N_INLINE(void,incRef__system_5309)2422 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2423 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2424 }
N_INLINE(NI,minuspercent___system_716)2425 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2426 NI result;
2427 result = (NI)0;
2428 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
2429 return result;
2430 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5271)2431 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr) {
2432 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2433 NI T1_;
2434 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2435 T1_ = (NI)0;
2436 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
2437 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2438 return result;
2439 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2440 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2441 NIM_BOOL result;
2442 result = (NIM_BOOL)0;
2443 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
2444 return result;
2445 }
N_INLINE(void,rtlAddZCT__system_5314)2446 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2447 addZCT__system_5265((&gch__system_5218.zct), c);
2448 }
N_INLINE(void,decRef__system_5316)2449 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2450 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2451 {
2452 NIM_BOOL T3_;
2453 T3_ = (NIM_BOOL)0;
2454 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2455 if (!T3_) goto LA4_;
2456 rtlAddZCT__system_5314(c);
2457 }
2458 LA4_: ;
2459 }
N_INLINE(void,asgnRef)2460 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2461 {
2462 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2463 if (!!((src == NIM_NIL))) goto LA3_;
2464 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2465 T5_ = usrToCell__system_5271(src);
2466 incRef__system_5309(T5_);
2467 }
2468 LA3_: ;
2469 {
2470 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2471 if (!!(((*dest) == NIM_NIL))) goto LA8_;
2472 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2473 T10_ = usrToCell__system_5271((*dest));
2474 decRef__system_5316(T10_);
2475 }
2476 LA8_: ;
2477 (*dest) = src;
2478 }
N_NIMCALL(void,addExternalFileToCompile__extccomp_1066)2479 N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToCompile__extccomp_1066)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* c) {
2480 NI T12_;
2481 {
2482 NIM_BOOL T3_;
2483 NIM_BOOL T4_;
2484 NIM_BOOL T7_;
2485 T3_ = (NIM_BOOL)0;
2486 T4_ = (NIM_BOOL)0;
2487 T4_ = !((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 1))&63U)))!=0));
2488 if (!(T4_)) goto LA5_;
2489 T4_ = nosfileExists((*c).obj);
2490 LA5_: ;
2491 T3_ = T4_;
2492 if (!(T3_)) goto LA6_;
2493 T7_ = (NIM_BOOL)0;
2494 T7_ = externalFileChanged__extccomp_1050(conf, (&(*c)));
2495 T3_ = !(T7_);
2496 LA6_: ;
2497 if (!T3_) goto LA8_;
2498 (*c).flags |= ((NU8)1)<<((((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 0)) & 7);
2499 }
2500 goto LA1_;
2501 LA8_: ;
2502 {
2503 NIM_BOOL T11_;
2504 T11_ = (NIM_BOOL)0;
2505 T11_ = nostryRemoveFile((*c).obj);
2506 (void)(T11_);
2507 }
2508 LA1_: ;
2509 asgnRef((void**) (&(*conf).toCompile), (tySequence__pK3qSsBZwdXd6qyUMkd5Jw*) incrSeqV3((TGenericSeq*)((*conf).toCompile), (&NTIcfilelist__pK3qSsBZwdXd6qyUMkd5Jw_)));
2510 T12_ = (*conf).toCompile->Sup.len++;
2511 genericAssign((void*)(&(*conf).toCompile->data[T12_]), (void*)(&(*c)), (&NTIcfile__i9cKq1ZGd1wgagjUEHLVFtg_));
2512 }
N_NIMCALL(void,addExternalFileToCompile__extccomp_1081)2513 N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToCompile__extccomp_1081)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename) {
2514 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg c;
2515 tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T1_;
2516 NimStringDesc* T2_;
2517 nimZeroMem((void*)(&c), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
2518 nimZeroMem((void*)(&c), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
2519 nimZeroMem((void*)(&T1_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
2520 splitFile__pathutils_26(filename, (&T1_));
2521 c.nimname = copyString(T1_.Field1);
2522 c.cname = copyString(filename);
2523 T2_ = NIM_NIL;
2524 T2_ = completeCfilePath__extccomp_713(conf, filename, NIM_FALSE);
2525 c.obj = toObjFile__extccomp_718(conf, T2_);
2526 c.flags = 2;
2527 addExternalFileToCompile__extccomp_1066(conf, (&c));
2528 }
N_INLINE(void,nimGCunrefNoCycle)2529 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
2530 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2531 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2532 T1_ = usrToCell__system_5271(p);
2533 decRef__system_5316(T1_);
2534 }
N_NIMCALL(void,insert__extccomp_757)2535 N_LIB_PRIVATE N_NIMCALL(void, insert__extccomp_757)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NimStringDesc* item, NI i) {
2536 NI xlX60gensym21_;
2537 NI T1_;
2538 NI jX60gensym21_;
2539 NimStringDesc* T4_;
2540 T1_ = ((*x) ? (*x)->Sup.len : 0);
2541 xlX60gensym21_ = T1_;
2542 unsureAsgnRef((void**) (&(*x)), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) ((NI)(xlX60gensym21_ + ((NI) 1))))));
2543 jX60gensym21_ = (NI)(xlX60gensym21_ - ((NI) 1));
2544 {
2545 while (1) {
2546 if (!(((NI) (i)) <= jX60gensym21_)) goto LA3;
2547 asgnRef((void**) (&(*x)->data[(NI)(jX60gensym21_ + ((NI) 1))]), (*x)->data[jX60gensym21_]);
2548 jX60gensym21_ -= ((NI) 1);
2549 } LA3: ;
2550 }
2551 T4_ = NIM_NIL;
2552 T4_ = (*x)->data[i]; (*x)->data[i] = copyStringRC1(item);
2553 if (T4_) nimGCunrefNoCycle(T4_);
2554 }
N_NIMCALL(void,addExternalFileToLink__extccomp_754)2555 N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToLink__extccomp_754)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename) {
2556 insert__extccomp_757((&(*conf).externalToLink), filename, ((NI) 0));
2557 }
N_INLINE(NIM_BOOL,contains__extccomp_612)2558 static N_INLINE(NIM_BOOL, contains__extccomp_612)(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw s, tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ value) {
2559 NIM_BOOL result;
2560 NIM_BOOL T1_;
2561 result = (NIM_BOOL)0;
2562 T1_ = (NIM_BOOL)0;
2563 T1_ = (s.a <= value);
2564 if (!(T1_)) goto LA2_;
2565 T1_ = (value <= s.b);
2566 LA2_: ;
2567 result = T1_;
2568 return result;
2569 }
N_INLINE(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw,dotdot___extccomp_591)2570 static N_INLINE(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw, dotdot___extccomp_591)(tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ a, tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ b) {
2571 tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw result;
2572 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw));
2573 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw));
2574 result.a = a;
2575 result.b = b;
2576 return result;
2577 }
N_NIMCALL(NIM_BOOL,isVSCompatible__extccomp_575)2578 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isVSCompatible__extccomp_575)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
2579 NIM_BOOL result;
2580 NIM_BOOL T1_;
2581 NIM_BOOL T2_;
2582 NIM_BOOL T5_;
2583 tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw T7_;
2584 { result = (NIM_BOOL)0;
2585 T1_ = (NIM_BOOL)0;
2586 T2_ = (NIM_BOOL)0;
2587 T2_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 6));
2588 if (T2_) goto LA3_;
2589 T2_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 11));
2590 LA3_: ;
2591 T1_ = T2_;
2592 if (T1_) goto LA4_;
2593 T5_ = (NIM_BOOL)0;
2594 T5_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 9));
2595 if (!(T5_)) goto LA6_;
2596 T7_ = dotdot___extccomp_591(((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 1), ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
2597 T5_ = contains__extccomp_612(T7_, (*conf).target.hostOS);
2598 LA6_: ;
2599 T1_ = T5_;
2600 LA4_: ;
2601 result = T1_;
2602 goto BeforeRet_;
2603 }BeforeRet_: ;
2604 return result;
2605 }
N_NIMCALL(void,addCompileOptionCmd__extccomp_699)2606 N_LIB_PRIVATE N_NIMCALL(void, addCompileOptionCmd__extccomp_699)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option) {
2607 NI T1_;
2608 NimStringDesc* T2_;
2609 asgnRef((void**) (&(*conf).compileOptionsCmd), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*conf).compileOptionsCmd), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2610 T1_ = (*conf).compileOptionsCmd->Sup.len++;
2611 T2_ = NIM_NIL;
2612 T2_ = (*conf).compileOptionsCmd->data[T1_]; (*conf).compileOptionsCmd->data[T1_] = copyStringRC1(option);
2613 if (T2_) nimGCunrefNoCycle(T2_);
2614 }
N_NIMCALL(void,addLinkOptionCmd__extccomp_696)2615 N_LIB_PRIVATE N_NIMCALL(void, addLinkOptionCmd__extccomp_696)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option) {
2616 addOpt__extccomp_687((&(*conf).linkOptionsCmd), option);
2617 }
N_NIMCALL(tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA,nameToCC__extccomp_521)2618 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA, nameToCC__extccomp_521)(NimStringDesc* name) {
2619 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA result;
2620 { result = (tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA)0;
2621 {
2622 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA i;
2623 NI res;
2624 i = (tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA)0;
2625 res = ((NI) 1);
2626 {
2627 while (1) {
2628 if (!(res <= ((NI) 11))) goto LA3;
2629 i = ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) (res));
2630 {
2631 NI T6_;
2632 T6_ = (NI)0;
2633 T6_ = nsuCmpIgnoreStyle(name, CC__extccomp_508[(i)- 1].Field0);
2634 if (!(T6_ == ((NI) 0))) goto LA7_;
2635 result = i;
2636 goto BeforeRet_;
2637 }
2638 LA7_: ;
2639 res += ((NI) 1);
2640 } LA3: ;
2641 }
2642 }
2643 result = ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 0);
2644 }BeforeRet_: ;
2645 return result;
2646 }
N_NIMCALL(NimStringDesc *,listCCnames__extccomp_552)2647 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, listCCnames__extccomp_552)(void) {
2648 NimStringDesc* result;
2649 result = NIM_NIL;
2650 result = ((NimStringDesc*) NIM_NIL);
2651 {
2652 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA i;
2653 NI res;
2654 i = (tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA)0;
2655 res = ((NI) 1);
2656 {
2657 while (1) {
2658 if (!(res <= ((NI) 11))) goto LA3;
2659 i = ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) (res));
2660 {
2661 if (!(((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 1) < i)) goto LA6_;
2662 result = resizeString(result, 2);
2663 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
2664 }
2665 LA6_: ;
2666 result = resizeString(result, (CC__extccomp_508[(i)- 1].Field0 ? CC__extccomp_508[(i)- 1].Field0->Sup.len : 0) + 0);
2667 appendString(result, CC__extccomp_508[(i)- 1].Field0);
2668 res += ((NI) 1);
2669 } LA3: ;
2670 }
2671 }
2672 return result;
2673 }
N_NIMCALL(void,setCC__extccomp_649)2674 N_LIB_PRIVATE N_NIMCALL(void, setCC__extccomp_649)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* ccname, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2675 (*conf).cCompiler = nameToCC__extccomp_521(ccname);
2676 {
2677 tyArray__Re75IspeoxXy2oCZHwcRrA T5_;
2678 NimStringDesc* T6_;
2679 if (!((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 0))) goto LA3_;
2680 nimZeroMem((void*)T5_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
2681 T5_[0] = copyString(ccname);
2682 T5_[1] = listCCnames__extccomp_552();
2683 T6_ = NIM_NIL;
2684 T6_ = nsuFormatOpenArray(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_118), T5_, 2);
2685 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__OyL9acDBDoBfMwa5zb1Y88w_120, NIM_FALSE);
2686 }
2687 LA3_: ;
2688 asgnRef((void**) (&(*conf).compileOptions), getConfigVar__extccomp_627(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_121)));
2689 asgnRef((void**) (&(*conf).linkOptions), ((NimStringDesc*) NIM_NIL));
2690 asgnRef((void**) (&(*conf).cCompilerPath), getConfigVar__extccomp_627(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_122)));
2691 {
2692 tyTuple__yByxe8FSFNTgs4tcAkTYag c;
2693 tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg i;
2694 nimZeroMem((void*)(&c), sizeof(tyTuple__yByxe8FSFNTgs4tcAkTYag));
2695 i = ((tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg) 1);
2696 {
2697 while (1) {
2698 nimCopyMem((void*)(&c), (NIM_CONST void*)(&CC__extccomp_508[(i)- 1]), sizeof(c));
2699 undefSymbol__condsyms_8((*conf).symbols, c.Field0);
2700 {
2701 if (!(((tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg) 11) <= i)) goto LA12_;
2702 goto LA8;
2703 }
2704 LA12_: ;
2705 i += ((NI) 1);
2706 }
2707 } LA8: ;
2708 }
2709 defineSymbol__condsyms_4((*conf).symbols, CC__extccomp_508[((*conf).cCompiler)- 1].Field0, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_123));
2710 }
N_NIMCALL(void,addLinkOption__extccomp_690)2711 N_LIB_PRIVATE N_NIMCALL(void, addLinkOption__extccomp_690)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option) {
2712 addOpt__extccomp_687((&(*conf).linkOptions), option);
2713 }
N_NIMCALL(void,addCompileOption__extccomp_693)2714 N_LIB_PRIVATE N_NIMCALL(void, addCompileOption__extccomp_693)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option) {
2715 {
2716 NI T3_;
2717 T3_ = (NI)0;
2718 T3_ = nsuFindStr((*conf).compileOptions, option, ((NI) 0), ((NI) 0));
2719 if (!(T3_ < ((NI) 0))) goto LA4_;
2720 addOpt__extccomp_687((&(*conf).compileOptions), option);
2721 }
2722 LA4_: ;
2723 }
N_NIMCALL(void,addLocalCompileOption__extccomp_738)2724 N_LIB_PRIVATE N_NIMCALL(void, addLocalCompileOption__extccomp_738)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option, NimStringDesc* nimfile) {
2725 NimStringDesc* key;
2726 NimStringDesc* T1_;
2727 NimStringDesc* value;
2728 T1_ = NIM_NIL;
2729 T1_ = withPackageName__options_4173(conf, nimfile);
2730 key = completeCfilePath__extccomp_713(conf, T1_, NIM_TRUE);
2731 value = getOrDefault__pureZstrtabs_173((*conf).cfileSpecificOptions, key, ((NimStringDesc*) NIM_NIL));
2732 {
2733 NI T4_;
2734 T4_ = (NI)0;
2735 T4_ = nsuFindStr(value, option, ((NI) 0), ((NI) 0));
2736 if (!(T4_ < ((NI) 0))) goto LA5_;
2737 addOpt__extccomp_687((&value), option);
2738 nstPut((*conf).cfileSpecificOptions, key, value);
2739 }
2740 LA5_: ;
2741 }
N_NIMCALL(void,initVars__extccomp_706)2742 N_LIB_PRIVATE N_NIMCALL(void, initVars__extccomp_706)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
2743 NimStringDesc* T8_;
2744 {
2745 tyTuple__yByxe8FSFNTgs4tcAkTYag c;
2746 tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg i;
2747 nimZeroMem((void*)(&c), sizeof(tyTuple__yByxe8FSFNTgs4tcAkTYag));
2748 i = ((tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg) 1);
2749 {
2750 while (1) {
2751 nimCopyMem((void*)(&c), (NIM_CONST void*)(&CC__extccomp_508[(i)- 1]), sizeof(c));
2752 undefSymbol__condsyms_8((*conf).symbols, c.Field0);
2753 {
2754 if (!(((tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg) 11) <= i)) goto LA6_;
2755 goto LA2;
2756 }
2757 LA6_: ;
2758 i += ((NI) 1);
2759 }
2760 } LA2: ;
2761 }
2762 defineSymbol__condsyms_4((*conf).symbols, CC__extccomp_508[((*conf).cCompiler)- 1].Field0, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_123));
2763 T8_ = NIM_NIL;
2764 T8_ = getConfigVar__extccomp_627(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_121));
2765 addCompileOption__extccomp_693(conf, T8_);
2766 {
2767 if (!(((*conf).cCompilerPath ? (*conf).cCompilerPath->Sup.len : 0) == ((NI) 0))) goto LA11_;
2768 asgnRef((void**) (&(*conf).cCompilerPath), getConfigVar__extccomp_627(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_122)));
2769 }
2770 LA11_: ;
2771 }
N_INLINE(void,pushSafePoint)2772 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
2773 (*s).prev = excHandler__system_2565;
2774 excHandler__system_2565 = s;
2775 }
N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,X5BX5D___pureZjson_3043)2776 static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___pureZjson_3043)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* name) {
2777 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2778 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** T1_;
2779 result = NIM_NIL;
2780 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
2781 T1_ = X5BX5D___pureZjson_2638((&(*node)._kind_6.fields), name);
2782 result = (*T1_);
2783 return result;
2784 }
N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,X5BX5D___pureZjson_3118)2785 static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___pureZjson_3118)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI index) {
2786 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2787 { result = NIM_NIL;
2788 result = (*node)._kind_7.elems->data[index];
2789 goto BeforeRet_;
2790 }BeforeRet_: ;
2791 return result;
2792 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)2793 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
2794 addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
2795 }
N_NIMCALL(void,addQuoted__extccomp_2078)2796 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__extccomp_2078)(NimStringDesc** s, NI x) {
2797 addInt__stdZprivateZdigitsutils_189(s, x);
2798 }
N_NIMCALL(NimStringDesc *,dollar___extccomp_2058)2799 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___extccomp_2058)(tyTuple__awOivLjlO76sGdHY7nQUjQ* x) {
2800 NimStringDesc* result;
2801 NI count;
2802 result = NIM_NIL;
2803 result = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_136));
2804 count = ((NI) 0);
2805 {
2806 if (!(((NI) 0) < count)) goto LA3_;
2807 result = resizeString(result, 2);
2808 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
2809 }
2810 LA3_: ;
2811 count += ((NI) 1);
2812 addQuoted__extccomp_2078((&result), (*x).Field0);
2813 {
2814 if (!(((NI) 0) < count)) goto LA7_;
2815 result = resizeString(result, 2);
2816 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
2817 }
2818 LA7_: ;
2819 count += ((NI) 1);
2820 addQuoted__extccomp_2078((&result), (*x).Field1);
2821 {
2822 if (!(((NI) 0) < count)) goto LA11_;
2823 result = resizeString(result, 2);
2824 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
2825 }
2826 LA11_: ;
2827 count += ((NI) 1);
2828 addQuoted__pureZos_449((&result), (*x).Field2);
2829 {
2830 if (!(((NI) 0) < count)) goto LA15_;
2831 result = resizeString(result, 2);
2832 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
2833 }
2834 LA15_: ;
2835 count += ((NI) 1);
2836 {
2837 if (!((*x).Field3 == 0)) goto LA19_;
2838 result = resizeString(result, 3);
2839 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_137));
2840 }
2841 goto LA17_;
2842 LA19_: ;
2843 {
2844 addQuoted__stdZjsonutils_444((&result), (*x).Field3);
2845 }
2846 LA17_: ;
2847 {
2848 if (!(count == ((NI) 1))) goto LA24_;
2849 result = resizeString(result, 1);
2850 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_138));
2851 }
2852 LA24_: ;
2853 result = resizeString(result, 1);
2854 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_139));
2855 return result;
2856 }
N_NIMCALL(void,fromJson__extccomp_2004)2857 N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_2004)(tyTuple__UV3llMMYFckfui8YMBuUZA* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt) {
2858 NI i;
2859 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T12_;
2860 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T13_;
2861 {
2862 NIM_BOOL T3_;
2863 tyTuple__jq7X5k7hWG0tdTZTDkiyGQ T6_;
2864 NimStringDesc* T7_;
2865 T3_ = (NIM_BOOL)0;
2866 T3_ = eqeq___pureZjson_2044(b, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
2867 if (!!(!(T3_))) goto LA4_;
2868 nimZeroMem((void*)(&T6_), sizeof(tyTuple__jq7X5k7hWG0tdTZTDkiyGQ));
2869 T6_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_133));
2870 T6_.Field1 = b;
2871 T7_ = NIM_NIL;
2872 T7_ = dollar___stdZjsonutils_407(T6_);
2873 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_125), T7_);
2874 }
2875 LA4_: ;
2876 {
2877 if (!!(((*b).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6)))) goto LA10_;
2878 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_134), reprEnum((NI)(*b).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_)));
2879 }
2880 LA10_: ;
2881 i = ((NI) 0);
2882 T12_ = NIM_NIL;
2883 T12_ = X5BX5D___pureZjson_3118(b, i);
2884 fromJson__stdZjsonutils_566((&(*a).Field0), T12_, opt);
2885 i += ((NI) 1);
2886 T13_ = NIM_NIL;
2887 T13_ = X5BX5D___pureZjson_3118(b, i);
2888 fromJson__stdZjsonutils_566((&(*a).Field1), T13_, opt);
2889 i += ((NI) 1);
2890 {
2891 NI T16_;
2892 tyTuple__awOivLjlO76sGdHY7nQUjQ T19_;
2893 NimStringDesc* T20_;
2894 T16_ = (NI)0;
2895 T16_ = len__pureZjson_2989(b);
2896 if (!!((T16_ == i))) goto LA17_;
2897 nimZeroMem((void*)(&T19_), sizeof(tyTuple__awOivLjlO76sGdHY7nQUjQ));
2898 T19_.Field0 = len__pureZjson_2989(b);
2899 T19_.Field1 = i;
2900 T19_.Field2 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_133));
2901 T19_.Field3 = b;
2902 T20_ = NIM_NIL;
2903 T20_ = dollar___extccomp_2058((&T19_));
2904 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_135), T20_);
2905 }
2906 LA17_: ;
2907 }
N_NIMCALL(void,fromJson__extccomp_1952)2908 N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_1952)(tySequence__4eQHGndY6XBYpFOH09apV8Q** a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt) {
2909 NI T8_;
2910 {
2911 NIM_BOOL T3_;
2912 tyTuple__jq7X5k7hWG0tdTZTDkiyGQ T6_;
2913 NimStringDesc* T7_;
2914 T3_ = (NIM_BOOL)0;
2915 T3_ = eqeq___pureZjson_2044(b, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
2916 if (!!(!(T3_))) goto LA4_;
2917 nimZeroMem((void*)(&T6_), sizeof(tyTuple__jq7X5k7hWG0tdTZTDkiyGQ));
2918 T6_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_132));
2919 T6_.Field1 = b;
2920 T7_ = NIM_NIL;
2921 T7_ = dollar___stdZjsonutils_407(T6_);
2922 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_125), T7_);
2923 }
2924 LA4_: ;
2925 T8_ = (NI)0;
2926 T8_ = len__pureZjson_2989(b);
2927 unsureAsgnRef((void**) (&(*a)), (tySequence__4eQHGndY6XBYpFOH09apV8Q*) setLengthSeqV2(&((*a))->Sup, (&NTIseqLtupleLkey58string_value58stringTT__4eQHGndY6XBYpFOH09apV8Q_), ((NI) (T8_))));
2928 {
2929 NI i;
2930 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
2931 tySequence__oLpBKXzW3hF9aCVMo5EymfQ* colontmp_;
2932 tySequence__oLpBKXzW3hF9aCVMo5EymfQ* T10_;
2933 NI i_2;
2934 NI L;
2935 NI T11_;
2936 i = (NI)0;
2937 val = NIM_NIL;
2938 colontmp_ = NIM_NIL;
2939 T10_ = NIM_NIL;
2940 T10_ = NIM_NIL;
2941 colontmp_ = getElems__pureZjson_207(b, T10_);
2942 i_2 = ((NI) 0);
2943 T11_ = (colontmp_ ? colontmp_->Sup.len : 0);
2944 L = T11_;
2945 {
2946 while (1) {
2947 if (!(i_2 < L)) goto LA13;
2948 i = i_2;
2949 val = colontmp_->data[i_2];
2950 fromJson__extccomp_2004((&(*a)->data[i]), val, opt);
2951 i_2 += ((NI) 1);
2952 } LA13: ;
2953 }
2954 }
2955 }
N_NIMCALL(void,fromJson__extccomp_2140)2956 N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_2140)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt) {
2957 NI T8_;
2958 {
2959 NIM_BOOL T3_;
2960 tyTuple__jq7X5k7hWG0tdTZTDkiyGQ T6_;
2961 NimStringDesc* T7_;
2962 T3_ = (NIM_BOOL)0;
2963 T3_ = eqeq___pureZjson_2044(b, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
2964 if (!!(!(T3_))) goto LA4_;
2965 nimZeroMem((void*)(&T6_), sizeof(tyTuple__jq7X5k7hWG0tdTZTDkiyGQ));
2966 T6_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_141));
2967 T6_.Field1 = b;
2968 T7_ = NIM_NIL;
2969 T7_ = dollar___stdZjsonutils_407(T6_);
2970 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_125), T7_);
2971 }
2972 LA4_: ;
2973 T8_ = (NI)0;
2974 T8_ = len__pureZjson_2989(b);
2975 unsureAsgnRef((void**) (&(*a)), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&((*a))->Sup, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) (T8_))));
2976 {
2977 NI i;
2978 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
2979 tySequence__oLpBKXzW3hF9aCVMo5EymfQ* colontmp_;
2980 tySequence__oLpBKXzW3hF9aCVMo5EymfQ* T10_;
2981 NI i_2;
2982 NI L;
2983 NI T11_;
2984 i = (NI)0;
2985 val = NIM_NIL;
2986 colontmp_ = NIM_NIL;
2987 T10_ = NIM_NIL;
2988 T10_ = NIM_NIL;
2989 colontmp_ = getElems__pureZjson_207(b, T10_);
2990 i_2 = ((NI) 0);
2991 T11_ = (colontmp_ ? colontmp_->Sup.len : 0);
2992 L = T11_;
2993 {
2994 while (1) {
2995 if (!(i_2 < L)) goto LA13;
2996 i = i_2;
2997 val = colontmp_->data[i_2];
2998 fromJson__stdZjsonutils_566((&(*a)->data[i]), val, opt);
2999 i_2 += ((NI) 1);
3000 } LA13: ;
3001 }
3002 }
3003 }
N_NIMCALL(NIM_BOOL,to__extccomp_2271)3004 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, to__extccomp_2271)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node) {
3005 NIM_BOOL result;
3006 NimStringDesc* jsonPath;
3007 result = (NIM_BOOL)0;
3008 jsonPath = ((NimStringDesc*) NIM_NIL);
3009 initFromJson__pureZjson_5264((&result), node, (&jsonPath));
3010 return result;
3011 }
N_NIMCALL(void,fromJson__extccomp_2260)3012 N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_2260)(NIM_BOOL* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt) {
3013 {
3014 NIM_BOOL T3_;
3015 tyTuple__jq7X5k7hWG0tdTZTDkiyGQ T6_;
3016 NimStringDesc* T7_;
3017 T3_ = (NIM_BOOL)0;
3018 T3_ = eqeq___pureZjson_2044(b, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
3019 if (!!(!(T3_))) goto LA4_;
3020 nimZeroMem((void*)(&T6_), sizeof(tyTuple__jq7X5k7hWG0tdTZTDkiyGQ));
3021 T6_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_146));
3022 T6_.Field1 = b;
3023 T7_ = NIM_NIL;
3024 T7_ = dollar___stdZjsonutils_407(T6_);
3025 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_125), T7_);
3026 }
3027 LA4_: ;
3028 (*a) = to__extccomp_2271(b);
3029 }
N_NIMCALL(NimStringDesc *,dollar___extccomp_2429)3030 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___extccomp_2429)(tyTuple__YOdO3R1J4biIW9bY9agwbAQw* x) {
3031 NimStringDesc* result;
3032 NI count;
3033 result = NIM_NIL;
3034 result = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_136));
3035 count = ((NI) 0);
3036 {
3037 if (!(((NI) 0) < count)) goto LA3_;
3038 result = resizeString(result, 2);
3039 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
3040 }
3041 LA3_: ;
3042 count += ((NI) 1);
3043 addQuoted__extccomp_2078((&result), (*x).Field0);
3044 {
3045 if (!(((NI) 0) < count)) goto LA7_;
3046 result = resizeString(result, 2);
3047 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
3048 }
3049 LA7_: ;
3050 count += ((NI) 1);
3051 addQuoted__extccomp_2078((&result), (*x).Field1);
3052 {
3053 if (!(((NI) 0) < count)) goto LA11_;
3054 result = resizeString(result, 2);
3055 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
3056 }
3057 LA11_: ;
3058 count += ((NI) 1);
3059 addQuoted__extccomp_2078((&result), (*x).Field2);
3060 {
3061 if (!(((NI) 0) < count)) goto LA15_;
3062 result = resizeString(result, 2);
3063 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
3064 }
3065 LA15_: ;
3066 count += ((NI) 1);
3067 addQuoted__pureZos_449((&result), (*x).Field3);
3068 {
3069 if (!(((NI) 0) < count)) goto LA19_;
3070 result = resizeString(result, 2);
3071 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
3072 }
3073 LA19_: ;
3074 count += ((NI) 1);
3075 {
3076 if (!((*x).Field4 == 0)) goto LA23_;
3077 result = resizeString(result, 3);
3078 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_137));
3079 }
3080 goto LA21_;
3081 LA23_: ;
3082 {
3083 addQuoted__stdZjsonutils_444((&result), (*x).Field4);
3084 }
3085 LA21_: ;
3086 {
3087 if (!(count == ((NI) 1))) goto LA28_;
3088 result = resizeString(result, 1);
3089 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_138));
3090 }
3091 LA28_: ;
3092 result = resizeString(result, 1);
3093 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_139));
3094 return result;
3095 }
N_NIMCALL(void,fromJson__extccomp_1838)3096 N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_1838)(tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b, tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ opt) {
3097 NI numX60gensym14_;
3098 NI numMatchedX60gensym14_;
3099 NIM_BOOL okX60gensym14_;
3100 {
3101 NIM_BOOL T3_;
3102 tyTuple__jq7X5k7hWG0tdTZTDkiyGQ T6_;
3103 NimStringDesc* T7_;
3104 T3_ = (NIM_BOOL)0;
3105 T3_ = eqeq___pureZjson_2044(b, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
3106 if (!!(!(T3_))) goto LA4_;
3107 nimZeroMem((void*)(&T6_), sizeof(tyTuple__jq7X5k7hWG0tdTZTDkiyGQ));
3108 T6_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3109 T6_.Field1 = b;
3110 T7_ = NIM_NIL;
3111 T7_ = dollar___stdZjsonutils_407(T6_);
3112 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_125), T7_);
3113 }
3114 LA4_: ;
3115 {
3116 if (!!(((*b).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5)))) goto LA10_;
3117 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_127), reprEnum((NI)(*b).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_)));
3118 }
3119 LA10_: ;
3120 numX60gensym14_ = ((NI) 0);
3121 numMatchedX60gensym14_ = ((NI) 0);
3122 numX60gensym14_ += ((NI) 1);
3123 {
3124 NIM_BOOL T14_;
3125 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T17_;
3126 T14_ = (NIM_BOOL)0;
3127 T14_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_128));
3128 if (!T14_) goto LA15_;
3129 numMatchedX60gensym14_ += ((NI) 1);
3130 T17_ = NIM_NIL;
3131 T17_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_128));
3132 fromJson__stdZjsonutils_566((&(*a).cacheVersion), T17_, opt);
3133 }
3134 goto LA12_;
3135 LA15_: ;
3136 {
3137 if (!opt.allowMissingKeys) goto LA19_;
3138 }
3139 goto LA12_;
3140 LA19_: ;
3141 {
3142 {
3143 tyTuple__d8cOxWret6fRDupvUsyoyw T26_;
3144 NimStringDesc* T27_;
3145 if (!NIM_TRUE) goto LA24_;
3146 nimZeroMem((void*)(&T26_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3147 T26_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3148 T26_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_128));
3149 T26_.Field2 = b;
3150 T27_ = NIM_NIL;
3151 T27_ = dollar___stdZjsonutils_504(T26_);
3152 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T27_);
3153 }
3154 LA24_: ;
3155 }
3156 LA12_: ;
3157 numX60gensym14_ += ((NI) 1);
3158 {
3159 NIM_BOOL T30_;
3160 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T33_;
3161 T30_ = (NIM_BOOL)0;
3162 T30_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_130));
3163 if (!T30_) goto LA31_;
3164 numMatchedX60gensym14_ += ((NI) 1);
3165 T33_ = NIM_NIL;
3166 T33_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_130));
3167 fromJson__stdZjsonutils_566((&(*a).outputFile), T33_, opt);
3168 }
3169 goto LA28_;
3170 LA31_: ;
3171 {
3172 if (!opt.allowMissingKeys) goto LA35_;
3173 }
3174 goto LA28_;
3175 LA35_: ;
3176 {
3177 {
3178 tyTuple__d8cOxWret6fRDupvUsyoyw T42_;
3179 NimStringDesc* T43_;
3180 if (!NIM_TRUE) goto LA40_;
3181 nimZeroMem((void*)(&T42_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3182 T42_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3183 T42_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_130));
3184 T42_.Field2 = b;
3185 T43_ = NIM_NIL;
3186 T43_ = dollar___stdZjsonutils_504(T42_);
3187 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T43_);
3188 }
3189 LA40_: ;
3190 }
3191 LA28_: ;
3192 numX60gensym14_ += ((NI) 1);
3193 {
3194 NIM_BOOL T46_;
3195 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T49_;
3196 T46_ = (NIM_BOOL)0;
3197 T46_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_131));
3198 if (!T46_) goto LA47_;
3199 numMatchedX60gensym14_ += ((NI) 1);
3200 T49_ = NIM_NIL;
3201 T49_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_131));
3202 fromJson__extccomp_1952((&(*a).compile), T49_, opt);
3203 }
3204 goto LA44_;
3205 LA47_: ;
3206 {
3207 if (!opt.allowMissingKeys) goto LA51_;
3208 }
3209 goto LA44_;
3210 LA51_: ;
3211 {
3212 {
3213 tyTuple__d8cOxWret6fRDupvUsyoyw T58_;
3214 NimStringDesc* T59_;
3215 if (!NIM_TRUE) goto LA56_;
3216 nimZeroMem((void*)(&T58_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3217 T58_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3218 T58_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_131));
3219 T58_.Field2 = b;
3220 T59_ = NIM_NIL;
3221 T59_ = dollar___stdZjsonutils_504(T58_);
3222 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T59_);
3223 }
3224 LA56_: ;
3225 }
3226 LA44_: ;
3227 numX60gensym14_ += ((NI) 1);
3228 {
3229 NIM_BOOL T62_;
3230 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T65_;
3231 T62_ = (NIM_BOOL)0;
3232 T62_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_140));
3233 if (!T62_) goto LA63_;
3234 numMatchedX60gensym14_ += ((NI) 1);
3235 T65_ = NIM_NIL;
3236 T65_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_140));
3237 fromJson__extccomp_2140((&(*a).link), T65_, opt);
3238 }
3239 goto LA60_;
3240 LA63_: ;
3241 {
3242 if (!opt.allowMissingKeys) goto LA67_;
3243 }
3244 goto LA60_;
3245 LA67_: ;
3246 {
3247 {
3248 tyTuple__d8cOxWret6fRDupvUsyoyw T74_;
3249 NimStringDesc* T75_;
3250 if (!NIM_TRUE) goto LA72_;
3251 nimZeroMem((void*)(&T74_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3252 T74_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3253 T74_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_140));
3254 T74_.Field2 = b;
3255 T75_ = NIM_NIL;
3256 T75_ = dollar___stdZjsonutils_504(T74_);
3257 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T75_);
3258 }
3259 LA72_: ;
3260 }
3261 LA60_: ;
3262 numX60gensym14_ += ((NI) 1);
3263 {
3264 NIM_BOOL T78_;
3265 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T81_;
3266 T78_ = (NIM_BOOL)0;
3267 T78_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_142));
3268 if (!T78_) goto LA79_;
3269 numMatchedX60gensym14_ += ((NI) 1);
3270 T81_ = NIM_NIL;
3271 T81_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_142));
3272 fromJson__stdZjsonutils_566((&(*a).linkcmd), T81_, opt);
3273 }
3274 goto LA76_;
3275 LA79_: ;
3276 {
3277 if (!opt.allowMissingKeys) goto LA83_;
3278 }
3279 goto LA76_;
3280 LA83_: ;
3281 {
3282 {
3283 tyTuple__d8cOxWret6fRDupvUsyoyw T90_;
3284 NimStringDesc* T91_;
3285 if (!NIM_TRUE) goto LA88_;
3286 nimZeroMem((void*)(&T90_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3287 T90_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3288 T90_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_142));
3289 T90_.Field2 = b;
3290 T91_ = NIM_NIL;
3291 T91_ = dollar___stdZjsonutils_504(T90_);
3292 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T91_);
3293 }
3294 LA88_: ;
3295 }
3296 LA76_: ;
3297 numX60gensym14_ += ((NI) 1);
3298 {
3299 NIM_BOOL T94_;
3300 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T97_;
3301 T94_ = (NIM_BOOL)0;
3302 T94_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_143));
3303 if (!T94_) goto LA95_;
3304 numMatchedX60gensym14_ += ((NI) 1);
3305 T97_ = NIM_NIL;
3306 T97_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_143));
3307 fromJson__extccomp_2140((&(*a).extraCmds), T97_, opt);
3308 }
3309 goto LA92_;
3310 LA95_: ;
3311 {
3312 if (!opt.allowMissingKeys) goto LA99_;
3313 }
3314 goto LA92_;
3315 LA99_: ;
3316 {
3317 {
3318 tyTuple__d8cOxWret6fRDupvUsyoyw T106_;
3319 NimStringDesc* T107_;
3320 if (!NIM_TRUE) goto LA104_;
3321 nimZeroMem((void*)(&T106_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3322 T106_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3323 T106_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_143));
3324 T106_.Field2 = b;
3325 T107_ = NIM_NIL;
3326 T107_ = dollar___stdZjsonutils_504(T106_);
3327 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T107_);
3328 }
3329 LA104_: ;
3330 }
3331 LA92_: ;
3332 numX60gensym14_ += ((NI) 1);
3333 {
3334 NIM_BOOL T110_;
3335 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T113_;
3336 T110_ = (NIM_BOOL)0;
3337 T110_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_144));
3338 if (!T110_) goto LA111_;
3339 numMatchedX60gensym14_ += ((NI) 1);
3340 T113_ = NIM_NIL;
3341 T113_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_144));
3342 fromJson__extccomp_2140((&(*a).configFiles), T113_, opt);
3343 }
3344 goto LA108_;
3345 LA111_: ;
3346 {
3347 if (!opt.allowMissingKeys) goto LA115_;
3348 }
3349 goto LA108_;
3350 LA115_: ;
3351 {
3352 {
3353 tyTuple__d8cOxWret6fRDupvUsyoyw T122_;
3354 NimStringDesc* T123_;
3355 if (!NIM_TRUE) goto LA120_;
3356 nimZeroMem((void*)(&T122_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3357 T122_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3358 T122_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_144));
3359 T122_.Field2 = b;
3360 T123_ = NIM_NIL;
3361 T123_ = dollar___stdZjsonutils_504(T122_);
3362 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T123_);
3363 }
3364 LA120_: ;
3365 }
3366 LA108_: ;
3367 numX60gensym14_ += ((NI) 1);
3368 {
3369 NIM_BOOL T126_;
3370 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T129_;
3371 T126_ = (NIM_BOOL)0;
3372 T126_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_145));
3373 if (!T126_) goto LA127_;
3374 numMatchedX60gensym14_ += ((NI) 1);
3375 T129_ = NIM_NIL;
3376 T129_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_145));
3377 fromJson__extccomp_2260((&(*a).stdinInput), T129_, opt);
3378 }
3379 goto LA124_;
3380 LA127_: ;
3381 {
3382 if (!opt.allowMissingKeys) goto LA131_;
3383 }
3384 goto LA124_;
3385 LA131_: ;
3386 {
3387 {
3388 tyTuple__d8cOxWret6fRDupvUsyoyw T138_;
3389 NimStringDesc* T139_;
3390 if (!NIM_TRUE) goto LA136_;
3391 nimZeroMem((void*)(&T138_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3392 T138_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3393 T138_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_145));
3394 T138_.Field2 = b;
3395 T139_ = NIM_NIL;
3396 T139_ = dollar___stdZjsonutils_504(T138_);
3397 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T139_);
3398 }
3399 LA136_: ;
3400 }
3401 LA124_: ;
3402 numX60gensym14_ += ((NI) 1);
3403 {
3404 NIM_BOOL T142_;
3405 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T145_;
3406 T142_ = (NIM_BOOL)0;
3407 T142_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_147));
3408 if (!T142_) goto LA143_;
3409 numMatchedX60gensym14_ += ((NI) 1);
3410 T145_ = NIM_NIL;
3411 T145_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_147));
3412 fromJson__extccomp_2260((&(*a).projectIsCmd), T145_, opt);
3413 }
3414 goto LA140_;
3415 LA143_: ;
3416 {
3417 if (!opt.allowMissingKeys) goto LA147_;
3418 }
3419 goto LA140_;
3420 LA147_: ;
3421 {
3422 {
3423 tyTuple__d8cOxWret6fRDupvUsyoyw T154_;
3424 NimStringDesc* T155_;
3425 if (!NIM_TRUE) goto LA152_;
3426 nimZeroMem((void*)(&T154_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3427 T154_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3428 T154_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_147));
3429 T154_.Field2 = b;
3430 T155_ = NIM_NIL;
3431 T155_ = dollar___stdZjsonutils_504(T154_);
3432 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T155_);
3433 }
3434 LA152_: ;
3435 }
3436 LA140_: ;
3437 numX60gensym14_ += ((NI) 1);
3438 {
3439 NIM_BOOL T158_;
3440 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T161_;
3441 T158_ = (NIM_BOOL)0;
3442 T158_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_148));
3443 if (!T158_) goto LA159_;
3444 numMatchedX60gensym14_ += ((NI) 1);
3445 T161_ = NIM_NIL;
3446 T161_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_148));
3447 fromJson__stdZjsonutils_566((&(*a).cmdInput), T161_, opt);
3448 }
3449 goto LA156_;
3450 LA159_: ;
3451 {
3452 if (!opt.allowMissingKeys) goto LA163_;
3453 }
3454 goto LA156_;
3455 LA163_: ;
3456 {
3457 {
3458 tyTuple__d8cOxWret6fRDupvUsyoyw T170_;
3459 NimStringDesc* T171_;
3460 if (!NIM_TRUE) goto LA168_;
3461 nimZeroMem((void*)(&T170_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3462 T170_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3463 T170_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_148));
3464 T170_.Field2 = b;
3465 T171_ = NIM_NIL;
3466 T171_ = dollar___stdZjsonutils_504(T170_);
3467 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T171_);
3468 }
3469 LA168_: ;
3470 }
3471 LA156_: ;
3472 numX60gensym14_ += ((NI) 1);
3473 {
3474 NIM_BOOL T174_;
3475 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T177_;
3476 T174_ = (NIM_BOOL)0;
3477 T174_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_149));
3478 if (!T174_) goto LA175_;
3479 numMatchedX60gensym14_ += ((NI) 1);
3480 T177_ = NIM_NIL;
3481 T177_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_149));
3482 fromJson__stdZjsonutils_566((&(*a).currentDir), T177_, opt);
3483 }
3484 goto LA172_;
3485 LA175_: ;
3486 {
3487 if (!opt.allowMissingKeys) goto LA179_;
3488 }
3489 goto LA172_;
3490 LA179_: ;
3491 {
3492 {
3493 tyTuple__d8cOxWret6fRDupvUsyoyw T186_;
3494 NimStringDesc* T187_;
3495 if (!NIM_TRUE) goto LA184_;
3496 nimZeroMem((void*)(&T186_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3497 T186_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3498 T186_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_149));
3499 T186_.Field2 = b;
3500 T187_ = NIM_NIL;
3501 T187_ = dollar___stdZjsonutils_504(T186_);
3502 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T187_);
3503 }
3504 LA184_: ;
3505 }
3506 LA172_: ;
3507 numX60gensym14_ += ((NI) 1);
3508 {
3509 NIM_BOOL T190_;
3510 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T193_;
3511 T190_ = (NIM_BOOL)0;
3512 T190_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_150));
3513 if (!T190_) goto LA191_;
3514 numMatchedX60gensym14_ += ((NI) 1);
3515 T193_ = NIM_NIL;
3516 T193_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_150));
3517 fromJson__stdZjsonutils_566((&(*a).cmdline), T193_, opt);
3518 }
3519 goto LA188_;
3520 LA191_: ;
3521 {
3522 if (!opt.allowMissingKeys) goto LA195_;
3523 }
3524 goto LA188_;
3525 LA195_: ;
3526 {
3527 {
3528 tyTuple__d8cOxWret6fRDupvUsyoyw T202_;
3529 NimStringDesc* T203_;
3530 if (!NIM_TRUE) goto LA200_;
3531 nimZeroMem((void*)(&T202_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3532 T202_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3533 T202_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_150));
3534 T202_.Field2 = b;
3535 T203_ = NIM_NIL;
3536 T203_ = dollar___stdZjsonutils_504(T202_);
3537 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T203_);
3538 }
3539 LA200_: ;
3540 }
3541 LA188_: ;
3542 numX60gensym14_ += ((NI) 1);
3543 {
3544 NIM_BOOL T206_;
3545 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T209_;
3546 T206_ = (NIM_BOOL)0;
3547 T206_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_151));
3548 if (!T206_) goto LA207_;
3549 numMatchedX60gensym14_ += ((NI) 1);
3550 T209_ = NIM_NIL;
3551 T209_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_151));
3552 fromJson__extccomp_1952((&(*a).depfiles), T209_, opt);
3553 }
3554 goto LA204_;
3555 LA207_: ;
3556 {
3557 if (!opt.allowMissingKeys) goto LA211_;
3558 }
3559 goto LA204_;
3560 LA211_: ;
3561 {
3562 {
3563 tyTuple__d8cOxWret6fRDupvUsyoyw T218_;
3564 NimStringDesc* T219_;
3565 if (!NIM_TRUE) goto LA216_;
3566 nimZeroMem((void*)(&T218_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3567 T218_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3568 T218_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_151));
3569 T218_.Field2 = b;
3570 T219_ = NIM_NIL;
3571 T219_ = dollar___stdZjsonutils_504(T218_);
3572 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T219_);
3573 }
3574 LA216_: ;
3575 }
3576 LA204_: ;
3577 numX60gensym14_ += ((NI) 1);
3578 {
3579 NIM_BOOL T222_;
3580 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T225_;
3581 T222_ = (NIM_BOOL)0;
3582 T222_ = hasKey__pureZjson_3152(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_152));
3583 if (!T222_) goto LA223_;
3584 numMatchedX60gensym14_ += ((NI) 1);
3585 T225_ = NIM_NIL;
3586 T225_ = X5BX5D___pureZjson_3043(b, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_152));
3587 fromJson__stdZjsonutils_566((&(*a).nimexe), T225_, opt);
3588 }
3589 goto LA220_;
3590 LA223_: ;
3591 {
3592 if (!opt.allowMissingKeys) goto LA227_;
3593 }
3594 goto LA220_;
3595 LA227_: ;
3596 {
3597 {
3598 tyTuple__d8cOxWret6fRDupvUsyoyw T234_;
3599 NimStringDesc* T235_;
3600 if (!NIM_TRUE) goto LA232_;
3601 nimZeroMem((void*)(&T234_), sizeof(tyTuple__d8cOxWret6fRDupvUsyoyw));
3602 T234_.Field0 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3603 T234_.Field1 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_152));
3604 T234_.Field2 = b;
3605 T235_ = NIM_NIL;
3606 T235_ = dollar___stdZjsonutils_504(T234_);
3607 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129), T235_);
3608 }
3609 LA232_: ;
3610 }
3611 LA220_: ;
3612 {
3613 NIM_BOOL T238_;
3614 T238_ = (NIM_BOOL)0;
3615 T238_ = opt.allowExtraKeys;
3616 if (!(T238_)) goto LA239_;
3617 T238_ = opt.allowMissingKeys;
3618 LA239_: ;
3619 if (!T238_) goto LA240_;
3620 okX60gensym14_ = NIM_TRUE;
3621 }
3622 goto LA236_;
3623 LA240_: ;
3624 {
3625 if (!opt.allowExtraKeys) goto LA243_;
3626 okX60gensym14_ = (numX60gensym14_ == numMatchedX60gensym14_);
3627 }
3628 goto LA236_;
3629 LA243_: ;
3630 {
3631 NI T248_;
3632 if (!opt.allowMissingKeys) goto LA246_;
3633 T248_ = (NI)0;
3634 T248_ = len__pureZjson_2989(b);
3635 okX60gensym14_ = (T248_ == numMatchedX60gensym14_);
3636 }
3637 goto LA236_;
3638 LA246_: ;
3639 {
3640 NIM_BOOL T250_;
3641 NI T251_;
3642 T250_ = (NIM_BOOL)0;
3643 T251_ = (NI)0;
3644 T251_ = len__pureZjson_2989(b);
3645 T250_ = (T251_ == numX60gensym14_);
3646 if (!(T250_)) goto LA252_;
3647 T250_ = (numX60gensym14_ == numMatchedX60gensym14_);
3648 LA252_: ;
3649 okX60gensym14_ = T250_;
3650 }
3651 LA236_: ;
3652 {
3653 tyTuple__YOdO3R1J4biIW9bY9agwbAQw T257_;
3654 NimStringDesc* T258_;
3655 if (!!(okX60gensym14_)) goto LA255_;
3656 nimZeroMem((void*)(&T257_), sizeof(tyTuple__YOdO3R1J4biIW9bY9agwbAQw));
3657 T257_.Field0 = len__pureZjson_2989(b);
3658 T257_.Field1 = numX60gensym14_;
3659 T257_.Field2 = numMatchedX60gensym14_;
3660 T257_.Field3 = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
3661 T257_.Field4 = b;
3662 T258_ = NIM_NIL;
3663 T258_ = dollar___extccomp_2429((&T257_));
3664 raiseJsonException__stdZjsonutils_168(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_153), T258_);
3665 }
3666 LA255_: ;
3667 }
N_INLINE(void,popSafePoint)3668 static N_INLINE(void, popSafePoint)(void) {
3669 excHandler__system_2565 = (*excHandler__system_2565).prev;
3670 }
N_INLINE(Exception *,nimBorrowCurrentException)3671 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
3672 Exception* result;
3673 result = NIM_NIL;
3674 result = currException__system_2566;
3675 return result;
3676 }
N_INLINE(void,popCurrentException)3677 static N_INLINE(void, popCurrentException)(void) {
3678 asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
3679 }
N_INLINE(void *,seqToPtr__extccomp_2556)3680 static N_INLINE(void*, seqToPtr__extccomp_2556)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x) {
3681 void* result;
3682 result = (void*)0;
3683 result = ((void*) (x));
3684 return result;
3685 }
N_NIMCALL(NIM_BOOL,eqeq___extccomp_2541)3686 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___extccomp_2541)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* y) {
3687 NIM_BOOL result;
3688 { result = (NIM_BOOL)0;
3689 {
3690 void* T3_;
3691 void* T4_;
3692 T3_ = (void*)0;
3693 T3_ = seqToPtr__extccomp_2556(x);
3694 T4_ = (void*)0;
3695 T4_ = seqToPtr__extccomp_2556(y);
3696 if (!(T3_ == T4_)) goto LA5_;
3697 result = NIM_TRUE;
3698 goto BeforeRet_;
3699 }
3700 LA5_: ;
3701 {
3702 NI T9_;
3703 NI T10_;
3704 T9_ = (x ? x->Sup.len : 0);
3705 T10_ = (y ? y->Sup.len : 0);
3706 if (!!((T9_ == T10_))) goto LA11_;
3707 result = NIM_FALSE;
3708 goto BeforeRet_;
3709 }
3710 LA11_: ;
3711 {
3712 NI i;
3713 NI colontmp_;
3714 NI T14_;
3715 NI res;
3716 i = (NI)0;
3717 colontmp_ = (NI)0;
3718 T14_ = (x ? x->Sup.len : 0);
3719 colontmp_ = (NI)(T14_ - ((NI) 1));
3720 res = ((NI) 0);
3721 {
3722 while (1) {
3723 if (!(res <= colontmp_)) goto LA16;
3724 i = res;
3725 {
3726 if (!!(eqStrings(x->data[i], y->data[i]))) goto LA19_;
3727 result = NIM_FALSE;
3728 goto BeforeRet_;
3729 }
3730 LA19_: ;
3731 res += ((NI) 1);
3732 } LA16: ;
3733 }
3734 }
3735 result = NIM_TRUE;
3736 goto BeforeRet_;
3737 }BeforeRet_: ;
3738 return result;
3739 }
N_NIMCALL(NIM_BOOL,changeDetectedViaJsonBuildInstructions__extccomp_1833)3740 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, changeDetectedViaJsonBuildInstructions__extccomp_1833)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* jsonFile) {
3741 NIM_BOOL result;
3742 tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog bcache;
3743 TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_124;
3744 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T10_;
3745 tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ T11_;
3746 { result = (NIM_BOOL)0;
3747 {
3748 NIM_BOOL T3_;
3749 NIM_BOOL T4_;
3750 NimStringDesc* T6_;
3751 NIM_BOOL T7_;
3752 T3_ = (NIM_BOOL)0;
3753 T4_ = (NIM_BOOL)0;
3754 T4_ = nosfileExists(jsonFile);
3755 T3_ = !(T4_);
3756 if (T3_) goto LA5_;
3757 T6_ = NIM_NIL;
3758 T6_ = absOutFile__options_4038(conf);
3759 T7_ = (NIM_BOOL)0;
3760 T7_ = nosfileExists(T6_);
3761 T3_ = !(T7_);
3762 LA5_: ;
3763 if (!T3_) goto LA8_;
3764 result = NIM_TRUE;
3765 goto BeforeRet_;
3766 }
3767 LA8_: ;
3768 nimZeroMem((void*)(&bcache), sizeof(tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog));
3769 pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_124);
3770 TM__OyL9acDBDoBfMwa5zb1Y88w_124.status = _setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_124.context);
3771 if (TM__OyL9acDBDoBfMwa5zb1Y88w_124.status == 0) {
3772 T10_ = NIM_NIL;
3773 T10_ = parseFile__pureZjson_5228(jsonFile);
3774 nimZeroMem((void*)(&T11_), sizeof(tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ));
3775 fromJson__extccomp_1838((&bcache), T10_, T11_);
3776 popSafePoint();
3777 }
3778 else {
3779 popSafePoint();
3780 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_))||isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIoserror__BeJgrOdDsczOwEWOZbRfKA_))||isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_))) {
3781 NimStringDesc* T14_;
3782 TM__OyL9acDBDoBfMwa5zb1Y88w_124.status = 0;
3783 T14_ = NIM_NIL;
3784 T14_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_154), jsonFile);
3785 write__systemZio_205(stderr, T14_);
3786 result = NIM_TRUE;
3787 popCurrentException();
3788 goto BeforeRet_;
3789 popCurrentException();
3790 }
3791 }
3792 if (TM__OyL9acDBDoBfMwa5zb1Y88w_124.status != 0) reraiseException();
3793 {
3794 NIM_BOOL T17_;
3795 NIM_BOOL T18_;
3796 NIM_BOOL T19_;
3797 NIM_BOOL T20_;
3798 NIM_BOOL T21_;
3799 NIM_BOOL T22_;
3800 NIM_BOOL T23_;
3801 NimStringDesc* T24_;
3802 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* T26_;
3803 NIM_BOOL T34_;
3804 NimStringDesc* T37_;
3805 NimStringDesc* T40_;
3806 tyArray__YtcvxHNKV4YiecPE9ap1mcA T41_;
3807 NimStringDesc* T42_;
3808 T17_ = (NIM_BOOL)0;
3809 T18_ = (NIM_BOOL)0;
3810 T19_ = (NIM_BOOL)0;
3811 T20_ = (NIM_BOOL)0;
3812 T21_ = (NIM_BOOL)0;
3813 T22_ = (NIM_BOOL)0;
3814 T23_ = (NIM_BOOL)0;
3815 T24_ = NIM_NIL;
3816 T24_ = nosgetCurrentDir();
3817 T23_ = !(eqStrings(bcache.currentDir, T24_));
3818 if (T23_) goto LA25_;
3819 T26_ = NIM_NIL;
3820 {
3821 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* colontmp_;
3822 NI iX60gensym163_;
3823 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* resultX60gensym163_;
3824 NI T28_;
3825 colontmp_ = (*conf).configFiles;
3826 iX60gensym163_ = ((NI) 0);
3827 T28_ = (colontmp_ ? colontmp_->Sup.len : 0);
3828 resultX60gensym163_ = newSeq__systemZio_503(((NI) (T28_)));
3829 {
3830 NimStringDesc** it;
3831 NI i;
3832 NI L;
3833 NI T30_;
3834 it = (NimStringDesc**)0;
3835 i = ((NI) 0);
3836 T30_ = (colontmp_ ? colontmp_->Sup.len : 0);
3837 L = T30_;
3838 {
3839 while (1) {
3840 NimStringDesc* T33_;
3841 if (!(i < L)) goto LA32;
3842 it = (&colontmp_->data[i]);
3843 T33_ = NIM_NIL;
3844 T33_ = resultX60gensym163_->data[iX60gensym163_]; resultX60gensym163_->data[iX60gensym163_] = copyStringRC1((*it));
3845 if (T33_) nimGCunrefNoCycle(T33_);
3846 iX60gensym163_ += ((NI) 1);
3847 i += ((NI) 1);
3848 } LA32: ;
3849 }
3850 }
3851 genericSeqAssign((&T26_), resultX60gensym163_, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
3852 }
3853 T34_ = (NIM_BOOL)0;
3854 T34_ = eqeq___extccomp_2541(bcache.configFiles, T26_);
3855 T23_ = !(T34_);
3856 LA25_: ;
3857 T22_ = T23_;
3858 if (T22_) goto LA35_;
3859 T22_ = !(eqStrings(bcache.cacheVersion, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_155)));
3860 LA35_: ;
3861 T21_ = T22_;
3862 if (T21_) goto LA36_;
3863 T37_ = NIM_NIL;
3864 T37_ = absOutFile__options_4038(conf);
3865 T21_ = !(eqStrings(bcache.outputFile, T37_));
3866 LA36_: ;
3867 T20_ = T21_;
3868 if (T20_) goto LA38_;
3869 T20_ = !(eqStrings(bcache.cmdline, (*conf).commandLine));
3870 LA38_: ;
3871 T19_ = T20_;
3872 if (T19_) goto LA39_;
3873 T40_ = NIM_NIL;
3874 T40_ = nosgetAppFilename();
3875 nimZeroMem((void*)T41_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
3876 secureHashFile__stdZsha49_871(T40_, T41_);
3877 T42_ = NIM_NIL;
3878 T42_ = dollar___stdZsha49_879(T41_);
3879 T19_ = !(eqStrings(bcache.nimexe, T42_));
3880 LA39_: ;
3881 T18_ = T19_;
3882 if (T18_) goto LA43_;
3883 T18_ = !((bcache.projectIsCmd == (*conf).projectIsCmd));
3884 LA43_: ;
3885 T17_ = T18_;
3886 if (T17_) goto LA44_;
3887 T17_ = !(eqStrings((*conf).cmdInput, bcache.cmdInput));
3888 LA44_: ;
3889 if (!T17_) goto LA45_;
3890 result = NIM_TRUE;
3891 goto BeforeRet_;
3892 }
3893 LA45_: ;
3894 {
3895 NIM_BOOL T49_;
3896 T49_ = (NIM_BOOL)0;
3897 T49_ = bcache.stdinInput;
3898 if (T49_) goto LA50_;
3899 T49_ = (*conf).projectIsStdin;
3900 LA50_: ;
3901 if (!T49_) goto LA51_;
3902 result = NIM_TRUE;
3903 goto BeforeRet_;
3904 }
3905 LA51_: ;
3906 {
3907 NimStringDesc** file;
3908 NimStringDesc** hash;
3909 NI i_2;
3910 NI L_2;
3911 NI T54_;
3912 file = (NimStringDesc**)0;
3913 hash = (NimStringDesc**)0;
3914 i_2 = ((NI) 0);
3915 T54_ = (bcache.depfiles ? bcache.depfiles->Sup.len : 0);
3916 L_2 = T54_;
3917 {
3918 while (1) {
3919 if (!(i_2 < L_2)) goto LA56;
3920 file = (&bcache.depfiles->data[i_2].Field0);
3921 hash = (&bcache.depfiles->data[i_2].Field1);
3922 {
3923 tyArray__YtcvxHNKV4YiecPE9ap1mcA T59_;
3924 NimStringDesc* T60_;
3925 nimZeroMem((void*)T59_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
3926 secureHashFile__stdZsha49_871((*file), T59_);
3927 T60_ = NIM_NIL;
3928 T60_ = dollar___stdZsha49_879(T59_);
3929 if (!!(eqStrings(T60_, (*hash)))) goto LA61_;
3930 result = NIM_TRUE;
3931 goto BeforeRet_;
3932 }
3933 LA61_: ;
3934 i_2 += ((NI) 1);
3935 } LA56: ;
3936 }
3937 }
3938 }BeforeRet_: ;
3939 return result;
3940 }
N_NIMCALL(NimStringDesc *,jsonBuildInstructionsFile__extccomp_1477)3941 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, jsonBuildInstructionsFile__extccomp_1477)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
3942 NimStringDesc* result;
3943 NimStringDesc* T1_;
3944 NimStringDesc* T2_;
3945 result = NIM_NIL;
3946 T1_ = NIM_NIL;
3947 T1_ = getNimcacheDir__options_4183(conf);
3948 T2_ = NIM_NIL;
3949 T2_ = noschangeFileExt((*conf).outFile, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_156));
3950 result = slash___pathutils_89(T1_, T2_);
3951 return result;
3952 }
N_NIMCALL(NIM_BOOL,ccHasSaneOverflow__extccomp_930)3953 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ccHasSaneOverflow__extccomp_930)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
3954 NIM_BOOL result;
3955 result = (NIM_BOOL)0;
3956 {
3957 NimStringDesc* exe;
3958 tyTuple__XOVT24GHXwqiEj5GCsEGCA T9_;
3959 TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_157;
3960 NimStringDesc* T10_;
3961 NimStringDesc* s;
3962 NI exitCode;
3963 if (!((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 1))) goto LA3_;
3964 result = NIM_FALSE;
3965 exe = getConfigVar__extccomp_627(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_88));
3966 {
3967 if (!((exe ? exe->Sup.len : 0) == ((NI) 0))) goto LA7_;
3968 exe = copyString(CC__extccomp_508[((*conf).cCompiler)- 1].Field4);
3969 }
3970 LA7_: ;
3971 nimZeroMem((void*)(&T9_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
3972 pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_157);
3973 TM__OyL9acDBDoBfMwa5zb1Y88w_157.status = _setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_157.context);
3974 if (TM__OyL9acDBDoBfMwa5zb1Y88w_157.status == 0) {
3975 T10_ = NIM_NIL;
3976 T10_ = rawNewString((exe ? exe->Sup.len : 0) + 10);
3977 appendString(T10_, exe);
3978 appendString(T10_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_158));
3979 execCmdEx__pureZosproc_1164(T10_, 10, ((tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg*) NIM_NIL), ((NimStringDesc*) NIM_NIL), ((NimStringDesc*) NIM_NIL), (&T9_));
3980 popSafePoint();
3981 }
3982 else {
3983 popSafePoint();
3984 {
3985 TM__OyL9acDBDoBfMwa5zb1Y88w_157.status = 0;
3986 T9_.Field0 = copyString(TM__OyL9acDBDoBfMwa5zb1Y88w_159.Field0);
3987 T9_.Field1 = TM__OyL9acDBDoBfMwa5zb1Y88w_159.Field1;
3988 popCurrentException();
3989 }
3990 }
3991 if (TM__OyL9acDBDoBfMwa5zb1Y88w_157.status != 0) reraiseException();
3992 s = NIM_NIL;
3993 s = copyString(T9_.Field0);
3994 exitCode = (NI)0;
3995 exitCode = T9_.Field1;
3996 {
3997 NI i;
3998 NI j;
3999 if (!(exitCode == ((NI) 0))) goto LA15_;
4000 i = ((NI) 0);
4001 j = ((NI) 0);
4002 {
4003 while (1) {
4004 NIM_BOOL T19_;
4005 T19_ = (NIM_BOOL)0;
4006 T19_ = (i < (s ? s->Sup.len : 0));
4007 if (!(T19_)) goto LA20_;
4008 T19_ = !(((NU8)(s->data[i]) == (NU8)(10)));
4009 LA20_: ;
4010 if (!T19_) goto LA18;
4011 {
4012 if (!(((NU8)(s->data[i])) == ((NU8)(32)) || ((NU8)(s->data[i])) == ((NU8)(9)))) goto LA23_;
4013 j = (NI)(i + ((NI) 1));
4014 }
4015 LA23_: ;
4016 i += ((NI) 1);
4017 } LA18: ;
4018 }
4019 {
4020 NI major;
4021 if (!(((NI) 0) < j)) goto LA27_;
4022 major = ((NI) 0);
4023 {
4024 while (1) {
4025 NIM_BOOL T31_;
4026 T31_ = (NIM_BOOL)0;
4027 T31_ = (j < (s ? s->Sup.len : 0));
4028 if (!(T31_)) goto LA32_;
4029 T31_ = (((NU8)(s->data[j])) >= ((NU8)(48)) && ((NU8)(s->data[j])) <= ((NU8)(57)));
4030 LA32_: ;
4031 if (!T31_) goto LA30;
4032 major = (NI)((NI)(major * ((NI) 10)) + (NI)(((NU8)(s->data[j])) - ((NI) 48)));
4033 j += ((NI) 1);
4034 } LA30: ;
4035 }
4036 {
4037 NIM_BOOL T35_;
4038 T35_ = (NIM_BOOL)0;
4039 T35_ = (i < (s ? s->Sup.len : 0));
4040 if (!(T35_)) goto LA36_;
4041 T35_ = ((NU8)(s->data[j]) == (NU8)(46));
4042 LA36_: ;
4043 if (!T35_) goto LA37_;
4044 j += ((NI) 1);
4045 }
4046 LA37_: ;
4047 {
4048 while (1) {
4049 NIM_BOOL T41_;
4050 T41_ = (NIM_BOOL)0;
4051 T41_ = (j < (s ? s->Sup.len : 0));
4052 if (!(T41_)) goto LA42_;
4053 T41_ = (((NU8)(s->data[j])) >= ((NU8)(48)) && ((NU8)(s->data[j])) <= ((NU8)(57)));
4054 LA42_: ;
4055 if (!T41_) goto LA40;
4056 j += ((NI) 1);
4057 } LA40: ;
4058 }
4059 {
4060 NIM_BOOL T45_;
4061 NIM_BOOL T46_;
4062 T45_ = (NIM_BOOL)0;
4063 T46_ = (NIM_BOOL)0;
4064 T46_ = ((NI)(j + ((NI) 1)) < (s ? s->Sup.len : 0));
4065 if (!(T46_)) goto LA47_;
4066 T46_ = ((NU8)(s->data[j]) == (NU8)(46));
4067 LA47_: ;
4068 T45_ = T46_;
4069 if (!(T45_)) goto LA48_;
4070 T45_ = (((NU8)(s->data[(NI)(j + ((NI) 1))])) >= ((NU8)(48)) && ((NU8)(s->data[(NI)(j + ((NI) 1))])) <= ((NU8)(57)));
4071 LA48_: ;
4072 if (!T45_) goto LA49_;
4073 result = (((NI) 5) <= major);
4074 }
4075 LA49_: ;
4076 }
4077 LA27_: ;
4078 }
4079 LA15_: ;
4080 }
4081 goto LA1_;
4082 LA3_: ;
4083 {
4084 result = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 4));
4085 }
4086 LA1_: ;
4087 return result;
4088 }
N_NIMCALL(void,addFileToCompile__extccomp_722)4089 N_LIB_PRIVATE N_NIMCALL(void, addFileToCompile__extccomp_722)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cf) {
4090 NI T1_;
4091 asgnRef((void**) (&(*conf).toCompile), (tySequence__pK3qSsBZwdXd6qyUMkd5Jw*) incrSeqV3((TGenericSeq*)((*conf).toCompile), (&NTIcfilelist__pK3qSsBZwdXd6qyUMkd5Jw_)));
4092 T1_ = (*conf).toCompile->Sup.len++;
4093 genericAssign((void*)(&(*conf).toCompile->data[T1_]), (void*)cf, (&NTIcfile__i9cKq1ZGd1wgagjUEHLVFtg_));
4094 }
N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA *,percent___extccomp_2636)4095 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___extccomp_2636)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
4096 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
4097 result = NIM_NIL;
4098 result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_161), args, argsLen_0);
4099 return result;
4100 }
N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA *,genMappingFiles__extccomp_2628)4101 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genMappingFiles__extccomp_2628)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tySequence__pK3qSsBZwdXd6qyUMkd5Jw* list) {
4102 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
4103 result = NIM_NIL;
4104 {
4105 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* it;
4106 NI i;
4107 NI L;
4108 NI T2_;
4109 it = (tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg*)0;
4110 i = ((NI) 0);
4111 T2_ = (list ? list->Sup.len : 0);
4112 L = T2_;
4113 {
4114 while (1) {
4115 tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
4116 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
4117 if (!(i < L)) goto LA4;
4118 it = (&list->data[i]);
4119 nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
4120 T5_[0] = rope__ropes_109((*it).cname);
4121 T6_ = NIM_NIL;
4122 T6_ = percent___extccomp_2636(T5_, 1);
4123 add__ropes_159(&result, T6_);
4124 i += ((NI) 1);
4125 } LA4: ;
4126 }
4127 }
4128 return result;
4129 }
N_NIMCALL(NimStringDesc *,getCompileOptions__extccomp_869)4130 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompileOptions__extccomp_869)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
4131 NimStringDesc* result;
4132 result = NIM_NIL;
4133 result = cFileSpecificOptions__extccomp_844(conf, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_163), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_163));
4134 return result;
4135 }
N_NIMCALL(NimStringDesc *,getLinkOptions__extccomp_880)4136 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkOptions__extccomp_880)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
4137 NimStringDesc* result;
4138 NimStringDesc* T1_;
4139 result = NIM_NIL;
4140 T1_ = NIM_NIL;
4141 T1_ = rawNewString(((*conf).linkOptions ? (*conf).linkOptions->Sup.len : 0) + ((*conf).linkOptionsCmd ? (*conf).linkOptionsCmd->Sup.len : 0) + 2);
4142 appendString(T1_, (*conf).linkOptions);
4143 appendString(T1_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
4144 appendString(T1_, (*conf).linkOptionsCmd);
4145 appendString(T1_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
4146 result = T1_;
4147 {
4148 NimStringDesc** linkedLib;
4149 NI i;
4150 NI L;
4151 NI T3_;
4152 linkedLib = (NimStringDesc**)0;
4153 i = ((NI) 0);
4154 T3_ = ((*conf).cLinkedLibs ? (*conf).cLinkedLibs->Sup.len : 0);
4155 L = T3_;
4156 {
4157 while (1) {
4158 NimStringDesc* T6_;
4159 NimStringDesc* T7_;
4160 if (!(i < L)) goto LA5;
4161 linkedLib = (&(*conf).cLinkedLibs->data[i]);
4162 T6_ = NIM_NIL;
4163 T6_ = nospquoteShell((*linkedLib));
4164 T7_ = NIM_NIL;
4165 T7_ = nsuFormatSingleElem(CC__extccomp_508[((*conf).cCompiler)- 1].Field14, T6_);
4166 result = resizeString(result, (T7_ ? T7_->Sup.len : 0) + 0);
4167 appendString(result, T7_);
4168 i += ((NI) 1);
4169 } LA5: ;
4170 }
4171 }
4172 {
4173 NimStringDesc** libDir;
4174 NI i_2;
4175 NI L_2;
4176 NI T9_;
4177 libDir = (NimStringDesc**)0;
4178 i_2 = ((NI) 0);
4179 T9_ = ((*conf).cLibs ? (*conf).cLibs->Sup.len : 0);
4180 L_2 = T9_;
4181 {
4182 while (1) {
4183 tyArray__Re75IspeoxXy2oCZHwcRrA T12_;
4184 NimStringDesc* T13_;
4185 if (!(i_2 < L_2)) goto LA11;
4186 libDir = (&(*conf).cLibs->data[i_2]);
4187 nimZeroMem((void*)T12_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
4188 T12_[0] = copyString(CC__extccomp_508[((*conf).cCompiler)- 1].Field13);
4189 T12_[1] = nospquoteShell((*libDir));
4190 T13_ = NIM_NIL;
4191 T13_ = nsuJoinSep(T12_, 2, ((NimStringDesc*) NIM_NIL));
4192 result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
4193 appendString(result, T13_);
4194 i_2 += ((NI) 1);
4195 } LA11: ;
4196 }
4197 }
4198 return result;
4199 }
N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA *,percent___extccomp_2658)4200 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___extccomp_2658)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
4201 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
4202 result = NIM_NIL;
4203 result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_168), args, argsLen_0);
4204 return result;
4205 }
N_NIMCALL(void,writeMapping__extccomp_2650)4206 N_LIB_PRIVATE N_NIMCALL(void, writeMapping__extccomp_2650)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* symbolMapping) {
4207 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* code;
4208 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
4209 NimStringDesc* T6_;
4210 NimStringDesc* T7_;
4211 NimStringDesc* T8_;
4212 NimStringDesc* T9_;
4213 NimStringDesc* T10_;
4214 NimStringDesc* T11_;
4215 NimStringDesc* T12_;
4216 tyArray__JiWwrsTRC6xqNlGcBthSVA T13_;
4217 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
4218 NimStringDesc* filename;
4219 { {
4220 if (!!((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 11))&63U)))!=0))) goto LA3_;
4221 goto BeforeRet_;
4222 }
4223 LA3_: ;
4224 code = rope__ropes_109(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_160));
4225 T5_ = NIM_NIL;
4226 T5_ = genMappingFiles__extccomp_2628(conf, (*conf).toCompile);
4227 add__ropes_159(&code, T5_);
4228 add__ropes_162(&code, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_162));
4229 T6_ = NIM_NIL;
4230 T6_ = getCompileOptions__extccomp_869(conf);
4231 T7_ = NIM_NIL;
4232 T7_ = nsuEscape(T6_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_164), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_164));
4233 add__ropes_162(&code, T7_);
4234 add__ropes_162(&code, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_165));
4235 T8_ = NIM_NIL;
4236 T9_ = NIM_NIL;
4237 T9_ = getLinkOptions__extccomp_880(conf);
4238 T10_ = NIM_NIL;
4239 T10_ = getConfigVar__extccomp_627(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_166));
4240 T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 1);
4241 appendString(T8_, T9_);
4242 appendString(T8_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
4243 appendString(T8_, T10_);
4244 T11_ = NIM_NIL;
4245 T11_ = nsuEscape(T8_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_164), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_164));
4246 add__ropes_162(&code, T11_);
4247 add__ropes_162(&code, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_167));
4248 T12_ = NIM_NIL;
4249 T12_ = nsuEscape((*conf).libpath, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_164), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_164));
4250 add__ropes_162(&code, T12_);
4251 nimZeroMem((void*)T13_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
4252 T13_[0] = symbolMapping;
4253 T14_ = NIM_NIL;
4254 T14_ = percent___extccomp_2658(T13_, 1);
4255 add__ropes_159(&code, T14_);
4256 filename = slash___pathutils_89((*conf).projectPath, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_169));
4257 {
4258 NIM_BOOL T17_;
4259 NimStringDesc* T20_;
4260 T17_ = (NIM_BOOL)0;
4261 T17_ = writeRope__ropes_241(code, filename);
4262 if (!!(T17_)) goto LA18_;
4263 T20_ = NIM_NIL;
4264 T20_ = rawNewString((filename ? filename->Sup.len : 0) + 25);
4265 appendString(T20_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_170));
4266 appendString(T20_, filename);
4267 liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_171, NIM_FALSE);
4268 }
4269 LA18_: ;
4270 }BeforeRet_: ;
4271 }
N_NIMCALL(void,Marker_tyRef__CqlAb69bkfxaejoSKDwhYYA)4272 static N_NIMCALL(void, Marker_tyRef__CqlAb69bkfxaejoSKDwhYYA)(void* p, NI op) {
4273 tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg* a;
4274 a = (tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg*)p;
4275 nimGCvisit((void*)(*a).prettyCmds1, op);
4276 nimGCvisit((void*)(*a).conf2, op);
4277 }
N_CLOSURE(void,colonanonymous___extccomp_1258)4278 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_1258)(NI idx, void* ClE_0) {
4279 tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg* colonenvP_;
4280 colonenvP_ = (tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg*) ClE_0;
4281 {
4282 tyArray__nHXaesL0DJZHyVS07ARPRA T5_;
4283 if (!(((NI) 0) < ((*colonenvP_).prettyCmds1->data[idx] ? (*colonenvP_).prettyCmds1->data[idx]->Sup.len : 0))) goto LA3_;
4284 flushDot__msgs_17((*colonenvP_).conf2);
4285 nimZeroMem((void*)T5_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
4286 T5_[0] = copyString((*colonenvP_).prettyCmds1->data[idx]);
4287 writeLine__msgs_432(stderr, T5_, 1);
4288 }
4289 LA3_: ;
4290 }
N_NIMCALL(NimStringDesc *,displayProgressCC__extccomp_1234)4291 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, displayProgressCC__extccomp_1234)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path, NimStringDesc* compileCmd) {
4292 NimStringDesc* result;
4293 result = NIM_NIL;
4294 {
4295 NIM_BOOL T3_;
4296 T3_ = (NIM_BOOL)0;
4297 T3_ = hasHint__options_517(conf, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 70));
4298 if (!T3_) goto LA4_;
4299 {
4300 NIM_BOOL T8_;
4301 NimStringDesc* T12_;
4302 tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T13_;
4303 NimStringDesc* T14_;
4304 T8_ = (NIM_BOOL)0;
4305 T8_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 3))&63U)))!=0);
4306 if (T8_) goto LA9_;
4307 T8_ = (((NI) 1) < (*conf).verbosity);
4308 LA9_: ;
4309 if (!T8_) goto LA10_;
4310 T12_ = NIM_NIL;
4311 nimZeroMem((void*)(&T13_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
4312 nossplitFile(path, (&T13_));
4313 T14_ = NIM_NIL;
4314 T14_ = demanglePackageName__options_4170(T13_.Field1);
4315 T12_ = rawNewString((T14_ ? T14_->Sup.len : 0) + (compileCmd ? compileCmd->Sup.len : 0) + 2);
4316 appendString(T12_, T14_);
4317 appendString(T12_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_174));
4318 appendString(T12_, compileCmd);
4319 result = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_173), T12_);
4320 }
4321 goto LA6_;
4322 LA10_: ;
4323 {
4324 tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T16_;
4325 NimStringDesc* T17_;
4326 nimZeroMem((void*)(&T16_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
4327 nossplitFile(path, (&T16_));
4328 T17_ = NIM_NIL;
4329 T17_ = demanglePackageName__options_4170(T16_.Field1);
4330 result = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_173), T17_);
4331 }
4332 LA6_: ;
4333 }
4334 LA4_: ;
4335 return result;
4336 }
N_NIMCALL(void,Marker_tyRef__pkCPBZYDmG8KoijaqNdsQw)4337 static N_NIMCALL(void, Marker_tyRef__pkCPBZYDmG8KoijaqNdsQw)(void* p, NI op) {
4338 tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg* a;
4339 a = (tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*)p;
4340 nimGCvisit((void*)(*a).conf1, op);
4341 nimGCvisit((void*)(*a).cmds2, op);
4342 }
N_CLOSURE(void,colonanonymous___extccomp_1161)4343 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_1161)(NI idx, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p, void* ClE_0) {
4344 tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg* colonenvP_;
4345 NI exitCode;
4346 colonenvP_ = (tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*) ClE_0;
4347 exitCode = nosppeekExitCode(p);
4348 {
4349 NimStringDesc* T5_;
4350 NimStringDesc* T6_;
4351 if (!!((exitCode == ((NI) 0)))) goto LA3_;
4352 T5_ = NIM_NIL;
4353 T6_ = NIM_NIL;
4354 T6_ = dollar___systemZdollars_3(exitCode);
4355 T5_ = rawNewString(((*colonenvP_).cmds2->data[idx] ? (*colonenvP_).cmds2->data[idx]->Sup.len : 0) + (T6_ ? T6_->Sup.len : 0) + 70);
4356 appendString(T5_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_176));
4357 appendString(T5_, (*colonenvP_).cmds2->data[idx]);
4358 appendString(T5_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_177));
4359 appendString(T5_, T6_);
4360 appendString(T5_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_178));
4361 liMessage__msgs_1118((*colonenvP_).conf1, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_179, NIM_FALSE);
4362 }
4363 LA3_: ;
4364 }
N_NIMCALL(NI,execWithEcho__extccomp_795)4365 N_LIB_PRIVATE N_NIMCALL(NI, execWithEcho__extccomp_795)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg) {
4366 NI result;
4367 NimStringDesc* T1_;
4368 result = (NI)0;
4369 T1_ = NIM_NIL;
4370 {
4371 NIM_BOOL T4_;
4372 NIM_BOOL T6_;
4373 T4_ = (NIM_BOOL)0;
4374 T4_ = (msg == ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 90));
4375 if (!(T4_)) goto LA5_;
4376 T6_ = (NIM_BOOL)0;
4377 T6_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 3))&63U)))!=0);
4378 if (T6_) goto LA7_;
4379 T6_ = (((NI) 1) < (*conf).verbosity);
4380 LA7_: ;
4381 T4_ = !(T6_);
4382 LA5_: ;
4383 if (!T4_) goto LA8_;
4384 T1_ = ((NimStringDesc*) NIM_NIL);
4385 }
4386 goto LA2_;
4387 LA8_: ;
4388 {
4389 T1_ = copyString(cmd);
4390 }
4391 LA2_: ;
4392 liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, msg, T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_181, NIM_FALSE);
4393 result = nospexecCmd(cmd);
4394 return result;
4395 }
N_INLINE(Exception *,getCurrentException)4396 static N_INLINE(Exception*, getCurrentException)(void) {
4397 Exception* result;
4398 result = NIM_NIL;
4399 result = currException__system_2566;
4400 return result;
4401 }
N_NIMCALL(void,execCmdsInParallel__extccomp_1155)4402 N_LIB_PRIVATE N_NIMCALL(void, execCmdsInParallel__extccomp_1155)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds, tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb) {
4403 tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg* colonenv_;
4404 tyProc__oudJckli4GdxAXLVzBBlAw runCb;
4405 tyProc__oudJckli4GdxAXLVzBBlAw T1_;
4406 NI volatile res;
4407 colonenv_ = NIM_NIL;
4408 colonenv_ = (tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*) newObj((&NTIrefobject__pkCPBZYDmG8KoijaqNdsQw_), sizeof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg));
4409 (*colonenv_).Sup.m_type = (&NTIobject__4Ms6MGgcp8EDnUBSlKFk9bg_);
4410 asgnRef((void**) (&(*colonenv_).conf1), conf);
4411 genericSeqAssign((&(*colonenv_).cmds2), cmds, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
4412 nimZeroMem((void*)(&runCb), sizeof(tyProc__oudJckli4GdxAXLVzBBlAw));
4413 nimZeroMem((void*)(&T1_), sizeof(tyProc__oudJckli4GdxAXLVzBBlAw));
4414 T1_.ClP_0 = colonanonymous___extccomp_1161; T1_.ClE_0 = colonenv_;
4415 runCb.ClE_0 = T1_.ClE_0;
4416 runCb.ClP_0 = T1_.ClP_0;
4417 {
4418 if (!((*(*colonenv_).conf1).numberOfProcessors == ((NI) 0))) goto LA4_;
4419 (*(*colonenv_).conf1).numberOfProcessors = nospcountProcessors();
4420 }
4421 LA4_: ;
4422 res = ((NI) 0);
4423 {
4424 if (!((*(*colonenv_).conf1).numberOfProcessors <= ((NI) 1))) goto LA8_;
4425 {
4426 NI i;
4427 NI colontmp_;
4428 NI T11_;
4429 NI res_2;
4430 i = (NI)0;
4431 colontmp_ = (NI)0;
4432 T11_ = (((*colonenv_).cmds2 ? (*colonenv_).cmds2->Sup.len : 0)-1);
4433 colontmp_ = T11_;
4434 res_2 = ((NI) 0);
4435 {
4436 while (1) {
4437 TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_180;
4438 if (!(res_2 <= colontmp_)) goto LA13;
4439 i = res_2;
4440 pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_180);
4441 TM__OyL9acDBDoBfMwa5zb1Y88w_180.status = _setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_180.context);
4442 if (TM__OyL9acDBDoBfMwa5zb1Y88w_180.status == 0) {
4443 res = execWithEcho__extccomp_795((*colonenv_).conf1, (*colonenv_).cmds2->data[i], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 89));
4444 popSafePoint();
4445 }
4446 else {
4447 popSafePoint();
4448 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIoserror__BeJgrOdDsczOwEWOZbRfKA_))) {
4449 tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* oseX60gensym72_;
4450 Exception* T16_;
4451 TM__OyL9acDBDoBfMwa5zb1Y88w_180.status = 0;
4452 T16_ = NIM_NIL;
4453 T16_ = getCurrentException();
4454 oseX60gensym72_ = ((tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*) (T16_));
4455 {
4456 NimStringDesc* T21_;
4457 NimStringDesc* T22_;
4458 if (!NIM_TRUE) goto LA19_;
4459 T21_ = NIM_NIL;
4460 T22_ = NIM_NIL;
4461 T22_ = dollar___systemZdollars_3(((NI) ((*oseX60gensym72_).errorCode)));
4462 T21_ = rawNewString(((*oseX60gensym72_).Sup.Sup.message ? (*oseX60gensym72_).Sup.Sup.message->Sup.len : 0) + (T22_ ? T22_->Sup.len : 0) + 49);
4463 appendString(T21_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_182));
4464 appendString(T21_, (*oseX60gensym72_).Sup.Sup.message);
4465 appendString(T21_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
4466 appendString(T21_, T22_);
4467 liMessage__msgs_1118((*colonenv_).conf1, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_183, NIM_FALSE);
4468 }
4469 goto LA17_;
4470 LA19_: ;
4471 {
4472 NimStringDesc* T24_;
4473 NimStringDesc* T25_;
4474 NimStringDesc* T26_;
4475 T24_ = NIM_NIL;
4476 T25_ = NIM_NIL;
4477 T25_ = dollar___systemZdollars_3(((NI) ((*oseX60gensym72_).errorCode)));
4478 T24_ = rawNewString(((*oseX60gensym72_).Sup.Sup.message ? (*oseX60gensym72_).Sup.Sup.message->Sup.len : 0) + (T25_ ? T25_->Sup.len : 0) + 1);
4479 appendString(T24_, (*oseX60gensym72_).Sup.Sup.message);
4480 appendString(T24_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
4481 appendString(T24_, T25_);
4482 T26_ = NIM_NIL;
4483 T26_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_184), T24_);
4484 liMessage__msgs_1118((*colonenv_).conf1, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_185, NIM_FALSE);
4485 }
4486 LA17_: ;
4487 reraiseException();
4488 popCurrentException();
4489 }
4490 }
4491 if (TM__OyL9acDBDoBfMwa5zb1Y88w_180.status != 0) reraiseException();
4492 {
4493 NimStringDesc* T31_;
4494 if (!!((res == ((NI) 0)))) goto LA29_;
4495 T31_ = NIM_NIL;
4496 T31_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_184), (*colonenv_).cmds2->data[i]);
4497 liMessage__msgs_1118((*colonenv_).conf1, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T31_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_186, NIM_FALSE);
4498 }
4499 LA29_: ;
4500 res_2 += ((NI) 1);
4501 } LA13: ;
4502 }
4503 }
4504 }
4505 goto LA6_;
4506 LA8_: ;
4507 {
4508 TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_187;
4509 pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_187);
4510 TM__OyL9acDBDoBfMwa5zb1Y88w_187.status = _setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_187.context);
4511 if (TM__OyL9acDBDoBfMwa5zb1Y88w_187.status == 0) {
4512 res = nospexecProcesses((*colonenv_).cmds2->data, ((*colonenv_).cmds2 ? (*colonenv_).cmds2->Sup.len : 0), 26, (*(*colonenv_).conf1).numberOfProcessors, prettyCb, runCb);
4513 popSafePoint();
4514 }
4515 else {
4516 popSafePoint();
4517 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIoserror__BeJgrOdDsczOwEWOZbRfKA_))) {
4518 tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* oseX60gensym81_;
4519 Exception* T35_;
4520 TM__OyL9acDBDoBfMwa5zb1Y88w_187.status = 0;
4521 T35_ = NIM_NIL;
4522 T35_ = getCurrentException();
4523 oseX60gensym81_ = ((tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*) (T35_));
4524 {
4525 NimStringDesc* T40_;
4526 NimStringDesc* T41_;
4527 if (!NIM_TRUE) goto LA38_;
4528 T40_ = NIM_NIL;
4529 T41_ = NIM_NIL;
4530 T41_ = dollar___systemZdollars_3(((NI) ((*oseX60gensym81_).errorCode)));
4531 T40_ = rawNewString(((*oseX60gensym81_).Sup.Sup.message ? (*oseX60gensym81_).Sup.Sup.message->Sup.len : 0) + (T41_ ? T41_->Sup.len : 0) + 49);
4532 appendString(T40_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_182));
4533 appendString(T40_, (*oseX60gensym81_).Sup.Sup.message);
4534 appendString(T40_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
4535 appendString(T40_, T41_);
4536 liMessage__msgs_1118((*colonenv_).conf1, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T40_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_183, NIM_FALSE);
4537 }
4538 goto LA36_;
4539 LA38_: ;
4540 {
4541 NimStringDesc* T43_;
4542 NimStringDesc* T44_;
4543 NimStringDesc* T45_;
4544 T43_ = NIM_NIL;
4545 T44_ = NIM_NIL;
4546 T44_ = dollar___systemZdollars_3(((NI) ((*oseX60gensym81_).errorCode)));
4547 T43_ = rawNewString(((*oseX60gensym81_).Sup.Sup.message ? (*oseX60gensym81_).Sup.Sup.message->Sup.len : 0) + (T44_ ? T44_->Sup.len : 0) + 1);
4548 appendString(T43_, (*oseX60gensym81_).Sup.Sup.message);
4549 appendString(T43_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
4550 appendString(T43_, T44_);
4551 T45_ = NIM_NIL;
4552 T45_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_184), T43_);
4553 liMessage__msgs_1118((*colonenv_).conf1, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T45_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_185, NIM_FALSE);
4554 }
4555 LA36_: ;
4556 reraiseException();
4557 popCurrentException();
4558 }
4559 }
4560 if (TM__OyL9acDBDoBfMwa5zb1Y88w_187.status != 0) reraiseException();
4561 }
4562 LA6_: ;
4563 {
4564 if (!!((res == ((NI) 0)))) goto LA48_;
4565 {
4566 NimStringDesc* T54_;
4567 NimStringDesc* T55_;
4568 if (!((*(*colonenv_).conf1).numberOfProcessors <= ((NI) 1))) goto LA52_;
4569 T54_ = NIM_NIL;
4570 T54_ = nsuJoinSep((*colonenv_).cmds2->data, ((*colonenv_).cmds2 ? (*colonenv_).cmds2->Sup.len : 0), ((NimStringDesc*) NIM_NIL));
4571 T55_ = NIM_NIL;
4572 T55_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_184), T54_);
4573 liMessage__msgs_1118((*colonenv_).conf1, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T55_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_188, NIM_FALSE);
4574 }
4575 LA52_: ;
4576 }
4577 LA48_: ;
4578 }
N_NIMCALL(NimStringDesc *,getObjFilePath__extccomp_1223)4579 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getObjFilePath__extccomp_1223)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* f) {
4580 NimStringDesc* result;
4581 result = NIM_NIL;
4582 {
4583 NIM_BOOL T3_;
4584 T3_ = (NIM_BOOL)0;
4585 T3_ = noAbsolutePaths__extccomp_831(conf);
4586 if (!T3_) goto LA4_;
4587 result = nosextractFilename((*f).obj);
4588 }
4589 goto LA1_;
4590 LA4_: ;
4591 {
4592 result = copyString((*f).obj);
4593 }
4594 LA1_: ;
4595 return result;
4596 }
N_NIMCALL(NimStringDesc *,hcrLinkTargetName__extccomp_1227)4597 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, hcrLinkTargetName__extccomp_1227)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* objFile, NIM_BOOL isMain) {
4598 NimStringDesc* result;
4599 NimStringDesc* basename;
4600 tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T1_;
4601 NimStringDesc* targetName;
4602 NimStringDesc* T8_;
4603 result = NIM_NIL;
4604 nimZeroMem((void*)(&T1_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
4605 nossplitFile(objFile, (&T1_));
4606 basename = T1_.Field1;
4607 {
4608 NimStringDesc* T6_;
4609 if (!isMain) goto LA4_;
4610 T6_ = NIM_NIL;
4611 T6_ = rawNewString((basename ? basename->Sup.len : 0) + 4);
4612 appendString(T6_, basename);
4613 appendString(T6_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_88));
4614 targetName = T6_;
4615 }
4616 goto LA2_;
4617 LA4_: ;
4618 {
4619 targetName = nsuFormatSingleElem(OS__platform_504[((*conf).target.targetOS)- 1].Field2, basename);
4620 }
4621 LA2_: ;
4622 T8_ = NIM_NIL;
4623 T8_ = getNimcacheDir__options_4183(conf);
4624 result = slash___pathutils_89(T8_, targetName);
4625 return result;
4626 }
N_NIMCALL(NimStringDesc *,getLinkerExe__extccomp_985)4627 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkerExe__extccomp_985)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA compiler) {
4628 NimStringDesc* result;
4629 result = NIM_NIL;
4630 {
4631 if (!(((NI) 0) < (CC__extccomp_508[(compiler)- 1].Field10 ? CC__extccomp_508[(compiler)- 1].Field10->Sup.len : 0))) goto LA3_;
4632 result = copyString(CC__extccomp_508[(compiler)- 1].Field10);
4633 }
4634 goto LA1_;
4635 LA3_: ;
4636 {
4637 NIM_BOOL T6_;
4638 T6_ = (NIM_BOOL)0;
4639 T6_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 35))&63U)))!=0);
4640 if (!(T6_)) goto LA7_;
4641 T6_ = !(((*conf).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2)));
4642 LA7_: ;
4643 if (!T6_) goto LA8_;
4644 result = copyString(CC__extccomp_508[(compiler)- 1].Field5);
4645 }
4646 goto LA1_;
4647 LA8_: ;
4648 {
4649 result = getCompilerExe__extccomp_921(conf, compiler, ((NimStringDesc*) NIM_NIL));
4650 }
4651 LA1_: ;
4652 return result;
4653 }
N_NIMCALL(NimStringDesc *,format__extccomp_1121)4654 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__extccomp_1121)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
4655 NimStringDesc* result;
4656 result = NIM_NIL;
4657 result = format__pureZtimes_2989(dt, f2__extccomp_1126, (&DefaultLocale__pureZtimes_1628));
4658 return result;
4659 }
N_INLINE(NI,nanosecond__pureZtimes_1065)4660 static N_INLINE(NI, nanosecond__pureZtimes_1065)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
4661 NI result;
4662 result = (NI)0;
4663 result = (*dt).nanosecond;
4664 return result;
4665 }
N_NIMCALL(NimStringDesc *,getLinkCmd__extccomp_1094)4666 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkCmd__extccomp_1094)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* output, NimStringDesc* objfiles, NIM_BOOL isDllBuild, NIM_BOOL removeStaticFile) {
4667 NimStringDesc* result;
4668 result = NIM_NIL;
4669 {
4670 tyArray__sMpvt1sOxOJ3LFGulnbeMQ T9_;
4671 if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 8))&63U)))!=0)) goto LA3_;
4672 {
4673 if (!removeStaticFile) goto LA7_;
4674 nosremoveFile(output);
4675 }
4676 LA7_: ;
4677 nimZeroMem((void*)T9_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
4678 T9_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_189));
4679 T9_[1] = nospquoteShell(output);
4680 T9_[2] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_190));
4681 T9_[3] = copyString(objfiles);
4682 result = nsuFormatOpenArray(CC__extccomp_508[((*conf).cCompiler)- 1].Field9, T9_, 4);
4683 }
4684 goto LA1_;
4685 LA3_: ;
4686 {
4687 NimStringDesc* linkerExe;
4688 NimStringDesc* buildgui;
4689 NimStringDesc* builddll;
4690 NimStringDesc* exefile;
4691 NimStringDesc* mapfile;
4692 NimStringDesc* T38_;
4693 NimStringDesc* T39_;
4694 tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T40_;
4695 NimStringDesc* T41_;
4696 NimStringDesc* linkOptions;
4697 NimStringDesc* T42_;
4698 NimStringDesc* T43_;
4699 NimStringDesc* T44_;
4700 NimStringDesc* linkTmpl;
4701 tyArray__rmMMhDIqORJzUU5zqeitSQ T49_;
4702 NimStringDesc* T50_;
4703 tyArray__68WB4OcBspSFyW4LY9cOceA T51_;
4704 NimStringDesc* T52_;
4705 linkerExe = getConfigVar__extccomp_627(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_191));
4706 {
4707 if (!((linkerExe ? linkerExe->Sup.len : 0) == ((NI) 0))) goto LA13_;
4708 linkerExe = getLinkerExe__extccomp_985(conf, (*conf).cCompiler);
4709 }
4710 LA13_: ;
4711 {
4712 NIM_BOOL T17_;
4713 T17_ = (NIM_BOOL)0;
4714 T17_ = needsExeExt__extccomp_891(conf);
4715 if (!T17_) goto LA18_;
4716 linkerExe = nosaddFileExt(linkerExe, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_94));
4717 }
4718 LA18_: ;
4719 {
4720 NIM_BOOL T22_;
4721 T22_ = (NIM_BOOL)0;
4722 T22_ = noAbsolutePaths__extccomp_831(conf);
4723 if (!T22_) goto LA23_;
4724 result = copyString(linkerExe);
4725 }
4726 goto LA20_;
4727 LA23_: ;
4728 {
4729 result = nosjoinPath((*conf).cCompilerPath, linkerExe);
4730 }
4731 LA20_: ;
4732 {
4733 NIM_BOOL T28_;
4734 T28_ = (NIM_BOOL)0;
4735 T28_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 9))&63U)))!=0);
4736 if (!(T28_)) goto LA29_;
4737 T28_ = ((*conf).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
4738 LA29_: ;
4739 if (!T28_) goto LA30_;
4740 buildgui = copyString(CC__extccomp_508[((*conf).cCompiler)- 1].Field7);
4741 }
4742 goto LA26_;
4743 LA30_: ;
4744 {
4745 buildgui = ((NimStringDesc*) NIM_NIL);
4746 }
4747 LA26_: ;
4748 {
4749 if (!isDllBuild) goto LA35_;
4750 builddll = copyString(CC__extccomp_508[((*conf).cCompiler)- 1].Field8);
4751 }
4752 goto LA33_;
4753 LA35_: ;
4754 {
4755 builddll = ((NimStringDesc*) NIM_NIL);
4756 }
4757 LA33_: ;
4758 exefile = nospquoteShell(output);
4759 T38_ = NIM_NIL;
4760 T38_ = getNimcacheDir__options_4183(conf);
4761 T39_ = NIM_NIL;
4762 nimZeroMem((void*)(&T40_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
4763 splitFile__pathutils_26(output, (&T40_));
4764 T39_ = rawNewString((T40_.Field1 ? T40_.Field1->Sup.len : 0) + 4);
4765 appendString(T39_, T40_.Field1);
4766 appendString(T39_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_192));
4767 T41_ = NIM_NIL;
4768 T41_ = slash___pathutils_89(T38_, T39_);
4769 mapfile = nospquoteShell(T41_);
4770 T42_ = NIM_NIL;
4771 T43_ = NIM_NIL;
4772 T43_ = getLinkOptions__extccomp_880(conf);
4773 T44_ = NIM_NIL;
4774 T44_ = getConfigVar__extccomp_627(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_166));
4775 T42_ = rawNewString((T43_ ? T43_->Sup.len : 0) + (T44_ ? T44_->Sup.len : 0) + 1);
4776 appendString(T42_, T43_);
4777 appendString(T42_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
4778 appendString(T42_, T44_);
4779 linkOptions = T42_;
4780 linkTmpl = getConfigVar__extccomp_627(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_193));
4781 {
4782 if (!((linkTmpl ? linkTmpl->Sup.len : 0) == ((NI) 0))) goto LA47_;
4783 linkTmpl = copyString(CC__extccomp_508[((*conf).cCompiler)- 1].Field11);
4784 }
4785 LA47_: ;
4786 nimZeroMem((void*)T49_, sizeof(tyArray__rmMMhDIqORJzUU5zqeitSQ));
4787 T49_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_194));
4788 T49_[1] = copyString(builddll);
4789 T49_[2] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_195));
4790 T49_[3] = copyString(mapfile);
4791 T49_[4] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_196));
4792 T49_[5] = copyString(buildgui);
4793 T49_[6] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_99));
4794 T49_[7] = copyString(linkOptions);
4795 T49_[8] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_190));
4796 T49_[9] = copyString(objfiles);
4797 T49_[10] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_197));
4798 T49_[11] = copyString(exefile);
4799 T49_[12] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_101));
4800 T49_[13] = getPrefixDir__options_4061(conf);
4801 T49_[14] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_102));
4802 T49_[15] = copyString((*conf).libpath);
4803 T50_ = NIM_NIL;
4804 T50_ = nsuFormatOpenArray(result, T49_, 16);
4805 result = nospquoteShell(T50_);
4806 result = addChar(result, 32);
4807 nimZeroMem((void*)T51_, sizeof(tyArray__68WB4OcBspSFyW4LY9cOceA));
4808 T51_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_194));
4809 T51_[1] = copyString(builddll);
4810 T51_[2] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_195));
4811 T51_[3] = copyString(mapfile);
4812 T51_[4] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_196));
4813 T51_[5] = copyString(buildgui);
4814 T51_[6] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_99));
4815 T51_[7] = copyString(linkOptions);
4816 T51_[8] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_190));
4817 T51_[9] = copyString(objfiles);
4818 T51_[10] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_197));
4819 T51_[11] = copyString(exefile);
4820 T51_[12] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_101));
4821 T52_ = NIM_NIL;
4822 T52_ = getPrefixDir__options_4061(conf);
4823 T51_[13] = nospquoteShell(T52_);
4824 T51_[14] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_102));
4825 T51_[15] = nospquoteShell((*conf).libpath);
4826 T51_[16] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_112));
4827 T51_[17] = vccplatform__extccomp_872(conf);
4828 nsuAddf((&result), linkTmpl, T51_, 18);
4829 {
4830 NIM_BOOL T55_;
4831 tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw t;
4832 NimStringDesc* pdb;
4833 NimStringDesc* T59_;
4834 NimStringDesc* T60_;
4835 NI T61_;
4836 NimStringDesc* T62_;
4837 NimStringDesc* T63_;
4838 T55_ = (NIM_BOOL)0;
4839 T55_ = hcrOn__options_569(conf);
4840 if (!(T55_)) goto LA56_;
4841 T55_ = isVSCompatible__extccomp_575(conf);
4842 LA56_: ;
4843 if (!T55_) goto LA57_;
4844 nimZeroMem((void*)(&t), sizeof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw));
4845 t.Sup.m_type = (&NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_);
4846 now__pureZtimes_1467((&t));
4847 T59_ = NIM_NIL;
4848 T60_ = NIM_NIL;
4849 T60_ = format__extccomp_1121((&t));
4850 T61_ = (NI)0;
4851 T61_ = nanosecond__pureZtimes_1065((&t));
4852 T62_ = NIM_NIL;
4853 T62_ = dollar___systemZdollars_3(((NI) (T61_)));
4854 T59_ = rawNewString((output ? output->Sup.len : 0) + (T60_ ? T60_->Sup.len : 0) + (T62_ ? T62_->Sup.len : 0) + 5);
4855 appendString(T59_, output);
4856 appendString(T59_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_2));
4857 appendString(T59_, T60_);
4858 appendString(T59_, T62_);
4859 appendString(T59_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_200));
4860 pdb = T59_;
4861 T63_ = NIM_NIL;
4862 T63_ = rawNewString((pdb ? pdb->Sup.len : 0) + 12);
4863 appendString(T63_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_201));
4864 appendString(T63_, pdb);
4865 result = resizeString(result, (T63_ ? T63_->Sup.len : 0) + 0);
4866 appendString(result, T63_);
4867 }
4868 LA57_: ;
4869 }
4870 LA1_: ;
4871 {
4872 NIM_BOOL T66_;
4873 T66_ = (NIM_BOOL)0;
4874 T66_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0);
4875 if (!(T66_)) goto LA67_;
4876 T66_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 6));
4877 LA67_: ;
4878 if (!T66_) goto LA68_;
4879 result = resizeString(result, 12);
4880 appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_202));
4881 }
4882 LA68_: ;
4883 return result;
4884 }
N_INLINE(NCSTRING,nimToCStringConv)4885 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
4886 NCSTRING result;
4887 result = (NCSTRING)0;
4888 {
4889 NIM_BOOL T3_;
4890 T3_ = (NIM_BOOL)0;
4891 T3_ = (s == ((NimStringDesc*) NIM_NIL));
4892 if (T3_) goto LA4_;
4893 T3_ = ((*s).Sup.len == ((NI) 0));
4894 LA4_: ;
4895 if (!T3_) goto LA5_;
4896 result = "";
4897 }
4898 goto LA1_;
4899 LA5_: ;
4900 {
4901 result = ((NCSTRING) ((*s).data));
4902 }
4903 LA1_: ;
4904 return result;
4905 }
N_INLINE(tySequence__sM4lkSb7zS6F7OVMvW9cffQ *,map__extccomp_1369)4906 static N_INLINE(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, map__extccomp_1369)(NimStringDesc** s, NI sLen_0, tyProc__oFHfEKFsiYTMAy9a42cSiKw op) {
4907 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* result;
4908 result = NIM_NIL;
4909 result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) (sLen_0)));
4910 {
4911 NI i;
4912 NI colontmp_;
4913 NI i_2;
4914 i = (NI)0;
4915 colontmp_ = (NI)0;
4916 colontmp_ = sLen_0;
4917 i_2 = ((NI) 0);
4918 {
4919 while (1) {
4920 if (!(i_2 < colontmp_)) goto LA3;
4921 i = i_2;
4922 asgnRef((void**) (&result->data[i]), op.ClE_0? op.ClP_0(s[i], op.ClE_0):((TM__OyL9acDBDoBfMwa5zb1Y88w_205)(op.ClP_0))(s[i]));
4923 i_2 += ((NI) 1);
4924 } LA3: ;
4925 }
4926 }
4927 return result;
4928 }
N_NIMCALL(NimStringDesc *,colonanonymous___extccomp_1365)4929 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, colonanonymous___extccomp_1365)(NimStringDesc* curr) {
4930 NimStringDesc* result;
4931 { result = NIM_NIL;
4932 result = nsuReplaceStr(curr, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_90), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_206));
4933 goto BeforeRet_;
4934 }BeforeRet_: ;
4935 return result;
4936 }
N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ *,getExtraCmds__extccomp_1146)4937 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, getExtraCmds__extccomp_1146)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* output) {
4938 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* result;
4939 result = NIM_NIL;
4940 return result;
4941 }
N_NIMCALL(void,execExternalProgram__extccomp_808)4942 N_LIB_PRIVATE N_NIMCALL(void, execExternalProgram__extccomp_808)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg) {
4943 {
4944 NI T3_;
4945 NimStringDesc* T6_;
4946 T3_ = (NI)0;
4947 T3_ = execWithEcho__extccomp_795(conf, cmd, msg);
4948 if (!!((T3_ == ((NI) 0)))) goto LA4_;
4949 T6_ = NIM_NIL;
4950 T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_184), cmd);
4951 liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_211, NIM_FALSE);
4952 }
4953 LA4_: ;
4954 }
N_NIMCALL(void,execLinkCmd__extccomp_1150)4955 N_LIB_PRIVATE N_NIMCALL(void, execLinkCmd__extccomp_1150)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* linkCmd) {
4956 TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_210;
4957 pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_210);
4958 TM__OyL9acDBDoBfMwa5zb1Y88w_210.status = _setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_210.context);
4959 if (TM__OyL9acDBDoBfMwa5zb1Y88w_210.status == 0) {
4960 execExternalProgram__extccomp_808(conf, linkCmd, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 90));
4961 popSafePoint();
4962 }
4963 else {
4964 popSafePoint();
4965 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIoserror__BeJgrOdDsczOwEWOZbRfKA_))) {
4966 tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* oseX60gensym63_;
4967 Exception* T3_;
4968 TM__OyL9acDBDoBfMwa5zb1Y88w_210.status = 0;
4969 T3_ = NIM_NIL;
4970 T3_ = getCurrentException();
4971 oseX60gensym63_ = ((tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*) (T3_));
4972 {
4973 NimStringDesc* T8_;
4974 NimStringDesc* T9_;
4975 if (!NIM_TRUE) goto LA6_;
4976 T8_ = NIM_NIL;
4977 T9_ = NIM_NIL;
4978 T9_ = dollar___systemZdollars_3(((NI) ((*oseX60gensym63_).errorCode)));
4979 T8_ = rawNewString(((*oseX60gensym63_).Sup.Sup.message ? (*oseX60gensym63_).Sup.Sup.message->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + 47);
4980 appendString(T8_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_212));
4981 appendString(T8_, (*oseX60gensym63_).Sup.Sup.message);
4982 appendString(T8_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
4983 appendString(T8_, T9_);
4984 liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_183, NIM_FALSE);
4985 }
4986 goto LA4_;
4987 LA6_: ;
4988 {
4989 NimStringDesc* T11_;
4990 NimStringDesc* T12_;
4991 NimStringDesc* T13_;
4992 T11_ = NIM_NIL;
4993 T12_ = NIM_NIL;
4994 T12_ = dollar___systemZdollars_3(((NI) ((*oseX60gensym63_).errorCode)));
4995 T11_ = rawNewString(((*oseX60gensym63_).Sup.Sup.message ? (*oseX60gensym63_).Sup.Sup.message->Sup.len : 0) + (T12_ ? T12_->Sup.len : 0) + 1);
4996 appendString(T11_, (*oseX60gensym63_).Sup.Sup.message);
4997 appendString(T11_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
4998 appendString(T11_, T12_);
4999 T13_ = NIM_NIL;
5000 T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_184), T11_);
5001 liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_185, NIM_FALSE);
5002 }
5003 LA4_: ;
5004 reraiseException();
5005 popCurrentException();
5006 }
5007 }
5008 if (TM__OyL9acDBDoBfMwa5zb1Y88w_210.status != 0) reraiseException();
5009 }
N_NIMCALL(void,linkViaResponseFile__extccomp_1188)5010 N_LIB_PRIVATE N_NIMCALL(void, linkViaResponseFile__extccomp_1188)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd) {
5011 NI i;
5012 NI last;
5013 NimStringDesc* linkerArgs;
5014 NimStringDesc* T20_;
5015 NimStringDesc* args;
5016 TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_209;
5017 NimStringDesc* T29_;
5018 NimStringDesc* T30_;
5019 i = ((NI) 0);
5020 last = ((NI) 0);
5021 {
5022 NIM_BOOL T3_;
5023 T3_ = (NIM_BOOL)0;
5024 T3_ = (((NI) 0) < (cmd ? cmd->Sup.len : 0));
5025 if (!(T3_)) goto LA4_;
5026 T3_ = ((NU8)(cmd->data[((NI) 0)]) == (NU8)(34));
5027 LA4_: ;
5028 if (!T3_) goto LA5_;
5029 i += ((NI) 1);
5030 {
5031 while (1) {
5032 NIM_BOOL T9_;
5033 T9_ = (NIM_BOOL)0;
5034 T9_ = (i < (cmd ? cmd->Sup.len : 0));
5035 if (!(T9_)) goto LA10_;
5036 T9_ = !(((NU8)(cmd->data[i]) == (NU8)(34)));
5037 LA10_: ;
5038 if (!T9_) goto LA8;
5039 i += ((NI) 1);
5040 } LA8: ;
5041 }
5042 last = i;
5043 i += ((NI) 1);
5044 }
5045 goto LA1_;
5046 LA5_: ;
5047 {
5048 {
5049 while (1) {
5050 NIM_BOOL T14_;
5051 T14_ = (NIM_BOOL)0;
5052 T14_ = (i < (cmd ? cmd->Sup.len : 0));
5053 if (!(T14_)) goto LA15_;
5054 T14_ = !(((NU8)(cmd->data[i]) == (NU8)(32)));
5055 LA15_: ;
5056 if (!T14_) goto LA13;
5057 i += ((NI) 1);
5058 } LA13: ;
5059 }
5060 last = i;
5061 }
5062 LA1_: ;
5063 {
5064 while (1) {
5065 NIM_BOOL T18_;
5066 T18_ = (NIM_BOOL)0;
5067 T18_ = (i < (cmd ? cmd->Sup.len : 0));
5068 if (!(T18_)) goto LA19_;
5069 T18_ = ((NU8)(cmd->data[i]) == (NU8)(32));
5070 LA19_: ;
5071 if (!T18_) goto LA17;
5072 i += ((NI) 1);
5073 } LA17: ;
5074 }
5075 T20_ = NIM_NIL;
5076 T20_ = rawNewString(((*conf).projectName ? (*conf).projectName->Sup.len : 0) + 15);
5077 appendString(T20_, (*conf).projectName);
5078 appendString(T20_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_208));
5079 linkerArgs = T20_;
5080 args = substr__system_7756(cmd, i);
5081 {
5082 NIM_BOOL T23_;
5083 NimStringDesc* T27_;
5084 T23_ = (NIM_BOOL)0;
5085 T23_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 1));
5086 if (T23_) goto LA24_;
5087 T23_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 4));
5088 LA24_: ;
5089 if (!T23_) goto LA25_;
5090 T27_ = NIM_NIL;
5091 T27_ = nsuReplaceChar(args, 92, 47);
5092 writeFile__systemZio_476(linkerArgs, T27_);
5093 }
5094 goto LA21_;
5095 LA25_: ;
5096 {
5097 writeFile__systemZio_476(linkerArgs, args);
5098 }
5099 LA21_: ;
5100 pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_209);
5101 TM__OyL9acDBDoBfMwa5zb1Y88w_209.status = _setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_209.context);
5102 if (TM__OyL9acDBDoBfMwa5zb1Y88w_209.status == 0) {
5103 T29_ = NIM_NIL;
5104 T30_ = NIM_NIL;
5105 T30_ = substr__system_7744(cmd, ((NI) 0), last);
5106 T29_ = rawNewString((T30_ ? T30_->Sup.len : 0) + (linkerArgs ? linkerArgs->Sup.len : 0) + 2);
5107 appendString(T29_, T30_);
5108 appendString(T29_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_213));
5109 appendString(T29_, linkerArgs);
5110 execLinkCmd__extccomp_1150(conf, T29_);
5111 popSafePoint();
5112 }
5113 else {
5114 popSafePoint();
5115 }
5116 {
5117 nosremoveFile(linkerArgs);
5118 if (TM__OyL9acDBDoBfMwa5zb1Y88w_209.status != 0) nimLeaveFinally();
5119 }
5120 if (TM__OyL9acDBDoBfMwa5zb1Y88w_209.status != 0) reraiseException();
5121 }
N_NIMCALL(void,generateScript__extccomp_812)5122 N_LIB_PRIVATE N_NIMCALL(void, generateScript__extccomp_812)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* script) {
5123 tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T1_;
5124 NimStringDesc* _;
5125 NimStringDesc* name;
5126 NimStringDesc* __2;
5127 NimStringDesc* filename;
5128 NimStringDesc* T2_;
5129 NimStringDesc* T3_;
5130 NimStringDesc* T4_;
5131 nimZeroMem((void*)(&T1_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
5132 nossplitFile((*conf).outFile, (&T1_));
5133 _ = NIM_NIL;
5134 _ = T1_.Field0;
5135 name = NIM_NIL;
5136 name = T1_.Field1;
5137 __2 = NIM_NIL;
5138 __2 = T1_.Field2;
5139 T2_ = NIM_NIL;
5140 T2_ = getNimcacheDir__options_4183(conf);
5141 T3_ = NIM_NIL;
5142 T3_ = rawNewString((name ? name->Sup.len : 0) + 8);
5143 appendString(T3_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_214));
5144 appendString(T3_, name);
5145 T4_ = NIM_NIL;
5146 T4_ = nosaddFileExt(T3_, OS__platform_504[((*conf).target.targetOS)- 1].Field8);
5147 filename = slash___pathutils_89(T2_, T4_);
5148 {
5149 NIM_BOOL T7_;
5150 NimStringDesc* T10_;
5151 T7_ = (NIM_BOOL)0;
5152 T7_ = writeRope__ropes_241(script, filename);
5153 if (!!(T7_)) goto LA8_;
5154 T10_ = NIM_NIL;
5155 T10_ = rawNewString((filename ? filename->Sup.len : 0) + 25);
5156 appendString(T10_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_170));
5157 appendString(T10_, filename);
5158 liMessage__msgs_1118(conf, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T10_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_215, NIM_FALSE);
5159 }
5160 LA8_: ;
5161 }
N_NIMCALL(void,callCCompiler__extccomp_1243)5162 N_LIB_PRIVATE N_NIMCALL(void, callCCompiler__extccomp_1243)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
5163 tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg* colonenv_;
5164 NimStringDesc* linkCmd;
5165 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
5166 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* script;
5167 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds;
5168 tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb;
5169 tyProc__SqRJqa5aOiKB4EuKlKh9asA T5_;
5170 { colonenv_ = NIM_NIL;
5171 colonenv_ = (tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg*) newObj((&NTIrefobject__CqlAb69bkfxaejoSKDwhYYA_), sizeof(tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg));
5172 (*colonenv_).Sup.m_type = (&NTIobject__H6RAoT9avhFKpqIMlTu5GHg_);
5173 asgnRef((void**) (&(*colonenv_).conf2), conf);
5174 linkCmd = NIM_NIL;
5175 extraCmds = NIM_NIL;
5176 {
5177 if (!(((*(*colonenv_).conf2).globalOptions & 1040) == 16)) goto LA3_;
5178 goto BeforeRet_;
5179 }
5180 LA3_: ;
5181 script = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
5182 cmds = NIM_NIL;
5183 asgnRef((void**) (&(*colonenv_).prettyCmds1), NIM_NIL);
5184 nimZeroMem((void*)(&prettyCb), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
5185 nimZeroMem((void*)(&T5_), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
5186 T5_.ClP_0 = colonanonymous___extccomp_1258; T5_.ClE_0 = colonenv_;
5187 prettyCb.ClE_0 = T5_.ClE_0;
5188 prettyCb.ClP_0 = T5_.ClP_0;
5189 {
5190 NI idx;
5191 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg it;
5192 NI i;
5193 NI L;
5194 NI T7_;
5195 idx = (NI)0;
5196 nimZeroMem((void*)(&it), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
5197 i = ((NI) 0);
5198 T7_ = ((*(*colonenv_).conf2).toCompile ? (*(*colonenv_).conf2).toCompile->Sup.len : 0);
5199 L = T7_;
5200 {
5201 while (1) {
5202 if (!(i < L)) goto LA9;
5203 idx = i;
5204 nimCopyMem((void*)(&it), (NIM_CONST void*)(&(*(*colonenv_).conf2).toCompile->data[i]), sizeof(it));
5205 {
5206 NimStringDesc* compileCmd;
5207 NI T15_;
5208 {
5209 if (!((it.flags &((NU8)1<<((NU)(((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 0))&7U)))!=0)) goto LA13_;
5210 goto LA10;
5211 }
5212 LA13_: ;
5213 T15_ = ((*(*colonenv_).conf2).toCompile ? (*(*colonenv_).conf2).toCompile->Sup.len : 0);
5214 compileCmd = getCompileCFileCmd__extccomp_997((*colonenv_).conf2, (&it), (idx == (NI)(T15_ - ((NI) 1))), NIM_TRUE);
5215 {
5216 NI T20_;
5217 NimStringDesc* T21_;
5218 NimStringDesc* T22_;
5219 NimStringDesc* T23_;
5220 NI T24_;
5221 NimStringDesc* T25_;
5222 if (!!((((*(*colonenv_).conf2).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0))) goto LA18_;
5223 cmds = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(cmds), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
5224 T20_ = cmds->Sup.len++;
5225 T21_ = NIM_NIL;
5226 T21_ = cmds->data[T20_]; cmds->data[T20_] = copyStringRC1(compileCmd);
5227 if (T21_) nimGCunrefNoCycle(T21_);
5228 T22_ = NIM_NIL;
5229 T22_ = dollar___options_4373(it.cname);
5230 T23_ = NIM_NIL;
5231 T23_ = displayProgressCC__extccomp_1234((*colonenv_).conf2, T22_, compileCmd);
5232 asgnRef((void**) (&(*colonenv_).prettyCmds1), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*colonenv_).prettyCmds1), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
5233 T24_ = (*colonenv_).prettyCmds1->Sup.len++;
5234 T25_ = NIM_NIL;
5235 T25_ = (*colonenv_).prettyCmds1->data[T24_]; (*colonenv_).prettyCmds1->data[T24_] = copyStringRC1(T23_);
5236 if (T25_) nimGCunrefNoCycle(T25_);
5237 }
5238 LA18_: ;
5239 {
5240 if (!(((*(*colonenv_).conf2).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 10))&63U)))!=0)) goto LA28_;
5241 add__ropes_162(&script, compileCmd);
5242 add__ropes_162(&script, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_117));
5243 }
5244 LA28_: ;
5245 } LA10: ;
5246 i += ((NI) 1);
5247 } LA9: ;
5248 }
5249 }
5250 {
5251 if (!!((((*(*colonenv_).conf2).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0))) goto LA32_;
5252 execCmdsInParallel__extccomp_1155((*colonenv_).conf2, cmds, prettyCb);
5253 }
5254 LA32_: ;
5255 {
5256 NimStringDesc* objfiles;
5257 if (!!((((*(*colonenv_).conf2).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 5))&63U)))!=0))) goto LA36_;
5258 objfiles = ((NimStringDesc*) NIM_NIL);
5259 {
5260 NimStringDesc** it_2;
5261 NI i_2;
5262 NI L_2;
5263 NI T39_;
5264 it_2 = (NimStringDesc**)0;
5265 i_2 = ((NI) 0);
5266 T39_ = ((*(*colonenv_).conf2).externalToLink ? (*(*colonenv_).conf2).externalToLink->Sup.len : 0);
5267 L_2 = T39_;
5268 {
5269 while (1) {
5270 NimStringDesc* objFile;
5271 NimStringDesc* T48_;
5272 NimStringDesc* T49_;
5273 if (!(i_2 < L_2)) goto LA41;
5274 it_2 = (&(*(*colonenv_).conf2).externalToLink->data[i_2]);
5275 {
5276 NIM_BOOL T44_;
5277 T44_ = (NIM_BOOL)0;
5278 T44_ = noAbsolutePaths__extccomp_831((*colonenv_).conf2);
5279 if (!T44_) goto LA45_;
5280 objFile = nosextractFilename((*it_2));
5281 }
5282 goto LA42_;
5283 LA45_: ;
5284 {
5285 objFile = (*it_2);
5286 }
5287 LA42_: ;
5288 objfiles = addChar(objfiles, 32);
5289 T48_ = NIM_NIL;
5290 T48_ = nosaddFileExt(objFile, CC__extccomp_508[((*(*colonenv_).conf2).cCompiler)- 1].Field1);
5291 T49_ = NIM_NIL;
5292 T49_ = nospquoteShell(T48_);
5293 objfiles = resizeString(objfiles, (T49_ ? T49_->Sup.len : 0) + 0);
5294 appendString(objfiles, T49_);
5295 i_2 += ((NI) 1);
5296 } LA41: ;
5297 }
5298 }
5299 {
5300 NIM_BOOL T52_;
5301 NI mainFileIdx;
5302 NI T55_;
5303 tyProc__oFHfEKFsiYTMAy9a42cSiKw T93_;
5304 T52_ = (NIM_BOOL)0;
5305 T52_ = hcrOn__options_569((*colonenv_).conf2);
5306 if (!T52_) goto LA53_;
5307 cmds = NIM_NIL;
5308 T55_ = ((*(*colonenv_).conf2).toCompile ? (*(*colonenv_).conf2).toCompile->Sup.len : 0);
5309 mainFileIdx = (NI)(T55_ - ((NI) 1));
5310 {
5311 NI idx_2;
5312 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg x;
5313 NI i_3;
5314 NI L_3;
5315 NI T57_;
5316 idx_2 = (NI)0;
5317 nimZeroMem((void*)(&x), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
5318 i_3 = ((NI) 0);
5319 T57_ = ((*(*colonenv_).conf2).toCompile ? (*(*colonenv_).conf2).toCompile->Sup.len : 0);
5320 L_3 = T57_;
5321 {
5322 while (1) {
5323 if (!(i_3 < L_3)) goto LA59;
5324 idx_2 = i_3;
5325 nimCopyMem((void*)(&x), (NIM_CONST void*)(&(*(*colonenv_).conf2).toCompile->data[i_3]), sizeof(x));
5326 {
5327 NimStringDesc* objFile_2;
5328 NIM_BOOL buildDll;
5329 NimStringDesc* linkTarget;
5330 NimStringDesc* T65_;
5331 NimStringDesc* T66_;
5332 NimStringDesc* T67_;
5333 NI T68_;
5334 NimStringDesc* T69_;
5335 {
5336 if (!((x.flags &((NU8)1<<((NU)(((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 0))&7U)))!=0)) goto LA63_;
5337 goto LA60;
5338 }
5339 LA63_: ;
5340 objFile_2 = getObjFilePath__extccomp_1223((*colonenv_).conf2, (&x));
5341 buildDll = !((idx_2 == mainFileIdx));
5342 linkTarget = hcrLinkTargetName__extccomp_1227((*colonenv_).conf2, objFile_2, !(buildDll));
5343 T65_ = NIM_NIL;
5344 T66_ = NIM_NIL;
5345 T66_ = nospquoteShell(objFile_2);
5346 T65_ = rawNewString((objfiles ? objfiles->Sup.len : 0) + (T66_ ? T66_->Sup.len : 0) + 1);
5347 appendString(T65_, objfiles);
5348 appendString(T65_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
5349 appendString(T65_, T66_);
5350 T67_ = NIM_NIL;
5351 T67_ = getLinkCmd__extccomp_1094((*colonenv_).conf2, linkTarget, T65_, buildDll, NIM_TRUE);
5352 cmds = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(cmds), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
5353 T68_ = cmds->Sup.len++;
5354 T69_ = NIM_NIL;
5355 T69_ = cmds->data[T68_]; cmds->data[T68_] = copyStringRC1(T67_);
5356 if (T69_) nimGCunrefNoCycle(T69_);
5357 {
5358 NIM_BOOL T72_;
5359 T72_ = (NIM_BOOL)0;
5360 T72_ = isVSCompatible__extccomp_575((*colonenv_).conf2);
5361 if (!T72_) goto LA73_;
5362 {
5363 NimStringDesc* pdb;
5364 NimStringDesc* colontmp_;
5365 NimStringDesc* T76_;
5366 glob_t fX60gensym137_;
5367 NI resX60gensym137_;
5368 int T77_;
5369 TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_204;
5370 pdb = NIM_NIL;
5371 colontmp_ = NIM_NIL;
5372 T76_ = NIM_NIL;
5373 T76_ = rawNewString((objFile_2 ? objFile_2->Sup.len : 0) + 6);
5374 appendString(T76_, objFile_2);
5375 appendString(T76_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_203));
5376 colontmp_ = T76_;
5377 nimZeroMem((void*)(&fX60gensym137_), sizeof(glob_t));
5378 resX60gensym137_ = (NI)0;
5379 fX60gensym137_.gl_offs = ((NI) 0);
5380 fX60gensym137_.gl_pathc = ((NI) 0);
5381 fX60gensym137_.gl_pathv = ((NCSTRING*) NIM_NIL);
5382 T77_ = (int)0;
5383 T77_ = glob(nimToCStringConv(colontmp_), ((int) 0), NIM_NIL, (&fX60gensym137_));
5384 resX60gensym137_ = ((NI) (T77_));
5385 pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_204);
5386 TM__OyL9acDBDoBfMwa5zb1Y88w_204.status = _setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_204.context);
5387 if (TM__OyL9acDBDoBfMwa5zb1Y88w_204.status == 0) {
5388 {
5389 if (!(resX60gensym137_ == ((NI) 0))) goto LA80_;
5390 {
5391 NI iX60gensym137_;
5392 NI colontmp__2;
5393 NI res;
5394 iX60gensym137_ = (NI)0;
5395 colontmp__2 = (NI)0;
5396 colontmp__2 = (NI)(fX60gensym137_.gl_pathc - ((NI) 1));
5397 res = ((NI) 0);
5398 {
5399 while (1) {
5400 NimStringDesc* pathX60gensym137_;
5401 if (!(res <= colontmp__2)) goto LA84;
5402 iX60gensym137_ = res;
5403 pathX60gensym137_ = cstrToNimstr(fX60gensym137_.gl_pathv[iX60gensym137_]);
5404 {
5405 NIM_BOOL T87_;
5406 NIM_BOOL T90_;
5407 T87_ = (NIM_BOOL)0;
5408 T87_ = nosfileExists(pathX60gensym137_);
5409 if (!T87_) goto LA88_;
5410 pdb = pathX60gensym137_;
5411 T90_ = (NIM_BOOL)0;
5412 T90_ = nostryRemoveFile(pdb);
5413 (void)(T90_);
5414 }
5415 LA88_: ;
5416 res += ((NI) 1);
5417 } LA84: ;
5418 }
5419 }
5420 }
5421 LA80_: ;
5422 popSafePoint();
5423 }
5424 else {
5425 popSafePoint();
5426 }
5427 {
5428 globfree((&fX60gensym137_));
5429 if (TM__OyL9acDBDoBfMwa5zb1Y88w_204.status != 0) nimLeaveFinally();
5430 }
5431 if (TM__OyL9acDBDoBfMwa5zb1Y88w_204.status != 0) reraiseException();
5432 }
5433 }
5434 LA73_: ;
5435 } LA60: ;
5436 i_3 += ((NI) 1);
5437 } LA59: ;
5438 }
5439 }
5440 nimZeroMem((void*)(&T93_), sizeof(tyProc__oFHfEKFsiYTMAy9a42cSiKw));
5441 T93_.ClP_0 = ((TM__OyL9acDBDoBfMwa5zb1Y88w_207) (colonanonymous___extccomp_1365)); T93_.ClE_0 = NIM_NIL;
5442 asgnRef((void**) (&(*colonenv_).prettyCmds1), map__extccomp_1369((*colonenv_).prettyCmds1->data, ((*colonenv_).prettyCmds1 ? (*colonenv_).prettyCmds1->Sup.len : 0), T93_));
5443 execCmdsInParallel__extccomp_1155((*colonenv_).conf2, cmds, prettyCb);
5444 {
5445 NimStringDesc* mainObjFile;
5446 NimStringDesc* src;
5447 NimStringDesc* dst;
5448 if (!!((((*(*colonenv_).conf2).toCompile->data[mainFileIdx].flags &((NU8)1<<((NU)(((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 0))&7U)))!=0))) goto LA96_;
5449 mainObjFile = getObjFilePath__extccomp_1223((*colonenv_).conf2, (&(*(*colonenv_).conf2).toCompile->data[mainFileIdx]));
5450 src = hcrLinkTargetName__extccomp_1227((*colonenv_).conf2, mainObjFile, NIM_TRUE);
5451 dst = prepareToWriteOutput__options_4058((*colonenv_).conf2);
5452 copyFileWithPermissions__pureZos_1464(src, dst, NIM_TRUE, 2);
5453 }
5454 LA96_: ;
5455 }
5456 goto LA50_;
5457 LA53_: ;
5458 {
5459 NimStringDesc* mainOutput;
5460 {
5461 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* x_2;
5462 NI i_4;
5463 NI L_4;
5464 NI T100_;
5465 x_2 = (tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg*)0;
5466 i_4 = ((NI) 0);
5467 T100_ = ((*(*colonenv_).conf2).toCompile ? (*(*colonenv_).conf2).toCompile->Sup.len : 0);
5468 L_4 = T100_;
5469 {
5470 while (1) {
5471 NimStringDesc* objFile_3;
5472 NimStringDesc* T109_;
5473 if (!(i_4 < L_4)) goto LA102;
5474 x_2 = (&(*(*colonenv_).conf2).toCompile->data[i_4]);
5475 {
5476 NIM_BOOL T105_;
5477 T105_ = (NIM_BOOL)0;
5478 T105_ = noAbsolutePaths__extccomp_831((*colonenv_).conf2);
5479 if (!T105_) goto LA106_;
5480 objFile_3 = nosextractFilename((*x_2).obj);
5481 }
5482 goto LA103_;
5483 LA106_: ;
5484 {
5485 objFile_3 = (*x_2).obj;
5486 }
5487 LA103_: ;
5488 objfiles = addChar(objfiles, 32);
5489 T109_ = NIM_NIL;
5490 T109_ = nospquoteShell(objFile_3);
5491 objfiles = resizeString(objfiles, (T109_ ? T109_->Sup.len : 0) + 0);
5492 appendString(objfiles, T109_);
5493 i_4 += ((NI) 1);
5494 } LA102: ;
5495 }
5496 }
5497 {
5498 if (!!((((*(*colonenv_).conf2).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 10))&63U)))!=0))) goto LA112_;
5499 mainOutput = prepareToWriteOutput__options_4058((*colonenv_).conf2);
5500 }
5501 goto LA110_;
5502 LA112_: ;
5503 {
5504 mainOutput = (*(*colonenv_).conf2).projectName;
5505 }
5506 LA110_: ;
5507 linkCmd = getLinkCmd__extccomp_1094((*colonenv_).conf2, mainOutput, objfiles, (((*(*colonenv_).conf2).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0), NIM_TRUE);
5508 extraCmds = getExtraCmds__extccomp_1146((*colonenv_).conf2, mainOutput);
5509 {
5510 if (!!((((*(*colonenv_).conf2).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0))) goto LA117_;
5511 {
5512 if (!(((NI) 32000) < (linkCmd ? linkCmd->Sup.len : 0))) goto LA121_;
5513 linkViaResponseFile__extccomp_1188((*colonenv_).conf2, linkCmd);
5514 }
5515 goto LA119_;
5516 LA121_: ;
5517 {
5518 execLinkCmd__extccomp_1150((*colonenv_).conf2, linkCmd);
5519 }
5520 LA119_: ;
5521 {
5522 NimStringDesc** cmd;
5523 NI i_5;
5524 NI L_5;
5525 NI T125_;
5526 cmd = (NimStringDesc**)0;
5527 i_5 = ((NI) 0);
5528 T125_ = (extraCmds ? extraCmds->Sup.len : 0);
5529 L_5 = T125_;
5530 {
5531 while (1) {
5532 if (!(i_5 < L_5)) goto LA127;
5533 cmd = (&extraCmds->data[i_5]);
5534 execExternalProgram__extccomp_808((*colonenv_).conf2, (*cmd), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 89));
5535 i_5 += ((NI) 1);
5536 } LA127: ;
5537 }
5538 }
5539 }
5540 LA117_: ;
5541 }
5542 LA50_: ;
5543 }
5544 goto LA34_;
5545 LA36_: ;
5546 {
5547 linkCmd = ((NimStringDesc*) NIM_NIL);
5548 }
5549 LA34_: ;
5550 {
5551 if (!(((*(*colonenv_).conf2).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 10))&63U)))!=0)) goto LA131_;
5552 add__ropes_162(&script, linkCmd);
5553 add__ropes_162(&script, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_117));
5554 generateScript__extccomp_812((*colonenv_).conf2, script);
5555 }
5556 LA131_: ;
5557 }BeforeRet_: ;
5558 }
N_NIMCALL(tySequence__4eQHGndY6XBYpFOH09apV8Q *,newSeq__extccomp_1547)5559 N_LIB_PRIVATE N_NIMCALL(tySequence__4eQHGndY6XBYpFOH09apV8Q*, newSeq__extccomp_1547)(NI len) {
5560 tySequence__4eQHGndY6XBYpFOH09apV8Q* result;
5561 result = NIM_NIL;
5562 result = (tySequence__4eQHGndY6XBYpFOH09apV8Q*) newSeq((&NTIseqLtupleLkey58string_value58stringTT__4eQHGndY6XBYpFOH09apV8Q_), len);
5563 return result;
5564 }
N_INLINE(void,X5BX5Deq___pureZjson_1923)5565 static N_INLINE(void, X5BX5Deq___pureZjson_1923)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val) {
5566 X5BX5Deq___pureZjson_287((&(*obj)._kind_6.fields), key, val);
5567 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,toJson__extccomp_1724)5568 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__extccomp_1724)(tyTuple__UV3llMMYFckfui8YMBuUZA a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt) {
5569 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
5570 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
5571 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T2_;
5572 result = NIM_NIL;
5573 result = newJArray__pureZjson_123();
5574 T1_ = NIM_NIL;
5575 T1_ = toJson__stdZjsonutils_603(a.Field0, opt);
5576 add__pureZjson_222(result, T1_);
5577 T2_ = NIM_NIL;
5578 T2_ = toJson__stdZjsonutils_603(a.Field1, opt);
5579 add__pureZjson_222(result, T2_);
5580 return result;
5581 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,toJson__extccomp_1696)5582 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__extccomp_1696)(tySequence__4eQHGndY6XBYpFOH09apV8Q* a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt) {
5583 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
5584 result = NIM_NIL;
5585 result = newJArray__pureZjson_123();
5586 {
5587 tyTuple__UV3llMMYFckfui8YMBuUZA* ai;
5588 NI i;
5589 NI L;
5590 NI T2_;
5591 ai = (tyTuple__UV3llMMYFckfui8YMBuUZA*)0;
5592 i = ((NI) 0);
5593 T2_ = (a ? a->Sup.len : 0);
5594 L = T2_;
5595 {
5596 while (1) {
5597 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T5_;
5598 if (!(i < L)) goto LA4;
5599 ai = (&a->data[i]);
5600 T5_ = NIM_NIL;
5601 T5_ = toJson__extccomp_1724((*ai), opt);
5602 add__pureZjson_222(result, T5_);
5603 i += ((NI) 1);
5604 } LA4: ;
5605 }
5606 }
5607 return result;
5608 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,toJson__extccomp_1745)5609 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__extccomp_1745)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt) {
5610 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
5611 result = NIM_NIL;
5612 result = newJArray__pureZjson_123();
5613 {
5614 NimStringDesc** ai;
5615 NI i;
5616 NI L;
5617 NI T2_;
5618 ai = (NimStringDesc**)0;
5619 i = ((NI) 0);
5620 T2_ = (a ? a->Sup.len : 0);
5621 L = T2_;
5622 {
5623 while (1) {
5624 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T5_;
5625 if (!(i < L)) goto LA4;
5626 ai = (&a->data[i]);
5627 T5_ = NIM_NIL;
5628 T5_ = toJson__stdZjsonutils_603((*ai), opt);
5629 add__pureZjson_222(result, T5_);
5630 i += ((NI) 1);
5631 } LA4: ;
5632 }
5633 }
5634 return result;
5635 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,toJson__extccomp_1773)5636 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__extccomp_1773)(NIM_BOOL a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt) {
5637 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
5638 result = NIM_NIL;
5639 result = percent___pureZjson_1816(a);
5640 return result;
5641 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,toJson__extccomp_1675)5642 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, toJson__extccomp_1675)(tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog* a, tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ opt) {
5643 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
5644 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
5645 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T2_;
5646 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T3_;
5647 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T4_;
5648 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T5_;
5649 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T6_;
5650 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T7_;
5651 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T8_;
5652 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T9_;
5653 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T10_;
5654 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T11_;
5655 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T12_;
5656 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T13_;
5657 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T14_;
5658 result = NIM_NIL;
5659 result = newJObject__pureZjson_92();
5660 T1_ = NIM_NIL;
5661 T1_ = toJson__stdZjsonutils_603((*a).cacheVersion, opt);
5662 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_128), T1_);
5663 T2_ = NIM_NIL;
5664 T2_ = toJson__stdZjsonutils_603((*a).outputFile, opt);
5665 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_130), T2_);
5666 T3_ = NIM_NIL;
5667 T3_ = toJson__extccomp_1696((*a).compile, opt);
5668 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_131), T3_);
5669 T4_ = NIM_NIL;
5670 T4_ = toJson__extccomp_1745((*a).link, opt);
5671 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_140), T4_);
5672 T5_ = NIM_NIL;
5673 T5_ = toJson__stdZjsonutils_603((*a).linkcmd, opt);
5674 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_142), T5_);
5675 T6_ = NIM_NIL;
5676 T6_ = toJson__extccomp_1745((*a).extraCmds, opt);
5677 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_143), T6_);
5678 T7_ = NIM_NIL;
5679 T7_ = toJson__extccomp_1745((*a).configFiles, opt);
5680 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_144), T7_);
5681 T8_ = NIM_NIL;
5682 T8_ = toJson__extccomp_1773((*a).stdinInput, opt);
5683 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_145), T8_);
5684 T9_ = NIM_NIL;
5685 T9_ = toJson__extccomp_1773((*a).projectIsCmd, opt);
5686 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_147), T9_);
5687 T10_ = NIM_NIL;
5688 T10_ = toJson__stdZjsonutils_603((*a).cmdInput, opt);
5689 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_148), T10_);
5690 T11_ = NIM_NIL;
5691 T11_ = toJson__stdZjsonutils_603((*a).currentDir, opt);
5692 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_149), T11_);
5693 T12_ = NIM_NIL;
5694 T12_ = toJson__stdZjsonutils_603((*a).cmdline, opt);
5695 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_150), T12_);
5696 T13_ = NIM_NIL;
5697 T13_ = toJson__extccomp_1696((*a).depfiles, opt);
5698 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_151), T13_);
5699 T14_ = NIM_NIL;
5700 T14_ = toJson__stdZjsonutils_603((*a).nimexe, opt);
5701 X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_152), T14_);
5702 return result;
5703 }
N_NIMCALL(void,writeJsonBuildInstructions__extccomp_1496)5704 N_LIB_PRIVATE N_NIMCALL(void, writeJsonBuildInstructions__extccomp_1496)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
5705 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* linkFiles;
5706 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* collectResult;
5707 tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog bcache;
5708 tySequence__4eQHGndY6XBYpFOH09apV8Q* collectResult_2;
5709 NimStringDesc* T31_;
5710 NimStringDesc* T32_;
5711 NimStringDesc* T33_;
5712 tyObject_ToJsonOptions__T9bCB8O1ZaL5BIvSkjYqMnQ T63_;
5713 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T64_;
5714 NimStringDesc* T65_;
5715 collectResult = newSeq__systemZio_503(((NI) 0));
5716 {
5717 NimStringDesc** it;
5718 NI i;
5719 NI L;
5720 NI T2_;
5721 it = (NimStringDesc**)0;
5722 i = ((NI) 0);
5723 T2_ = ((*conf).externalToLink ? (*conf).externalToLink->Sup.len : 0);
5724 L = T2_;
5725 {
5726 while (1) {
5727 NimStringDesc* it_2;
5728 NimStringDesc* T10_;
5729 NI T11_;
5730 NimStringDesc* T12_;
5731 if (!(i < L)) goto LA4;
5732 it = (&(*conf).externalToLink->data[i]);
5733 it_2 = copyString((*it));
5734 {
5735 NIM_BOOL T7_;
5736 T7_ = (NIM_BOOL)0;
5737 T7_ = noAbsolutePaths__extccomp_831(conf);
5738 if (!T7_) goto LA8_;
5739 it_2 = nosextractFilename(it_2);
5740 }
5741 LA8_: ;
5742 T10_ = NIM_NIL;
5743 T10_ = nosaddFileExt(it_2, CC__extccomp_508[((*conf).cCompiler)- 1].Field1);
5744 collectResult = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(collectResult), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
5745 T11_ = collectResult->Sup.len++;
5746 T12_ = NIM_NIL;
5747 T12_ = collectResult->data[T11_]; collectResult->data[T11_] = copyStringRC1(T10_);
5748 if (T12_) nimGCunrefNoCycle(T12_);
5749 i += ((NI) 1);
5750 } LA4: ;
5751 }
5752 }
5753 genericSeqAssign((&linkFiles), collectResult, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
5754 {
5755 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* it_3;
5756 NI i_2;
5757 NI L_2;
5758 NI T14_;
5759 it_3 = (tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg*)0;
5760 i_2 = ((NI) 0);
5761 T14_ = ((*conf).toCompile ? (*conf).toCompile->Sup.len : 0);
5762 L_2 = T14_;
5763 {
5764 while (1) {
5765 NI T17_;
5766 NimStringDesc* T18_;
5767 if (!(i_2 < L_2)) goto LA16;
5768 it_3 = (&(*conf).toCompile->data[i_2]);
5769 linkFiles = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(linkFiles), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
5770 T17_ = linkFiles->Sup.len++;
5771 T18_ = NIM_NIL;
5772 T18_ = linkFiles->data[T17_]; linkFiles->data[T17_] = copyStringRC1((*it_3).obj);
5773 if (T18_) nimGCunrefNoCycle(T18_);
5774 i_2 += ((NI) 1);
5775 } LA16: ;
5776 }
5777 }
5778 nimZeroMem((void*)(&bcache), sizeof(tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog));
5779 nimZeroMem((void*)(&bcache), sizeof(tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog));
5780 bcache.cacheVersion = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_155));
5781 bcache.outputFile = absOutFile__options_4038(conf);
5782 collectResult_2 = newSeq__extccomp_1547(((NI) 0));
5783 {
5784 NI i_3;
5785 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg it_4;
5786 NI i_4;
5787 NI L_3;
5788 NI T20_;
5789 i_3 = (NI)0;
5790 nimZeroMem((void*)(&it_4), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
5791 i_4 = ((NI) 0);
5792 T20_ = ((*conf).toCompile ? (*conf).toCompile->Sup.len : 0);
5793 L_3 = T20_;
5794 {
5795 while (1) {
5796 if (!(i_4 < L_3)) goto LA22;
5797 i_3 = i_4;
5798 nimCopyMem((void*)(&it_4), (NIM_CONST void*)(&(*conf).toCompile->data[i_4]), sizeof(it_4));
5799 {
5800 tyTuple__UV3llMMYFckfui8YMBuUZA T27_;
5801 NI T28_;
5802 NimStringDesc* T29_;
5803 NimStringDesc* T30_;
5804 if (!!(((it_4.flags &((NU8)1<<((NU)(((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 0))&7U)))!=0))) goto LA25_;
5805 nimZeroMem((void*)(&T27_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
5806 T27_.Field0 = copyString(it_4.cname);
5807 T27_.Field1 = getCompileCFileCmd__extccomp_997(conf, (&it_4), NIM_FALSE, NIM_FALSE);
5808 collectResult_2 = (tySequence__4eQHGndY6XBYpFOH09apV8Q*) incrSeqV3((TGenericSeq*)(collectResult_2), (&NTIseqLtupleLkey58string_value58stringTT__4eQHGndY6XBYpFOH09apV8Q_));
5809 T28_ = collectResult_2->Sup.len++;
5810 T29_ = NIM_NIL;
5811 T29_ = collectResult_2->data[T28_].Field0; collectResult_2->data[T28_].Field0 = copyStringRC1(T27_.Field0);
5812 if (T29_) nimGCunrefNoCycle(T29_);
5813 T30_ = NIM_NIL;
5814 T30_ = collectResult_2->data[T28_].Field1; collectResult_2->data[T28_].Field1 = copyStringRC1(T27_.Field1);
5815 if (T30_) nimGCunrefNoCycle(T30_);
5816 }
5817 LA25_: ;
5818 i_4 += ((NI) 1);
5819 } LA22: ;
5820 }
5821 }
5822 genericSeqAssign((&bcache.compile), collectResult_2, (&NTIseqLtupleLkey58string_value58stringTT__4eQHGndY6XBYpFOH09apV8Q_));
5823 genericSeqAssign((&bcache.link), linkFiles, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
5824 T31_ = NIM_NIL;
5825 T31_ = absOutFile__options_4038(conf);
5826 T32_ = NIM_NIL;
5827 T32_ = quoteShellCommand__pureZos_601(linkFiles->data, (linkFiles ? linkFiles->Sup.len : 0));
5828 bcache.linkcmd = getLinkCmd__extccomp_1094(conf, T31_, T32_, (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0), NIM_FALSE);
5829 T33_ = NIM_NIL;
5830 T33_ = absOutFile__options_4038(conf);
5831 bcache.extraCmds = getExtraCmds__extccomp_1146(conf, T33_);
5832 bcache.stdinInput = (*conf).projectIsStdin;
5833 bcache.projectIsCmd = (*conf).projectIsCmd;
5834 bcache.cmdInput = copyString((*conf).cmdInput);
5835 {
5836 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* colontmp_;
5837 NI iX60gensym121_;
5838 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* resultX60gensym121_;
5839 NI T35_;
5840 colontmp_ = (*conf).configFiles;
5841 iX60gensym121_ = ((NI) 0);
5842 T35_ = (colontmp_ ? colontmp_->Sup.len : 0);
5843 resultX60gensym121_ = newSeq__systemZio_503(((NI) (T35_)));
5844 {
5845 NimStringDesc** it_5;
5846 NI i_5;
5847 NI L_4;
5848 NI T37_;
5849 it_5 = (NimStringDesc**)0;
5850 i_5 = ((NI) 0);
5851 T37_ = (colontmp_ ? colontmp_->Sup.len : 0);
5852 L_4 = T37_;
5853 {
5854 while (1) {
5855 NimStringDesc* T40_;
5856 if (!(i_5 < L_4)) goto LA39;
5857 it_5 = (&colontmp_->data[i_5]);
5858 T40_ = NIM_NIL;
5859 T40_ = resultX60gensym121_->data[iX60gensym121_]; resultX60gensym121_->data[iX60gensym121_] = copyStringRC1((*it_5));
5860 if (T40_) nimGCunrefNoCycle(T40_);
5861 iX60gensym121_ += ((NI) 1);
5862 i_5 += ((NI) 1);
5863 } LA39: ;
5864 }
5865 }
5866 genericSeqAssign((&bcache.configFiles), resultX60gensym121_, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
5867 }
5868 bcache.currentDir = nosgetCurrentDir();
5869 {
5870 NIM_BOOL T43_;
5871 tySequence__4eQHGndY6XBYpFOH09apV8Q* collectResult_3;
5872 NimStringDesc* T61_;
5873 tyArray__YtcvxHNKV4YiecPE9ap1mcA T62_;
5874 T43_ = (NIM_BOOL)0;
5875 T43_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 12))&63U)))!=0);
5876 if (T43_) goto LA44_;
5877 T43_ = isDefined__options_2279(conf, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_216));
5878 LA44_: ;
5879 if (!T43_) goto LA45_;
5880 bcache.cmdline = copyString((*conf).commandLine);
5881 collectResult_3 = newSeq__extccomp_1547(((NI) 0));
5882 {
5883 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw* it_6;
5884 NI i_6;
5885 NI L_5;
5886 NI T48_;
5887 it_6 = (tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw*)0;
5888 i_6 = ((NI) 0);
5889 T48_ = ((*conf).m.fileInfos ? (*conf).m.fileInfos->Sup.len : 0);
5890 L_5 = T48_;
5891 {
5892 while (1) {
5893 NimStringDesc* path;
5894 if (!(i_6 < L_5)) goto LA50;
5895 it_6 = (&(*conf).m.fileInfos->data[i_6]);
5896 path = (*it_6).fullPath;
5897 {
5898 NIM_BOOL T53_;
5899 tyTuple__UV3llMMYFckfui8YMBuUZA T56_;
5900 tyArray__YtcvxHNKV4YiecPE9ap1mcA T57_;
5901 NI T58_;
5902 NimStringDesc* T59_;
5903 NimStringDesc* T60_;
5904 T53_ = (NIM_BOOL)0;
5905 T53_ = nosisAbsolute(path);
5906 if (!T53_) goto LA54_;
5907 nimZeroMem((void*)(&T56_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
5908 T56_.Field0 = copyString(path);
5909 nimZeroMem((void*)T57_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
5910 secureHashFile__stdZsha49_871(path, T57_);
5911 T56_.Field1 = dollar___stdZsha49_879(T57_);
5912 collectResult_3 = (tySequence__4eQHGndY6XBYpFOH09apV8Q*) incrSeqV3((TGenericSeq*)(collectResult_3), (&NTIseqLtupleLkey58string_value58stringTT__4eQHGndY6XBYpFOH09apV8Q_));
5913 T58_ = collectResult_3->Sup.len++;
5914 T59_ = NIM_NIL;
5915 T59_ = collectResult_3->data[T58_].Field0; collectResult_3->data[T58_].Field0 = copyStringRC1(T56_.Field0);
5916 if (T59_) nimGCunrefNoCycle(T59_);
5917 T60_ = NIM_NIL;
5918 T60_ = collectResult_3->data[T58_].Field1; collectResult_3->data[T58_].Field1 = copyStringRC1(T56_.Field1);
5919 if (T60_) nimGCunrefNoCycle(T60_);
5920 }
5921 LA54_: ;
5922 i_6 += ((NI) 1);
5923 } LA50: ;
5924 }
5925 }
5926 genericSeqAssign((&bcache.depfiles), collectResult_3, (&NTIseqLtupleLkey58string_value58stringTT__4eQHGndY6XBYpFOH09apV8Q_));
5927 T61_ = NIM_NIL;
5928 T61_ = nosgetAppFilename();
5929 nimZeroMem((void*)T62_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
5930 secureHashFile__stdZsha49_871(T61_, T62_);
5931 bcache.nimexe = dollar___stdZsha49_879(T62_);
5932 }
5933 LA45_: ;
5934 asgnRef((void**) (&(*conf).jsonBuildFile), jsonBuildInstructionsFile__extccomp_1477(conf));
5935 T63_ = initToJsonOptions__stdZjsonutils_33();
5936 T64_ = NIM_NIL;
5937 T64_ = toJson__extccomp_1675((&bcache), T63_);
5938 T65_ = NIM_NIL;
5939 T65_ = pretty__pureZjson_4461(T64_, ((NI) 2));
5940 writeFile__systemZio_476((*conf).jsonBuildFile, T65_);
5941 }
N_NIMCALL(void,Marker_tyRef__pVfTg3qma4yzaBk4IsIEzQ)5942 static N_NIMCALL(void, Marker_tyRef__pVfTg3qma4yzaBk4IsIEzQ)(void* p, NI op) {
5943 tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg* a;
5944 a = (tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg*)p;
5945 nimGCvisit((void*)(*a).prettyCmds1, op);
5946 nimGCvisit((void*)(*a).conf2, op);
5947 }
N_CLOSURE(void,colonanonymous___extccomp_2604)5948 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_2604)(NI idx, void* ClE_0) {
5949 tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg* colonenvP_;
5950 colonenvP_ = (tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg*) ClE_0;
5951 {
5952 tyArray__nHXaesL0DJZHyVS07ARPRA T5_;
5953 if (!(((NI) 0) < ((*colonenvP_).prettyCmds1->data[idx] ? (*colonenvP_).prettyCmds1->data[idx]->Sup.len : 0))) goto LA3_;
5954 flushDot__msgs_17((*colonenvP_).conf2);
5955 nimZeroMem((void*)T5_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
5956 T5_[0] = copyString((*colonenvP_).prettyCmds1->data[idx]);
5957 writeLine__msgs_432(stderr, T5_, 1);
5958 }
5959 LA3_: ;
5960 }
N_NIMCALL(void,runJsonBuildInstructions__extccomp_2582)5961 N_LIB_PRIVATE N_NIMCALL(void, runJsonBuildInstructions__extccomp_2582)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* jsonFile) {
5962 tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg* colonenv_;
5963 tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog bcache;
5964 TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_218;
5965 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
5966 tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ T2_;
5967 NimStringDesc* output;
5968 NimStringDesc* T20_;
5969 NimStringDesc* outputCurrent;
5970 NimStringDesc* T21_;
5971 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds;
5972 tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb;
5973 tyProc__SqRJqa5aOiKB4EuKlKh9asA T30_;
5974 colonenv_ = NIM_NIL;
5975 colonenv_ = (tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg*) newObj((&NTIrefobject__pVfTg3qma4yzaBk4IsIEzQ_), sizeof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg));
5976 (*colonenv_).Sup.m_type = (&NTIobject__Bm6R75AmpN9bn4rYIfcheUg_);
5977 asgnRef((void**) (&(*colonenv_).conf2), conf);
5978 nimZeroMem((void*)(&bcache), sizeof(tyObject_BuildCache__XHJLjuVXhiJ46Ktee6XNog));
5979 pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_218);
5980 TM__OyL9acDBDoBfMwa5zb1Y88w_218.status = _setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_218.context);
5981 if (TM__OyL9acDBDoBfMwa5zb1Y88w_218.status == 0) {
5982 T1_ = NIM_NIL;
5983 T1_ = parseFile__pureZjson_5228(jsonFile);
5984 nimZeroMem((void*)(&T2_), sizeof(tyObject_Joptions__LkVLf5IMKBOgl3HJApAzgQ));
5985 fromJson__extccomp_1838((&bcache), T1_, T2_);
5986 popSafePoint();
5987 }
5988 else {
5989 popSafePoint();
5990 {
5991 Exception* e;
5992 TM__OyL9acDBDoBfMwa5zb1Y88w_218.status = 0;
5993 e = getCurrentException();
5994 {
5995 NIM_BOOL T7_;
5996 T7_ = (NIM_BOOL)0;
5997 T7_ = isDefined__options_2279((*colonenv_).conf2, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_219));
5998 if (!T7_) goto LA8_;
5999 {
6000 NimStringDesc* T14_;
6001 tyArray__24KAM9afIUgUaqBaEBB6r9bg T15_;
6002 NimStringDesc* T16_;
6003 if (!NIM_TRUE) goto LA12_;
6004 T14_ = NIM_NIL;
6005 nimZeroMem((void*)T15_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
6006 T15_[0] = copyString((*e).message);
6007 T15_[1] = getStackTrace__system_2521(e);
6008 T15_[2] = copyString(jsonFile);
6009 T16_ = NIM_NIL;
6010 T16_ = nsuFormatOpenArray(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_221), T15_, 3);
6011 T14_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 29);
6012 appendString(T14_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_220));
6013 appendString(T14_, T16_);
6014 failedAssertImpl__systemZassertions_56(T14_);
6015 }
6016 LA12_: ;
6017 }
6018 goto LA5_;
6019 LA8_: ;
6020 {
6021 tyArray__24KAM9afIUgUaqBaEBB6r9bg T18_;
6022 NimStringDesc* T19_;
6023 nimZeroMem((void*)T18_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
6024 T18_[0] = copyString((*e).message);
6025 T18_[1] = getStackTrace__system_2521(e);
6026 T18_[2] = copyString(jsonFile);
6027 T19_ = NIM_NIL;
6028 T19_ = nsuFormatOpenArray(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_221), T18_, 3);
6029 quit__system_7174(T19_, ((NI) 1));
6030 }
6031 LA5_: ;
6032 popCurrentException();
6033 }
6034 }
6035 if (TM__OyL9acDBDoBfMwa5zb1Y88w_218.status != 0) reraiseException();
6036 output = bcache.outputFile;
6037 T20_ = NIM_NIL;
6038 T20_ = nosparentDir(output);
6039 noscreateDir(T20_);
6040 T21_ = NIM_NIL;
6041 T21_ = absOutFile__options_4038((*colonenv_).conf2);
6042 outputCurrent = dollar___options_4373(T21_);
6043 {
6044 NIM_BOOL T24_;
6045 tyArray__24KAM9afIUgUaqBaEBB6r9bg T28_;
6046 NimStringDesc* T29_;
6047 T24_ = (NIM_BOOL)0;
6048 T24_ = !(eqStrings(output, outputCurrent));
6049 if (T24_) goto LA25_;
6050 T24_ = !(eqStrings(bcache.cacheVersion, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_155)));
6051 LA25_: ;
6052 if (!T24_) goto LA26_;
6053 nimZeroMem((void*)T28_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
6054 T28_[0] = copyString(outputCurrent);
6055 T28_[1] = copyString(output);
6056 T28_[2] = copyString(jsonFile);
6057 T29_ = NIM_NIL;
6058 T29_ = nsuFormatOpenArray(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_222), T28_, 3);
6059 liMessage__msgs_1118((*colonenv_).conf2, gCmdLineInfo__msgs_404, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__OyL9acDBDoBfMwa5zb1Y88w_223, NIM_FALSE);
6060 }
6061 LA26_: ;
6062 cmds = NIM_NIL;
6063 asgnRef((void**) (&(*colonenv_).prettyCmds1), NIM_NIL);
6064 nimZeroMem((void*)(&prettyCb), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
6065 nimZeroMem((void*)(&T30_), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
6066 T30_.ClP_0 = colonanonymous___extccomp_2604; T30_.ClE_0 = colonenv_;
6067 prettyCb.ClE_0 = T30_.ClE_0;
6068 prettyCb.ClP_0 = T30_.ClP_0;
6069 {
6070 NimStringDesc** name;
6071 NimStringDesc** cmd;
6072 NI i;
6073 NI L;
6074 NI T32_;
6075 name = (NimStringDesc**)0;
6076 cmd = (NimStringDesc**)0;
6077 i = ((NI) 0);
6078 T32_ = (bcache.compile ? bcache.compile->Sup.len : 0);
6079 L = T32_;
6080 {
6081 while (1) {
6082 NI T35_;
6083 NimStringDesc* T36_;
6084 NimStringDesc* T37_;
6085 NI T38_;
6086 NimStringDesc* T39_;
6087 if (!(i < L)) goto LA34;
6088 name = (&bcache.compile->data[i].Field0);
6089 cmd = (&bcache.compile->data[i].Field1);
6090 cmds = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(cmds), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
6091 T35_ = cmds->Sup.len++;
6092 T36_ = NIM_NIL;
6093 T36_ = cmds->data[T35_]; cmds->data[T35_] = copyStringRC1((*cmd));
6094 if (T36_) nimGCunrefNoCycle(T36_);
6095 T37_ = NIM_NIL;
6096 T37_ = displayProgressCC__extccomp_1234((*colonenv_).conf2, (*name), (*cmd));
6097 asgnRef((void**) (&(*colonenv_).prettyCmds1), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*colonenv_).prettyCmds1), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
6098 T38_ = (*colonenv_).prettyCmds1->Sup.len++;
6099 T39_ = NIM_NIL;
6100 T39_ = (*colonenv_).prettyCmds1->data[T38_]; (*colonenv_).prettyCmds1->data[T38_] = copyStringRC1(T37_);
6101 if (T39_) nimGCunrefNoCycle(T39_);
6102 i += ((NI) 1);
6103 } LA34: ;
6104 }
6105 }
6106 execCmdsInParallel__extccomp_1155((*colonenv_).conf2, cmds, prettyCb);
6107 execLinkCmd__extccomp_1150((*colonenv_).conf2, bcache.linkcmd);
6108 {
6109 NimStringDesc** cmd_2;
6110 NI i_2;
6111 NI L_2;
6112 NI T41_;
6113 cmd_2 = (NimStringDesc**)0;
6114 i_2 = ((NI) 0);
6115 T41_ = (bcache.extraCmds ? bcache.extraCmds->Sup.len : 0);
6116 L_2 = T41_;
6117 {
6118 while (1) {
6119 if (!(i_2 < L_2)) goto LA43;
6120 cmd_2 = (&bcache.extraCmds->data[i_2]);
6121 execExternalProgram__extccomp_808((*colonenv_).conf2, (*cmd_2), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 89));
6122 i_2 += ((NI) 1);
6123 } LA43: ;
6124 }
6125 }
6126 }
N_NIMCALL(void,compiler_extccompDatInit000)6127 N_LIB_PRIVATE N_NIMCALL(void, compiler_extccompDatInit000)(void) {
6128 static TNimNode* TM__OyL9acDBDoBfMwa5zb1Y88w_172_3[3];
6129 static TNimNode* TM__OyL9acDBDoBfMwa5zb1Y88w_175_3[3];
6130 static TNimNode* TM__OyL9acDBDoBfMwa5zb1Y88w_217_3[3];
6131 static TNimNode TM__OyL9acDBDoBfMwa5zb1Y88w_0[12];
6132 NTIobject__H6RAoT9avhFKpqIMlTu5GHg_.size = sizeof(tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg);
6133 NTIobject__H6RAoT9avhFKpqIMlTu5GHg_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg);
6134 NTIobject__H6RAoT9avhFKpqIMlTu5GHg_.kind = 17;
6135 NTIobject__H6RAoT9avhFKpqIMlTu5GHg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
6136 TM__OyL9acDBDoBfMwa5zb1Y88w_172_3[0] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[1];
6137 TM__OyL9acDBDoBfMwa5zb1Y88w_0[1].kind = 1;
6138 TM__OyL9acDBDoBfMwa5zb1Y88w_0[1].offset = offsetof(tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg, colonstate_);
6139 TM__OyL9acDBDoBfMwa5zb1Y88w_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
6140 TM__OyL9acDBDoBfMwa5zb1Y88w_0[1].name = ":state";
6141 TM__OyL9acDBDoBfMwa5zb1Y88w_172_3[1] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[2];
6142 TM__OyL9acDBDoBfMwa5zb1Y88w_0[2].kind = 1;
6143 TM__OyL9acDBDoBfMwa5zb1Y88w_0[2].offset = offsetof(tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg, prettyCmds1);
6144 TM__OyL9acDBDoBfMwa5zb1Y88w_0[2].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
6145 TM__OyL9acDBDoBfMwa5zb1Y88w_0[2].name = "prettyCmds1";
6146 TM__OyL9acDBDoBfMwa5zb1Y88w_172_3[2] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[3];
6147 TM__OyL9acDBDoBfMwa5zb1Y88w_0[3].kind = 1;
6148 TM__OyL9acDBDoBfMwa5zb1Y88w_0[3].offset = offsetof(tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg, conf2);
6149 TM__OyL9acDBDoBfMwa5zb1Y88w_0[3].typ = (&NTIconfigref__a8lycfSA25OQltN3OMeBsA_);
6150 TM__OyL9acDBDoBfMwa5zb1Y88w_0[3].name = "conf2";
6151 TM__OyL9acDBDoBfMwa5zb1Y88w_0[0].len = 3; TM__OyL9acDBDoBfMwa5zb1Y88w_0[0].kind = 2; TM__OyL9acDBDoBfMwa5zb1Y88w_0[0].sons = &TM__OyL9acDBDoBfMwa5zb1Y88w_172_3[0];
6152 NTIobject__H6RAoT9avhFKpqIMlTu5GHg_.node = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[0];
6153 NTIrefobject__CqlAb69bkfxaejoSKDwhYYA_.size = sizeof(tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg*);
6154 NTIrefobject__CqlAb69bkfxaejoSKDwhYYA_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_callCCompiler___H6RAoT9avhFKpqIMlTu5GHg*);
6155 NTIrefobject__CqlAb69bkfxaejoSKDwhYYA_.kind = 22;
6156 NTIrefobject__CqlAb69bkfxaejoSKDwhYYA_.base = (&NTIobject__H6RAoT9avhFKpqIMlTu5GHg_);
6157 NTIrefobject__CqlAb69bkfxaejoSKDwhYYA_.marker = Marker_tyRef__CqlAb69bkfxaejoSKDwhYYA;
6158 NTIobject__4Ms6MGgcp8EDnUBSlKFk9bg_.size = sizeof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg);
6159 NTIobject__4Ms6MGgcp8EDnUBSlKFk9bg_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg);
6160 NTIobject__4Ms6MGgcp8EDnUBSlKFk9bg_.kind = 17;
6161 NTIobject__4Ms6MGgcp8EDnUBSlKFk9bg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
6162 TM__OyL9acDBDoBfMwa5zb1Y88w_175_3[0] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[5];
6163 TM__OyL9acDBDoBfMwa5zb1Y88w_0[5].kind = 1;
6164 TM__OyL9acDBDoBfMwa5zb1Y88w_0[5].offset = offsetof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg, colonstate_);
6165 TM__OyL9acDBDoBfMwa5zb1Y88w_0[5].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
6166 TM__OyL9acDBDoBfMwa5zb1Y88w_0[5].name = ":state";
6167 TM__OyL9acDBDoBfMwa5zb1Y88w_175_3[1] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[6];
6168 TM__OyL9acDBDoBfMwa5zb1Y88w_0[6].kind = 1;
6169 TM__OyL9acDBDoBfMwa5zb1Y88w_0[6].offset = offsetof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg, conf1);
6170 TM__OyL9acDBDoBfMwa5zb1Y88w_0[6].typ = (&NTIconfigref__a8lycfSA25OQltN3OMeBsA_);
6171 TM__OyL9acDBDoBfMwa5zb1Y88w_0[6].name = "conf1";
6172 TM__OyL9acDBDoBfMwa5zb1Y88w_175_3[2] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[7];
6173 TM__OyL9acDBDoBfMwa5zb1Y88w_0[7].kind = 1;
6174 TM__OyL9acDBDoBfMwa5zb1Y88w_0[7].offset = offsetof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg, cmds2);
6175 TM__OyL9acDBDoBfMwa5zb1Y88w_0[7].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
6176 TM__OyL9acDBDoBfMwa5zb1Y88w_0[7].name = "cmds2";
6177 TM__OyL9acDBDoBfMwa5zb1Y88w_0[4].len = 3; TM__OyL9acDBDoBfMwa5zb1Y88w_0[4].kind = 2; TM__OyL9acDBDoBfMwa5zb1Y88w_0[4].sons = &TM__OyL9acDBDoBfMwa5zb1Y88w_175_3[0];
6178 NTIobject__4Ms6MGgcp8EDnUBSlKFk9bg_.node = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[4];
6179 NTIrefobject__pkCPBZYDmG8KoijaqNdsQw_.size = sizeof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*);
6180 NTIrefobject__pkCPBZYDmG8KoijaqNdsQw_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*);
6181 NTIrefobject__pkCPBZYDmG8KoijaqNdsQw_.kind = 22;
6182 NTIrefobject__pkCPBZYDmG8KoijaqNdsQw_.base = (&NTIobject__4Ms6MGgcp8EDnUBSlKFk9bg_);
6183 NTIrefobject__pkCPBZYDmG8KoijaqNdsQw_.marker = Marker_tyRef__pkCPBZYDmG8KoijaqNdsQw;
6184 NTIobject__Bm6R75AmpN9bn4rYIfcheUg_.size = sizeof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg);
6185 NTIobject__Bm6R75AmpN9bn4rYIfcheUg_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg);
6186 NTIobject__Bm6R75AmpN9bn4rYIfcheUg_.kind = 17;
6187 NTIobject__Bm6R75AmpN9bn4rYIfcheUg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
6188 TM__OyL9acDBDoBfMwa5zb1Y88w_217_3[0] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[9];
6189 TM__OyL9acDBDoBfMwa5zb1Y88w_0[9].kind = 1;
6190 TM__OyL9acDBDoBfMwa5zb1Y88w_0[9].offset = offsetof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg, colonstate_);
6191 TM__OyL9acDBDoBfMwa5zb1Y88w_0[9].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
6192 TM__OyL9acDBDoBfMwa5zb1Y88w_0[9].name = ":state";
6193 TM__OyL9acDBDoBfMwa5zb1Y88w_217_3[1] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[10];
6194 TM__OyL9acDBDoBfMwa5zb1Y88w_0[10].kind = 1;
6195 TM__OyL9acDBDoBfMwa5zb1Y88w_0[10].offset = offsetof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg, prettyCmds1);
6196 TM__OyL9acDBDoBfMwa5zb1Y88w_0[10].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
6197 TM__OyL9acDBDoBfMwa5zb1Y88w_0[10].name = "prettyCmds1";
6198 TM__OyL9acDBDoBfMwa5zb1Y88w_217_3[2] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[11];
6199 TM__OyL9acDBDoBfMwa5zb1Y88w_0[11].kind = 1;
6200 TM__OyL9acDBDoBfMwa5zb1Y88w_0[11].offset = offsetof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg, conf2);
6201 TM__OyL9acDBDoBfMwa5zb1Y88w_0[11].typ = (&NTIconfigref__a8lycfSA25OQltN3OMeBsA_);
6202 TM__OyL9acDBDoBfMwa5zb1Y88w_0[11].name = "conf2";
6203 TM__OyL9acDBDoBfMwa5zb1Y88w_0[8].len = 3; TM__OyL9acDBDoBfMwa5zb1Y88w_0[8].kind = 2; TM__OyL9acDBDoBfMwa5zb1Y88w_0[8].sons = &TM__OyL9acDBDoBfMwa5zb1Y88w_217_3[0];
6204 NTIobject__Bm6R75AmpN9bn4rYIfcheUg_.node = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[8];
6205 NTIrefobject__pVfTg3qma4yzaBk4IsIEzQ_.size = sizeof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg*);
6206 NTIrefobject__pVfTg3qma4yzaBk4IsIEzQ_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_runJsonBuildInstructions___Bm6R75AmpN9bn4rYIfcheUg*);
6207 NTIrefobject__pVfTg3qma4yzaBk4IsIEzQ_.kind = 22;
6208 NTIrefobject__pVfTg3qma4yzaBk4IsIEzQ_.base = (&NTIobject__Bm6R75AmpN9bn4rYIfcheUg_);
6209 NTIrefobject__pVfTg3qma4yzaBk4IsIEzQ_.marker = Marker_tyRef__pVfTg3qma4yzaBk4IsIEzQ;
6210 }
6211
6212