1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
22 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
23 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
24 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
25 typedef struct RootObj RootObj;
26 typedef struct TNimType TNimType;
27 typedef struct TNimNode TNimNode;
28 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
29 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
30 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
31 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
32 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
33 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
34 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
35 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
36 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
37 typedef struct NimStringDesc NimStringDesc;
38 typedef struct TGenericSeq TGenericSeq;
39 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
40 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
41 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
42 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
43 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
44 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
45 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
46 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
47 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
48 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
49 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
50 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
51 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
52 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
53 typedef struct tyTuple__eCO8mA2VZCpG2fD1wGsc8Q tyTuple__eCO8mA2VZCpG2fD1wGsc8Q;
54 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
55 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
56 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
57 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
58 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
59 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
60 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
61 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
62 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
63 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
64 struct TNimType {
65 NI size;
66 NI align;
67 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
68 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
69 TNimType* base;
70 TNimNode* node;
71 void* finalizer;
72 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
73 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
74 };
75 struct RootObj {
76 TNimType* m_type;
77 };
78 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
79 NI32 module;
80 NI32 item;
81 };
82 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
83 RootObj Sup;
84 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
85 };
86 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
87 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
88 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
89 NU16 line;
90 NI16 col;
91 NI32 fileIndex;
92 };
93 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
94 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
95 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
96 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
97 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
98 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
99 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
100 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
101 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
102 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
103 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
104 };
105 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
106 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
107 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
108 union{
109 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
110 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
111 } _kind_1;
112 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
113 NI bitsize;
114 NI alignment;
115 } _kind_2;
116 };
117 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
118 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
119 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
120 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
121 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
122 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
123 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
124 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
125 NI position;
126 NI offset;
127 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
128 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
129 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
130 };
131 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
132 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
133 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
134 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
135 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
136 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
137 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
138 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
139 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
140 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
141 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
142 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
143 NI64 size;
144 NI16 align;
145 NI16 paddingAtEnd;
146 NI16 lockLevel;
147 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
148 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
149 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
150 };
151 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
152 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
153 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
154 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
155 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
156 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
157 struct TGenericSeq {
158 NI len;
159 NI reserved;
160 };
161 struct NimStringDesc {
162 TGenericSeq Sup;
163 NIM_CHAR data[SEQ_DECL_SIZE];
164 };
165 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
166 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
167 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
168 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
169 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
170 NI intSize;
171 NI floatSize;
172 NI ptrSize;
173 NimStringDesc* tnl;
174 };
175 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
176 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
177 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
178 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
179 NI counter;
180 };
181 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
182 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
183 NIM_BOOL trackPosAttached;
184 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
185 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
186 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
187 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
188 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
189 NI32 systemFileIdx;
190 };
191 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
192 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
193 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
194 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
195 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
196 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
197 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
198 NI counter;
199 };
200 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
201 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
202 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
203 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
204 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
205 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
206 NI Field0;
207 NI Field1;
208 NI Field2;
209 };
210 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
211 typedef struct {
212 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
213 void* ClE_0;
214 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
215 typedef struct {
216 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
217 void* ClE_0;
218 } tyProc__k2HFjxisIgDALbEUFojxaQ;
219 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
220 typedef struct {
221 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
222 void* ClE_0;
223 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
224 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
225 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
226 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
227 NI linesCompiled;
228 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
229 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
230 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
231 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
232 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
233 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
234 NimStringDesc* unitSep;
235 NI evalTemplateCounter;
236 NI evalMacroCounter;
237 NI8 exitcode;
238 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
239 NimStringDesc* cmdInput;
240 NIM_BOOL projectIsCmd;
241 NIM_BOOL implicitCmd;
242 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
243 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
244 NIM_BOOL hintProcessingDots;
245 NI verbosity;
246 NI numberOfProcessors;
247 NF lastCmdTime;
248 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
249 NI spellSuggestMax;
250 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
251 NimStringDesc* headerFile;
252 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
253 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
254 NimStringDesc* arguments;
255 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
256 NIM_BOOL oldNewlines;
257 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
258 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
259 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
260 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
261 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
262 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
263 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
264 NI mainPackageId;
265 NI errorCounter;
266 NI hintCounter;
267 NI warnCounter;
268 NI errorMax;
269 NI maxLoopIterationsVM;
270 NIM_BOOL isVmTrace;
271 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
272 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
273 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
274 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
275 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
276 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
277 NimStringDesc* outFile;
278 NimStringDesc* outDir;
279 NimStringDesc* jsonBuildFile;
280 NimStringDesc* prefixDir;
281 NimStringDesc* libpath;
282 NimStringDesc* nimcacheDir;
283 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
284 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
285 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
286 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
287 NimStringDesc* projectName;
288 NimStringDesc* projectPath;
289 NimStringDesc* projectFull;
290 NIM_BOOL projectIsStdin;
291 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
292 NI32 projectMainIdx;
293 NI32 projectMainIdx2;
294 NimStringDesc* command;
295 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
296 NimStringDesc* commandLine;
297 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
298 NIM_BOOL keepComments;
299 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
300 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
301 NimStringDesc* docSeeSrcUrl;
302 NimStringDesc* docRoot;
303 NimStringDesc* docCmd;
304 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
305 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
306 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
307 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
308 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
309 NimStringDesc* linkOptionsCmd;
310 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
311 NimStringDesc* linkOptions;
312 NimStringDesc* compileOptions;
313 NimStringDesc* cCompilerPath;
314 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
315 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
316 NI suggestVersion;
317 NI suggestMaxResults;
318 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
319 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
320 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
321 NimStringDesc* cppCustomNamespace;
322 NimStringDesc* nimMainPrefix;
323 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
324 };
325 typedef NU8 tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w;
326 typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw;
327 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
328 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
329 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
330 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
331 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
332 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
333 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
334 union{
335 struct {NI64 intVal;
336 } _kind_1;
337 struct {NF floatVal;
338 } _kind_2;
339 struct {NimStringDesc* strVal;
340 } _kind_3;
341 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
342 } _kind_4;
343 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
344 } _kind_5;
345 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
346 } _kind_6;
347 };
348 };
349 typedef NU8 tyEnum_Endianness__0BVYNY0K9cz7BUPI3AnbEQw;
350 struct tyTuple__eCO8mA2VZCpG2fD1wGsc8Q {
351 NimStringDesc* Field0;
352 NI Field1;
353 tyEnum_Endianness__0BVYNY0K9cz7BUPI3AnbEQw Field2;
354 NI Field3;
355 NI Field4;
356 };
357 typedef tyTuple__eCO8mA2VZCpG2fD1wGsc8Q tyArray__9cwFB2SXj9aw9cyLiDbvSiBEg[26];
358 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
359 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
360 NimStringDesc* Field1;
361 };
362 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
363 NI Field0;
364 NimStringDesc* Field1;
365 NI32 Field2;
366 };
367 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
368 NimStringDesc* fullPath;
369 NimStringDesc* projPath;
370 NimStringDesc* shortName;
371 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
372 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
373 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
374 NimStringDesc* dirtyFile;
375 NimStringDesc* hash;
376 NIM_BOOL dirty;
377 };
378 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
379 NI Field0;
380 NimStringDesc* Field1;
381 };
382 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
383 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
384 NimStringDesc* nimname;
385 NimStringDesc* cname;
386 NimStringDesc* obj;
387 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
388 NimStringDesc* customArgs;
389 };
390 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
391 TGenericSeq Sup;
392 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
393 };
394 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
395 TGenericSeq Sup;
396 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
397 };
398 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
399 TGenericSeq Sup;
400 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
401 };
402 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
403 TGenericSeq Sup;
404 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
405 };
406 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
407 TGenericSeq Sup;
408 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
409 };
410 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
411 TGenericSeq Sup;
412 NimStringDesc* data[SEQ_DECL_SIZE];
413 };
414 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
415 TGenericSeq Sup;
416 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
417 };
418 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
419 TGenericSeq Sup;
420 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
421 };
422 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
423 N_LIB_PRIVATE N_NIMCALL(NI64, getSize__types_3327)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
424 N_LIB_PRIVATE N_NIMCALL(tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w, mapSetType__ccgutils_140)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
425 N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
426 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
427 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
428 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
429 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
430 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
431 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
432 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHex__pureZstrutils_1792)(NI x, NI len);
433 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
434 static N_INLINE(void, toCChar__msgs_47)(NIM_CHAR c, NimStringDesc** result);
435 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
436 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToOctal)(NIM_CHAR c);
437 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getPragmaStmt__ccgutils_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw w);
438 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
439 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma__trees_244)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
440 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__Z07Nb1SkYoziC0Zz9be4mTA_2 = {
441 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x90, 0x00,
442 0x00}
443 ;
444 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_3, "X", 1);
445 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_4, "dollar", 6);
446 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_5, "percent", 7);
447 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_6, "amp", 3);
448 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_7, "roof", 4);
449 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_8, "emark", 5);
450 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_9, "qmark", 5);
451 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_10, "star", 4);
452 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_11, "plus", 4);
453 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_12, "minus", 5);
454 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_13, "slash", 5);
455 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_14, "backslash", 9);
456 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_15, "eq", 2);
457 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_16, "lt", 2);
458 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_17, "gt", 2);
459 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_18, "tilde", 5);
460 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_19, "colon", 5);
461 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_20, "dot", 3);
462 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_21, "at", 2);
463 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_22, "bar", 3);
464 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_23, "_", 1);
465 STRING_LITERAL(TM__Z07Nb1SkYoziC0Zz9be4mTA_24, "\"", 1);
466 extern NIM_CONST tyArray__9cwFB2SXj9aw9cyLiDbvSiBEg CPU__platform_691;
N_NIMCALL(tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w,mapSetType__ccgutils_140)467 N_LIB_PRIVATE N_NIMCALL(tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w, mapSetType__ccgutils_140)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
468 tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w result;
469 NI64 T1_;
470 result = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
471 T1_ = (NI64)0;
472 T1_ = getSize__types_3327(conf, typ);
473 switch (((NI) (T1_))) {
474 case ((NI) 1):
475 {
476 result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 4);
477 }
478 break;
479 case ((NI) 2):
480 {
481 result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 5);
482 }
483 break;
484 case ((NI) 4):
485 {
486 result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 6);
487 }
488 break;
489 case ((NI) 8):
490 {
491 result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 7);
492 }
493 break;
494 default:
495 {
496 result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17);
497 }
498 break;
499 }
500 return result;
501 }
N_NIMCALL(NIM_BOOL,ccgIntroducedPtr__ccgutils_153)502 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ccgIntroducedPtr__ccgutils_153)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* retType) {
503 NIM_BOOL result;
504 tyObject_TType__facALICuu8zUj0hjvbTLFg* pt;
505 { result = (NIM_BOOL)0;
506 pt = skipTypes__ast_3735((*s).typ, TM__Z07Nb1SkYoziC0Zz9be4mTA_2);
507 {
508 if (!(((*pt).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 14))&63U)))!=0)) goto LA3_;
509 result = NIM_TRUE;
510 goto BeforeRet_;
511 }
512 goto LA1_;
513 LA3_: ;
514 {
515 if (!(((*pt).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 13))&63U)))!=0)) goto LA6_;
516 result = NIM_FALSE;
517 goto BeforeRet_;
518 }
519 goto LA1_;
520 LA6_: ;
521 LA1_: ;
522 switch ((*pt).kind) {
523 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
524 {
525 {
526 NIM_BOOL T11_;
527 T11_ = (NIM_BOOL)0;
528 T11_ = !(((*(*s).typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
529 if (!(T11_)) goto LA12_;
530 T11_ = (((*(*(*s).typ).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
531 LA12_: ;
532 if (!T11_) goto LA13_;
533 result = NIM_TRUE;
534 }
535 goto LA9_;
536 LA13_: ;
537 {
538 NIM_BOOL T16_;
539 NI64 T18_;
540 T16_ = (NIM_BOOL)0;
541 T16_ = (((*s).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 20))&31U)))!=0);
542 if (T16_) goto LA17_;
543 T18_ = (NI64)0;
544 T18_ = getSize__types_3327(conf, pt);
545 T16_ = (((NI64) ((NI)((*conf).target.floatSize * ((NI) 3)))) < T18_);
546 LA17_: ;
547 if (!T16_) goto LA19_;
548 result = NIM_TRUE;
549 }
550 goto LA9_;
551 LA19_: ;
552 {
553 NIM_BOOL T22_;
554 T22_ = (NIM_BOOL)0;
555 T22_ = (((*pt).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0);
556 if (!(T22_)) goto LA23_;
557 T22_ = ((*pt).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
558 LA23_: ;
559 if (!T22_) goto LA24_;
560 result = NIM_FALSE;
561 }
562 goto LA9_;
563 LA24_: ;
564 {
565 result = NIM_TRUE;
566 }
567 LA9_: ;
568 }
569 break;
570 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
571 {
572 NIM_BOOL T28_;
573 NI64 T29_;
574 T28_ = (NIM_BOOL)0;
575 T29_ = (NI64)0;
576 T29_ = getSize__types_3327(conf, pt);
577 T28_ = (((NI64) ((NI)((*conf).target.floatSize * ((NI) 3)))) < T29_);
578 if (T28_) goto LA30_;
579 T28_ = (((*s).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 20))&31U)))!=0);
580 LA30_: ;
581 result = T28_;
582 }
583 break;
584 default:
585 {
586 result = NIM_FALSE;
587 }
588 break;
589 }
590 {
591 NIM_BOOL T34_;
592 NIM_BOOL T35_;
593 NIM_BOOL T40_;
594 NIM_BOOL T42_;
595 tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T44_;
596 T34_ = (NIM_BOOL)0;
597 T35_ = (NIM_BOOL)0;
598 T35_ = ((*s).position == ((NI) 0));
599 if (!(T35_)) goto LA36_;
600 T35_ = !((retType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
601 LA36_: ;
602 T34_ = T35_;
603 if (!(T34_)) goto LA37_;
604 T34_ = ((*retType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
605 LA37_: ;
606 if (!T34_) goto LA38_;
607 T40_ = (NIM_BOOL)0;
608 T40_ = ((*pt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*pt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*pt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*pt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48) || (*pt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*pt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*pt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
609 if (T40_) goto LA41_;
610 T42_ = (NIM_BOOL)0;
611 T42_ = ((*pt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19));
612 if (!(T42_)) goto LA43_;
613 T44_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
614 T44_ = mapSetType__ccgutils_140(conf, pt);
615 T42_ = (T44_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17));
616 LA43_: ;
617 T40_ = T42_;
618 LA41_: ;
619 result = !(T40_);
620 }
621 LA38_: ;
622 }BeforeRet_: ;
623 return result;
624 }
N_INLINE(void,nimCopyMem)625 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
626 void* T1_;
627 T1_ = (void*)0;
628 T1_ = memcpy(dest, source, ((size_t) (size)));
629 }
N_INLINE(void,copyMem__system_1727)630 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
631 nimCopyMem(dest, source, size);
632 }
N_INLINE(void,appendString)633 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
634 {
635 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
636 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
637 (*dest).Sup.len += (*src).Sup.len;
638 }
639 LA3_: ;
640 }
N_INLINE(void,appendChar)641 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
642 (*dest).data[(*dest).Sup.len] = c;
643 (*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
644 (*dest).Sup.len += ((NI) 1);
645 }
N_NIMCALL(NimStringDesc *,mangle__ccgutils_112)646 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mangle__ccgutils_112)(NimStringDesc* name) {
647 NimStringDesc* result;
648 NI start;
649 NIM_BOOL requiresUnderscore;
650 result = NIM_NIL;
651 result = rawNewString(((NI) ((name ? name->Sup.len : 0))));
652 start = ((NI) 0);
653 {
654 NimStringDesc* T5_;
655 if (!(((NU8)(name->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(name->data[((NI) 0)])) <= ((NU8)(57)))) goto LA3_;
656 T5_ = NIM_NIL;
657 T5_ = rawNewString(2);
658 appendString(T5_, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_3));
659 appendChar(T5_, name->data[((NI) 0)]);
660 result = resizeString(result, (T5_ ? T5_->Sup.len : 0) + 0);
661 appendString(result, T5_);
662 start = ((NI) 1);
663 }
664 LA3_: ;
665 requiresUnderscore = NIM_FALSE;
666 {
667 NI i;
668 NI colontmp_;
669 NI i_2;
670 i = (NI)0;
671 colontmp_ = (NI)0;
672 colontmp_ = (name ? name->Sup.len : 0);
673 i_2 = start;
674 {
675 while (1) {
676 NIM_CHAR c;
677 if (!(i_2 < colontmp_)) goto LA8;
678 i = i_2;
679 c = name->data[i];
680 switch (((NU8)(c))) {
681 case 97 ... 122:
682 case 48 ... 57:
683 case 65 ... 90:
684 {
685 result = addChar(result, c);
686 }
687 break;
688 case 95:
689 {
690 {
691 NIM_BOOL T13_;
692 NIM_BOOL T14_;
693 T13_ = (NIM_BOOL)0;
694 T14_ = (NIM_BOOL)0;
695 T14_ = (((NI) 0) < i);
696 if (!(T14_)) goto LA15_;
697 T14_ = (i < (NI)((name ? name->Sup.len : 0) - ((NI) 1)));
698 LA15_: ;
699 T13_ = T14_;
700 if (!(T13_)) goto LA16_;
701 T13_ = (((NU8)(name->data[(NI)(i + ((NI) 1))])) >= ((NU8)(48)) && ((NU8)(name->data[(NI)(i + ((NI) 1))])) <= ((NU8)(57)));
702 LA16_: ;
703 if (!T13_) goto LA17_;
704 }
705 goto LA11_;
706 LA17_: ;
707 {
708 result = addChar(result, c);
709 }
710 LA11_: ;
711 }
712 break;
713 case 36:
714 {
715 result = resizeString(result, 6);
716 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_4));
717 requiresUnderscore = NIM_TRUE;
718 }
719 break;
720 case 37:
721 {
722 result = resizeString(result, 7);
723 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_5));
724 requiresUnderscore = NIM_TRUE;
725 }
726 break;
727 case 38:
728 {
729 result = resizeString(result, 3);
730 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_6));
731 requiresUnderscore = NIM_TRUE;
732 }
733 break;
734 case 94:
735 {
736 result = resizeString(result, 4);
737 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_7));
738 requiresUnderscore = NIM_TRUE;
739 }
740 break;
741 case 33:
742 {
743 result = resizeString(result, 5);
744 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_8));
745 requiresUnderscore = NIM_TRUE;
746 }
747 break;
748 case 63:
749 {
750 result = resizeString(result, 5);
751 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_9));
752 requiresUnderscore = NIM_TRUE;
753 }
754 break;
755 case 42:
756 {
757 result = resizeString(result, 4);
758 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_10));
759 requiresUnderscore = NIM_TRUE;
760 }
761 break;
762 case 43:
763 {
764 result = resizeString(result, 4);
765 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_11));
766 requiresUnderscore = NIM_TRUE;
767 }
768 break;
769 case 45:
770 {
771 result = resizeString(result, 5);
772 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_12));
773 requiresUnderscore = NIM_TRUE;
774 }
775 break;
776 case 47:
777 {
778 result = resizeString(result, 5);
779 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_13));
780 requiresUnderscore = NIM_TRUE;
781 }
782 break;
783 case 92:
784 {
785 result = resizeString(result, 9);
786 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_14));
787 requiresUnderscore = NIM_TRUE;
788 }
789 break;
790 case 61:
791 {
792 result = resizeString(result, 2);
793 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_15));
794 requiresUnderscore = NIM_TRUE;
795 }
796 break;
797 case 60:
798 {
799 result = resizeString(result, 2);
800 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_16));
801 requiresUnderscore = NIM_TRUE;
802 }
803 break;
804 case 62:
805 {
806 result = resizeString(result, 2);
807 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_17));
808 requiresUnderscore = NIM_TRUE;
809 }
810 break;
811 case 126:
812 {
813 result = resizeString(result, 5);
814 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_18));
815 requiresUnderscore = NIM_TRUE;
816 }
817 break;
818 case 58:
819 {
820 result = resizeString(result, 5);
821 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_19));
822 requiresUnderscore = NIM_TRUE;
823 }
824 break;
825 case 46:
826 {
827 result = resizeString(result, 3);
828 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_20));
829 requiresUnderscore = NIM_TRUE;
830 }
831 break;
832 case 64:
833 {
834 result = resizeString(result, 2);
835 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_21));
836 requiresUnderscore = NIM_TRUE;
837 }
838 break;
839 case 124:
840 {
841 result = resizeString(result, 3);
842 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_22));
843 requiresUnderscore = NIM_TRUE;
844 }
845 break;
846 default:
847 {
848 NimStringDesc* T40_;
849 NimStringDesc* T41_;
850 T40_ = NIM_NIL;
851 T41_ = NIM_NIL;
852 T41_ = toHex__pureZstrutils_1792(((NU8)(c)), ((NI) 2));
853 T40_ = rawNewString((T41_ ? T41_->Sup.len : 0) + 1);
854 appendString(T40_, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_3));
855 appendString(T40_, T41_);
856 result = resizeString(result, (T40_ ? T40_->Sup.len : 0) + 0);
857 appendString(result, T40_);
858 requiresUnderscore = NIM_TRUE;
859 }
860 break;
861 }
862 i_2 += ((NI) 1);
863 } LA8: ;
864 }
865 }
866 {
867 if (!requiresUnderscore) goto LA44_;
868 result = resizeString(result, 1);
869 appendString(result, ((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_23));
870 }
871 LA44_: ;
872 return result;
873 }
N_INLINE(void,toCChar__msgs_47)874 static N_INLINE(void, toCChar__msgs_47)(NIM_CHAR c, NimStringDesc** result) {
875 switch (((NU8)(c))) {
876 case 0 ... 31:
877 case 127 ... 255:
878 {
879 NimStringDesc* T2_;
880 unsureAsgnRef((void**) (&(*result)), addChar((*result), 92));
881 T2_ = NIM_NIL;
882 T2_ = nsuToOctal(c);
883 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T2_ ? T2_->Sup.len : 0) + 0));
884 appendString((*result), T2_);
885 }
886 break;
887 case 39:
888 case 34:
889 case 92:
890 case 63:
891 {
892 unsureAsgnRef((void**) (&(*result)), addChar((*result), 92));
893 unsureAsgnRef((void**) (&(*result)), addChar((*result), c));
894 }
895 break;
896 default:
897 {
898 unsureAsgnRef((void**) (&(*result)), addChar((*result), c));
899 }
900 break;
901 }
902 }
N_NIMCALL(NimStringDesc *,makeSingleLineCString__ccgutils_108)903 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, makeSingleLineCString__ccgutils_108)(NimStringDesc* s) {
904 NimStringDesc* result;
905 result = NIM_NIL;
906 result = copyString(((NimStringDesc*) &TM__Z07Nb1SkYoziC0Zz9be4mTA_24));
907 {
908 NIM_CHAR c;
909 NI i;
910 NI L;
911 c = (NIM_CHAR)0;
912 i = ((NI) 0);
913 L = (s ? s->Sup.len : 0);
914 {
915 while (1) {
916 if (!(i < L)) goto LA3;
917 c = s->data[i];
918 toCChar__msgs_47(c, (&result));
919 i += ((NI) 1);
920 } LA3: ;
921 }
922 }
923 result = addChar(result, 34);
924 return result;
925 }
N_INLINE(NI,len__ast_3198)926 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
927 NI result;
928 NI T1_;
929 result = (NI)0;
930 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
931 result = T1_;
932 return result;
933 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getPragmaStmt__ccgutils_11)934 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getPragmaStmt__ccgutils_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw w) {
935 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
936 { result = NIM_NIL;
937 switch ((*n).kind) {
938 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
939 {
940 {
941 NI i;
942 NI colontmp_;
943 NI i_2;
944 i = (NI)0;
945 colontmp_ = (NI)0;
946 colontmp_ = len__ast_3198(n);
947 i_2 = ((NI) 0);
948 {
949 while (1) {
950 if (!(i_2 < colontmp_)) goto LA4;
951 i = i_2;
952 result = getPragmaStmt__ccgutils_11((*n)._kind_6.sons->data[i], w);
953 {
954 if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
955 goto LA2;
956 }
957 LA7_: ;
958 i_2 += ((NI) 1);
959 } LA4: ;
960 }
961 } LA2: ;
962 }
963 break;
964 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
965 {
966 {
967 NI i_3;
968 NI colontmp__2;
969 NI i_4;
970 i_3 = (NI)0;
971 colontmp__2 = (NI)0;
972 colontmp__2 = len__ast_3198(n);
973 i_4 = ((NI) 0);
974 {
975 while (1) {
976 if (!(i_4 < colontmp__2)) goto LA12;
977 i_3 = i_4;
978 {
979 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T15_;
980 T15_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
981 T15_ = whichPragma__trees_244((*n)._kind_6.sons->data[i_3]);
982 if (!(T15_ == w)) goto LA16_;
983 result = (*n)._kind_6.sons->data[i_3];
984 goto BeforeRet_;
985 }
986 LA16_: ;
987 i_4 += ((NI) 1);
988 } LA12: ;
989 }
990 }
991 }
992 break;
993 default:
994 {
995 }
996 break;
997 }
998 }BeforeRet_: ;
999 return result;
1000 }
N_NIMCALL(NIM_BOOL,stmtsContainPragma__ccgutils_42)1001 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stmtsContainPragma__ccgutils_42)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw w) {
1002 NIM_BOOL result;
1003 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
1004 result = (NIM_BOOL)0;
1005 T1_ = NIM_NIL;
1006 T1_ = getPragmaStmt__ccgutils_11(n, w);
1007 result = !((T1_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
1008 return result;
1009 }
N_NIMCALL(NI64,hashString__ccgutils_50)1010 N_LIB_PRIVATE N_NIMCALL(NI64, hashString__ccgutils_50)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* s) {
1011 NI64 result;
1012 result = (NI64)0;
1013 {
1014 NU64 b;
1015 if (!(CPU__platform_691[((*conf).target.targetCPU)- 1].Field4 == ((NI) 64))) goto LA3_;
1016 b = 0ULL;
1017 {
1018 NI i;
1019 NI colontmp_;
1020 NI i_2;
1021 i = (NI)0;
1022 colontmp_ = (NI)0;
1023 colontmp_ = (s ? s->Sup.len : 0);
1024 i_2 = ((NI) 0);
1025 {
1026 while (1) {
1027 if (!(i_2 < colontmp_)) goto LA7;
1028 i = i_2;
1029 b = (NU64)((NU64)(b) + (NU64)(((NU64) (((NU) (((NU8)(s->data[i]))))))));
1030 b = (NU64)((NU64)(b) + (NU64)((NU64)((NU64)(b) << (NU64)(((NI) 10)))));
1031 b = (NU64)(b ^ (NU64)((NU64)(b) >> (NU64)(((NI) 6))));
1032 i_2 += ((NI) 1);
1033 } LA7: ;
1034 }
1035 }
1036 b = (NU64)((NU64)(b) + (NU64)((NU64)((NU64)(b) << (NU64)(((NI) 3)))));
1037 b = (NU64)(b ^ (NU64)((NU64)(b) >> (NU64)(((NI) 11))));
1038 b = (NU64)((NU64)(b) + (NU64)((NU64)((NU64)(b) << (NU64)(((NI) 15)))));
1039 result = ((NI64) (((NI) (b))));
1040 }
1041 goto LA1_;
1042 LA3_: ;
1043 {
1044 NU32 a;
1045 a = ((NU32) 0);
1046 {
1047 NI i_3;
1048 NI colontmp__2;
1049 NI i_4;
1050 i_3 = (NI)0;
1051 colontmp__2 = (NI)0;
1052 colontmp__2 = (s ? s->Sup.len : 0);
1053 i_4 = ((NI) 0);
1054 {
1055 while (1) {
1056 if (!(i_4 < colontmp__2)) goto LA11;
1057 i_3 = i_4;
1058 a = (NU32)((NU32)(a) + (NU32)(((NU32) (((NU8)(s->data[i_3]))))));
1059 a = (NU32)((NU32)(a) + (NU32)((NU32)((NU32)(a) << (NU32)(((NI) 10)))));
1060 a = (NU32)(a ^ (NU32)((NU32)(a) >> (NU32)(((NI) 6))));
1061 i_4 += ((NI) 1);
1062 } LA11: ;
1063 }
1064 }
1065 a = (NU32)((NU32)(a) + (NU32)((NU32)((NU32)(a) << (NU32)(((NI) 3)))));
1066 a = (NU32)(a ^ (NU32)((NU32)(a) >> (NU32)(((NI) 11))));
1067 a = (NU32)((NU32)(a) + (NU32)((NU32)((NU32)(a) << (NU32)(((NI) 15)))));
1068 result = ((NI64) (((NI) (a))));
1069 }
1070 LA1_: ;
1071 return result;
1072 }
1073