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