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